Jesús Ignacio García Fernández
Eduardo Angel Mex Herrera
Irving Juárez
Alejandro Urrea Giraldo
Juan Andrés Cabrera Mendoza
Yerson Steven Rojas Barragan
Edith Elizabeth Narváez Higuera
Juan Pablo Perez
Yerson Steven Rojas Barragan
Edith Elizabeth Narváez Higuera
Alejandro Urrea Giraldo
Edith Elizabeth Narváez Higuera
Sebastian Heredia
Gabriel Francisco Erazo Merino
Luis Santiago jaramillo espinosa
Jorge Varas
Carlos Silva
Gabriel Obregón
Eduardo Hernandez
Erik Ucenik
Fernando Sánchez Mejía
Fernando Sánchez Mejía
Fabio Figueroa Benitez.
Yerson Steven Rojas Barragan
Lucas Da Rosa
Jafeth Jesús Sánchez Sánchez
Carlos Nassif Trejo Garcia
Ivan E. Batista-Ochoa
Las tablas de multiplicar con dos while
#include <stdio.h> #define TOTAL 10 int main (void) { int i; int j; i = 1; while ( i <= TOTAL) { printf ("\n\n Tabla del %d\n", i); j = 1; while (j <= TOTAL) { printf (" %d x %d = %d\n", i, j, i*j); j++; } i++; } return (0); }
salida
Tabla del 1 1 x 1 = 1 1 x 2 = 2 1 x 3 = 3 1 x 4 = 4 1 x 5 = 5 1 x 6 = 6 1 x 7 = 7 1 x 8 = 8 1 x 9 = 9 1 x 10 = 10 Tabla del 2 2 x 1 = 2 2 x 2 = 4 2 x 3 = 6 2 x 4 = 8 2 x 5 = 10 2 x 6 = 12 2 x 7 = 14 2 x 8 = 16 2 x 9 = 18 2 x 10 = 20 Tabla del 3 3 x 1 = 3 3 x 2 = 6 3 x 3 = 9 3 x 4 = 12 3 x 5 = 15 3 x 6 = 18 3 x 7 = 21 3 x 8 = 24 3 x 9 = 27 3 x 10 = 30 Tabla del 4 4 x 1 = 4 4 x 2 = 8 4 x 3 = 12 4 x 4 = 16 4 x 5 = 20 4 x 6 = 24 4 x 7 = 28 4 x 8 = 32 4 x 9 = 36 4 x 10 = 40 Tabla del 5 5 x 1 = 5 5 x 2 = 10 5 x 3 = 15 5 x 4 = 20 5 x 5 = 25 5 x 6 = 30 5 x 7 = 35 5 x 8 = 40 5 x 9 = 45 5 x 10 = 50 Tabla del 6 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 Tabla del 7 7 x 1 = 7 7 x 2 = 14 7 x 3 = 21 7 x 4 = 28 7 x 5 = 35 7 x 6 = 42 7 x 7 = 49 7 x 8 = 56 7 x 9 = 63 7 x 10 = 70 Tabla del 8 8 x 1 = 8 8 x 2 = 16 8 x 3 = 24 8 x 4 = 32 8 x 5 = 40 8 x 6 = 48 8 x 7 = 56 8 x 8 = 64 8 x 9 = 72 8 x 10 = 80 Tabla del 9 9 x 1 = 9 9 x 2 = 18 9 x 3 = 27 9 x 4 = 36 9 x 5 = 45 9 x 6 = 54 9 x 7 = 63 9 x 8 = 72 9 x 9 = 81 9 x 10 = 90 Tabla del 10 10 x 1 = 10 10 x 2 = 20 10 x 3 = 30 10 x 4 = 40 10 x 5 = 50 10 x 6 = 60 10 x 7 = 70 10 x 8 = 80 10 x 9 = 90 10 x 10 = 100
Genial... lastima que solo funciona con las tablas de 1 al 10.
Muy ingenioso
while es considerado un ciclo 0.X, es decir que puede ejecutarse muchas veces (incluso infinitas cuando la condición siempre es verdadera), o puede que no se ejecute ni una sola vez (cuando la condición es falsa antes de iniciar el ciclo)
while es particularmente útil cuando la cantidad de repeticiones del ciclo es desconocida. Ej Contar la cantidad de días sin lluvia, Determinar la cantidad de vehículos que pasarán por una avenida en una hora, imprimir la palabra “error” hasta que el usuario ingrese el password correcto. En todos los casos, la cantidad de repeticiones es desconocida para el programador, por lo que un ciclo while sería la herramienta correcta para solucionar el problema.
gracias por la aclaración
gracias
Gracias por compartir.
que interesante, gracias
Este ejemplo lo saque del Curso Herramientas del Pensamiento Lógico. Está en el apartado de Estructuras de Control. . E j e m p l o # 2 SACAR PROMEDIO DE TANTAS CALIFICACIONES DADAS Explicación: La sentencia WHILE se hace repeitr mientras la condición sea verdadera. Hasta que es falsa se termina. En este ejemplo se acumulan datos capturados que cumplan la reglas de un criterio (mientras no sea igual a -1). Cuando este criterio deja de cumplirse, el código ya hizo la sumatoria de los datos buenos, y contabilizó cuantos datos buenos son. Esto le permite dividir la sumatoria de los datos que si cumplieron el criterio entre la cantidad de datos capturados buenos; y así sacar el promedio. . . . S i n t á x i x : while(expression) { expressions; } . . . C ó d i g o : //promedio.c #include <stdio.h>
int main() { int calif, conta=0, suma=0; float promedio; printf("Introduce la Calificación (termina con -1): "); scanf("%d", &calif );
while (calif !=-1) { suma+= calif; conta++; printf("Introduce la Califación (termina con -1): "); scanf("%d", &calif ); } promedio = (float) suma/conta; printf("\tEl promedio es: %6.1f", promedio);
return 0; }
La instrucción while no considera verdadero exclusivamente expresiones cuyo valor sea verdadero o 1 (minuto 1:13).
Realmente cualquier valor diferente de cero (en expresiones numéricas) o diferente de NULL (en las demás ocasiones que apliquen) es considerado verdadero.
Para los que quieran saber más al respecto, comparto un tutorial que puede ser muy útil para entender correctamente como se evalúan las expresiones de las instrucciones de control. Espero le sirva
EJEMPLO#1
Explicación: La sentencia WHILE hace repetir el ciclo de captura del dato "n" y la resta de dicho dato "-1" hasta que llegue un momento en que no cumpla con la condición de ser un número mayor que 10. En ese momento, sale del bucle y termina de ejecutarse el código.
Sintáxix: while(expression) { expressions; }
Código: #include <stdio.h> int n = 10; int main() { while (n > 10){ printf("n es igual a %d\n", n); n = n-1; } printf("hemos salido del bucle porque n es igual o menor que 10"); return 0; }
¡Pequeña abreviatura! :)
Tambien podemos reescribir lo siguiente:
n = n - 1;
Es lo mismo que:
n -= 1;
También sirve
--n
o
n--
no estraria al buclle porqe no satisface la condicion con n=10
#include <stdio.h> int i = 0; int main(){ while (i < 20){ printf("La variable i es %d\n",i); i = i + 1; } return 0; }
<#include <stdio.h> //programa que muestra los números pares en el rango del 1 al 100 int main(){ int numero=0; int par=0; printf("A continuacion los numeros pares que hay en el rango de 1 a 100\n"); while(numero<=100) { par=(numero%2); if (par==0){ printf("%d\n",numero); }else{ printf("\n"); } numero++; } printf("\n"); return 0; }>
📌Bucles en C
🔄 ¿Qué son los bucles?
🌀 Bucle while
⚙️ Cómo funciona
📍 Flujo: 👉 Condición (¿n > 10?) → ✔ Sí → ejecuta bloque → vuelve a la condición ✘ No → sale del bucle
🚫 Caso especial
Si n = 10 desde el inicio, el bucle no se ejecuta nunca.
🔁 Bucle do while
⚙️ Cómo funciona
📍 Flujo: 👉 Ejecuta bloque → verifica condición → ✔ Sí → repite ✘ No → sale
⚖️ Diferencia clave
🚀 Tips de uso
📝 La práctica con ejemplos es la mejor forma de dominar los bucles.
una pregunta, como hacer sucesiones numéricas con estas estructuras de control?
Imagino que te referirás a algo como esto:
// Usando un while int n = 0; // o cualquier valor inicial while (n < 10) // o cualquier valor final { n *= n; // Si quisieras por ejemplo el cuadrado del número printf("%d", n); n += 1; // o cualquier forma de alterar el valor }
Por su comentario al final yo recuerdo que la diferencia entre el while y el do-while es que el do-while entra al menos una vez al bucle sin importar si la condición ya se cumplio desde la primera sentencia.
Bucle while evalua una expresión. Repite la expresión hasta que la exprsión cambie.
comparto un pequeño ejercicio que realicé
# include <stdio.h> int n; int main (void) { printf("\n\n\t introduzca un numero:"); scanf("%d",& n); while(n <= 100) { n=n+1; printf(" n:%d \n",n); } if (n > 100) { printf("\n\n\t overload"); } return 0; }
excelente
Tablas de multiplicar con C :
#include <stdio.h> int main(){ int i = 1; int b = 1; while (i<=10){ printf("%d x %d = %d\n", i, b, i*b); b++; if(b==11){ b = 1; i++; printf("---------------\n"); } } }
Mi codigo:
#include <stdio.h> main (){ int n=20; while (n>10){ printf ("N es igual a:%d \n",n); n=n-1; } printf ("El ciclo while termino"); return 0; }
#include <stdio.h> int n; int main(int argc, char const *argv[]) { printf("Where should we start the countdown?"); scanf("%d", &n); while (n >= 0) { printf("n: %d\n", n); n--; } return 0; }
Te reto a escribir tu propia versión de código usando while
#include<stdio.h> int main(void) { int n = 0; while (n < 10) { printf("n es menor a 10\n"); n++; } printf("Hemos salido del ciclo porque n es igual a 10\n"); return 0; }