Programas en C#

Monday, October 30, 2006

Realizar los siguientes ejercicios sobre estructuras iterativas (repeticiones)
1. Modificar el programa del juego de doble o nada para que permita ir jugando hasta que el jugador decida abandonar el juego. El programa debe sacar por pantalla el número de jugadas y el total ganado por el jugador (si ha perdido debe ser una cantidad negativa).

2. Escribir un programa para jugar a adivinar un número entre 1 y 10 (generado al azar por el ordenador) hasta acertarlo o decirlos todos.

3. Uno de los usos más habituales para los bucles condicionales es la validación de entradas. Escribir un programa que pida una contraseña y permita tres intentos. Si el usuario da la contraseña correcta responde "Enhorabuena!" y queda inactivo, con este mensaje. En caso contrario el programa escribe "Lo siento, contraseña equivocada" y se cierra de inmediato.

4. Escribir un programa que pida un número y saque por pantalla su tabla de multiplicar.

5. Escribir un programa para calcular el promedio de una lista de números positivos, para dejar de meter números será suficiente meter cualquier número negativo.

6. Escribir un programa para sumar los números enteros de 1 a 100.

7. Escribir un programa que lea una lista de números y determine cuantos son positivos, y cuantos son negativos.
8. Escribir un programa que dados dos números, uno real (base) y un entero positivo (exponente), saque por pantalla todas las potencias con base el numero dado y exponentes entre uno y el exponente introducido
9. Escribir un programa que imprima por pantalla los codigos ASCII correspondientes a los nº 32 al 127

Realizar los siguientes ejercicios

1. Escribir un programa que pida dos números y saque el mayor de ellos por pantalla. Una versión mejorada informará de si los dos números son iguales.

2. Escribir un programa que pida un número e indique si se trata de un número par

3. Escribir un programa que pida una nota e imprima por pantalla la calificación en formato “Apto” o “No Apto” según si la nota es mayor o menor que 5.

4. Escribir un programa que permita jugar a doble o nada: El jugador apuesta una cantidad y tira una moneda. Si sale cara obtiene el doble de la cantidad apostada. Si sale cruz la pierde todo.

5. Escribir un programa que lea tres valores enteros y muestre por pantalla el máximo y el mínimo de ellos.

6. Escribir un programa que pida un número entero y determine si es múltiplo de 2 y de 5.

7. Escribir un programa que pida la nota de un examen (un nº real entre 0 y 10) e imprima por pantalla la calificación en formato “Suspenso”, si la nota es menor que 5, “Aprobado” si está entre 5 inclusive y 7 sin incluir, “Notable” si está entre 7 inclusive y
9 sin incluir, “Sobresaliente” si está entre 9 inclusive y 10 sin incluir y “Matrícula de honor” si la nota es igual a 10.

8. Escribir un programa que, dado el nombre o número del mes, y la información de si el año es bisiesto saque por pantalla el número de dias del mes

9. Escribir un programa que, pida la fecha de nacimiento de una persona e imprima por pantalla su signo zodiacal

Friday, October 27, 2006

using System;
using System.Collections.Generic;
using System.Text;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
int i;

Random r = new Random(); // Creamos el objeto random, simplemente


//Y una vez tenemos el objeto, utilizaremos uno de esos tres métodos.

//1.- El método Next Tiene tres sobrecargas:
int aleat1 = r.Next();

// Le imponemos un máximo
int aleat2 = r.Next(10);

// Le imponemos un rango, por ejemplo queremos un número de 3 cifras
int aleat3 = r.Next(100, 999);

//2.- El método NextDouble
// Devuelve un double entre 0 y 1
double aleat4 = r.NextDouble();

//3.- El método NextBytes
byte[] buffer = new byte[100];
r.NextBytes(buffer);

Console.WriteLine("{0} - {1}- {2} -{3}",aleat1, aleat2, aleat3, aleat4);
i = 0;
while (i<100){
Console.Write("{0},", buffer[i]);
i++;
}
}
}
}

Thursday, October 26, 2006

Uso de DO WHILE

Uso de WHILE

using System;

class BucleWhile{
public static void Main()
{
int i = 0;
while( i<10)
{
Console.WriteLine( i );
i = i+1;
}
}
}

Uso de FOR
using System;

class BucleFor{
public static void Main()
{
int i; //el contador

for( i = 0; i < 10; i++)
{
Console.WriteLine( i );
}
}
}

