No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Curso Pr谩ctico de JavaScript

Curso Pr谩ctico de JavaScript

Juan David Castro Gallego

Juan David Castro Gallego

Ciclos

6/26
Recursos

Aportes 75

Preguntas 5

Ordenar por:

Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Reg铆strate o inicia sesi贸n para participar.

Yo cambiar铆a la definici贸n de Juan por 鈥淟a forma de ejecutar un bloque de c贸digo mientras una condici贸n sea verdadera o se cumpla鈥

Es extra帽o que no hayan puesto este meme鈥

Yo lo hice un pel铆n distinto:

let resultado = prompt("驴Cuanto es 2 + 2?")

while(resultado != 4){
    resultado = prompt("驴Cuanto es 2 + 2?")
}

alert("Felicitaciones!!");

Aqu铆 usando una variable para controlar el while:

let keep_on = true;

let sum = 0;

while(keep_on){
    sum = prompt("驴Cu谩nto es 2+2?")
    if (suma==4){
        console.log("Felicidades");
        keep_on = false;
    }
}

Buenas , ojo que adem谩s de frenar el ciclo el problema ped铆a agregar una felicitaci贸n al usuario 鈥s铆 lo hice yo saludos !
(adem谩s agregue la funci贸n parseint para transformar cualquier respuesta del usuario a n煤meros enteros )

let respuestaDelUsuario 

while(respuestaDelUsuario != 4){
    pregunta=parseInt(prompt("cuanto es 2+2?"))
    if (pregunta==4){alert("felicidades sabes sumar")}
    respuestaDelUsuario=pregunta
}

No se si me estaba complicando la vida ya que la soluci贸n que hice fue con funciones, pero ya viendo esta clase era m谩s f谩cil hacerla con while. Igual les comparto mi soluci贸n:

function preguntar() {
    var resultado = prompt("驴Cuanto es 2 x 2?")
    validar(resultado);
}

function validar(resultado){
    if(resultado === "4"){
        console.log("Felicitaciones");
    }else{
        preguntar();
    }
}

preguntar();

Ciclos

1.Responde las siguientes preguntas en la secci贸n de comentarios:
驴Qu茅 es un ciclo?

  • La forma de ejecutar un bloque de c贸digo hasta que se cumpla cierta condici贸n.

驴Qu茅 tipos de ciclos existen en JavaScript?

  • While, do while y for.

驴Qu茅 es un ciclo infinito y por qu茅 es un problema?

  • Es cuando la validaci贸n de nuestros condicionales nunca se cumple y termina da帽ando la aplicaci贸n

驴Puedo mezclar ciclos y condicionales?

  • S铆, aunque los ciclos son una especie de condicionales, nada nos impide agregar m谩s condicionales dentro del ciclo.

2锔.Replica el comportamiento de los siguientes ciclos for utilizando ciclos while:

for (let i = 0; i < 5; i++) {
    console.log("El valor de i es: " + i);
}
for (let i = 10; i >= 2; i--) {
    console.log("El valor de i es: " + i);
}
//RESOLUCION
while (i < 5) {
    console.log("El valor de i es: " + i);
    i++;
}
while (i >= 2) {
    console.log("El valor de i es: " + i);
    i--;
}

3锔.Escribe un c贸digo en JavaScript que le pregunte a los usuarios cu谩nto es 2 + 2. Si responden bien, mostramos un mensaje de felicitaciones, pero si responden mal, volvemos a empezar.

馃挕 Pista: puedes usar la funci贸n prompt de JavaScript.

while (respuesta != '4') {
    let pregunta = prompt('驴Cu谩nto es 2 + 2?')
    respuesta = pregunta;
}

Hola PlatziNautas. 馃懇鈥嶐煔馃懆鈥嶐煔

En la versi贸n anterior a este curso cree unos ejercicios sobre ciclos, si quieren practicar un poco m谩s aqu铆 les dejo el link.

隆Saludos! 馃挌

Ejercicios Ciclos 馃じ鈥嶁檧锔忦煠糕嶁檪锔

As铆 lo hice, aplicando recursividad que es cuando una funci贸n se llama a si mismo (que ser铆a algo parecido a un ciclo):

let num1 = 2;
let num2 = 2;
const result = num1 + num2;


