No tienes acceso a esta clase

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

Reto 6: algoritmos con ciclos

11/17
Recursos

Para entender un poco más el uso de ciclos, resolvamos los siguientes problemas, de esta manera identificarás cómo utilizarlos.

Algoritmo de generación de números con el ciclo for

El algoritmo consiste en generar los números del 1 al 10, utilizamos un bucle for porque conocemos el número de ciclos para resolver el problema.

Para realizar un bucle for necesitaremos lo siguiente:

  • Inicio: inicializamos una variable con el valor de 1, generalmente se utiliza i (índice) como variable para el bucle, pero no es obligatorio. En este caso utilizaremos num.
  • Condición: la condición será mientras sea menor o igual que 10 (num <= 10),
  • Pasos: debemos aumentar la variable en una unidad, por lo tanto, podemos utilizar num = num +1.

La estructura es la siguiente:

for (num = 1; num <= 10; num = num + 1) 
    Mostrar num

Esto se leería como: "Para (for) la variable num que inicia en 1 (num = 1) mientras sea menor o igual que 10 (num <= 10) en pasos de 1 (num = num + 1) muestra la variable num".

Mira la siguiente tabla que muestra cómo cambia la variable num en cada ciclo.

# Ciclo num num <= 10 num + 1
1.º 1 true 2
2.º 2 true 3
10.º 10 true 11
11.º 11 false Termina el bucle

Ten en cuenta que el aumento de la variable num ocurre al final de cada ciclo, este valor se compara con la condición. Al momento que la variable num no cumple con la condición del for (num <= 10), termina el bucle y sigue con las siguientes líneas del algoritmo correspondiente.

Algoritmo de control de variables con el bucle while

El siguiente algoritmo consiste en controlar que un usuario ingrese una edad mayor de 18. Entonces utilizamos while debido a que no conocemos cuántas veces se equivocará el usuario.

Se utiliza la condición contraria a la solicitada, porque es lo que controlaremos, al cambiar la variable edad evitamos el ciclo infinito.

Si cumple con la condición del while, volveremos a solicitar un valor correcto de edad.

"Ingrese su edad"
edad = __

while edad < 18
  "Ingrese un valor correcto: "
  edad = __

Mira la siguiente tabla que muestra cómo cambia la variable edad en cada ciclo.

# Ciclo edad edad < 18 Nueva edad
1.º 9 true 15
2.º 15 true 21
3.º 21 false Termina el bucle

Algoritmo de control de variables con el bucle do-while

El mismo ejemplo del ciclo while, sin embargo, no iniciamos una variable edad fuera del ciclo. Con el ciclo do-while realizamos un bloque de código y preguntamos una condición, si es verdadera, repite el código.

Se utiliza la condición contraria a la solicitada, porque es lo que controlaremos, al cambiar la variable edad evitamos el ciclo infinito.

Si cumple con la condición del while, volveremos a solicitar un valor correcto de edad.

do
    "Ingrese su edad"
    edad = __
while edad < 18

Mira la siguiente tabla que muestra cómo cambia la variable edad en cada ciclo.

# Ciclo edad edad < 18 Estado
do 11 true Repite el do
1.º 9 true Repite el do
2.º 15 true Repite el do
3.º 21 false Termina el bucle

Contribución creada por Andrés Guano (Platzi Contributor).

Aportes 239

Preguntas 18

Ordenar por:

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

Me entusiasmé e hice un diagrama de flujo de un combate Pokémon bien loco 😅. Creo que es una buena forma de ver el tema de los ciclos.

Acá le metí más cosas y mejor paré porque sino no acababa nunca 😂

Prueben a usar Raptor o PSeInt para ver cómo funcionan sus diagramas en tiempo real. Si recién están empezando, es una forma divertida de aprender 👍

Este curso es para principiantes pero leo muchos comentarios de personas de un nivel bueno que comprenden y manejan programas, genial. Las clases serían mejor si se demuestran, después de leer parece que se usara el programa PSeint, igual toca leer y practicar pero se queda corto creo YO con la pizarra, si sabes se entiende, de lo contrario toca buscar para comprender, quizas este mal, pero para principiante que soy me queda un poco incomodo – Comentario que preferiria no escribir

let edades=[5,10,20,18];

for(i=0;i<4;i++){
    if(edades[i]>=18){
        console.log('es mayor de edad');
    }else{
        console.log('es menor de edad');
    }
}
console.log('---------------------while-------------------');
let n=0;
while(n<4){
    if(edades[n]>=18){
        console.log('es mayor de edad');
    }else{
        console.log('es menor de edad');
    }  
    n++;
}
console.log('---------------------do-while-------------------');
let r=0;
do{
    if(edades[r]>=18){
        console.log('es mayor de edad');
    }else{
        console.log('es menor de edad');
    }  
    r++; 
}while(r<4);

Aquí hicé el reto propuesto por la Profesora Ana, hecho en javascript, utilizando los ciclos for, while y do-while.

arrayEdades = [5,10,20,18];
posicion = 0;
posiciondo = 0;

//ciclo for

for (i = 0; i < 4; i++) {
    if (arrayEdades[i] >= 18) {
        console.log("Es mayor de edad");

    }else{
        console.log("No es mayor de edad");
    }
}

//ciclo while

while(posicion <= 3){

    if (arrayEdades[posicion] >= 18) {
        console.log("Es mayor de edad");

    }else{
        console.log("No es mayor de edad");
    }
    posicion = posicion + 1;

}

//ciclo do - while