Uso de Switch

using System;

class InstruccionSwitch{
public static void Main()
{
int voto;
Console.WriteLine( "Qué tipo de musica te gusta más");
Console.WriteLine( "1 - Rock" );
Console.WriteLine( "2 - Clásica (clasica cuenta como instrumental)" );
Console.WriteLine( "3 - Instrumental" );
Console.WriteLine( "4 - Alternativa (alternativo cuenta como Rock)" );

voto = Int32.Parse(Console.ReadLine());

switch(voto){
case 1:
Console.WriteLine("Has votado por Rock o Alternativo");
break;
case 2: //Debido a que no tiene ni un goto ni break y está vacía va al siguiente caso
case 3:
Console.WriteLine("Has votado por Clásica o Instrumental");
break;
case 4:
goto case 1;
default:
Console.WriteLine("No te entiendo");
break;
}
}
}

Uso de CASE:
using System;

class InstruccionSwitch{
public static void Main()
{
string s;

Console.WriteLine( "Elige hacer algo con los números 2 y 3");
Console.WriteLine( " + para sumarlos" );
Console.WriteLine( " - para restarlos" );
Console.WriteLine( " * para multiplicarlos" );
Console.WriteLine( " / para dividirlos (division entera)" );

s = Console.ReadLine();

switch(s){
case "+":
Console.WriteLine("El resultado es {0}", 2+3);
break;
case "-":
Console.WriteLine("El resultado es {0}", 2-3);
break;
case "*":
Console.WriteLine("El resultado es {0}", 2*3);
break;
case "/":
Console.WriteLine("El resultado es {0}", 2/3);
break;
default:
Console.WriteLine("No te entiendo");
break;
}
}
}

Uso de IF-ELSE-IF

using System;
class IfElseIf
{
public static void Main()
{
string opcion;
Console.WriteLine("Elija una opción (si/no)");
opcion = Console.ReadLine();
if( opcion=="si" )
{
Console.WriteLine( "Muy bien, ha elegido si" );
}
else if( opcion=="no" )
{
Console.WriteLine( "Ha elegido no" );
}
else
{
Console.WriteLine("No entiendo lo que ha escrito");
}
}
}

Uso de IF. Programa que determina si un valor es positivo o negativo

using System;
class InstruccionIf
{
public static void Main()
{
double d;
Console.WriteLine("Introduce un numero");
d = Double.Parse( Console.ReadLine() );
if( d>0 )
{
Console.WriteLine("El numero {0} es positivo", d);
}
else
{
Console.WriteLine("El numero {0} es negativo", d);
}
}
}

Uso de IF. Programa que determina si un valor es positivo o negativo

using System;
class InstruccionIf
{
public static void Main()
{
double d;
Console.WriteLine("Introduce un numero");
d = Double.Parse( Console.ReadLine() );
if( d>0 )
{
Console.WriteLine("El numero {0} es positivo", d);
}
else
{
Console.WriteLine("El numero {0} es negativo", d);
}
}
}

Programación con GOTO

using System;
namespace Ejemplos
{
class Ejemplo
{
static void Main()
{
int contador=0;
REPETIR:
Console.WriteLine ("Esta línea se repetirá 100 veces, esta es la linea numero: {0}", contador);
contador=contador +1;
if (contador < 100) goto REPETIR;

Console.WriteLine ("Despues de que el contador sea igual o mayor que 100 se imprimirá esta línea");
}
}
}

Thursday, October 19, 2006



Your Title Goes Here






using System;
using System.Collections.Generic;
using System.Text;

namespace ConsoleApplication1
{
public enum TipoCuenta {corriente, ahorro };
public struct CuentaBancaria
{
public long CuentaNum;
public decimal CuentaSaldo;
public TipoCuenta CuentaTipo;
}

class Program
{
static void Main(string[] args)
{
CuentaBancaria goldCuenta;
goldCuenta.CuentaTipo = TipoCuenta.corriente;
goldCuenta.CuentaSaldo = (decimal)3200.00;
goldCuenta.CuentaNum = 123;
Console.WriteLine("Número de cuenta {0}",goldCuenta.CuentaNum);
Console.WriteLine("Tipo de cuenta {0}", goldCuenta.CuentaTipo);
Console.WriteLine("Saldo de cuenta ${0}", goldCuenta.CuentaSaldo);


}
}
}