function quizzer() 
{
    let resultp = prompt("The result of "+ num1 + " + " + num2 + " = ");

    if (parseInt(resultp) === result)
    {
        console.log("Congratulations that is the answer")
    } else 
    {
        console.log("That is not the answer, try again");
        quizzer();
    }
}

quizzer();

En el 煤ltimo le falt贸 felicitar al usuario, me parece que podr铆a enviar la felicitaci贸n directamente afuera del while, yo lo hice con el do while por si alguno quisiera tener esta versi贸n:

let respuesta = 0;
do {
   	respuesta = prompt("Cu谩nto es 2 + 2?");
   	if(respuesta == 4) console.log("FELICIDADES!");
} while (respuesta != 4);

Yo lo hice con un do while porque sinceramente no sab铆a como hacer el ejercicio y fue lo 煤nico que se me ocurri贸 xD

var respuestas;
do {respuestas = prompt('cuanto es dos mas dos')} while (respuestas != 4);

alert('felicitaciones');

Esta es una de las preguntas que no contest茅 porque no sab铆a que prompt era una funci贸n que brinda el navegador ni c贸mo utilizarla. Pero entiendo como utilizarla y complet茅 el ejercicio como en la clase, realmente antes de hacerla se me hab铆a ocurrido la misma solici贸n.

while(respuesta != '4'){
    pregunta = prompt("Cuanto es 2 + 2");
    respuesta = pregunta;
}
'4'

En conclusi贸n es necesario y pertinente entender que los ciclos permiten anidar condicionales sin ser directamente condicionales, es decir que por medio de un ciclo podemos entender que 茅ste se ejecuta mientras la validaci贸n se lleve a cabo, este es un peque帽o aporte para las personas que tal vez tuvieron dificultades o presentaron confusi贸n con respecto al hecho de que los ciclos tienen condiciones para su ejecuci贸n, entiendo que para muchos puede ser absurda 茅sta explicaci贸n, pero recuerden que la pedagogia se trata de transmitirle conocimiento a aquellas personas que a煤n no lo tienen, saludes desde Bogot谩 Colombia, desde ya muchas gracias.

Ciclos

1锔忊儯 Responde las siguientes preguntas en la secci贸n de comentarios:
驴Qu茅 es un ciclo?
son bucles utilizados para realizar tareas repetitivas con base en una condici贸n
驴Qu茅 tipos de ciclos existen en JavaScript?

  • for
  • for鈥f
  • while
  • do 鈥 while

驴Qu茅 es un ciclo infinito y por qu茅 es un problema?
Es un ciclo que se repite n cantidad de veces, podemos decir que es un ciclo infiinito por que la condici贸n que lo detiene no se cumple, esto puede generar problemas de rendimiento y colapsar la memoria de los equipos donde se ejecuta este bucle.
驴Puedo mezclar ciclos y condicionales?
Si los ciclos y las condiciones se utilizan com煤nmente en combinaci贸n para lograr una l贸gica de programaci贸n especifica.

2锔忊儯 Replica el comportamiento de los siguientes ciclos for utilizando ciclos while:

for (let i = 0; i < 5; i++) {
     console.log("El valor de i es: " + i);
}

// While 
let i = 0;
while ( i < 5 ) {
 	console.log("El valor de i es: " + i);
  	i++;
}


for (let i = 10; i >= 2; i--) {
    console.log("El valor de i es: " + i);
}

// While
let i = 10;
while ( i >= 2 ) {
 	console.log("El valor de i es: " + i);
  	i--;
}

3锔忊儯 Escribe un c贸digo en JavaScript que le pregunte a los usuarios cu谩nto es 2 + 2. Si responden bien, mostramos un mensaje de felicitaciones, pero si responden mal, volvemos a empezar.
馃挕 Pista: puedes usar la funci贸n prompt de JavaScript.

//Quiz
let valOne = 2;
let valTwo = 2;
const result = valOne + valTwo;

function quiz() {
	let userInput = prompt( `Cuanto es ${num} + ${num2}` );

  	if (userInput == result) {
   		alert("Felicitaciones, respondiste correctamente el desafio");
  	} else {
    		alert("lamentablemente, tu respuesta es incorrecta, sigue practicando!");
  	}
}

quiz();

Buenas noches a todos鈥 Creo que en esta explicaci贸n del ultimo ejercicio fue un poco confuso y sobre todo corregir铆a realizar casting en mis variables para que uno aprenda a realizarlo.

