No tienes acceso a esta clase

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

Bucle for

8/13
Recursos

Aportes 26

Preguntas 3

Ordenar por:

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

o inicia sesión.

#include <stdio.h>
#define SI 1
#define NO 0


int main()
{
    int balas = 50000;
    printf("desplegando arma principal\n");
    int i;
    for(i = 0; i < balas; ++i)
        printf("disparando %d balas\r",i);
    printf("\nenemigo eliminado\n");
    return 0;
}```

Importante, noten que en este ciclo main no se escribió el return 0 e igual funcionó, si les interesa saber porque miren este link

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. 😃

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”

¿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.

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

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

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!!

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;
}
// 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.

#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> 

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é

Imaginemos un juego donde podemos comprar cuantas balas queremos XD

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


int i, n;

main(){

	printf("\nIngrese el numero de balas: ");
	scanf("%i",&n);
	
	while (n>0){
		for (i=0; i<n; n--)
		printf("\nNumero de balas disparadas: %i",n);
	
	}
	printf("\nTus balas se han agotado\n");
	
	system ("pause");
	
return 0;
}

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;
}
#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;
}

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);
  }
}```

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

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;
}

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