No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Uso del Ciclo FOR en Programación en C

8/13
Recursos

¿Cómo se utiliza el ciclo FOR en el lenguaje C?

El ciclo FOR es una herramienta extremadamente útil en programación cuando se conoce de antemano el número de veces que se desea repetir un bloque de código. Es particularmente popular en lenguajes como C para recorrer arreglos, entre otras tareas. La clave es su estructura que permite controlar la cantidad de iteraciones de manera sencilla y eficiente.

¿Cómo se estructura un ciclo FOR?

Para iniciar, debes crear un nuevo archivo, por ejemplo, for.c. Luego, defines tu ciclo FOR utilizando la siguiente estructura básica:

for (int i = 0; i < n; i++) {
    printf("El valor actual de i es %d\n", i);
}
  • Inicialización: Comenzamos normalmente con int i = 0, para indicar el inicio del contador.
  • Condicional: i < n es donde especificamos la condición que, mientras sea verdadera, el ciclo continúa.
  • Incremento: i++ incrementa el valor de i en 1 en cada iteración.

Usando printf, puedes visualizar cómo i toma valores desde 0 hasta n-1, permitiéndote realizar operaciones sobre cada uno de estos valores.

¿Cuáles son las mejores prácticas para usar el ciclo FOR?

A continuación, se presentan algunas recomendaciones clave para facilitar el uso del ciclo FOR:

  • Siempre inicializa tus variables antes de usarlas en un ciclo FOR.
  • Declara las variables utilizadas en el ciclo fuera del bloque FOR si estás utilizando versiones modernas del lenguaje C como C17 o C18, ya que esto evita posibles errores de compilación.
  • Asegura que la condición para el ciclo no provoque un bucle infinito, para esto, revisa que las condiciones de fin del ciclo se cumplan correctamente.

¿Cuál es un ejemplo práctico del ciclo FOR?

Los ciclos FOR son ampliamente usados en aplicaciones prácticas. Un ejemplo vívido es un robot seguidor de líneas, que utiliza un array para representar los datos de varios sensores. Considera el siguiente escenario:

  • Supón que el robot tiene 15 sensores. Puedes declarar un array que almacene el estado de cada sensor.
  • Usa un ciclo FOR para recorrer el array, obteniendo y procesando la información de cada sensor. Con los datos recopilados, ajustas los motores del robot para que siga una línea en particular.

Este tipo de aplicaciones demuestra cómo un ciclo FOR permite realizar operaciones específicas en cada elemento de una estructura de datos.

¿Cómo manejar errores de versiones en C?

Si encuentras un error que indica que ciertos elementos sólo son permitidos en estándares previos de C (como C99 o C11), sigue estos pasos:

  • Revisa el error proporcionado por el compilador y ajusta el código a la nueva norma.
  • En caso de error en la declaración de variables dentro del ciclo FOR, declara la variable antes del ciclo para asegurar compatibilidad con versiones modernas del lenguaje.

Recuerda que uno de los propósitos fundamentales de estos ejercicios es no solo aprender a utilizar los ciclos FOR, sino también entender cómo adaptarse a cambios y estándares del lenguaje a través del tiempo.

Aportes 23