Comporto mi c贸digo debido a que pides una suma 2 + 2 por lo tanto tu variable debe ser si o si Number.

let respuesta = parseInt(prompt(鈥淐uanto es 2 + 2鈥));

while (respuesta !== 4)
{
console.log(鈥渧olver a empezar鈥);
respuesta = parseInt(prompt(鈥淐uanto es 2 + 2鈥));
}
if ( respuesta == 4)
{
console.log(鈥渇elicitaciones鈥);
}

Es un humilde comentario y con mucho respeto Profr. Juan David.

//For
for (let i = 0; i < 5; i++) {
    console.log("El valor de i es: " + i);
}


for (let i = 10; i >= 2; i--) {
    console.log("El valor de i es: " + i);
}


//While, aqui debemos crear aparte la variable para ejecutar el ciclo
let i = 0;

while (i < 5) {
    console.log("El valor de i es: " + i);
    i++;
}


let i = 10;

while (i >=2) {
    console.log("El valor de i es: " + i);
    i--;
}



let respuesta;

while (respuesta != "4") {
    let pregunta = prompt("驴Cuanto es 2 + 2?");
    respuesta = pregunta;
}

let respuesta;

while (respuesta != "4") {
    respuesta = prompt("Cuanto es dos mas dos?");
}

Yo lo hice de esta forma:

let answer = prompt('Cu谩nto es 2 + 2?');

while(answer != 4)
{
  alert("Respuesta Incorrecta...");
  answer = prompt('Cu谩nto es 2 + 2?');
}

alert('Felicidades, respuesta correcta.');

Usando do while

let respuesta;
do{
    respuesta = parseInt(prompt("Cu谩nto es 2+2? "));
    if(respuesta === 4){
        alert("Felicitaciones, respuesta correcta");
    }
}while(respuesta!=4)

Hola, esta es una forma de ejecutar el mispo programa con los tres diferentes ciclos que se pueden usar en JavaScript. El programa realizara en cada ciclo un conteo iniciando desde el cero hasta noventa y nueve.

 // Ciclo for
for (let i = 0; i < 100; i++) {
    console.log(`for : ${i}`);
}

// Ciclo while
let i = 0;
while (true) {
    console.log(`while : ${i}`);
    i++;
    if (i === 100) {
        break;
    }
}

// Ciclo do while
i = 0;
do {
    console.log(`do while : ${i}`);
    i++;
} while (i < 100)

Mi solucion apoyandome con ustedes especialmente en el ciclo while del 3er punto

//Replica el comportamiento de los siguientes ciclos for utilizando ciclos while:


for (let i = 0; i < 5; i++) {
    console.log("El valor de i es: " + i);
}

for (let i = 10; i >= 2; i--) {
    console.log("El valor de i es: " + i);
}



//-----------SOLUCION

let i = 0;
let text = "";
while (i < 5){
    text += "<br>The number is " + i;
     i++
  
  
}

let i2= 10;
let text2 = "";
while (i2 >= 2){
    text2 += "<br>The number is " + i2;
     i2--

    

}



//3锔忊儯 Escribe un c贸digo en JavaScript que le pregunte a los usuarios cu谩nto es 2 + 2.
// Si responden bien, mostramos un mensaje de felicitaciones, pero si responden mal, volvemos a empezar.


let pregunta = prompt ("驴cu谩nto es 2 + 2?")


    while (pregunta != 4){
      let pregunta2=  prompt ("驴cu谩nto es 2 + 2?")
    
      if (pregunta2 == 4){
        alert("felicitaciones")
      }
    
     pregunta=pregunta2
    }
   

Yo hice el m铆o de esta forma: Usando el === y cambiando el data type que retornaba el prompt:

let x = true;
while (x){
  answer = parseInt(prompt("Cuanto es 2+2?"));
  if (answer === 4){
    console.log("Felicitaciones")
    x = false;
  } else {
    console.log("No es correcto")
  }  
}

Yo lo hice distinto

while (true){
    let pregunta = prompt("cuanto es 2 + 2");
    if (parseInt(pregunta) == 4){
        console.log("felicitaciones respuesta Correcto");
        break;
    }else{
        console.log("respuesta incorrecta");
    }
}

Lo complejo fue sin dudas establecer un 鈥渆lse鈥 en el 鈥渨hile鈥, hasta que vi unos de los comentarios y era tan sencillo como poner un 鈥渢rue or false鈥 como par谩metro del ciclo while para detener dicho bucle.