Dos métodos en una clase y tipos devueltos
Nota: si la función no retorna ningún tipo, utilizamos la palabra void y si retorna alguno indicaremos el tipo

using System;
namespace Programa1
{
class HolaMundo
{
static void Main()
{
int num1 = 1;
int num2 = 3;
int resultado = Suma (num1, num2);
Console.WriteLine ("{0}+{1} = {2}", num1, num2, resultado);
}

static int Suma(int valor1, int valor2)
{
return valor1+valor2;
}
}

}

Uso de dos metodos. Llamada a métodos.
El programa ejecuta sentencia por sentencia el método principal Main() hasta que encuentra la llamada a otro método. Después de que el método llamado haya terminado el método Main continuará con la ejecución de las sentencias restantes.

using System;
namespace Ejemplos
{
class Ejemplo
{
static void Main()
{
Console.WriteLine ("Esta parte se ejecuta primero");
LlamadaOtraFuncion();
Console.WriteLine ("Esta parte se ejecuta al final");
}
static void LlamadaOtraFuncion()
{
Console.WriteLine ("Ha salido del método Main()");
}
}
}

Wednesday, October 18, 2006

Creación de un Tipo ENUM

using System;
using System.Collections.Generic;
using System.Text;

namespace ConsoleApplication1
{
public enum TipoCuenta { Corriente, Ahorro }



class Program
{
static void Main(string[] args)
{
TipoCuenta goldcuenta;
TipoCuenta platinumcuenta;
goldcuenta = TipoCuenta.Corriente;
platinumcuenta = TipoCuenta.Ahorro;
Console.WriteLine("El tipo de cuenta del cliente es {0}", goldcuenta);
Console.WriteLine("El tipo de cuenta del cliente es {0}", platinumcuenta);

}
}
}

Uso de comentarios
//Este es un ejemplo de comentarios de una línea
/* este comentario
abarca varias lineas */
class HolaMundo {
static void Main() {
string var="Mundo";
System.Console.WriteLine ("Hola {0}!", var); //Este comentario puede describir lo que esta función hace //
System.Console.WriteLine ("y esta linea no la vamos a desplegar");
}
}

2. Programa hola mundo con variables

class HolaMundo {
static void Main()
{
string var="Mundo";
System.Console.WriteLine ("Hola {0}!", var);
}
}

5. Pedir dos números, transformarlos a enteros y dividirlos. Realizar gestión de excepciones

using System;

using System.Collections.Generic;

using System.Text;

namespace ConsoleApplication1

{

class Program

{

public static void Main(string[] args){

int i, j, k;

string temp1, temp2;

Console.WriteLine("Escriba el primer entero");

temp1 = Console.ReadLine();

Console.WriteLine("Escriba el segundo entero");

temp2 = Console.ReadLine();

try

{

i = Int32.Parse(temp1);

j = Int32.Parse(temp2);

k =i / j;

}

catch (Exception e)

{

Console.WriteLine("Error general, introduzca mejor sus datos");

}

Console.WriteLine("El resultado de dividir {0} por {1} es {2}", i, j, k);

}

}

}

4. Programa para pasar de decimal a hexadecimal. Con control de excepciones.
using System;
using System.Collections.Generic;
using System.Text;
namespace pasarhex
{
class Program
{
static void Main(string[] args)
{ try
{
string cad;
int n;
Console.Write("Introduce un número decimal= ");
cad = Console.ReadLine();
n = Convert.ToInt32(cad);
Console.WriteLine(" {0} equivale en hexadecimal a {1:x}", n, n);
}
catch (Exception){
Console.WriteLine("Dato erróneo");
}
}
}
}






Tuesday, October 17, 2006

2. Usos del método WRITELINE


using System;
using System.Collections.Generic;
using System.Text;
namespace ejemplos
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine(99);
Console.WriteLine("hola,mundo");
Console.WriteLine("la suma de {0} y {1} es {2}", 102, 130, 100 + 130);
Console.WriteLine(100/2-50);
Console.WriteLine("justificacion a la izquierda en un campo de anchura 10:{0,-10}", 99);
Console.WriteLine("justificacion a la derecha en un campo de anchura 10:{0,10}", 99);
}
}
}

1. Mi primer programa. Programa que escriba “HOLA MUNDO”

using System;
using System.Collections.Generic;
using System.Text;

namespace saludos
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hola, Mundo”");
}
}
}