do {
    if (arrayEdades[posiciondo] >= 18) {
        console.log("Es mayor de edad");
    
    }else{
        console.log("No es mayor de edad");
    }
    posiciondo = posiciondo + 1;

} while (posiciondo <= 3);

Confieso que esta clase fue no fue muy clara para mí, y no ayuda la lectura de los aportes, ya que la mayoría coloca cosas avanzadas como para el nivel del curso.

Ciclo de reloj con for, while y do-while

SE ME OCURRIO DARLE “FIN” USANDO UN RELOJ A CUERDA

AL RETRASAR 3 MINUTOS POR MES, PIDE QUE LE DES CUERDA CADA 28 DÍAS (IF DIAS = 28) FINALIZANDO LOS CICLOS DE MINUTOS, HORAS Y DÍAS.

CON UN ARRAYS SIMPLE FISICO Y CIRCULA.

Lo había intentado cuando puso el reto con el ciclo while, pero no me funciono, dure como 1 hora tratando, con for me tomo como 10 minutos y porque la ejecución toma tiempo
FOR es un exito 😃

Mi aporte en Python


edades=[18,19,20,13,12,51]

for edad in edades:
	if edad>=18:
		print(str(edad) + " " + 'Eres mayor de edad')
	else:
		print(str(edad) + " " + 'Lo siento, aún eres menor de edad')
 

Lo cual nos da el siguiente resultado

Desde hace un par de semanas me he sentido atascada en el módulo de Diego de Granda en el curso de programación básica. Decidí iniciar la trilogía de pensamiento lógico y creo que me ha ayudado a desbloquearme. ¡Por fin le entendí a los arrays! Y a otras cosas que hacía en el código pero no entendía del todo por qué. 😃

me siento mas perdido que cuando empece.

Comparto mis ejercicios utilizando for, while y Do while

Ciclo For:

while:

Do while:

Los temas realmente fueron claros y no es un curso de programación sino de entendimiento de la lógica de como funcionan.
Considero que falto mejores ejemplos para entender la diferencia especialmente entre while y do-while.
Soy nuevo y no veo un claro ejemplo de “Aqui deberías usar do-while y no while por esta razon” Hasta Chat GPT dio ejemplos que no usuaria en la vida real.
Me quedo con que “do-while” es para si quieres ejecutar por lo menos una vez la instrucción sin depender del condicional, mientras que el while va a ignorar la instrucción si el condicional no cumple.

Hice estos ejercicios en VSC, me basé parte de como poner el algoritmo en google y otra parte por los comentarios de los compañeros. Espero les ayude y también si hay feedback se los agradecería.

ejemplo de ciclo for en python

Ejemplo: ¿Puedo entrar a este juego mecánico?

  • Ciclo For
let estaturas = [1.80, 1.66, 1.75]

for ( i=0; i<=2; i++)
if(estaturas[i]>=1.70{
        console.log("Puedes entrar");
    }else{
        console.log("No puedes entrar");
    }
}
  • Ciclo While
let estaturas = [1.80, 1.66, 1.75]
let i=0;
while(n<=2){
    if(estaturas[i]>=1.70){
         console.log("Puedes entrar");
    }else{
        console.log("No puedes entrar");
    }  
    i++;
}
  • Ciclo Do While
let estaturas = [1.80, 1.66, 1.75]
let r=0;
do{
    if(estaturas[i]>=1.70){
         console.log("Puedes entrar");
    }else{
        console.log("No puedes entrar");
    }  
    i++; 
}while (i<=2)
Respondiendo a la primera pregunta de la maestra **"Qué pasará con la condición cuando llegue a la última posición?"** Primeramente habría que entender que una variable del tipo "**array**", puede almacenar dentro de sí espacios, imagínate a una caja grande que dentro de sí puede almacenar más cajas y que para éste ejemplo la maestra está metiendo dentro de éste **array** 4 cajas, y cada una tiene la edad de una persona. **OJO: el 0 se cuenta como la caja #1.** Una vez creado el **array**, usaremos la condicional "**if**", la cual pregunta en cada casilla que va recorriendo (iteración) lo siguiente: **#0 \[ 5 ] >= 18?** **Se lee: ¿en la caja#0 el número 5 es mayor o igual a 18?** Y lo mismo para las demaś: **#1 \[ 10 ] >= 18?** **#2 \[ 20 ] >= 18?** **#3 \[ 18 ] >= 18?** Cuando la condición "if" es verdadera (TRUE), entonces se activará "else" en el cual podemos imprimir un mensaje: **"Si, usted es mayor de edad".** En caso de que la condición sea falsa (FALSE) se podría imprimir el mensaje **"Usted no es mayor de edad joven, está muy chavo para votar"** Una vez finalizadas las iteraciones, habremos visto que la condición "if" fué TRUE solo dos veces, una vez para la caja #2 (es decir la posición 3 del array) y otra vez para la caja #3 (posición 4 del array). Bueno, espero haber sido claro, y si me equivoqué en algo por favor comenten. Aún no sé escribir en código como los demás compañeros que están comentando aquí, pero espero muy pronto poder entenderles, mientras tanto me apego a la lógica como tal.

Ciclo for: Se usa cuando se tienen determinadas la cantidad de iteraciones.
Ciclo While: Se usa cuando se quiere poner una condición determinada que determinadas iteraciones del ciclo, con la cual se ejecuta el funcionamiento.
Ciclo do While: Se usa cuando se requiere que se ejecute la función y posteriormente se determine la condición que determina las iteraciones del ciclo.