let encenderBucle = true;
let respuesta;
while(encenderBucle) {
    respuesta = prompt("驴Cuanto es 2 + 2?");
    if(respuesta == 5) {
        alert("Respuesta correcta, vienvenido a la policia del pensamiento.");
        encenderBucle = false;
    } else {
        alert("Respuesta incorrecta, visita el ministerio de la verdad, Gran Hemano te Observa.");
    }

}

Yo hice el ejercicio de preguntarle al usuario el resultado de 2 + 2 hasta que responda con la respuesta correcta con un ciclo do while

B谩sicamente es lo mismo, solo que el c贸digo se ejecuta por lo menos una vez, que es cuando necesitamos preguntarle al usuario al principio

let response

do {
  response = Number(prompt('Cuanto es 2 + 2'))
} while(response !== 4)
let respuesta;
while (respuesta != "4") {
    respuesta = prompt("Cuanto es 2+2? ");
}

Yo lo hice mas simple

馃幆Aqui mi solucion a la suma con funciones

function pregunta() {
  let rpt = prompt("驴Cuanto es 2 + 2?");
  if (rpt == 4 ) {
    alert("Felicitaciones respuesta correcta!")
  } else {
    alert("Respuesta incorrecta, volvamos a empezar")
    pregunta()
  }
}
pregunta()

馃幆Aqui mi solucion a la suma con while e if

let respuesta
while(respuesta!="4"){

    let pregunta = prompt("驴Cu谩nto es 2 + 2?");
      respuesta=pregunta;
    if(respuesta!="4"){
           alert("Respuesta incorrecta, volvamos a empezar")
    }
      
};
alert("Felicitaciones respuesta correcta!")

A diferencia de un ciclo For, la ejecuci贸n del ciclo While no depende de la cantidad de iteraciones; por lo tanto, un ciclo While se ejecuta indefinidamente si la condici贸n nunca ocurr

Te falt贸 poner el aviso de felicitacion

un ciclo en mi humilde opini贸n es la cantidad de veces que se ejecuta un c贸digo hasta que se deja de cumplir la condici贸n

Lo hice un poco diferente, y agregu茅 el ParseInt para convertir el string en un entero, as铆 me aseguro de que es n煤mero.

Estoy tomando el nuevo curso de Programaci贸n B谩sica y la verdad me esta ayudando mucho en cuanto termine ese paso a este curso la verdad me esta gustando mucho.

Yo lo hice usando dos ciclos while

let pregunta = function(){
			let respuesta =	parseInt(prompt('Cu谩l es el resulado de 2 + 2'));

while(respuesta === 4){
	alert('Felicidades, lo has hecho');
	return;
}
while(respuesta !== 4){
	alert('Rep铆telo');
	console.log(pregunta());
  return;
}
};


Sumar 2 + 2 y te regrese un felicidades.

let respuesta;

while (respuesta !=4){
    let pregunta = prompt("驴Cu谩nto es 2 + 2?");
    if (pregunta == 4){
        console.log("Felicidades");
    }
        respuesta = pregunta;   
}

let respuesta;

do {
    respuesta = prompt("Cu谩nto es 2+2 ?");
} while(respuesta != 4)

alert("Felicitaciones sabes sumar");

馃 Dato curioso: actualmente, los navegadores Google Chrome, Microsoft Edge, Firefox y Safari tienen detecci贸n autom谩tica de ciclos infinitos y los detienen para evitar un Stack Overflow. Eso est谩 en el Curso de JavaScript Engine (V8) y el Navegador

Yo us茅 un ciclo do-while para el ultimo ejercicio

let calculo = 0;
do {
    calculo = prompt("Cuanto es 2+2?");
} while (calculo != 4);
alert("Felicitaciones");

Yo lo hice asi:

let resultado
function Calculo (resultado) {
    while (resultado != 4) {
        resultado= prompt("Lo siento, int茅ntalo de nuevo. Cuanto es 2+2?")};   
    if (resultado ==4) {
            console.log("Felicitaciones! Acertaste")
        } }

Calculo(resultado= prompt("Cuanto es 2+2?"))

Un ciclo es cuando en la ejecuci贸n de un c贸digo se re-iteran unas lineas especificas. Entonces鈥 驴C贸mo se re-iteran esas lineas? 驴Cu谩ndo se detiene? : 驴Cu谩ndo para el programa?