Preguntas 3

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Programa que calcula los primeros 100.000 primos (combina un for para recorrer los números y un do while para encontrar el primer divisor y descartar que es primo.

#include <stdlib.h>

int	main(void)
{
	int totalPrimosEcontrados;
	int total = 100000;
	int numeroEstudiar;
	int divisor;
	int encontradoDivisor;

	totalPrimosEcontrados = 0;
	for (numeroEstudiar = 1; numeroEstudiar <= total; numeroEstudiar++)
	{
		divisor = 1;
		encontradoDivisor = 1;
		do 
		{
			if(divisor > 1 && divisor < numeroEstudiar)
				if (numeroEstudiar % divisor == 0)
					encontradoDivisor = 0;
			divisor++;
		} while (encontradoDivisor == 1 && divisor < numeroEstudiar);
		if (encontradoDivisor == 1)
		{
			totalPrimosEcontrados++;
			printf("[%d] Encontrado número primo\n", numeroEstudiar);
		}
//		else 
//			printf("[%d] no es primo\n", numeroEstudiar);
	}
	printf("Total primos encontrados del 1 al %d, = %d\n", total, totalPrimosEcontrados);
	return (0);
}

Salida

Hice una Tabla de multiplicar.

#include <stdio.h>                                                               
                                                                                    
  int main(){                                                                      
          int num = 6;                                                             
          int num2 = 10;                                                           
          int res;                                                                 
          for(int i = 0; i <= num2; i++){                                      
                  res = i * num;                                               
                  printf("%d x %d = %d \n", num,i,res);                                            
          }     
}                                                                                   
                                                                               

OutPut:

6 x 0 = 0
6 x 1 = 6
6 x 2 = 12
6 x 3 = 18
6 x 4 = 24
6 x 5 = 30
6 x 6 = 36
6 x 7 = 42
6 x 8 = 48
6 x 9 = 54
6 x 10 = 60

Los videos de los robots están muy cool, deberías hacer un curso sobre ello. 😃

En linux en la consola se puede hacer eso del int = 0 desde el ciclo for sin error en compilación

¿Cuándo usar while y cuándo usar for?


  • while se usa cuando no conocemos la cantidad de iteaciones que vamos a hacer.
  • for se usa cuando conocemos la cantidad de interaciones que vamos a hacer.

si se tiene clara la cantidad de veces que se va a iterar, pues podemos usar el FOR en lenguaje c

Bucle for

Este bucle funciona exactamente igual que el while, la diferencia es que es más “ordenado” y normalmente se usa cuando sabemos cuantas iteraciones queremos hacer.

Ejemplo ciclo for:

#include <stdio.h>

int main()
{
    int n = 30;
    for(int i=0; i < n; i++)
        printf("el valor actual de i es %d\n",i );

    return 0;
}

La sintaxis es la siguiente : for (contador; condicion; adicion o sustraccion)
Tambien se podría leer así : para “i=0”, tal que i sea menor que n y “mientras sumamos uno a i”

Programa simula un temporizador que va de 100000 a 0 segundos

Ejecución

#include <stdio.h>
//Programa simula un temporizador que va de 100000 a 0 segundos

int main(){

  int i;
  int contador=100000;
  int tiempoRestante=100000;

  printf("Se te termina el tiempo\n\n");
  
  for(i = 0; i <= contador; ++i){
    printf("Tienes %d segundos \r",tiempoRestante);
    
    tiempoRestante=tiempoRestante-1;
  }
  
  printf("\nYa no tienes tiempo, perdiste\n");
  
  return (0);
}```

Ejemplo de while

#include <stdio.h>

int main() 
{
    unsigned int cash, limit=3000,cFiveHundred=0,cOneHundred=0,cTwoHundred=0,cFifty=0,cten=0,cOne=0;
    printf("\t*******************************\n");
    printf("\t********  CAJERO ATM  *********\n");
    printf("\t*******************************\n");
    printf("\n\t¿Cuánto deseas retirar?\n\t");
    scanf("%u", &cash);
    
    while(cash>0){
        switch(cash){
            case 500 ... 3000:
                cFiveHundred++;
                cash-=500;
                break;
            case 200 ... 499:
                cTwoHundred++;
                cash-=200;
                break;
            case 100 ... 199:
                cOneHundred++;
                cash-=100;
                break;
            case 50 ... 99:
                cFifty++;
                cash-=50;
                break;
            case 10 ... 49:
                cten++;
                cash-=10;
                break;
            case 1 ... 9:
                cOne++;
                cash-=1;
                break;
            default:
                printf("\n\tLo siento :( pero sobrepasas el limite.");
                cash=0;
                break;
        }
    }
    printf("\nAqui tienes tus \n%d billes de 500, \n%d billetes de 200, \n%d billetes de 100, \n%d billetes de 50, \n%d monedas de 10, \n%d monedas de 1 peso\n\t Gracias por su eleccion", cFiveHundred, cTwoHundred, cOneHundred, cFifty, cten,cOne);
    return 0;
}

excelente de hecho para mi proyecto de semestre de este año tengo que hacer un robot zumo con seguidor de linea, con sensor ultrasonico, siplay lcd,… si todo sale bien lo subire aca al final del curso!!

For 😃

#include <stdio.h>

int main()
{ 
  int n = 11;
  int i;
  printf("Numeros del 1 al 10\n");

  for(i = 1; i < 11; i++)
  {
    printf("n es: %i \n", i);
  }
}```

El ciclo for es una estructura que se utiliza para ejecutar un bloque de código un número determinado de veces.
Código donde te pregunta el valor de n y lo imprime con ciclo for:

#include <stdio.h>

main (){
	int i,n;
	printf ("Dime un numero:\n");
	scanf ("%d", &n);
	
	for (i=0; i<n; i++){
		printf ("El valor actual de i es:%d \n",i);
	}
	return 0;
}

Interesante, no sabia que C ya no te dejaba declarar la variable dentro del for

Copie y pegué el mismo código pero al momento de probarlo solo me sale que el valor de 1 es 0 en vez de la cuenta del 1 al 30

#include <stdio.h>

int n;

int main(int argc, char const *argv[])
{

    for (int i = 0; i < 10; i++)
    {
        printf("i: %d\n", i);
    }

    return 0;
}

A mi se me ocurrió hacer un programa que muestre la serie de Fibonacci pero que omita los números primos de la misma, me costó un poco pero lo logré

#include<stdio.h>
#include<stdlib.h>

int main()
{
    system("cls");
    int n = 5;
    int i;
    for ( i = 0; i < n; i++)
    {
        printf("Si i=%d y menor que n=%d, muestre esto en pantalla\n",i,n);
    }
    printf("Salimos del ciclo for porque i=%d ya no es menor que n=%d \n",i,n );
    return 0;
}
<code> 
// Tabla de multiplicar
#include <stdio.h>                                           
int mul = 8;
int num = 10;
int resultado;
int i;

int main(){                                                    for(i = 0; i <= num; i++){                                   resultado = i * mul;                                         printf("%d x %d = %d \n", mul,i,resultado);                  }     
}

Los for tambien se utilizan para hacer recoridos de array/arreglos.

El ciclo for lo vamos a utilizar cuanto tengamos claro la cantidad de elementos que vamos a utilizar.

Cuándo utilizar for: cuando sepamos el tamaño del elemento que queremos analizar.

Hola, He creado un programa que te hace la cuenta atras de las semanas que te quedan de vida, he utilizado la esperanza de vida española (aprox 83 años), este es el codigo:

#include <stdio.h>

int main()
{
    printf("Hello, this program will make you a count down of the weeks an spanish is expected to live");
    //weeks we are suposed to live
    int remaining_weeks = 4316; 
    for (remaining_weeks; remaining_weeks >= 0; remaining_weeks -= 1)
    {
        printf("you have %d remaining weeks left to live\n", remaining_weeks);
    }
    printf("Sorry, but you have wasted your life");
    
    return 0;
}