Hola estos son mis aportes igual y ayuda a alguien a entender mejor.

<code> 
let nombre=["frank","Beyseth","Juanita","Diana","Luis"]
let edades=[21,19,9,25,15]
for(let i=0;i<nombre.length;i++){
  if(edades[i]>18){
    console.log(nombre[i]+" Tiene "+edades[i]+" años es mayor")
  }
  else{
     console.log(nombre[i]+" Tiene "+edades[i]+" años es menor")
  }
}

*****************While************************
let nombre=["frank","Beyseth","Juanita","Diana","Luis"]
let edades=[21,19,9,25,15]
let n=0;
while(n<nombre.length){
  if(edades[n]>=18){
    console.log(nombre[n]+" Es mayor de edad")
  }
  else{
    console.log(nombre[n]+ " Es menor de edad")
  }
  n++
}
  
**********************Do while*************************
let nombre=["frank","Beyseth","Juanita","Diana","Luis"]
let edades=[21,19,9,25,15]
let k=0

// ejecuta primero la condicion , haz esto primero
do{
  if(edades[k]>=18){
    console.log(nombre[k]+" Es mayor de edad")
  }
  else{
    console.log(nombre[k]+" Es menor de edad")
  }
  k++
}
// valida la candidad de iteraciones ,luego valida si tengo que seguir iterando
while(k<nombre.length)

Es interesante la forma en que se usan los ciclos en la programacion. En mi caso, sabia usar el “for” pero el “while” y el “do-while” me dejo en shock porque no sabia que se debe usar con pocisiones de un listado. Esta bien en unos ejemplos. Me gustaria saber como se implementaria con una BD. Por cierto aqui esta mi reto:

let listita = [12,9,45,67]
let pocisionInicial = 0
let pocisionFinal = 0

//Ciclo FOR
for (let i = 0; i < listita.length; i++) {
    if (listita[i] <= 18) {
        console.log("Es un menor de Edad")
    } else {
        console.log("Es un mayor de Edad")
    }
    
}

//Ciclo While
while (pocisionInicial <= 3) {
    if (listita[pocisionInicial] <= 18) {
        console.log("Eres un menor de Edad")
    } else {
        console.log("Eres un mayor de Edad")
    }
    pocisionInicial = pocisionInicial + 1
}

//Ciclo Do-While
do {
    if (listita[pocisionFinal] <= 18) {
        console.log("Es usted un menor de Edad")
    } else {
        console.log("Es un mayor de edad")
    }
    pocisionFinal = pocisionFinal + 1

} while (listita[pocisionFinal] <= 3)

Complemento programación javascript:
https://www.freecodecamp.org/espanol/news/javascript-bucles-explicados-for-while-loops/

Aunque la clase cuenta con una buena explicación creo que se debería profundizar de manera más concreta en crear algoritmos por medio de distintos lenguajes de programación.