con la sentencia while, do while y for podemos hacer que unas lineas de c贸digo se re - iteren o se re - ejecuten. Todas las lineas que esten dentro de estas sentencias se vuelven a ejecutar. Todo lo que este dentro de los { }

Los ciclos tienen una condicion para detenerse. Una comparaci贸n por ejemplo con ( >, <, >=, <=, == ). Si la comparaci贸n da como resultado un True (un verdadero) se repite el ciclo. Cuando la condici贸n de un False (un Falso), pues ahi termina el ciclo.

PD: nunca hacer un while(true) por lo menos no para la web

for(i=1; i<=10; i++){
    if(i== 2 || i==4 || i==6 || i==8 || i==10){
        console.log(`${i} es un n煤mero par`);
    } else{
        console.log(`${i} es un n煤mero impar`);
    }
}
let answer;

while(answer!= "12"){
    let question = prompt("What's the result of 3x4?");
    answer = question;
}

cuando me pregunten que es un ciclo infinito y las consecuencias de este , dir茅: es cuando un ciclo hace que se totie el navegador

Mejor explicaci贸n no puede haber.

馃槂 Ciclos
1.- Responde las siguientes preguntas en la secci贸n de comentarios:
驴Qu茅 es un ciclo?
Es un fragmento de c贸digo con una o varias sentencias que se ejecuta repetidas veces mientras cumpla con la condici贸n establecida.
驴Qu茅 tipos de ciclos existen en JavaScript?
for, for鈥n, for鈥f, while y do鈥hile
驴Qu茅 es un ciclo infinito y por qu茅 es un problema?
Es un ciclo que se repite de forma indefinida debido a que siempre se cumple la condici贸n establecida. Y es un problema porque genera una sobrecarga en el sistema.
驴Puedo mezclar ciclos y condicionales?
S铆.

2.- Replica el comportamiento de los siguientes ciclos for utilizando ciclos while:

for (let i = 0; i < 5; i++) {
    console.log("El valor de i es: " + i);
}
// ---------- Soluci贸n ----------
let i = 0;
while (i < 5) {
    console.log("El valor de i es: " + i);
    i++;
}
for (let i = 10; i >= 2; i--) {
    console.log("El valor de i es: " + i);
}
// ---------- Soluci贸n ----------
let i = 10;
while (i >= 2) {
    console.log("El valor de i es: " + i);
    i--;
}

3.- Escribe un c贸digo en JavaScript que le pregunte a los usuarios cu谩nto es 2 + 2. Si responden bien, mostramos un mensaje de felicitaciones, pero si responden mal, volvemos a empezar.
Pista: puedes usar la funci贸n prompt de JavaScript.

do{
    var respuesta = prompt('驴Cu谩nto es 2 + 2?');
    respuesta *= 1;
}while(respuesta !== 4)
alert('隆Felicitaciones!');

Usar for cuando se conoce de antemano, cuantas iteraciones necesitamos realizar. En cambio usar el ciclo while cuando no se conozca.
Por supuesto en lo anterior pueden hacer excepciones (un for se puede cancelar antes de su culminaci贸n programada)

Hola compa帽eros, al profe Juan le falt贸 el ciclo de 鈥渇or of鈥 amigos, como vimos en el curso b谩sico de javascript con el profe Diego este ciclo funciona bastante similar al ciclo for, pero no tenemos que generar la variable " i " ni igualarla a nada, de esta forma se utilizar铆a el ciclo for of:

let estudiantes = ["Mario", "Mar铆a", "Jos茅", "Alfonso","Natalia","Armando"];

function saludarEstudiantes(estudiante) {
	console.log (`Hola, ${estudiante}`);
};

for (let estudiante of estudiantes) { 
    saludarEstudiantes (estudiante);
};

Tambi茅n me gustar铆a agregar que ambos ciclos se ocupan el for y el while. Con for podemos definir un fin de intentos y con el while mientras se cumpla que lo siga haciendo. Es como decir en while ser铆a, seguir cocinando el pollo mientras siga crudo, realmente no sabemos cuando estar谩 cocinado. Si us谩ramos for podr铆a quedarnos crudo o muy quemado, a menos que fueras un super experto.

un saludo 鉂わ笍

