gentoo linux, java, software libre y otras hierbas
dic, 10 2007 - 3:54 pm

[código] C#, programas básicos (2)

(anterior) En esta entrada pondré el código fuente de algunos programas muy básicos desarrollados en C#. Los programas corren tanto en plataformas Microsoft usando Visual Studio, como en cualquier otra plataforma usando Mono. Tal vez quieras visitar leer estas entradas: Cómo crear aplicaciones en C# usando Visual Studio o C#, crear una aplicación usando Mono.

Tal como pueden apreciar, los en ejemplos se muestra cómo compilar y ejecutar con Mono, pero si lo que quieres es hacerlo con Visual Studio, no te preocupes, aquí te explico como se hace.

Calcular promedios con contador de repeticion controlado (usando while)

using System;
class Promedios
{
	static void Main(string[] args)
	{
		int total = 0,	//resultado total de la suma de los datos
		cantidad,	//cantidad de datos a procesar
		contador=1,
		dato,		//para almacenar el dato actual dentro del ciclo
		promedio;	//promedio de los datos

		//Preguntar por el número de datos a procesar
		Console.WriteLine("¿Qué cantidad de datos vas a procesar?");
		cantidad = Int32.Parse(Console.ReadLine());

		//Iterar 'cantidad' de veces
		while(contador <= cantidad)
		{
			//Capturar dato
			Console.WriteLine("Digite el dato número "+contador+":");
			dato = Int32.Parse(Console.ReadLine());

			//Acumular los datos
			total = total + dato;

			//Aumentar el contador
			contador = contador + 1;
		}

		//Calcular el promedio
		promedio = total / cantidad;

		//Mostrar el resultado
		Console.WriteLine("El promedio de los datos ingresados es: "+promedio);
	} //fin del Main
}//fin de la clase Promedios

casidiablo@punko:~/c#> mcs Promedios.cs
casidiablo@punko:~/c#> mono Promedios.exe
¿Qué cantidad de datos vas a procesar?
6
Digite el dato número 1:
20
Digite el dato número 2:
10
Digite el dato número 3:
60
Digite el dato número 4:
80
Digite el dato número 5:
50
Digite el dato número 6:
62
El promedio de los datos ingresados es: 47

Descargar código fuente

Calcular promedios con contador de repeticion controlado por centinela (usando while)

using System;
class Promedios2
{
	static void Main(string[] args)
	{
		int total = 0,	//resultado total de la suma de los datos
		contador=1,
		dato,		//para almacenar el dato actual dentro del ciclo
		promedio;	//promedio de los datos

		//Capturar dato
		Console.WriteLine("Digite el dato número "+contador+": (-1 para detener el ciclo)");
		dato = Int32.Parse(Console.ReadLine());

		//Iterar 'cantidad' de veces
		while( dato != -1 )
		{
			//Acumular los datos
			total = total + dato;

			//Aumentar el contador
			contador = contador + 1;

			//Capturar dato
			Console.WriteLine("Digite el dato número "+contador+": (-1 para detener el ciclo)");
			dato = Int32.Parse(Console.ReadLine());
		}

		//Calcular el promedio
		promedio = total / contador;

		//Mostrar el resultado
		Console.WriteLine("El promedio de los datos ingresados es: "+promedio);
	} //fin del Main
}//fin de la clase Promedios2

casidiablo@punko:~/c#> mcs Promedios2.cs
casidiablo@punko:~/c#> mono Promedios2.exe
Digite el dato número 1: (-1 para detener el ciclo)
32
Digite el dato número 2: (-1 para detener el ciclo)
23
Digite el dato número 3: (-1 para detener el ciclo)
54
Digite el dato número 4: (-1 para detener el ciclo)
32
Digite el dato número 5: (-1 para detener el ciclo)
25
Digite el dato número 6: (-1 para detener el ciclo)
36
Digite el dato número 7: (-1 para detener el ciclo)
-1
El promedio de los datos ingresados es: 28

Descargar código fuente

Análisis de Resultados de Examenes

using System;
class Analisis
{
	static void Main( string[] args )
	{
		int bien = 0,            // numero de
		fallas = 0,          // numero de fallas
		estudiantes = 1,           // contador de estudiantes
		resultado;                // resultado de los examenes
		// procesar 10 estudiantes; loop controlado por contador
		while ( estudiantes <= 10 )
		{
			Console.Write( "Digite los resultados (1=pasó, 2=falló): " );
			resultado = Int32.Parse( Console.ReadLine() );
			if ( resultado == 1 )
				bien = bien + 1;
			else
				fallas = fallas + 1;
			estudiantes = estudiantes + 1;
		}
		// mostrar los resultados
		Console.WriteLine();
		Console.WriteLine( "Pasaron: " + bien );
		Console.WriteLine( "Fallaron: " + fallas );
	} // fin del método Main
} // fin de la clase Analisis