Retos de la clase: 1. For ![](https://static.platzi.com/media/user_upload/image-fcb2f18e-68ba-4d7d-bd74-81d9a8587381.jpg) 2. While ![](https://static.platzi.com/media/user_upload/image-e1d1d9c5-5501-44d7-bdbc-1521fd0e9767.jpg) 3. Do-While ![](https://static.platzi.com/media/user_upload/image-e0a1a03c-32d0-49e0-81b0-7644d2b719f0.jpg)
🥹 Hace 5 años con la versión anterior del Curso de Programación Básica aprendi a utilizar arrays, y como hacer un ciclo for. Después de tanto tiempo decidi retomar mi aprendizaje y me siento tan bien de no haber olvidado lo que Freddy enseñaba en ese curso :') **Diagrama de flujo:** ![](https://static.platzi.com/media/user_upload/image-593a9689-168d-4875-a484-e2d0fcb447fb.jpg) **Código:** ![](https://static.platzi.com/media/user_upload/image-b5845249-61e7-4188-84dc-94602b7a9694.jpg)
Es entendible que algunos no entiendan los ejercicios porque no son tan "basicos", se debe tener algun conocimiento en ciclos. Pero les recomiendo que se enfoquen en el curso de una forma diferente. Por ejemplo: Aprender a como mejorar el pensamiento logico y entender conceptos basicos, por ejemplo como funcionan y cuando los puedo usar. Mas adelante encontraran cursos avanzados o de practica que les ayudaran a reforzar estos conceptos para luego poder hacer estos ejemplos mas facil. Saludos, espero les sirva la recomendación.
No entiendo :(
Hola, les comparto el código de un algoritmo que hice para esta clase, sirve para mostrar los elementos de un array y validar si son mayores o menores a 18: Usando ciclo for: ![](https://static.platzi.com/media/user_upload/Captura%20de%20pantalla%202023-12-25%20135928-e7f83ea4-70ef-40e4-8c35-a4c81b3da608.jpg) Usando ciclo while: ![](https://static.platzi.com/media/user_upload/while-5cd119df-0127-4fe9-ac70-616b397ef9d3.jpg)

Me parece, que la explicación se queda corta solo en lo teórico, no se recomienda ninguna herramienta para aprender a ejecutar estos diagramas y aprender a corregir, que seria lo ideal.

esto no sólo se ve en programación lo verán en por ejemolo algub curso de corriente alterna, al meter un osiloscopio veran una gráfica senoidal que se ejecutará 60 veces por segundo en un periodo de tiempo infinito, al checar algun caoacitor dependoendo si frecuencia sera la cantidad de ciclos que verán en el osiloscopio, o cuando han visto en las películad que hay un aparatito que est graficando los latidos de tu corazón ❤ el punto es que es muy importante entender la lógica de como funciona todo, como este mendaje de texto que estoy dejando por medio de un lenguaje de programacion se convierte en 010101010101 que no son mas que pulsos eléctricos para que mi celular los mande atravez del aire pero no los puede mandar así, antes de eso ocupa pasr por un transductor que los convertira frecuencia de 2.4ghz para que los reciba mi modem de ISP (Totalplay) el cual los vuelve a convertir a 101001101 y despues los convierte a luz (fibra óptica) etc, etc. todo eso lleva ciclos, condicionales y un sin fin de variables lógicas.
<let edad = [5,10,20,16,13,18];

for (i = 0; i<5;i++){
    if (edad[i] >= 18){
        alert ("ya eres mayor de edad")}
        else ("aun eres menor de edad")
    };
//inicio en la posicon 0
let i = 0;

//ciclo While

while (i < 5) {
  if (edad[i] >= 18) {
    alert("ya eres mayor de edad");
  } else {
   alert("aun eres menor de edad");
  }
  i++;
}

//ciclo Do While
do {
     if (edad[i] >= 18) {
       alert("ya eres mayor de edad");
     } else {
       alert("aun eres menor de edad");
     }
  i++;
} while (i <= 5);> 
// Code in TypeScript
// ----------------------------------------------
let edades: number[] = [12, 18, 20, 30, 40, 50, 60, 70, 80, 90, 100];
edades.forEach((edad) => {
  let esMayorDeEdad = edad >= 18 ? "Es mayor de edad" : "No es mayor de edad";
  console.log(esMayorDeEdad);
});
// ----------------------------------------------
edades = [12, 7, 23, 19]

for i in edades:
	if i >= 18:
		print("es mayor de edad")
	else:
		print("no es mayor de edad")
let edades =[10, 30, 28, 50, 17, 29];
i= 0
while(i < 5){
     (edades[i] > 18) ? alert("Eres Mayor de edad " + edades[i]) :  alert("Eres menor de edad " + edades[i]);
            i++
 }

Do ‘Preparar café’

While ‘proceso toda la información’

Ejemplo hehco en python

En código se vería asi:

let edades = [5,40,20,18]

for(let i= 0; i < edades.length; i++){
    if (edades[i] >=18){
        console.log(`si tiene ${edades[i]} Eres mayor de edad`)
    }else{
        console.log(`si tiene ${edades[i]} Eres menor de edad`)
    }
}

//output:
si tiene 5 Eres menor de edad
si tiene 40 Eres mayor de edad
si tiene 20 Eres mayor de edad
si tiene 18 Eres mayor de edad

Esto se me ocurrió en python para las edades mezclando un for y if/else

💻🖥 Practicando lo visto

Usando estructuras de control optimamente(Solo ciclos)!

  1. For:

  2. Do While:

En Pseint

Algoritmo para encontrar el numero mayor de 3 numeros:

Algoritmo NumMayorde3
	Definir num1, num2, num3 Como Entero
	Escribir "Ingrese primer numero"
	Leer num1
	Escribir "Ingrese segundo numero"
	Leer num2
	Escribir "Ingrese tercer numero"
	Leer num3
		
	si (num1>=num2 y num1>num3) Entonces
		Escribir "El numero mayor es: ",num1	
	SiNo
		si (num2>num1 y num2>=num3) Entonces
			Escribir "El numero mayor es: ", num2
		SiNo
			si (Num3>=num1 y num3>num2) Entonces
				Escribir "El numero mayor es: ",num3
			SiNo
				Escribir "Los numeros son iguales: ",num1," = ",num2," = ",num3
			FinSi
		FinSi
	FinSi
FinAlgoritmo

Algoritmo para determinar si es mayor de edad

Algoritmo ArregloMayor18
	Definir i, j, n Como Entero
	j=0
	n=5
	Dimension may18(n)
	Escribir "Ingresar edades" 
	para i=0 Hasta n-1 Con Paso 1 Hacer
		Mientras i>=j Hacer
			Leer may18(i)
			j=j+1
			si (may18(i)>=18) Entonces
				Escribir "Eres mayor de edad" 
				Esperar Tecla
				Limpiar Pantalla
			SiNo
				Escribir "Eres menor de edad" 
				Esperar Tecla
				Limpiar Pantalla
			FinSi
		FinMientras
	FinPara	
FinAlgoritmo

💻🖥 ¡Resolviendo el reto!

1) Haz un ejemplo usando cada ciclo y explica por qué es usarlo en ese caso es lo óptimo!

  1. For:
  2. Do while:
  3. While do:

(En estos dos últimos casos considero mejor usar “While do”, ya que te ahorras poner un if; Ahorras tiempo y memoria)

Exercise: Pedir 3 numeros entreros con cualquier cantidad de digitos y determinar cuantos de estos numeros tiene menos de 3 digitos.

Ejercicio para saber el tipo de dato del array.


array = ['hola', 5, 6.12, 'c', 7, true]

for (i = 0 ; i <=array.tamaño = i++){
    'sabras el tipo de dato que es cada valor'
    tipo(array[i]);
    i++
}

cambiar un poco la información de acuerdo al lenguaje que se use.

Un "array" (o arreglo) es una estructura de datos que almacena una colección de elementos, todos del mismo tipo, en posiciones contiguas de memoria. Cada elemento se puede acceder mediante un índice, que es un número que indica la posición del elemento dentro del array, comenzando desde 0. Por ejemplo, si tienes un array de edades como `[5, 10, 20, 18]`, el índice `0` corresponde al valor `5`, el índice `1` al `10`, y así sucesivamente. Los índices permiten recorrer y manipular los elementos de manera eficiente, especialmente en ciclos, como se mencionó en la clase sobre algoritmos con ciclos.
El ciclo `while` ejecuta su bloque de código solo si la condición es verdadera. Esto significa que es posible que el bloque no se ejecute en absoluto si la condición es falsa desde el inicio. En cambio, el ciclo `do while` ejecuta su bloque de código al menos una vez antes de verificar la condición. Esto garantiza que se ejecute al menos una vez, independientemente de si la condición es verdadera o falsa. Esta diferencia es crucial al elegir qué tipo de ciclo usar según la necesidad del programa.
```js # Lista con las edades de las personas edades = [17, 22, 15, 19] # Índice para iterar por la lista i = 0 # Mientras haya elementos en la lista while i < len(edades): if edades[i] >= 18: print(f"La persona con edad {edades[i]} es mayor de edad.") else: print(f"La persona con edad {edades[i]} es menor de edad.") i += 1 # Incrementamos el índice para evitar un bucle infinito ```
El resumen de la clase fue el que me sirvió para entender, la clase de la maestra nada más no ayuda. Van varias clases que lo hace más complicado o tiene errores que termino subsanando por otros lados.
Es genial que hayas aprendido más códigos. En el contexto del curso sobre estructuras de control, sigue practicando con ciclos y condicionales, ya que son fundamentales para mejorar la lógica de tus algoritmos. A medida que aplicas estos conceptos en ejercicios, te volverás más competente en programación. Si tienes preguntas específicas sobre lo que has aprendido, no dudes en compartir. ¡Sigue adelante con tu aprendizaje!
```js let edades = [5, 10, 20, 18]; let i = 0; // Inicializamos un contador while (i < edades.length) { if (edades[i] >= 18) { console.log("La persona", i , edades , 1, "es mayor de edad."); } else { console.log("La persona", i , edades , 1, "es menor de edad."); } i++; // Incrementamos el contador para pasar al siguiente elemento } ``` longitud del array ```js let edades = [5, 10, 20, 18]; let i = 0; // Inicializamos un contador while (i < edades.length) { if (edades[i] >= 18) { console.log("La persona", i + 1, "es mayor de edad."); } else { console.log("La persona", i + 1, "es menor de edad."); } i++; // Incrementamos el contador para pasar al siguiente elemento } ```muestra La persona 1 es menor de edad.
Crea un algoritmo que use un ciclo `for` para determinar si las edades de un grupo de 5 personas (almacenadas en un arreglo) son mayores o menores de edad. Almacena las edades en un arreglo llamado `edades` y usa un ciclo `for` para iterar desde la posición 0 hasta la 4. Dentro del ciclo, usa una condicional `if` para comprobar si cada edad es mayor o igual a 18 y muestra un mensaje indicando si la persona es "Mayor de edad" o "Menor de edad".
creo que puede mejorar la forma de explicar... al mas concreto.
![](https://static.platzi.com/media/user_upload/image-1b87a940-1a27-4335-bf4c-678f3c6baa1a.jpg) Código básico en Python
let edades = \[5, 10, 20, 24]; for(let i=0; i < edades.length ; i++) { if(edades\[i] >= 18) { console.log("Es mayor edad la edad de: " + edades\[i]); }else { console.log("No es mayor de edad las edades de: " + edades\[i]); } } while(i < edades.length) { if(edades\[i] >= 18){ console.log("Es mayor edad la edad de: " + edades\[i]); } else { console.log("No es mayor de edad las edades de: " + edades\[i]); } i++; } let j = 0; let edades2 = \[5, 10, 20, 24]; do { if (edades2\[j] >= 18) { console.log("Es mayor de edad la edad de: " + edades2\[j]); } else { console.log("No es mayor de edad la edad de: " + edades2\[j]); } j++; } while (j < edades2.length);
let edades = \[5, 10, 20, 18]; let n= 0; while (n < 4 ) {  if(edades\[n] >=18 ) {    console.log("Es mayor de edad");  } else {    console.log("Es menor de edad");  }  n++; }
let edades = \[5, 10, 20, 18]; for (i =0; i<4; i++ ) {  if ( edades\[i] >=18) {    console.log(" Es mayor de edad")  } else {    console.log("Es menor de edad")  }}
Ciclo for con C# ![](https://static.platzi.com/media/user_upload/image-309a8a41-5608-47f8-87b1-67de70647632.jpg)Ciclo while con C# ![](https://static.platzi.com/media/user_upload/image-edaefe0d-becf-412f-84f0-d1d5db1833cd.jpg)
![](https://static.platzi.com/media/user_upload/image-f5894eb0-6e45-4877-87d6-6fa28045d54e.jpg)![](https://static.platzi.com/media/user_upload/image-a38185d7-9501-4ece-a5d7-5d1a3fda8b29.jpg)
No entendi nada, osea, para que se usa y como se usa en la vida real? En la pizarra el ciclo no se entiende muy bien
Un ejemplo del algoritmo con python: `contador=0` `edades =[5,10,20,18]` `while contador<=3:` ` if edades[contador]>=18:` ` print(f"edad: {edades[contador]}. Es mayor de edad")` ` else:` ` print(f"edad: {edades[contador]}. Es menor de edad")` ` contador += 1`
Los ciclos "for", "while" y "do while" son estructuras de control que permiten repetir un bloque de código, pero difieren en su funcionamiento: 1. **for**: Se utiliza cuando se conoce de antemano cuántas veces se debe repetir el ciclo. Es ideal para recorrer arrays, ya que se definen el inicio, el número de iteraciones y el incremento en una sola línea. 2. **while**: Se ejecuta mientras una condición sea verdadera. Se verifica antes de cada iteración, lo que significa que si la condición es falsa desde el principio, el bloque de código no se ejecuta. 3. **do while**: Similar al "while", pero garantiza al menos una ejecución del bloque de código, ya que la condición se evalúa después de la ejecución. Cada uno tiene un uso específico según la necesidad del algoritmo.
```js let edades = new Array(5, 10, 20, 18); edades.forEach(function(edad){ console.log(edad); if(edad >= 18){ console.log(`Tienes ${edad} años. Eres mayor de edad`); }else if(edad < 18){ console.log(`Tienes ${edad} años. Eres menor de edad`); } }); ```let edades = new Array(5, 10, 20, 18); edades.forEach(function(edad){ console.log(edad); if(edad >= 18){ console.log(`Tienes ${edad} años. Eres mayor de edad`); }else if(edad < 18){ console.log(`Tienes ${edad} años. Eres menor de edad`); } });
De esta forma es como me funcionó en la práctica. // identificar quienes son mayores de edad usando el ciclo while edades = \[18, 18, 4, 65, 15] numerodeedades = edades.length i = -1 while (i <= 5) { i++ if (edades\[i] >= 18) console.log("eres mayor de edad") if (edades\[i] < 18) console.log("eres menor de edad") }
Así es como me funcionó en la práctica. // identificar quienes son mayores de edad edades = \[12,10,4,65,18] for (let i = 0; i < 5; i++) { if (edades \[i] >= 18) console.log("eres mayor de edad") if (edades \[i] <= 17) console.log("eres menor de edad") }
**CICLOS:** **For** --> si conoces las veces que se va a ejecutar. **While** -->Es útil cuando no sabes cuantas iteraciones se va a necesitar. **Do while** --> Similar al while pero garantiza que al menos se ejecute una vez.
## Algoritmo de generación de números con el ciclo *for* El algoritmo consiste en generar los números del 1 al 10, utilizamos un bucle `for` porque conocemos el número de ciclos para resolver el problema. Para realizar un bucle `for` necesitaremos lo siguiente: * **Inicio:** inicializamos una variable con el valor de 1, generalmente se utiliza `i` (índice) como variable para el bucle, pero no es obligatorio. En este caso utilizaremos `num`. * **Condición:** la condición será mientras sea menor o igual que 10 (`num <= 10`), * **Pasos:** debemos aumentar la variable en una unidad, por lo tanto, podemos utilizar `num = num +1`. La estructura es la siguiente: `for (num = 1; num <= 10; num = num + 1`) Mostrar num Esto se leería como: "Para (`for`) la variable `num` que inicia en 1 (`num = 1`) mientras sea menor o igual que 10 (`num <= 10`) en pasos de 1 (`num = num + 1`) muestra la variable `num`".
HOla ! ¿Un while simpre tiene que estar relacionado a un array, es decir se ejecuta en un array existente ?
Floja esta clase Si bien se entiende que cada ciclo tiene una sintaxis distinta, no se explica bien en qué caso es convieniente usar cada ciclo.
Respecto al algoritmo que esta en pantalla, cuando llega a la posición 3: Imprime: 5 10 20 18
Ejemplo con python ```js edades = [12, 23, 24, 23, 68, 98, 14, 12, 23, 27] print('Evaluación con for en python\n') for edad in edades: if edad < 18: print('Individuo de ', edad, 'Es mayor de edad') else: print('Individuo de ', edad, 'Es menor de edad') print('\n\nEvaluación con while en python\n') contador = 0 while contador < len(edades): if edades[contador] < 18: print('Individuo de ', edades[contador], 'Es mayor de edad') else: print('Individuo de ', edades[contador], 'Es menor de edad') contador += 1 ```
Mi pregunta es en que momento se define la cantidad de iteraciones que indicamos para for....gracias
Hizo falta solamente mencionar que los ciclos do while y while necesitan incrementar su posicion segun avancen en la ejecucion de ciclos. Sin embargo, creo que esto se aplicaria mas cuando se este aprendiendo un lenguaje de programacion, donde se puede ver su iteracion.
Respondiendo a la primera pregunta de la maestra "Qué pasará con la condición "if" cuando llegue a la última posición?" Primeramente habría que entender que una variable del tipo "Array", puede tener dentro de sí casillas o espacios, y que para éste ejemplo la maestra está usando 4 casillas. **OJO: el 0 se cuenta como la casilla #1.** Una vez creado el array, usaremos la condicional "if", la cual pregunta en cada casilla que va recorriendo (iteración) lo siguiente: casilla#0 \[ 5 ] >= 18? **Se lee: ¿en la casilla#0 el número 5 es mayor o igual a 18?** casilla#1 \[ 10 ] >= 18? casilla#2 \[ 20 ] >= 18? casilla#3 \[ 18 ] >= 18? Si el "if" se cumple (TRUE), entonces se activará "else" en el cual podemos imprimir un mensaje como: "Si, usted es mayor de edad". En caso de que la condición no se cumpla (FALSE) se podría imprimir el mensaje "Usted no es mayor de edad joven, está muy chavo para votar" Llegada la última posición habremos visto que la condición fué TRUE solo dos veces, una vez para la casilla#2 (es decir la posición 3 del array) y otra vez para la casilla#3 (posición 4 del array). Bueno, espero haber sido claro, y si me equivoqué en algo por favor comenten. Aún no sé escribir en código como los demás compañeros que están comentando, pero espero muy pronto poder entenderlos, mientras tanto me apego a la lógica como tal.
Hola!! es un poco confuso cuando después de ver la clase vas a los comentarios y ves ejemplos tan buenos de personas que se ve que saben de programación, da la sensación de que falto algo por explicar, pero no es así está muy bien que quienes saben usar algún lenguaje diferente lo hagan para sus ejercicios. Sin embargo lo mejor que se puede hacer es ejecutar los ejercicios según el nivel de conocimientos que cada quien tiene, si no sabemos de programación con los elementos que hemos visto en este curso y el pasado es suficiente, para no enredarnos. recordemos que este no es un curso de programación sino de pensamiento lógico, después aprenderemos otros lenguajes y podremos usar símbolos diferentes. Ánimo no se asusten si no entienden algo, dense otra oportunidad, cada quien a su ritmo!
Se pidió una donación por televisión y querían recaudar 100 pesos después de eso no se recibiría más dinero, donaron 7 personas así: \[50,20,20,10,50,50,5] DO: Recibe el dinero y súmalo en cada ciclo while \[(0+dinero)<100] 1. (0+50)<100 true 2. (50+20)<100 true 3. (70+20)<100 true 4. (90+10)<100 false Fin del algoritmo
ejemplo while: En un concurso virtual se preguntó de que color es el cielo. Las respuestas llegan al ciclo en orden cronológico y quien primero responda bien es el ganador, respondieron 6 personas así: \[Amarillo, Rojo, Azul, Azul, Rosado, Azul] While (respuesta <>Azul) 1 (amarillo<>azul) true 2(rojo<>azul)true 3(azul<>azul)false termina el algoritmo y muestra el mensaje del ganador
Ejemplo For: en una encuesta se preguntó de que color es el cielo y respondieron 4 personas \[rojo, azul, verde, azul] inicio: posicion 0 Iteraciones: 4 incremento: +++ final: posicion 3 if (respuesta = azul) true else false
Siento que falta algo para que el ejemplo sea más entendible para personas que como yo somos realmente principiantes en el tema
Con respeto al el arrays de edad, cuando llegue a la casilla 3, es decir, la cuarta ubicación, se habría acabado antes, ya que la casilla 2 es de 20, por ende es mayor de edad, sería un ciclo con ascenso de 3 para dar con la mayoría de edad, al menos que se indique con anterioridad que NO se acabe, sino que busque algo así (X >= 18)... creo, sin terminar el video.😬

me costo mucho entender la lógica pero créame solo póngale ganas jajajaja…
en mi caso la logica seria asi

public class puesto_de_trabajo
public static main(string[] args){
//medidor de altas velocidad de internet
const = alta velocidad = 5gb
for(i= 0 i < altas velocidad op + +)
system.out.printlm(“la velocidad de {i} no es mayor que altas velocidades”)
//actualmente la velocidad de {i} es = 1
system.out.printlm(“la velocidad de {i} no es mayor que altas velocidades”)
//actualmente la velocidad de {i} es = 2
system.out.printlm(“la velocidad de {i} no es mayor que altas velocidades”)
//actualmente la velocidad de {i} es = 3

       system.out.printlm("la velocidad de {i} es  igual que  altas velociadades ")
           //actualmente la velocidad de {i} es = a 5 

while

```js let edades =[5,10,18,12,25,17,32] let condicional = edades.length for (i=0;i<condicional;i++){ if (edades[i]>=18){ console.log('Es Mayor de edad') } else { console.log('Es Menor de edad') } } console.log('Inicia Ciclo While') i=0 while(i<condicional){ if(edades[i]>=18){ console.log('Es Mayor de edad') } else { console.log('Es Menor de edad') } i++ } ```
Mi aporte a el reto de edad ![](https://static.platzi.com/media/user_upload/image-ffd9d26e-7574-474b-bd2f-8c5b339a6a87.jpg)
para el reto cree una lista y asigne en ella los valores de 1 a 10 con el ciclo for Nota: para definir un tamaño especifico de la lista utilice el operador \* ![](https://static.platzi.com/media/user_upload/image-d02add44-5dd8-4932-8a4d-4c8a03fb40bb.jpg)
La forma en que se usa try-catch en mi trabajo es cuando se debe hacer una operación DML Estás operaciones pueden ser para actualizar, insertar, borrar un registro Hay veces que no es posible lograr esto debido a que hay registros duplicados, el registro ya no existe, etc. para poder mostrarte al usuario el error, se regresa el error específico mostrando la clase, la libres o la acción que hizo que el programa se detuviera
Algoritmo de control de variables con el bucle do-while import java.util.Scanner; public class Main { public static void main(String\[] args) { Scanner scanner = new Scanner(System.in); int contador = 1; do { // Realizar operaciones o tareas dentro del bucle System.out.println(contador); // Modificar la variable de control contador++; } while (contador <= 5); // Definir la condición de salida del bucle } }
## Algoritmo de control de variables con el bucle *do-while* El mismo ejemplo del ciclo `while`, sin embargo, no iniciamos una variable `edad` fuera del ciclo. Con el ciclo `do-while` realizamos un bloque de código y preguntamos una condición, si es verdadera, repite el código. Se utiliza la condición contraria a la solicitada, porque es lo que controlaremos, al cambiar la variable `edad` evitamos el ciclo infinito. Si cumple con la condición del `while`, volveremos a solicitar un valor correcto de `edad`. `do` ` "Ingrese su edad"` edad = \_\_ `while edad < 18`
Aqui dejo mis ejemplos para los 3 ejercicios: While ````txt Algoritmo edadesWhile Definir edades, i Como Entero i = 1 Mientras i <= 5 Hacer Escribir "Ingrese la edad ", i, ": " Leer edades Si edades < 18 Entonces Escribir "No puede ingresar debido a que usted tiene ", edades, " años de edad. Necesita ser mayor de 18 años para poder ingresar." Sino Escribir "Usted puede ingresar, es mayor de edad." FinSi i = i + 1 FinMientras FinAlgoritmo ```Algoritmo edadesWhile Definir edades, i Como Entero i = 1 Mientras i <= 5 Hacer Escribir "Ingrese la edad ", i, ": " Leer edades Si edades < 18 Entonces Escribir "No puede ingresar debido a que usted tiene ", edades, " años de edad. Necesita ser mayor de 18 años para poder ingresar." Sino Escribir "Usted puede ingresar, es mayor de edad." FinSi i = i + 1 FinMientras FinAlgoritmo ```` For ```js Algoritmo edadesFor Definir edades Como Entero Para i Desde 1 Hasta 5 Con Paso 1 Hacer Escribir "Ingrese su edad ", i, ":" Leer edades Si edades < 18 Entonces Escribir "Usted es menor de edad, tiene ", edades, " años de edad. Necesita 18 para poder ingresar." Sino Escribir "Usted puede ingresar debido a que es mayor de edad." FinSi FinPara FinAlgoritmo ```Do While Algoritmo edadesDoWhile Definir edades, i Como Entero i = 1 Repetir Escribir "Ingresa su edad ", i, ": " Leer edades Si edades < 18 Entonces Escribir "La edad ingresada es menor a 18 años de edad. Se le niega la entrada." Sino Escribir "Usted puede ingresar." FinSi i = i + 1 Mientras Que i <= 5 FinAlgoritmo ```js Algoritmo edadesDoWhile Definir edades, i Como Entero i = 1 Repetir Escribir "Ingresa su edad ", i, ": " Leer edades Si edades < 18 Entonces Escribir "La edad ingresada es menor a 18 años de edad. Se le niega la entrada." Sino Escribir "Usted puede ingresar." FinSi i = i + 1 Mientras Que i <= 5 FinAlgoritmo ``` Todos fueron realizados con PSeInt
Mi reto 6,Algoritmo Ciclos mejorando el código que habia mostrado anteriormente :D ![](https://static.platzi.com/media/user_upload/image-6f79b7a8-200f-47f7-befd-ab504ccdbb60.jpg)
Mi reto 6,Algoritmo Ciclos mejorando el código que habia mostrado anteriormente :D
Acá les comparto el código en Java script de un algoritmo para mostrar valores numéricos y validar si son mayores o menores a 18. Usando ciclo for:![](<"C:\Users\54387\Pictures\Captura de pantalla 2023-12-25 135928.png">) ![](<"C:\Users\54387\Pictures\Captura de pantalla 2023-12-25 135928.png">)
Este es mi código con while, comprueba que la edad ingresada es igual o mayor a 18 para dar acceso. ```python # Control de variable con "while" edad = 0 while edad < 18: edad = int(input("Ingrese su edad")) else: print("Acceso consedido") ```
Aquí esta mi aporte, es un bucle que muestra las edades de una lista e indica si es mayor de edad, espero haberlo hecho bien. # Algoritmo con ciclos edades = \[12, 15, 18, 14, 16, 19] for indice in edades:  if indice >= 18:    print(indice, "Es mayor de edad")  else:    print(indice) ```js # Algoritmo con ciclo "for" edades = [12, 15, 18, 14, 16, 19] for indice in edades: if indice >= 18: print(indice, "Es mayor de edad") else: print(indice) ```
![](https://static.platzi.com/media/user_upload/image-587c229e-0879-497d-84eb-13ca6e907085.jpg)
#Verificar si en una lista hay mayores de edad revisando posicion por posicion

edades = [5, 15, 18, 20, 22]

for edad in edades:
    if edad >= 18:
        print(f"{edad} Es mayor de edad")
    else:
        print(f"{edad} Es menor de edad")
Hice una función en python de una forma un poco mas compleja ![](https://static.platzi.com/media/user_upload/image-ce4dac76-d884-4a0e-bac6-c89c5d4575c9.jpg) Y aquí hay un ejemplo de la ejecición: ![](https://static.platzi.com/media/user_upload/image-820cd91e-9680-45db-b633-61d9375d6947.jpg)
La verdad esta explicacion no me gusto para nada, me parece que quedan muchas cosas en el aire, sobretodo en la parte de la nomenclatura, la logica la comprendo pero creo que es importante aprender como escribir de manera ordenada los algoritmos, y cuando veo los comentarios veo muchas personas que ya parecen tener conocimientos avanzados, comparo los comentarios con el video y veo que usan codigos que ni han mencionado en las clases. El comentario lo hago con respeto y que tomen mis inquietudes en cuenta.

Un pequeño aporte en Java

ublic class Main {
    public static void main (String [] args) {
        int [] edades = {25,30,22,40};

        System.out.printLn("la primera edad es: " + edades[0])
        System.out.printLn("la primera edad es: " + edades[2])

    }
} 

Fan numero 1 de la profesora Ana