Salduos! Aqu铆 mi respuesta al reto de 鈥2 + 2鈥 usando el do 鈥 while:

let number;
    do {
        number = prompt("Cuanto es 2 + 2?");
        if (number ==  4) {
            console.log("Felicitaciones");
        } else {
            console.log("volvamos a intentarlo")
        }
    } while (number != 4)

En mi caso le agregue un poco mas de interaccion con 鈥渁lert鈥 en caso de ser correcta la respuesta como si no lo es. Pruebalo.

let respuesta;
while(respuesta != 4){
    let pregunta = prompt("驴Cuanto es 2 + 2?");
    if (pregunta == 4){
        alert("Felicidades! Tu respuesta es correcta");
    }else {
        alert("Incorrecto! vuelve a intentar");
    }
    respuesta = pregunta;
}

Yo lo resolv铆 de la siguiente manera:

let respuesta= prompt ("驴Cu谩nto es 2 + 2?");
while (respuesta!='4'){
  respuesta= prompt ("驴Cu谩nto es 2 + 2?");
}
if (respuesta=='4'){
  alert("隆Felicidades, eres un gran matem谩tico!")
}

Algo diferente xd pero funciona鈥

<code> 
let respuesta = 4;
let inputUser;
let isIncorrect = true;
window.alert("Bienvenido a juego aritmetico");

inputUser = prompt("Cuanto es 2+2?");

  do{
  	if(respuesta==inputUser){
  			window.alert("Es correcto, felicitaciones!");
  			isIncorrect=false;
  	}else{
  		window.alert("Incorrecto, intentelo nuevamente.");
   		inputUser=prompt("Cuanto es 2+2?");
  	}
 }while(isIncorrect);

let respuesta = "1969";
    let preguntar = function(){
        let pregunta = prompt("En que a帽o lleg贸 el hombre a la luna? 馃殌馃寱");
        if(pregunta == respuesta){
            alert("Es correcto!")
        }else{
            alert("Incorrecto! presiona OK y trata nuevamente.")
            preguntar();
        }
    };
preguntar();

Este es la forma en la que lo hice yo.

function juego(){
	let resultado;
do{
	resultado = parseInt(prompt('驴Cu谩l es el resultado de "2 + 2". R: '));
} while(resultado !== 4){
    if(resultado === 4);
    return console.log("Respuesta correcta");
    }
}

juego();

Como el ejercicio implicaba un bucle que si respond铆a bien felicitara y si no que vuelva a intentar lo hice de esta manera.

let pregunta
while(pregunta!="4"){
  repuesta=prompt("驴Cuanto es 2+2?");
  if(repuesta=="4"){
    alert("felicitaciones acertaste");
  }else
  alert("Vuelvalo a intentar");
  pregunta=repuesta;
}

Yo lo hice con funciones:D

function hacerPregunta() {
    let respuestaUsuario = parseInt(prompt("Cu谩nto es 2 + 2"));
    const RESPUESTA = 4;
    while (respuestaUsuario != RESPUESTA) {
        respuestaUsuario = parseInt(prompt("Cu谩nto es 2 + 2"));
    }
    console.log("Felicitaciones, es correcto!");
}

let bandera = true;
while (bandera) {
let num = Number(prompt(鈥榗uanto es 2 + 2鈥));
if (num === 4){
console.log(鈥榣o lograste鈥);
bandera = false;
}else{
bandera = true;
}
}

function preguntaUsuario(){
  let respuestaUsu;
  
  let usuPregunta = prompt('驴Cual es el resultado de la siguiente operacion: 2 + 2?');
  respuestaUsu = usuPregunta;
  
  if(respuestaUsu == 4){
    alert('Tu respuesta es la correcta');
  } else{
    alert('Error!!');
  }
}

preguntaUsuario();
let usuRes;

while(usuRes != 4){
	let usuPregunta = prompt('驴Cual es el resultado de: 2 + 2 ?');
usuRes = usuPregunta;
}

Hice mi codigo de esta forma

function preguntarnombre(){
    let suma;
    while(suma != "4"){
        let respuesta = prompt("驴Cuanto es 2 + 2?");
        suma = respuesta
    }
    if(suma = "4"){
        alert("Felicitaciones")
    }
}

preguntarnombre();
// Funcionamiento del ciclo For (inicio; condici贸n; incremento o decremento)
// Con incremento
for (let i = 0; i < 5; i++) {
  console.log(i);
}
// Con decremento
for (let k = 5; k < 0; k--) {
  console.log(k);
}