casidiablo@punko:~/c#> mcs Analisis.cs
casidiablo@punko:~/c#> mono Analisis.exe
Digite los resultados (1=pasó, 2=falló): 1
Digite los resultados (1=pasó, 2=falló): 2
Digite los resultados (1=pasó, 2=falló): 1
Digite los resultados (1=pasó, 2=falló): 2
Digite los resultados (1=pasó, 2=falló): 1
Digite los resultados (1=pasó, 2=falló): 2
Digite los resultados (1=pasó, 2=falló): 1
Digite los resultados (1=pasó, 2=falló): 2
Digite los resultados (1=pasó, 2=falló): 2
Digite los resultados (1=pasó, 2=falló): 1

Pasaron: 5
Fallaron: 5

Descargar código fuente

Preincremento y postincremento

using System;
class Incremento
{
	static void Main( string[] args )
	{
		int c;
		c = 5;
		Console.WriteLine( c );   // imprimir 5
		Console.WriteLine( c++ ); // imprimir 5 entonces postincremento
		Console.WriteLine( c );   // imprimir 6
		Console.WriteLine();      // saltar una línea
		c = 5;
		Console.WriteLine( c );   // imprimir 5
		Console.WriteLine( ++c ); // preincremento, entonces imprimir 6
		Console.WriteLine( c );   // imprimir 6
	} // fin del método method Main
} // fin de la clase Incremento

casidiablo@punko:~/c#> mcs Incremento.cs
casidiablo@punko:~/c#> mono Incremento.exe
5
5
6

5
6
6

Descargar código fuente

Los ejercicios utilizados en este post están basados en ejemplos del libro C# How to Program de Deitel. Se pone a disposición la descargar del programa original, desarrollado para trabajar sobre Visual Studio de Microsoft en plataformas Windows, y se encuentra en inglés. La versión simplificada está basada en la original, pero sin código basura insertado por Visual Studio, se encuentra en español y ha sido probada sobre Gnu/Linux usando Mono.

46 Comentarios | deja el tuyo

Un enlace entrante

45 Comentarios en “[código] C#, programas básicos (2)”

  1. jose gregorio dice:

    hola todos son unos codigos exelentes….
    me gustaria q me eyudaran a crear un programa q incluya los ciclos “while, for e if”… se lo agradezco

  2. mateo dice:

    Hola a todos estan verdaderamente bien estoy empoezando y son de gran ayuda
    alguien sabria crear un arbol de navidad por consola y ponerle musica lo he visto hacer con un for o dos como se pondria la musica sin mas muchisimas gracias

  3. NB dice:

    TSS KE VA KN ESOS PROGRAMAS GRACIAS POR EL POST

  4. Hector dice:

    necesito ayuda para elaborar un codigo en el lenguaje de programación C que me permita calcular el promedio de notas de un estudiante
    Ayudaaa
    Espero encontrarla aquí

  5. Alberto dice:

    Hola esta super tu curso, ahi note una mejora para sacar el promedio correcto el ejemplo de promedio2
    Pues al correr el código y procesar el promedio considera aún el número donde se ingresó el -1 y lo suma al contador…
    quedaría así:
    using System;
    class Promedios2
    {
    static void Main(string[] args)
    {
    int total = 0, //resultado total de la suma de los datos
    contador=1,
    dato, //para almacenar el dato actual dentro del ciclo
    promedio; //promedio de los datos

    //Capturar dato
    Console.WriteLine(“Digite el dato número “+contador+”: (-1 para detener el ciclo)”);
    dato = Int32.Parse(Console.ReadLine());

    //Iterar ‘cantidad’ de veces
    while( dato != -1 )
    {
    //Acumular los datos
    total = total + dato;

    //Aumentar el contador
    contador = contador + 1;

    //Capturar dato
    Console.WriteLine(“Digite el dato número “+contador+”: (-1 para detener el ciclo)”);
    dato = Int32.Parse(Console.ReadLine());
    }

    //Calcular el promedio
    promedio = total / (contador -1); //ESTA ES LA MODIFICACIÓN DE LA QUE TE HABLABA

    //Mostrar el resultado
    Console.WriteLine(“El promedio de los datos ingresados es: “+promedio);
    } //fin del Main
    }//fin de la clase Promedios2

    MUCHAS GRACIAS SIGUE ASÍ COMPARTIENDO TU CONOCIMIENTO SALUDOS!!!!

  6. eli dice:

    hola amiguito muy buena tu enseñansa…pero sabes tengo que hacer un trabajo en consola de C#.
    el trbajo consiste en hacer un programa de la ruta mas corta de floyd utlizando matrices…
    me gustaria que me explicaras
    y yo soy nueva en C#.

    y gradeseria vastante tu respuesta….y no hagas caso de la gente loca…….
    todos estamos aqui para aprender y compartir…lo que sabemos

  7. pycOOn dice:

    Realmente estan geniales estos ejemplos para practicar y sacr soltura con la programcion en c#; pero tengo un problema con el ejercio Promedios2; nunca deja de pedir numeros para ingresar pero nunca llega al promedio, me gustaria saber para que srive este ejercico, o es que lo estoy entendiendo mal yo.

    Muchas gracias anticipadas y a seguir asi, un saludito de un gallego

  8. Acko Hudson dice:

    amm grax compañeros por sus codowos a algunos les faltava unos readline y poner los resultados pero stan zuper grax

¡Déjanos tu comentario!