Los ciclos for, también conocidos como bucles for, son una herramienta fundamental en la programación. Se utilizan para ejecutar una instrucción o un conjunto de instrucciones repetidamente. Cada periodo de repetición se llama ciclo. Imagina el ciclo for como un tic de un reloj: en cada tic ocurre una instrucción. Los ciclos for son perfectos para situaciones en las que sabemos exactamente cuántas veces debemos repetir una tarea.
La estructura básica de un ciclo for es bastante sencilla. Se comienza con la palabra clave for, seguida de una condición inicial, un límite de repeticiones, y un incremento para la variable de control. Vamos a ver el código básico:
for(int i =0; i <50; i++){ Console.WriteLine("Hello World número: "+ i);}
En este ejemplo, la instrucción dentro del ciclo for se ejecutará 50 veces, desde 0 hasta 49.
¿Cómo configurar un ciclo for?
Configurar un ciclo for implica definir tres componentes clave en su sentencia: la inicialización, la condición de término, y el incremento. Veamos cada uno de estos componentes:
Inicialización: Aquí se define y se inicializa la variable que controlará el ciclo. En nuestro ejemplo, usamos int i = 0, lo que significa que comenzamos en cero.
Condición de término: Es la expresión que debe ser verdadera para que el ciclo siga ejecutándose. En el ejemplo, es i < 50, lo que indica que el ciclo continuará mientras i sea menor que 50.
Incremento: Es la operación que se realiza sobre la variable de control al final de cada ciclo. Comúnmente es i++ para incrementar la variable en uno cada vez, aunque puede variar según lo que se necesite.
Puedes modificar cualquiera de estos componentes para variar el comportamiento del ciclo for. Por ejemplo, podemos hacer que el ciclo se incremente de diez en diez:
for(int i =0; i <=50; i +=10){ Console.WriteLine(i);}
Este código imprimirá 0, 10, 20, 30, 40 y 50, asegurándote de ajustar adecuadamente los límites para no omitir valores, como es el caso del 50.
¿Qué errores comunes podemos encontrar en los ciclos for?
Los errores en los ciclos for pueden ser bastante comunes, pero igual de fáciles de evitar si sabemos cuáles son. Uno de los errores más significativos es olvidarse de incluir un incremento válido, lo que podría resultar en un ciclo infinito y consumir innecesariamente los recursos de tu máquina. Un ciclo infinito puede verse algo así:
for(int i =0; i <10;){ Console.WriteLine(i);}
Sin el incremento i++ o equivalente, el ciclo se repetirá indefinidamente. Esto no solo resulta poco eficiente, sino que también podría hacer que tu programa se bloquee. Por eso, siempre debemos asegurarnos de definir cada componente del ciclo correctamente.
Diferencias entre el ciclo for y otros tipos de bucles
El ciclo for es idóneo cuando conocemos con certeza cuántas veces necesitamos que se repita un bloque de código. Sin embargo, cuando no es posible determinar de antemano cuántas veces deberá ejecutarse, un ciclo while puede ser más adecuado. Este último se basa en una condición que se evalúa antes de cada repetición.
Durante la programación, la elección del ciclo adecuado depende del contexto y los requisitos específicos del problema que se busca resolver. Continuarás conociendo y practicando los distintos tipos de bucles para poder escoger el más eficiente y adecuado para cualquier situación que se te presente. ¡Continúa aprendiendo y explorando!
Eso es mucho mas avanzado crack! en el curso de .net esta explicado esto!
OMG
Que interesante las query expression (LINQ) :o
¿por qué se usa "{0}, i" en el Console.Writeline?
¡Hola! Indica que ahí irá una variable, ¿cuál variable? La que le pasamos como parámetro en el segundo argumento, en este casi, "i" :D
Porque eso indica el lugar o la posicion donde quieres que aparesca la variable.
por ejemplo:
string nombre = "Victor";
string apellido = "Acosta";
Console.WriteLine("Hola, me llamo {0} \n", nombre);
Console.WriteLine("Pero mi nombre completo es {0} {1}", nombre, apellido);
// Tambien Puedes hacer este otro ejemplo y es lo mismo.
Console.WriteLine($"Hola, me llamo {nombre} \n");
Console.WriteLine($"Pero mi nombre completo es {nombre} {apellido}");
// O puedes hacer el siguiente.
Console.WriteLine("Hola, me llamo " + nombre + ". \n", );
Console.WriteLine("Pero mi nombre completo es " + nombre + apellido.);
Ciclo for en C#. Estructura, sintaxis y uso de un ciclo for en C#
Los ciclos for son lo que se conoce como estructuras de control de flujo cíclicas o simplemente estructuras cíclicas, estos ciclos, como su nombre lo sugiere, nos permiten ejecutar una o varias líneas de código de forma iterativa, conociendo un valor especifico inicial y otro valor final, además nos permiten determinar el tamaño del paso entre cada "giro" o iteración del ciclo.
En resumen, un ciclo for es una estructura de control iterativa, que nos permite ejecutar de manera repetitiva un bloque de instrucciones, conociendo previamente un valor de inicio, un tamaño de paso y un valor final para el ciclo.
¿Cómo funciona un Ciclo For?
Para comprender mejor el funcionamiento del ciclo for, pongamos un ejemplo, supongamos que queremos mostrar los números pares entre el 50 y el 100, si imaginamos un poco como seria esto, podremos darnos cuenta que nuestro ciclo deberá mostrar una serie de números como la siguiente: 50 52 54 56 58 60 ... 96 98 100. Como podemos verificar, tenemos entonces los componentes necesarios para nuestro ciclo for, tenemos un valor inicial que sería el 50, tenemos también un valor final que sería el 100 y tenemos un tamaño de paso que es 2 (los números pares). Estamos ahora en capacidad de determinar los componentes esenciales para un ciclo for.
Vamos a ver ahora como es la sintaxis de un ciclo for en C#, así estaremos listos para usarlos en nuestros programas de ahora en adelante
Sintaxis del Ciclo For en C#:
La sintaxis de un ciclo for es simple en C#, con tan solo tener bien claros los 3 componentes del ciclo for (inicio, final y tamaño de paso) tenemos prácticamente todo hecho
for(int i = valor inicial; i <= valor final; i = i + paso)
{
....
....
Bloque de Instrucciones....
....
....
}
Un pequeño aporte tomado de
El potato cuando cae en ciclo infinito D:
jajajaj
AQUI DEJO MI TABLA DE MULTIPLICAR CON CICLO FOR
using System;namespace TABLAS_DE_MULTIPLICAR{classProgram{staticvoidMain(string[] args){for(int i =1; i <=10; i++){Console.WriteLine("\nTabla de multiplicar del {0}", i);Console.WriteLine("------------------------------");for(int j =1; j <=10; j++){Console.WriteLine("{0} * {1} = {2}", i, j,(i * j));}}}}}
Acá les dejo una forma mucho más simplificada de iterar sobre los elementos de una estructura de datos:
usingSystem;namespaceForEach{classProgram{staticvoidMain(string[] args){// Declaramos e inicializamos nuestra variablestring[] myComponents ={"Procesador","Placa Madre","Fuente de poder","RAM","Gabinete","Monitor"};foreach(string component in myComponents){ Console.WriteLine($"Componente: {component}");}}}}
Siempre podemos hacer nuestro código un tanto... Interesante, ejemplo 👇🏽
for(int i =0;condition(i); i++)Console.WriteLine($"Hello World #{i}");bool condition(int i){if(i <10)returntrue;elsereturnfalse;}
Aclaro, estoy usando .NET 6 por eso el código es un tanto minimalista.
foreach para recorrer listas por ejemplo
foreach(string lista in listaDeTacos)
{
Console.WriteLine(lista);
}
Para escribir código fuente en los comentarios, te recomiendo presionar el botón </> y de esta forma queda más claro tu comentario.
staticvoidMain(string[] args){for(int i =1; i <=10; i++){Console.WriteLine("Hola Platzi :P {0}", i);}}
Hola Eduardo ¿Qué te ha parecido el curso?
Si me preguntas a mi, no me aporto nada util el curso :/
Ya se que es un curso de iniciación a la programación, pero igual me esperaba mas.
Por qué no hay que poner el + luego del "Hello World! #{0}" cuando la variable que viene es i pero sí cuando la variable que viene es cualquier otra cosa? i es algo especial, es una variable que tiene una función específica en todos los códigos?
Aqui mi ejemplo del ciclo for, implementando el uso de metodos. Pasando como argumento una instancia de un array directamente, sin usar una varaible:
using System;
namespace ForCicle
{ class Program
{staticvoidMain(string[] args){showArray(new string[]{"Jose","Pedro","Job","Oscar","Ricardo"});}staticvoidshowArray(string[] arreglo){int n = arreglo.Length;for(int i =0; i < n; i++){ Console.WriteLine($"{i + 1}) {arreglo[i]}");}}}}
Otra manera es iniciar el iterador antes del bucle for, y no pasarselo como parámetro de esta manera:
using System;namespace BucleFor{ internal classProgram{staticvoidMain(string[] args){ int i =0;for(; i <10; i++){Console.WriteLine(i);}}}}
PRACTICA DEL CICLO FOR.
EL USUARIO DEBE DE INGRESAR EL NUMERO DE LA TABLA DE MULTIPLICACION
int multiplicando =0;int producto;Console.WriteLine("Ingrese la tabla de multiplicacion que desee ver: ");multiplicando =Convert.ToInt32(Console.ReadLine());if(multiplicando >0){Console.WriteLine("La tabla de "+ multiplicando);for(int multiplicador =0; multiplicador <=10; multiplicador++){ producto = multiplicando * multiplicador;Console.WriteLine(multiplicando +" x "+ multiplicador +" = "+ producto);}}else{Console.WriteLine("Ingrese un valor valido");}
Coloque otra forma de crear un array de 50 elementos y hacer el ciclo FOR
using System;// Los ciclos FOR ejecuta una instruccion o varias, cada vez que se ejecuta un ciclo.namespace ForCicle{classProgram{staticvoidMain(string[] args){for(int i =0; i <50; i=i+10){Console.WriteLine($"Hello World! #{i}");} int[] array =newint[50];for(int i =0; i < array.Length; i++){Console.WriteLine($"Hello World! #{i}");}}}}
Asi es como hice mi loop:
const int size2 =2;const int size3 =3;int[,] array2Da =newint[size2, size3]{{1,2,3},{5,3,4}};for(int i =0; i < size2; i++){for(int j =0; j < size3; j++){//Console.WriteLine($" r: {array2Da[i,j]}");Console.Write($" {array2Da[i, j]} ");}Console.Write("\n");}
Encontre que se puede declarar matrices o multidimensional arrays;
Tambien encontre que la keyword const permite definir constantes;
Console.WriteLine("Hello, DBZ World!\n");int a;for(int i =0; i <10; i++){ a = i +1;Console.WriteLine(a +". Number #{0}", i);}Console.WriteLine("\nHello, DBZ World!\n");for(int i =0; i <=10; i++){ a = i +1;Console.WriteLine(a +". Number #{0}", i);}Console.WriteLine("\nHello, DBZ World!\n");a=0;for(int i =0; i <=10; i=i+2){ a = a +1;Console.WriteLine(a +". Number #{0}", i);}