//Funcionamiento del ciclo while realiza lo que este dentro MIENTRAS que la condici贸n sea verdadera (true)
let i = 0
while (i < 5) {
  console.log(i);
  i++;
}

//Funcionamiento del ciclo do while realiza su primera tarea antes de validar la condici贸n, pero para poder seguir preguntando su condici贸n debe ser verdadera (true)
let i = 0
do {
  console.log(i);
  i++;
} while (i < 5);

Qu茅 es un ciclo?.

Los ciclos son una estructura de control que nos permite repetir una o m谩s instrucciones varias veces mientras se cumpla la condici贸n.

Qu茅 tipos de ciclos existen en JvaScript?.

  • Ciclo for.
  • Ciclo for/in.
  • Ciclo for/of.
  • Ciclo while.
  • Ciclo do while.

Mi soluci贸n para el 煤ltimo ejercicio, con la posibilidad de cambiar los n煤meros y el resultado a validar

let numeroUno = parseInt(prompt(`Dame un n煤mero`));;
let numeroDos  = parseInt(prompt(`Dame otro n煤mero`));
let respuestaCorrecta = numeroUno + numeroDos;
let respuestaUsuario = 0;

while(respuestaUsuario != respuestaCorrecta){
	respuestaUsuario = parseInt(prompt(`驴Cu谩nto es ${numeroUno} + ${numeroDos}?`));
		respuestaUsuario != respuestaCorrecta
		?	alert("Mmm 馃 Deber铆as intentarlo de nuevo 馃馃馃徏")
		: alert("Felicidades 馃馃馃徏 tu respuesta es correcta. 馃槑")
}
  • while - Mientras se cumpla esto, haz esto. (Validas primero que se cumpla la condici贸n y luego ejecutas el c贸digo)
  • do while - Haz esto, mientras se cumpla esto. (Ejecutas el c贸digo y luego validas si se cumple la condici贸n para ejecutarlo de nuevo)

Ocupando un poco m谩s de l铆neas 帽.帽.

let resp = 4;
let valResp = false;

while(valResp == false){
    let usResp = prompt("How much is 2 + 2 ?");
    if(usResp == resp){
        alert("c:");
        valResp = true;
    }
    else{
        alert(":c");
    }
}

Creo que el c贸digo del profesor es mas limpio, pero igual quise intentar una forma nueva.

let respuesta=true;
while (respuesta) {
    let pregunta = prompt('驴Cu谩nto es 2 + 2?');
    if(pregunta==4){
        respuesta=false;
        console.log("Respuesta Correcta :)");
    }else{
        console.log("Respuesta Incorrecta :( ");
    }
}

Mi soluci贸n a cuanto es 2 + 2:

for (let i = 0; i <= 1 ; i++){
  let pregunta = prompt('驴Cuanto es 2 + 2?')
  while (isNaN(pregunta)) {
    pregunta = prompt('Por favor, ingresa un valor numerico: ')
  }
   if (pregunta == 4){
    console.log('Felicidades, acertaste')
    i = 1
  }else{
    i = 0
  }
}
//si i = 1, quiere decir que el usuario acerto, si no, i = 0, por lo que se repetira infinitamente hasta acertar

3锔忊儯 Escribe un c贸digo en JavaScript que le pregunte a los usuarios cu谩nto es 2 + 2. Si responden bien, mostramos un mensaje de felicitaciones, pero si responden mal, volvemos a empezar.
馃挕 Pista: puedes usar la funci贸n prompt de JavaScript.

    var respuesta;
    while(respuesta != "4")
        {
            var pregunta = prompt("cuanto es 2 + 2");
            respuesta = pregunta;

            if(respuesta == "4")
                {
                    console.log("felicitaciones");
                }
        }

Yo lo hice utilizando DO WHILE, ya que no lo habiamos usado

let respuesta;
do {
	let aux = prompt ('Cuanto es 2+2?')
	respuesta = aux;
}while (respuesta != '4');

//variables globales.
let answer;

//funciones.
function comprobandoRes(answer){
    if(answer === 4){
        return console.log("Estas en lo correcto.") 
    } else {
        do {
            answer = prompt("驴Cu谩nto da por resultado la operaci贸n 2 + 2? Escribe tu respuesta: ");
        } while (answer != 4)
    }
};

