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 224

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)

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.

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.

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

edades = [10, 5, 20, 18]

for edad in edades:
edad >= 18
if edad >= 18:
print(“mayor de edad”)
else:
print(“No mayor de edad”)

En el caso del Do While entonces si podría colocarse: 'Do... While x < 3', ya que primero realiza la acción y luego pregunta si se cumple la condición? While <= 3: ... equivalente a: Do ... While < 3
![](https://static.platzi.com/media/user_upload/image-89cd0dfb-9185-4fd2-882a-2c5455e2ae43.jpg)
![](https://static.platzi.com/media/user_upload/image-0b67e54f-2502-4632-ba5c-488daa3a30d6.jpg)
![](https://static.platzi.com/media/user_upload/image-154ae27f-b3af-4ad2-89ad-0eb2e2a4a031.jpg)
Esta es mi propuesta del Reloj en Python. ```js import time ''' El módulo time en Python proporciona funciones relacionadas con el tiempo y el reloj. Se puede utilizar este módulo para realizar diversas operaciones relacionadas con el tiempo, como medir el tiempo que lleva ejecutar una porción de código, pausar la ejecución del programa durante un período específico o trabajar con representaciones de fecha y hora. ''' separador = '*' * 30 #esta variable solo es con fines estéticos, imprimir * como separadores. def minuto_ciclo(minutos): ''' Esta función cuenta los minutos, usaremos el método sleep del módulo time, para esperar 1 segundo. :hora_local.tm_sec Extraemos los segundos de la hora local ''' hora_local = time.localtime() # Obtiene la estructura de tiempo para la hora local #segundos = hora_local.tm_sec # Extraemos los segundos de la estructura de tiempo segundos = 0 while segundos < 59: hora_local = time.localtime() segundos = hora_local.tm_sec #segundos += 1 print(f'{segundos} segundos') time.sleep(1) #es para que espere 1 segundos para supervisar el local time return minutos + 1 def hora_ciclo(horas): minutos = 0 while minutos < 59: minutos = minuto_ciclo(minutos) hora_formateada = imprime_hora_local() #extraemos la hora local para imprimirla cada minuto print(f'{separador} {minutos} minutos, la hora es: {hora_formateada} {separador}') return horas + 1 def dia_ciclo(dia): horas = 0 while horas < 24: horas = hora_ciclo(horas) if horas < 24: hora_formateada = imprime_hora_local() print(f'{separador} {horas} horas, la hora es: {hora_formateada} {separador}') else: hora_formateada = imprime_hora_local() print(f'{separador} {dia} dias, la hora es: {hora_formateada} {separador}') return dia + 1 def run(dia): dia = dia_ciclo(dia) if dia < 993: run(dia) #la función run() se vuelve a llamar a si misma de forma infinita. OJO en el día 993 se quiebra el programa else: print('holis') time.sleep(4) #es para que espere 1 segundos para supervisar el local time run(dia = 0) # reseteamos la variable dia, para que el reloj sea infinito PERO NO FUNCIONO ¿me ayudan? def imprime_hora_local(): hora_local = time.localtime() # Obtiene la estructura de tiempo para la hora local hora_formateada = time.strftime("%Y-%m-%d %H:%M:%S", hora_local) # Formatea la hora como una cadena return hora_formateada print("Hora local actual:", imprime_hora_local()) run(dia = 0) ```
Esta es mi propuesta del Reloj en Python ¿Me ayudan? Saludosimport time'''El módulo time en Python proporciona funciones relacionadas con el tiempo y el reloj. Se puede utilizar este módulo para realizar diversas operaciones relacionadas con el tiempo, como medir el tiempo que lleva ejecutar una porción de código, pausar la ejecución del programa durante un período específico o trabajar con representaciones de fecha y hora.'''separador = '\*' \* 30 #esta variable solo es con fines estéticos, imprimir \* como separadores. def minuto\_ciclo(minutos): ''' Esta función cuenta los minutos, usaremos el método sleep del módulo time, para esperar 1 segundo. :hora\_local.tm\_sec Extraemos los segundos de la hora local ''' hora\_local = time.localtime() # Obtiene la estructura de tiempo para la hora local #segundos = hora\_local.tm\_sec # Extraemos los segundos de la estructura de tiempo segundos = 0 while segundos < 59: hora\_local = time.localtime() segundos = hora\_local.tm\_sec #segundos += 1 print(f'{segundos} segundos') time.sleep(1) #es para que espere 1 segundos para supervisar el local time return minutos + 1 def hora\_ciclo(horas): minutos = 0 while minutos < 59: minutos = minuto\_ciclo(minutos) hora\_formateada = imprime\_hora\_local() #extraemos la hora local para imprimirla cada minuto print(f'{separador} {minutos} minutos, la hora es: {hora\_formateada} {separador}') return horas + 1 def dia\_ciclo(dia): horas = 0 while horas < 24: horas = hora\_ciclo(horas) if horas < 24: hora\_formateada = imprime\_hora\_local() print(f'{separador} {horas} horas, la hora es: {hora\_formateada} {separador}') else: hora\_formateada = imprime\_hora\_local() print(f'{separador} {dia} dias, la hora es: {hora\_formateada} {separador}') return dia + 1 def run(dia): dia = dia\_ciclo(dia) if dia < 993: run(dia) #la función run() se vuelve a llamar a si misma de forma infinita. OJO en el día 993 se quiebra el programa else: print('holis') time.sleep(4) #es para que espere 1 segundos para supervisar el local time run(dia = 0) # reseteamos la variable dia, para que el reloj sea infinito PERO NO FUNCIONO ¿me ayudan? def imprime\_hora\_local(): hora\_local = time.localtime() # Obtiene la estructura de tiempo para la hora local hora\_formateada = time.strftime("%Y-%m-%d %H:%M:%S", hora\_local) # Formatea la hora como una cadena return hora\_formateada print("Hora local actual:", imprime\_hora\_local())run(dia = 0) ```js import time ''' El módulo time en Python proporciona funciones relacionadas con el tiempo y el reloj. Se puede utilizar este módulo para realizar diversas operaciones relacionadas con el tiempo, como medir el tiempo que lleva ejecutar una porción de código, pausar la ejecución del programa durante un período específico o trabajar con representaciones de fecha y hora. ''' separador = '*' * 30 #esta variable solo es con fines estéticos, imprimir * como separadores. def minuto_ciclo(minutos): ''' Esta función cuenta los minutos, usaremos el método sleep del módulo time, para esperar 1 segundo. :hora_local.tm_sec Extraemos los segundos de la hora local ''' hora_local = time.localtime() # Obtiene la estructura de tiempo para la hora local #segundos = hora_local.tm_sec # Extraemos los segundos de la estructura de tiempo segundos = 0 while segundos < 59: hora_local = time.localtime() segundos = hora_local.tm_sec #segundos += 1 print(f'{segundos} segundos') time.sleep(1) #es para que espere 1 segundos para supervisar el local time return minutos + 1 def hora_ciclo(horas): minutos = 0 while minutos < 59: minutos = minuto_ciclo(minutos) hora_formateada = imprime_hora_local() #extraemos la hora local para imprimirla cada minuto print(f'{separador} {minutos} minutos, la hora es: {hora_formateada} {separador}') return horas + 1 def dia_ciclo(dia): horas = 0 while horas < 24: horas = hora_ciclo(horas) if horas < 24: hora_formateada = imprime_hora_local() print(f'{separador} {horas} horas, la hora es: {hora_formateada} {separador}') else: hora_formateada = imprime_hora_local() print(f'{separador} {dia} dias, la hora es: {hora_formateada} {separador}') return dia + 1 def run(dia): dia = dia_ciclo(dia) if dia < 993: run(dia) #la función run() se vuelve a llamar a si misma de forma infinita. OJO en el día 993 se quiebra el programa else: print('holis') time.sleep(4) #es para que espere 1 segundos para supervisar el local time run(dia = 0) # reseteamos la variable dia, para que el reloj sea infinito PERO NO FUNCIONO ¿me ayudan? def imprime_hora_local(): hora_local = time.localtime() # Obtiene la estructura de tiempo para la hora local hora_formateada = time.strftime("%Y-%m-%d %H:%M:%S", hora_local) # Formatea la hora como una cadena return hora_formateada print("Hora local actual:", imprime_hora_local()) run(dia = 0) ```
![](https://static.platzi.com/media/user_upload/image-2d104edf-b2d9-400c-8312-5977e91948e8.jpg)
![](https://static.platzi.com/media/user_upload/image-431d1b77-91db-45ab-934a-e0b609cdd354.jpg)
 int[] edades = {12,14,22,13,34,2,44};
        
      for(int i = 0; i<edades.length;i++){
      int numP = i+1;
      if(edades[i]>=18){
          System.out.println(numP + " es mayor de edad");
      
      }else{
      System.out.println(numP+ " es menor de edad");
      }
      
      }
     System.out.println("--------------------------------------");
     
           
      int j = 0;
      
      while(j<edades.length){
      if(edades[j]>=18){
          System.out.println("es mayor");
      }else{
          System.out.println("es menor");
      }
      j++;
      }
      
      
       System.out.println("--------------------------------------");
      
      int k = 0;
      
      do{
      if(edades[k]>=18){
          System.out.println("mayor");
      
      }else{
          System.out.println("menor");
      }
      k++;
      }while(k<edades.length);
       
Este curso debe tomarlo una persona que ya tenga idea de prograaciób? Veo en los comentarios muchos con sus diagramas y me doy cuenta que estoy en pañales, ni idea y me cuesta entender todo esto.

Es gracioso por que deberia preguntar si tiene pila en cada instante, pero seria mas tedioso agregar una vuelta para esto cada segundo. Entonces la solucion es sencilla 😃

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

El objetivo de este algoritmo es generar los números del 1 al 10. Utilizamos un bucle for porque conocemos el número de ciclos necesarios para resolver el problema.

Para lograr esto, necesitamos:

  • Inicio: Inicializamos una variable, en este caso, la llamaremos num, con el valor 1.
  • Condición: Establecemos la condición de que el bucle se ejecute mientras num sea menor o igual a 10 (num <= 10).
  • Pasos: Incrementamos la variable num en una unidad en cada ciclo (num = num + 1).

La estructura del ciclo for es la siguiente:

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

Esto se lee como: "Para la variable num que comienza en 1, mientras num sea menor o igual a 10, incrementa num en 1 y muestra el valor de num".

Algoritmo de control de variables con el bucle while

Este algoritmo se utiliza para controlar que un usuario ingrese una edad mayor de 18 años. Se emplea un ciclo while porque no conocemos cuántas veces el usuario puede equivocarse al ingresar la edad.

En lugar de controlar directamente la condición requerida (edad >= 18), controlamos la condición contraria (edad < 18) para determinar cuándo detener el bucle. Se solicita al usuario que ingrese su edad, y si la edad ingresada es menor de 18, se le pide que vuelva a ingresar un valor válido.

"Ingrese su edad"
edad = __

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

En resumen, este algoritmo repite la solicitud de edad hasta que el usuario ingrese un valor mayor o igual a 18.

Algoritmo de control de variables con el bucle do-while

El bucle do-while realiza un bloque de código al menos una vez antes de evaluar la condición. En este caso, nuevamente controlamos que el usuario ingrese una edad mayor de 18 años.

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

El ciclo se inicia con la solicitud de edad y, si la edad ingresada es menor de 18, se le pide al usuario que vuelva a ingresar un valor válido. Este proceso se repetirá hasta que el usuario finalmente ingrese una edad válida.

Estas estructuras de bucle son esenciales en la programación y permiten controlar eficazmente el flujo de ejecución de un programa.

Apuntes

¿Qué es un dato?

En informática, un dato es cualquier información que puede ser almacenada y procesada por un programa de computadora. Los datos pueden tomar muchas formas diferentes, desde texto y números hasta imágenes y sonidos. En general, se considera que los datos son la materia prima con la que trabajan los programas de computadora.

Tipos de datos

Existen varios tipos de datos que se utilizan en programación, entre los que destacan:

  • Datos de texto: se refieren a cadenas de caracteres que representan palabras, frases, oraciones, etc. Los datos de texto se utilizan ampliamente en aplicaciones como procesadores de texto, correo electrónico y redes sociales.
  • Datos numéricos: se refieren a valores que representan números, ya sean enteros o decimales. Estos datos se utilizan en una amplia variedad de aplicaciones, desde cálculos matemáticos hasta simulaciones científicas y financieras.
  • Datos booleanos: se refieren a valores que pueden ser verdaderos o falsos. Estos datos se utilizan ampliamente en aplicaciones que requieren toma de decisiones, como la programación de juegos y sistemas de votación en línea.
  • Arrays: como se mencionó anteriormente, los arrays son estructuras de datos que permiten almacenar una colección de elementos del mismo tipo en una única variable. Los arrays son muy utilizados en programación para almacenar y manipular grandes cantidades de datos de manera eficiente.

Ejemplo de algoritmo de un reloj

A continuación, se presenta un ejemplo de un algoritmo para mostrar la hora actual en un reloj digital:

  1. Obtener la hora actual del sistema.
  2. Convertir la hora actual a un formato de 24 horas.
  3. Dividir la hora actual en horas, minutos y segundos.
  4. Mostrar las horas, minutos y segundos en un formato de reloj digital.
  5. Esperar un segundo.
  6. Repetir el paso 1.

Este algoritmo utiliza datos numéricos para representar las horas, minutos y segundos, así como datos de texto para representar el formato del reloj digital. Además, utiliza un bucle para repetir continuamente la obtención y muestra de la hora actual.

¿Qué son las estructuras de control?

Las estructuras de control son instrucciones o bloques de código que permiten modificar el flujo de ejecución de un programa de computadora. Es decir, son herramientas que permiten controlar el orden en que se ejecutan las instrucciones del programa, permitiendo tomar decisiones, realizar repeticiones y ejecutar acciones condicionales.

Las estructuras de control son fundamentales en la programación, ya que permiten escribir programas más complejos y sofisticados que pueden tomar decisiones y realizar acciones de manera autónoma. Además, el uso adecuado de las estructuras de control puede mejorar la eficiencia y eficacia del programa al reducir el número de instrucciones innecesarias y repetitivas.

Existen tres tipos principales de estructuras de control:

Estructuras condicionales

Las estructuras condicionales permiten tomar decisiones en función del resultado de una o varias condiciones. La estructura condicional más común es el “if” o “si” en español, que ejecuta una instrucción o bloque de código solo si se cumple una condición. También existen otras estructuras condicionales como “else” o “sino” en español, que se ejecutan en caso contrario a la condición establecida en el “if”, y “else if” o “sino si” en español, que permiten establecer varias condiciones consecutivas para tomar decisiones más complejas.

Estructuras de repetición

Las estructuras de repetición permiten ejecutar una o varias instrucciones varias veces en función de una condición. Las estructuras de repetición más comunes son el “for” y el “while” en los que se establece una condición y se ejecutan las instrucciones dentro de un bloque de código hasta que se cumpla o se deje de cumplir dicha condición. Estas estructuras son especialmente útiles cuando se necesitan realizar operaciones repetitivas con datos.

Estructuras de control de excepciones

Las estructuras de control de excepciones permiten manejar errores o situaciones excepcionales en la ejecución del programa. Las estructuras de control de excepciones más comunes son el “try-catch” o “intenta-captura” en español, que intentan ejecutar una instrucción y, si se produce una excepción o error, se ejecuta un bloque de código para manejar la situación. Estas estructuras son muy útiles para evitar que los programas se detengan por completo debido a errores inesperados y para manejar errores de manera eficiente.

Estructuras condicionales

Las estructuras condicionales son aquellas que permiten tomar decisiones en función del resultado de una o varias condiciones. En la programación, la estructura condicional más común es el “if” o “si” en español, que ejecuta una instrucción o bloque de código solo si se cumple una condición.

La sintaxis básica de la estructura condicional “if” es la siguiente:


if condición:
    instrucción(es)

Donde “condición” es una expresión booleana que evalúa si se cumple o no una determinada condición, y “instrucción(es)” es una o varias instrucciones que se ejecutarán si se cumple la condición.

También existen otras estructuras condicionales, como el “else” o “sino” en español, que se ejecutan en caso contrario a la condición establecida en el “if”. La sintaxis básica de la estructura condicional “if-else” es la siguiente:


if condición:
    instrucción(es) si se cumple la condición
else:
    instrucción(es) si no se cumple la condición

Además, existe el “else if” o “sino si” en español, que permite establecer varias condiciones consecutivas para tomar decisiones más complejas. La sintaxis básica de la estructura condicional “if-else if-else” es la siguiente:


if condición1:
    instrucción(es) si se cumple la condición1
elif condición2:
    instrucción(es) si se cumple la condición2
else:
    instrucción(es) si no se cumple ninguna de las condiciones anteriores

Las estructuras condicionales son fundamentales en la programación, ya que permiten que los programas tomen decisiones de manera autónoma y ejecuten instrucciones específicas en función de las condiciones establecidas. En general, las estructuras condicionales se utilizan para hacer que el programa sea más inteligente y eficiente en la toma de decisiones, lo que a su vez mejora la experiencia del usuario final.

Algoritmos con variables y condicionales

Los algoritmos con variables y condicionales son aquellos que utilizan variables para almacenar valores y estructuras condicionales para tomar decisiones en función de esos valores. Estos algoritmos son muy útiles para resolver problemas complejos en la programación.

A continuación se presenta un ejemplo de algoritmo con variables y condicionales, que simula el funcionamiento de un semáforo:

markdownCopy code
1. Iniciar variable color en "verde"
2. Iniciar variable tiempo en 0
3. Mientras tiempo < 60:
4.     Si color es "verde":
5.         Imprimir "Semaforo en verde"
6.         Incrementar tiempo en 1
7.         Si tiempo >= 60:
8.             Terminar el algoritmo
9.         Si tiempo >= 30:
10.            Cambiar color a "amarillo"
11.    Si color es "amarillo":
12.        Imprimir "Semaforo en amarillo"
13.        Incrementar tiempo en 1
14.        Si tiempo >= 60:
15.            Terminar el algoritmo
16.        Si tiempo >= 45:
17.            Cambiar color a "rojo"
18.    Si color es "rojo":
19.        Imprimir "Semaforo en rojo"
20.        Incrementar tiempo en 1
21.        Si tiempo >= 60:
22.            Terminar el algoritmo
23.        Si tiempo >= 55:
24.            Cambiar color a "verde"

En este algoritmo, se utilizan dos variables: “color”, que representa el color actual del semáforo, y “tiempo”, que representa el tiempo transcurrido desde que el semáforo se puso en verde. El algoritmo inicia con el semáforo en verde y el tiempo en 0, y se ejecuta en un ciclo mientras el tiempo sea menor a 60 segundos. En cada iteración del ciclo, se verifica el color actual del semáforo y se imprimen mensajes correspondientes en función de ese color. Además, se incrementa el tiempo en 1 segundo en cada iteración y se cambia el color del semáforo si se cumplen ciertas condiciones (por ejemplo, cambiar a amarillo después de 30 segundos en verde, y a rojo después de 45 segundos en amarillo). Finalmente, cuando el tiempo llega a 60 segundos, el algoritmo termina.

Este ejemplo muestra cómo se pueden utilizar variables y estructuras condicionales para simular un proceso complejo en un programa, lo que puede ser muy útil en situaciones reales.

Ciclos

Los ciclos son estructuras de control en programación que permiten ejecutar una serie de instrucciones repetidamente mientras se cumple una condición determinada. Los ciclos son útiles para procesar grandes cantidades de datos, realizar operaciones matemáticas complejas o simplemente para automatizar tareas repetitivas.

Existen dos tipos principales de ciclos en programación: el ciclo “while” y el ciclo “for”.

Ciclo while

El ciclo “while” ejecuta una serie de instrucciones repetidamente mientras se cumpla una condición determinada. La sintaxis básica de un ciclo while es la siguiente:


while condición:
    instrucciones

El ciclo while evalúa la condición al inicio de cada iteración. Si la condición se cumple, se ejecutan las instrucciones dentro del ciclo. Después de ejecutar las instrucciones, el ciclo vuelve a evaluar la condición y, si se cumple, se repite el proceso. El ciclo termina cuando la condición no se cumple más.

A continuación, se presenta un ejemplo de ciclo while que suma los primeros 10 números naturales:


suma = 0
i = 1

while i <= 10:
    suma += i
    i += 1

print("La suma de los primeros 10 números naturales es:", suma)

En este ejemplo, el ciclo while se repite mientras la variable “i” sea menor o igual a 10. En cada iteración, se suma el valor de “i” a la variable “suma”, y se incrementa el valor de “i” en 1. Después de que el ciclo termina, se imprime el valor final de la variable “suma”.

Ciclo for

El ciclo “for” es una estructura de control que permite iterar sobre una secuencia de elementos (como una lista o una cadena de caracteres) y ejecutar una serie de instrucciones para cada elemento de la secuencia. La sintaxis básica de un ciclo for es la siguiente:


for variable in secuencia:
    instrucciones

En cada iteración del ciclo for, la variable “variable” toma el valor de uno de los elementos de la secuencia y se ejecutan las instrucciones dentro del ciclo. Después de ejecutar las instrucciones, el ciclo avanza al siguiente elemento de la secuencia y repite el proceso hasta que se han procesado todos los elementos.

A continuación, se presenta un ejemplo de ciclo for que imprime los elementos de una lista de frutas:


frutas = ["manzana", "banana", "kiwi", "naranja"]

for fruta in frutas:
    print(fruta)

En este ejemplo, el ciclo for itera sobre la lista de frutas y en cada iteración, la variable “fruta” toma el valor de uno de los elementos de la lista y se imprime en la consola.

En resumen, los ciclos son estructuras de control en programación que permiten repetir una serie de instrucciones mientras se cumple una condición determinada. Los ciclos “while” y “for” son los tipos principales de ciclos en programación y son útiles para procesar grandes cantidades de datos y automatizar tareas repetitivas.

Algoritmos con ciclos

Aquí hay algunos ejemplos de algoritmos que utilizan ciclos:

  1. Suma de números: Este algoritmo pide al usuario un número n y calcula la suma de todos los números enteros desde 1 hasta n utilizando un ciclo for.

Inicio
  Leer n
  suma = 0
  Para i desde 1 hasta n hacer
    suma = suma + i
  FinPara
  Mostrar suma
Fin

  1. Factorial de un número: Este algoritmo pide al usuario un número n y calcula su factorial utilizando un ciclo while.

Inicio
  Leer n
  factorial = 1
  i = 1
  Mientras i <= n hacer
    factorial = factorial * i
    i = i + 1
  FinMientras
  Mostrar factorial
Fin

  1. Tabla de multiplicar: Este algoritmo pide al usuario un número n y muestra su tabla de multiplicar del 1 al 10 utilizando un ciclo for anidado.

Inicio
  Leer n
  Para i desde 1 hasta 10 hacer
    producto = n * i
    Mostrar n, " x ", i, " = ", producto
  FinPara
Fin

  1. Búsqueda en una lista: Este algoritmo busca un elemento específico en una lista y devuelve su índice utilizando un ciclo for.

Inicio
  lista = [2, 4, 6, 8, 10]
  elemento = 8
  indice = -1
  Para i desde 0 hasta longitud(lista)-1 hacer
    Si lista[i] == elemento entonces
      indice = i
      SalirPara
    FinSi
  FinPara
  Mostrar indice
Fin

Estos son solo algunos ejemplos de algoritmos que utilizan ciclos. Los ciclos son una herramienta poderosa en la programación que nos permiten automatizar tareas repetitivas y procesar grandes cantidades de datos de manera eficiente.

todos los ciclos se pueden aplicar para todas las condiciones pero para aplicarlos de manera correcta hay que saber para cuando queremos usarlo.

For : Solamente se usa si conocemos la cantidad de registros que debemos procesar dentro de la condición y se deben de procesar todos.

While: solamente se usa si desconocemos la cantidad de registro que debemos procesar y solamente se frena el bucle cuando llega uno que no queremos analizar

Do While: Es como el While con la diferencia que primero procesa y luego pregunta, este a diferencia del while procesa todo los registro incluyendo el ultimo.