aprendiendo con fernando cruz


Estructuras de control multiple

Las estructuras de control nos permiten modificar el flujo de ejecución de las instrucciones de un programa.

En C# estas estructuras son básicamente las mismas que encuentras en C/C++.

En cuanto a las estructuras de selección son exactamente las mismas que las que conoces. A excepción de la estructura switch que tiene una restricción adicional: "
A jump statement such as a break is required after each case block, including the last block whether it is a case statement or a default statement."

Las estructuras de iteración son todas iguales excepto foreach que es nueva. Esta estructura la veremos junto con las colecciones.

Las estructuras de salto tienen algunas que tal vez no conozcas, como yield, y throw las cuales también veremos más adelante.

Para empezar nos bastará con saber usar ifforwhile y switch.

La instrucción 
if se compone de:
if(<condición>)
{
    instrucciones...
}
[else
{
     instrucciones...
}]

La condición debe ser un resultado booleano, esto es, que su valor sea 
true o false (a diferencia de C/C++ donde la condición puede ser un entero donde 0 es falso y cualquier otra cosa es verdadero).
La parte del else es opcional y las llaves {} de los bloques también son opcionales cuando el bloque se compone de una sola instrucción pero es recomendado como buena práctica siempre usarlos.

La instrucción 
for se compone de:

for([inicialización]; [condición de paro]; [aumento])
{
     instrucciones...
}

Todas las partes son opcionales. Si no asignas una condición de paro, el 
for será un ciclo infinito (que se puede romper con una sentencia de salto como break). Al igual que en el if, el bloque delimitado por las llaves {} es opcional si es solo una instrucción, pero es mejor siempre usarlo.
El formato más común de for es el clásico:

for(int i=0; i<5; i++)
{
}

La instrucción 
while tiene la forma:

while(<condición de continuación>)
{
}

Al igual que en el 
if, el bloque delimitado por las llaves {} es opcional si es solo una instrucción, pero es mejor siempre usarlo; y la condición debe ser obligatoriamente un booleano


Ciclos Repetitivos C#

Los ciclos repetitivos también llamados lazos o bucles permiten repetir una operación o secuencia de operaciones en función de ciertas condiciones. Es un segmento de un algoritmo o programa cuyas instrucciones se repiten un número determinado de veces mientras se cumpla una determinada condición.
Dentro de los ciclos se utilizan contadores y acumuladores, que regulan que el ciclo llegue a su fin.
Ø Contador: Es un tipo de variable que incrementa o decrementa su valor en un valor constante
Cuando decimos incrementa estamos sumando. Ejemplo: Veces = Veces + 1
Como se puede observar a la variable veces se le está incrementando un valor constante (1); es decir a su contenido le sumas el valor y se vuelve a guardar en la misma variable.
Ø Acumulador: Es una variable que incrementa o decrementa su contenido en cantidades variables.
Ejemplo: Nomina = Nomina + sueldo
Las estructuras de control iterativas se clasifican en tres tipos:
Ø Mientras: (While-do) - el ciclo mientras es la estructura básica que permite repetir varias veces una secuencia de operaciones, mientras se cumpla una determina condición.
Ø Repetir: (repeat-until) - las operaciones de lazo repetir son ejecutadas hasta que la condición sea cierta.
Ø Para: (for) se utiliza cuando se puede determinar el número de veces que hay que ejecutar las instrucciones.En general, la estructura for se usa en aquellas situaciones en las cuales CONOCEMOS la cantidad de veces que queremos que se ejecute el bloque de instrucciones. Ejemplo: cargar 10 números, ingresar 5 notas de alumnos, etc. Conocemos de antemano la cantidad de veces que queremos que el bloque se repita. Veremos, sin embargo, que en el lenguaje C# la estructura for puede usarse en cualquier situación repetitiva, porque en última instancia no es otra cosa que una estructura while generalizada.Cuando el ciclo comienza, antes de dar la primera vuelta, la variable del for toma el valor indicado en la sección de de "inicialización contador". Inmediatamente se verifica, en forma automática, si la condición es verdadera. En caso de serlo se ejecuta el bloque de operaciones del ciclo, y al finalizar el mismo se ejecuta la instrucción que se haya colocado en la tercer sección.Seguidamente, se vuelve a controlar el valor de la condición, y así prosigue hasta que dicha condición entregue un falso.
Si conocemos la cantidad de veces que se repite el bloque es muy sencillo emplear un for, por ejemplo si queremo que se repita 50 veces el bloque de instrucciones puede hacerse así:
for(i=1;i<=50;i++){
//instrucciones
}
i=1 variable control que determina desde donde arranca el ciclo repetitivo
i<=10 indica el final del ciclo repetitivo
i++ o i=i+1; incrementa el valor de i de 1 en 1
Ejemplo: programa que solicita dos notas halla y muestra la definitiva de 10 estudiantes:
int i; //variable control
double n1,n2,def; // variables que representan nota1, nota2 y definitiva
for (i=1;i<=10;i++){
Console.Write("Nota 1: ");
n1 = double.Parse(Console.ReadLine());
Console.Write("Nota 2: ");
n2 = double.Parse(Console.ReadLine());
def = (n1 + n2)/2;
Console.WriteLine("La definitiva es: "+def);
}
Console.ReadKey();