//main
answer = prompt("驴Cu谩nto da por resultado la operaci贸n 2 + 2? Escribe tu respuesta: ");
answer = Number(answer);
comprobandoRes(answer);

Hola [email protected]
Hice el ejercicio de 2+2 usando funciones, condicionales y ciclos. Gracias por sus comentarios

function suma () {
    let resultadoUsuario = prompt ("Saludos Humano. 驴Cuanto es 2+2?");
       if (resultadoUsuario != 4) {
          while (resultadoUsuario != 4) {
          alert ("-- INCORRECTO -- Vuleve a intetarlo");
           let resultadoUsuario = prompt ("Nuevamente: 驴Cuanto es 2+2?");
           if (resultadoUsuario == 4) {
               alert("Es correcto.. 隆qu茅 inteligente eres!");
               return;
           }
          }
       }
           else {
               alert("Es correcto.. 隆qu茅 inteligente eres!");
           
     }
}
suma() ```

Y 茅l mensaje de felicitaci贸n?

Yo lo hice de esta manera:

(function add() {
        let answer = '';

        do {

            answer = parseInt((prompt(`驴Cu谩l es el resultado de sumar estos dos n煤meros?\n 2+2`)).trim());

            if (answer === 4) {
                alert(`隆Felicidades, colocaste la respuesta correcta!`);
            } else {
                alert(`Lo lamento, tu respuesta no es la correcta. :( `);
            }

        } while (answer !== 4)

    }) ();

Ciclos


1锔忊儯 Responde las siguientes preguntas en la secci贸n de comentarios:

let i = 0;

while (i < 5){
	console.log("El valor de i es: " + i;
	i++;
}

let i = 10;

while (i >= 2){
	console.log("El valor de i es: " + i);
	i--;
}

3锔忊儯 Escribe un c贸digo en JavaScript que le pregunte a los usuarios cu谩nto es聽2 + 2. Si responden bien, mostramos un mensaje de felicitaciones, pero si responden mal, volvemos a empezar.

Pista: puedes usar la funci贸n聽prompt聽de JavaScript.

while(true){
        let answer = parseInt(prompt(question));
            if (answer === 4) {
              alert("Great you're so smart");
              break;
            } else {
              alert("Hmmm, is not the answer. Think again");
            }
          }
        }
        sumExample();

Cu谩ndo vi el problema me dije 鈥淒ebe ser mucho m谩s f谩cil con un if 驴No?鈥 Lo intent茅 y no, no era m谩s f谩cil, pero lo logr茅 luego de varios intentos, qued贸 as铆:

let question = function () {
  let answer = prompt("驴Cu谩nto es 2 + 2");
  if (answer == 4) {
    alert("Muy bien!");
  } else {
    question();
  }
};

馃槃

Aqui les dejo el reto lo hice un poco diferente xD

const question = (suma) => {
    const resultado = parseInt(prompt("Ingrese un numero: "));
    if (resultado === suma) {
        console.log("Felicitaciones")
    } else {
        console.log("Fallaste");
        question(suma);
    }
    
}

question(4); 

-Que es un ciclo?
La forma de ejecutar un bloque de c贸digo hasta que se cumpla cierta condici贸n.

-Que tipos de ciclos existen en JavaScript?
While, do while y for.

Que es un ciclo infinito y porque es un problema?
Es cuando la validaci贸n de nuestros condicionales nunca se cumplen y termina toteando (da帽ando) la aplicaci贸n (ejemplo: cuando el navegador ya no puede mas de tanta ejecuci贸n de ese bloque de c贸digo) .

-Puedo mezclar ciclos y condicionales?
Si, aunque los ciclos son una especie de condicionales , nada nos impide agregar m谩s condicionales dentro del ciclo.

Hace tiempo me ense帽aron que se debe tener cuidado con los ciclos. 馃挗馃挜

Ciclo del 1 al 100 (no hay problema 鉁)

let cien = "..........".length;

for(let i = ".".length;i <= (cien * cien);i++){
    console.log(i);
}

馃挜馃洃No se te ocurra ejecutar este c贸digo, es solo un ejemplo de ciclo infinito: 馃挜馃毇

let cien = "..........".length;

for(let i = ".".length;i <= (cien * cien);i--){
    console.log(i);
}

贸 error, jeje.