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 鈥渙rdenado鈥 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 鈥渋=0鈥, tal que i sea menor que n y 鈥渕ientras 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.