instrucciones para que sirve cada herramienta de los programas a continuación
Explicación ejemplos
1.      Declaramos la condición int que es de numero entero y la variable n.
2.      Declaramos string en la variable nombre
3.      console.writeline  es para que muestre en pantalla y pida el número de deseamos ingresar
4.      declaramos la variable linea = (Console.ReadLine()); que esto nos va servir para capturar ingresado
5.      Declaramos el ciclo for (int i =1; i<=n; i++)
6.      Int i = 1; que eso se significa que es de donde va empezar en conteo.
7.      I <=n; que hasta donde se acabará el conteo.
8.      I++ es quiere decir que se sumara de uno en uno.
9.      Cuando se ingrese lo que se le pida esta condición se ejecutara.
10.   declaramos la condición if (1/5==0)
11.  Esta condición se ejecutará cuando ingresemos el número si no pasara la siguiente acción. 



Programas de C#

Estructura de control múltiple

Realizar un programa que solicite ingresar dos números distintos y 
muestre por pantalla el mayor de ellos.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace CadenaDeCaracteres
{
    class Program
    {
        static void Main(string[] args)
        {
            String nombre1, nombre2;
            int edad1, edad2;
            String linea;
            Console.Write("Ingrese el nombre 1:");
            nombre1 = Console.ReadLine();
            Console.Write("Ingrese edad 1:");
            linea = Console.ReadLine();
            edad1 = int.Parse(linea);
            Console.Write("Ingrese el nombre 2:");
            nombre2 = Console.ReadLine();
            Console.Write("Ingrese edad 2:");
            linea = Console.ReadLine();
            edad2 = int.Parse(linea);
            if (edad1 > edad2)
            {
                Console.Write("La persona de mayor edad es:"+nombre1);
            }
            else
            {
                Console.Write("La persona de mayor edad es:"+nombre2);
            }
            Console.ReadKey();
        }
    }
}                                   
Al ejecutar el código muestra el siguiente resultado 



programa que se ingresan tres notas de un alumno, si el promedio es mayor o igual a siete mostrar un mensaje "Promocionado".

sing System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace EstructuraCondicionalSimple2
{
    class Program
    {
        static void Main(string[] args)
        {
            int nota1, nota2, nota3;
            string linea;
            Console.Write("Ingrese primer nota:");
            linea = Console.ReadLine();
            nota1 = int.Parse(linea);
            Console.Write("Ingrese segunda nota:");
            linea = Console.ReadLine();
            nota2 = int.Parse(linea);
            Console.Write("Ingrese tercer nota:");
            linea = Console.ReadLine();
            nota3 = int.Parse(linea);
            int promedio;
            promedio = (nota1 + nota2 + nota3) / 3;
            if (promedio >= 7)
            {
                Console.Write("Promocionado");
            }
            Console.ReadKey();
        }
    }
}
Al ejecutar el código muestra el siguiente resultado 


programa que permita el ingreso del nombre y edad de dos personas. Mostrar el nombre de la persona con mayor edad
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace CadenaDeCaracteres
{
    class Program
    {
        static void Main(string[] args)
        {
            String nombre1, nombre2;
            int edad1, edad2;
            String linea;
            Console.Write("Ingrese el nombre 1:");
            nombre1 = Console.ReadLine();
            Console.Write("Ingrese edad 1:");
            linea = Console.ReadLine();
            edad1 = int.Parse(linea);
            Console.Write("Ingrese el nombre 2:");
            nombre2 = Console.ReadLine();
            Console.Write("Ingrese edad 2:");
            linea = Console.ReadLine();
            edad2 = int.Parse(linea);
            if (edad1 > edad2)
            {
                Console.Write("La persona de mayor edad es:"+nombre1);
            }
            else
            {
                Console.Write("La persona de mayor edad es:"+nombre2);
            }
            Console.ReadKey();
        }
    }
}
               
   
Al ejecutar el código muestra el siguiente resultado 





Programas de C#
Programas de ciclos repetitivo

Realizar un programa que nos imprima la factorial de un numero dado desde el teclado

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace EstructuraRepetitivaWhile

{
    class Program
    {
        static void Main(string[] args)
        {
            int fac=1,x,n;
            string linea;
            x = 1;
            Console.Write("Ingrese un numero entero: ");
            linea = Console.ReadLine();
            n = int.Parse(linea);
            while (x <= n)
            {
                fac = fac * x;
                x = x + 1;
            }
            Console.Write("La factorial es: "+fac);
            Console.ReadKey();
        }
    }
}
   
Al ejecutar el código muestra el siguiente resultado



                                                                                    

Desarrollar un programa que imprima los múltiplos de 3 del 1 al 200
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace EstructuraRepetitivaWhile
{
    class Program
    {
        static void Main(string[] args)
        {
            int mult;
            mult = 3;
            while (mult <= 200)
            {
                Console.Write(mult);
                Console.Write(", ");
                mult = mult + 3;
            }
            Console.ReadKey();
        }
    }
}


Al ejecutar el código muestra el siguiente resultado







Realizar un programa que permita ingresar 8 números y nos muestre la suma y el promedio de dichos números


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace EstructuraRepetitivaWhile
{
    class Program
    {
        static void Main(string[] args)
        {
            int x, suma, valor, promedio;
            string linea;
            x = 1;
            suma = 0;
            while (x <= 8)
            {
                Console.Write("Ingrese valor "+x+":");
                linea = Console.ReadLine();
                valor = int.Parse(linea);
                suma = suma + valor;
                x = x + 1;
            }
            promedio = suma / 8;
            Console.Write("La suma  es:");
            Console.WriteLine(suma);
            Console.Write("El promedio es:");
            Console.Write(promedio);
            Console.ReadKey();
        }
    }
}
Al ejecutar el código muestra el siguiente resultado 





Gracias espero que les sirva




                                                           


                                                                               



















Comentarios

Entradas populares de este blog

ARREGLOS Y FUNCIONES C#, FernandoCruz