Empieza por acá

1

Mi primera línea de código

Fundamentos de Programación

2

¿Qué es HTML/CSS/JS?

3

JavaScript no es Java

4

Primeros pasos en el navegador con alert

5

HTML, CSS, JavaScript de verdad

6

Los apuntes de Freddy en PDF

Primer proyecto: Peso en otro planeta

7

Peso en otro planeta

8

Obteniendo datos del usuario

9

Flujo y condicionales

Segundo proyecto: Dibujando con Canvas

10

Cómo funcionan Window y Document

11

El DOM: nuestro lugar de trabajo en la web

12

Dibujando en el DOM

13

Qué son las Funciones en JavaScript

14

Ciclos while y for en JavaScript

15

Eventos y Formularios en HTML y JavaScript

16

Detectar eventos del teclado con JavaScript

17

Dibujar en canvas con las flechas del teclado

Tercer proyecto: Villa platzi

18

Funciones matemáticas y números aleatorios en JavaScript

19

Uso y carga de imágenes en Canvas

Cuarto proyecto: Pakimanes

20

División, módulo y residuo en JavaScript

21

Clases y Arrays en JavaScript

Quinto proyecto: Cajero automático

22

Diagrama de Flujo del Cajero Automático

23

Implementación del Cajero Automático

Sexto proyecto: Cliente/Servidor

24

Modelo Cliente/Servidor

25

Primer servidor web con express

Programación de Hardware y Electrónica con Arduino

26

¿Cómo funciona un circuito electrónico?

27

¿Cómo programar un Arduino?

28

Programación de circuitos con C, Arduino y Sketch

29

Cómo programar un Arduino con Javascript y Node

30

Construye un Robot con JavaScript

31

Robot para riego de plantas en Arduino, Javascript y Node

Materiales de apoyo

32

Las mejores notas de los estudiantes

33

¿Cuál lenguaje de programación aprender primero?

34

La Web con Visión Profesional

Contenido Bonus

35

Qué son tablas de verdad y compuertas lógicas

Recap Curso Gratis de Programación Básica

36

Recap Programación básica

37

Recap Programación básica ENG

No tienes acceso a esta clase

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

División, módulo y residuo en JavaScript

20/37
Recursos

Cuando te presentas a un trabajo de programador, tal vez debas resolver un problema llamado fizzbuzz, que busca poner a prueba tus conocimientos técnicos. En el próximo ejemplo veremos cómo resolverlo.

Cómo resolver el problema de fizzbuzz

Primero debes conocer cómo calcular el residuo de una división, para luego llevar esto a código:

for (var num = 1; num <= 100; num++) {
	if (num%3 != 0 && num%5 != 0) respuesta = ‘<br>’
	if (num%3 == 0 && num%5 != 0) respuesta = ' Fizz<br>'
	if (num%3 != 0 && num%5 == 0) respuesta = ' Buzz<br>'
	if (num%3 == 0 && num%5 == 0) respuesta = ' FizzBuzz<br>'
	document.write(num + respuesta)
}```

**Recuerda**:
- Para calcular el módulo puedes usar %
- Los programadores dividen los programas complejos en problemas pequeños
- La operación lógica and (y) se escribe en JavaScript con &&

Aporte creado por: Edgar Bañuelos

Aportes 1294

Preguntas 136

Ordenar por:

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

🎈 Realizando funciones para el código.

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>FizzBuzz</title>
</head>
<body>
    <script src="fizz.js"></script>
</body>
</html>
generar(100);

function generar(numeros){
    for(var i = 1; i <= numeros; i++){
        if(esDivisible(i, 3)){
            document.write("Fizz");
        }
        if(esDivisible(i, 5)){
            document.write("Buzz");
        }
        if(!esDivisible(i, 3) && !esDivisible(i, 5)){
            document.write(i);
        }
        document.write("<br/>");
    }
}

function esDivisible(num, divisor){
    if(num % divisor == 0){
        return true;
    }else{
        return false;
    }
}

Diosito, no me abandones, que no se lo que esoty haciendo.

Acá os comparto el link a todos mis apuntes de este curso, y os dejo las imagenes de los apuntes de esta clase. Espero les sirvan. Suerte 😄

Otra versión

for (var num = 1; num <= 100; num++) {
	if (num%3 != 0 && num%5 != 0) respuesta = ‘<br>’
	if (num%3 == 0 && num%5 != 0) respuesta = ' Fizz<br>'
	if (num%3 != 0 && num%5 == 0) respuesta = ' Buzz<br>'
	if (num%3 == 0 && num%5 == 0) respuesta = ' FizzBuzz<br>'
	document.write(num + respuesta)
}

una forma corta y a mi parecer muy fácil de interpretar
// ciclo para escribir los # de 1 - 100 y en los numeros multiplos de 3 escribir fizz
// y en los multiplos de 5 escribir buzz y si el # es multiplo de amboz escribe fiizbuzz

CODIGO

for ( var i = 1; i<= 100; i++)
{
if((i % 3 == 0) && (i % 5 == 0))
{
document.write(“fizzbuzz”);
}
else if (i % 3 == 0)
{
document.write(“fizz”);
}
else if (i % 5 == 0)
{
document.write(“buzz”);
}
else
{
document.write(i);
}
document.write("<br/>")
}

Logre hacer mover el cerdo de la siguiente forma!!!



Mi codigo permite al usuario escoger la cantidad de ciclos y personalizar el valor de los multiplos.

Ademas, indica los valores ingresados (cantdad de cicos y valor de los multiplos).

Codigo HTML:

<!DOCTYPE html>
<html>
<head>
	<title>Multiplos</title>
</head>
<body>
	<p>
		Ingrese la cantidad de ciclos a realizar: 
		<input type="text" id="caja_texto">
	</p>
	<p>
		Ingrese el multiplo "Fizz": 
		<input type="text" id="caja_fizz">
	</p>
	<p>
		Ingrese el multiplo "Buzz": 
		<input type="text" id="caja_buzz">
	</p>
	<p>
		<input type="button" value="Ingresar" id="botoncito">
	</p>
	<script src="multiplos.js"></script>
</body>
</html>

Codigo Javascript:

var boton=document.getElementById("botoncito");
var texto=document.getElementById("caja_texto");
var texto2=document.getElementById("caja_fizz");
var texto3=document.getElementById("caja_buzz");

boton.addEventListener("click", prueba);

function prueba()
{
	var bucle=parseInt(texto.value);
	console.log(bucle + " bucles");	
	var multiplo1=parseInt(texto2.value);
	console.log(multiplo1 + " Fizz");
	var multiplo2=parseInt(texto3.value);
	console.log(multiplo2 + " Buzz");

	document.write("Ciclos: " + bucle + "<br />" + "El multiplo Fizz es: " + multiplo1+"<br /> El multiplo Buzz es: " + multiplo2 + "<br /> <br />");
	for (var i = 1; i<=bucle;i++)
	{
		if (i % multiplo1 == 0)
		{
			document.write("Fizz");
		}
		if (i % multiplo2 == 0)
		{
			document.write("Buzz");
		}
		if (i % multiplo1 != 0 && i % multiplo2 !=0)
		{
			document.write(i);
		}
		document.write("<br />")
	}
}
let numbersList = document.getElementById("numbers");
let nNumbersGet = document.getElementById("nnumbersget");
let dataNumbersList="";
let nNumbers;
numbersList.innerHTML = "Cambia el valor de n en la casilla de arriba, recuerda colocar un numero mayor a 0.";

nNumbersGet.addEventListener("keyup", dataGet)

function dataGet() {
    dataNumbersList="";
    nNumbers = parseInt(nNumbersGet.value);
    for(var n=1;n<=nNumbers; n++){
        if(n%3==0 && n%5==0){
            X="FizzBuzz";
        } else if(n%3==0){
            X="Fizz";
        } else if(n%5==0){
            X="Buzz";
        } else{
            X=n;
        }
        if(n<nNumbers){
            dataNumbersList += X +", ";
        } else{
            dataNumbersList += X +".";
        }
    }
    printDataNumbersList();
}

function printDataNumbersList(){
    if (dataNumbersList=="") {
        numbersList.innerHTML = "Cambia el valor de n en la casilla de arriba, recuerda colocar un numero mayor a 0.";
    } else{
        numbersList.innerHTML = dataNumbersList;
    }
}```

No creen que es más facil de leer de esta manera?

for(var i = 1; i <= 100; i++){
  if(i % 3 == 0 && i % 5 == 0){
    document.write('FizzBuzz' + "<br/>");

  } else if(i % 3 == 0){
    document.write('Fizz' + "<br/>");

  } else if(i % 5 == 0){
    document.write('Buzz' + "<br/>");

  } else {
    document.write(i + "<br/>");
  }
}

Otra forma:

for(i = 1; i <= 100; i++){

    if(i % 3 == 0 && i % 5 == 0){
        document.write( i + " Fizzbuzz");
    }

    else if(i % 3 == 0){
        document.write("Fizz");
    }

    else if(i % 5 == 0){
        document.write("Buzz");
    }

    else{
        document.write(i);
    }

    document.write("<br />");
}

Otra forma de hacerlo…

var contador=1;

while(contador <= 100){
    if ((contador%3)==0) {
        if((contador%5)==0){
            document.write(contador + "fizz-buzz <br/>")
        }else{
            document.write(contador + "fizz <br/>")
        }
    }else if((contador%5)==0){
        document.write(contador+"buzz <br/>")
    }
    else{
        document.write(contador + "<br/>");
    }
    contador++;
}```

Mi version!.

/*Un programa que me de los numeros divisibles entre 3  (fizz) y 5 (buzz) y que muestre (fizzbuzz) 
cuando los dos sean divisibles*/
'use strict'

//Accion para empezar a calcular
BotonCalcular.addEventListener('click',TomarDatos)

//Funcion para comenzar a tomar los datos de el html por sus id's
function TomarDatos()
{
    //Tomando los datos de los id's
    var NumeroFizz = document.getElementById("Fizz");
    var NumeroBuzz = document.getElementById("Buzz");
    var NumeroTope = document.getElementById("NumeroTope");

    //Convirtiendolos en Enteros
    NumeroFizz = parseInt(NumeroFizz.value);
    NumeroBuzz = parseInt(NumeroBuzz.value);
    NumeroTope = parseInt(NumeroTope.value);
    
    CalcularDatos(NumeroFizz,NumeroBuzz,NumeroTope);
}

//Funcion con la ecuacion matematica para calcular
function CalcularDatos(NumeroFizz,NumeroBuzz,NumeroTope)
{
    console.log(NumeroFizz);
    console.log(NumeroBuzz);
    console.log(NumeroTope);

    var mensaje = "";

    //Ecuacion
    for(var i = 1; i <= NumeroTope; i++)
    {
        if(i % NumeroFizz == 0 && i % NumeroBuzz== 0)
        {
            mensaje = " es divisible entre los dos numeros FIZZBUZZ!.";
        }
        else if(i % NumeroFizz == 0)
        {
            mensaje = " es divisible entre el primero numero FIZZ!.";
        }
        else if (i % NumeroBuzz == 0) 
        {
            mensaje = " es divisible entre el segundo numero BUZZ!.";
        } 
        else
        {
            mensaje = " no es divisible con los numeros proporcionados."
        }
        //Para mostrar el resultado en pantalla
        document.write("El numero " + i + mensaje + "<br><br>");
    }
}

Esta es mi 2da versión de código, es decir que esta es después de haber concluido el curso, lo dejo aquí como muestra de que si terminan todo el curso y le ponen empeño lo lograran igual que todos.

for (i = 1; i <= 100; i++) {
    if (((i % 5) == 0) && ((i % 3) == 0)) {
        document.write(i + " - Fizz Bozz <br />");
    }
    else if ((i % 5) == 0) {
        document.write(i + " - Bozz <br />");
    }
    else if ((i % 3) == 0) {
        document.write(i + " - Fizz <br />");
    }
    else {
        document.write(i + "<br />");
    }
}

Al minuto 14, yo hice este código:

var numeros = 100;
for (i=1; i<= numeros; i++)
{
  if (i % 3 == 0 && i % 5 == 0)
  {
    document.write("Fizzbuzz");
  }

  else if (i % 5 == 0)
  {
    document.write("Buzz");
  }

  else if (i % 3 == 0)
  {
    document.write("Fizz");
  }

  else {
    document.write(i);
  }

  document.write("<br />");
}

¿No es una forma válida de hacerlo?

Otra manera de hacerlo que me parece mas sencilla es la siguiente:

var numeros = 100;
for (var i = 1; i <= 100; i++)
{
  if (i % 3 == 0 && i % 5 == 0 )
  {
    document.write("FizzBuzz");
  }
  else if (i % 3 == 0)
  {
    document.write("Fizz");
  }
  else if (i % 5 == 0)
  {
    document.write("Buzz");
  }
  else
  {
    document.write(i);
  }
  document.write("<br />");
}```

Buenas noches Platzilianos!
Queria saber como puedo hacer para cambiar los colores de los resutados.
Ejemplo:
Divisibles por 3 = Azul
Divisibles por 5 = Amarillo
Divisibles por 5 & 3 = Verde

Les dejo mi codigo hasta ahora en JS:

var numeros = 100;
var div3_5 = 0;
var div3 = 0;
var div5 = 0;

for(i=1; i<numeros; i++){
  if(i%3==0 && i%5==0){
   document.write( i + " fizz buzz" + "<br/>");
   div3_5 = i;

  }else
     if(i%3==0){
      document.write( i + " fizz"+"<br/>");
      div3=i;
    }else
      if(i%5==0){
        document.write( i + " buzz"+"<br/>");
      div5=i;
      }
}

Gracias!

Le puse color al Fizz Buzz

index.html

<!DOCTYPE html>
<html lang="pe">
<head>
    <meta charset="UTF-8">
    <title>Calcular</title>
</head>
<body>
    <h1>Fizz Buzz</h1>
    <p id="escribelo"></p>
</body>
<script src="calcula.js"></script>
</html>

calcula.js

var escribe = document.getElementById("escribelo");
var numero = 100;
for (var i = 1; i <= numero; i++) {
    if (divisible(i, 3)) {
        escribe.innerHTML += `<span style="color:green">Fizz</span> `;
    }
    if (divisible(i, 5)) {
        escribe.innerHTML += `<span style="color:red">Buzz</span> `;
    }
    if (!divisible(i, 3) && !divisible(i, 5)) {
        escribe.innerHTML += `<span style="color:blue">${i}</span> `;
    }
    escribe.innerHTML += `<br>`;
}
function divisible(num, div) {
    respuesta = false;
    if (num % div == 0) {
        respuesta = true;
    }
    return respuesta;
}

var multiplos=[];
var caja1=document.getElementById(“multiplo_1”);
var caja2=document.getElementById(“multiplo_2”);
var caja3= document.getElementById(“lista_numeros”);

var boton= document.getElementById(“validar”);
boton.addEventListener(“click”, fvalidar);

function fvalidar()
{
var numero_uno= caja1.value;
var numero_dos= caja2.value;
var multiplo_a;
var multiplo_b;
for(var contador=1;contador<= caja3.value ;contador++)
{
multiplos.push(contador);
}
var extension_array= multiplos.length;
document.write(" A continuación se muestra la lista de múltiplos de los númeos ingresados por usted, en una lista de números del 1 al 100 <br />");

for (var i=0; i< extension_array;i++)
{
var residuo1= multiplos[i] % numero_uno;
var residuo2= multiplos[i] % numero_dos;
if (residuo1== 0)
{
multiplo_a=“Fizz, “;
}
else
{
multiplo_a=””;
}

if (residuo2== 0)
{
  multiplo_b= "Buzz";
}
else
{
  multiplo_b="";
}

document.write(multiplos[i] + "= " + multiplo_a + multiplo_b + “<br />”);
}
}

Los hice solamente usando if, else if y else

var b = 50
var c
var d
var e

for (var i = 0; i <= b; i++) {
  c = i%3
  d = i%5
  e = c + d
if (e==0) {
    document.write(" fizz-buzz <br />")
  }
else {
  if (c ==0) {
    document.write(" fizz   <br /> ")
  }
  else if (d==0) {
    document.write(" buzz   <br /> ")
  }
  else {
    document.write(i + "<br />")
  }
}
}```

Pues aplique el && en el ejercicio anterior y me alegra mucho que llegué a esta lección y ya lo sabía, simplemente utilice la
la lógica booleana, solo permite dos estados, como True y False. Estos dos estados están representados por 1 y 0, donde 1 representa el estado “Verdadero” y 0 representa el estado “Falso”.

Aquí dejo mi otro ciclo for utilizando condicionales ternarias (?😃; lo mejor de este código es que explico más o menos como funcionan estas condicionales 😄

//INICIO DEL CICLO FOR
for(var i = 1; i <= 100; i++) // inicio del ciclo for. La variable i comienza con un valor igual a 1, luego se hace una condicion, que dice que si i es menor o igual a 100, iterará más uno (++))
{
  // en esta única linea de código sucede todo el ciclo for. ¿Cómo funciona? Te lo explicaré...
  // en primer lugar tenemos que saber que es el operador condicional ternario (?:) que basicamente devuelve una de las dos expresiones posibles dependiendo de la condición
  // sus parámetros son: una expresión booleana (en este caso es: 'i % 3 == 0 && i % 5 == 0'), una expresión que se devuelve si la expresion booleana es verdadera (true), y otra expresion que se devuelve si la expresion booleana es falsa (false)
  //ESTRUCTURA: expresion booleana ? expresion1(true) : expresion2(false)
  // el operador ? se puede utilizar como forma abreviada de una instrucción if...else
  // el operador : separa las dos expresiones (true:false)

  // La linea de codigo comienza con una "condicion" que dice que si la variable 'i' modulo (%) de 3 es == (comparación) a 0 && (y) de nuevo 'i' modulo (%) de 5 es == (comparación) a 0 ? (aquí entra la expresion true, que sucede cuando la condicion es cierta)  se escribirá en el document "FizzBuzz" : (aquí entra la expresion false, que sucede cuando la condicion no es cierta) si la variable 'i' modulo (%) de 3 es == (comparación) a 0 ? (se pueden abrir tantas condiciones ternarias como quieras) (aquí entra la expresion true, que sucede cuando la condicion es cierta) se escribirá en el documento "Fizz" : (aquí entra la expresion false, que sucede cuando la condicion no es cierta) si la variable i modulo (%) de 3 es == (comparación) a 5 ? (aquí entra la expresion true, que sucede cuando la condicion es cierta) se escribirá en el document ("Buzz") : (aquí entra la expresion false, que sucede cuando la condicion no es cierta) se escribirá en el document solamente el valor de la variable iteradora i, que va del 1 al 100
  i % 3 == 0 && i % 5 == 0 ? document.write("FizzBuzz"): i % 3 == 0 ? document.write("Fizz"): i % 5 == 0 ? document.write("Buzz"): document.write(i);
  document.write("<br />");// este es un salto de linea que sirve para que los numeros del 1 al 100 no queden amontonados en una sola linea :)
}
//FIN DEL CICLO FOR

Mi jefa me dio la vida y esta clase me dio las ganas de quitarmela 😦 ayuda Diosito

Lo hice así, para mí de esta forma todos la pueden entender
var numeros = 100;

for (i = 1; i <= 100; i++) {
  if (i % 3 == 0 && i % 5 == 0) {
    document.write("fizzbuzz");
  } 
  else if (i % 3 == 0) {
    document.write("fizz");
  }
  else if (i % 5 == 0) {
    document.write ("buzz")
  }
  else {
    document.write(i);
  }
  document.write("<br />");
}

Solo quería decirles que lo looogre! logré que el cerdo se mueva con las teclas, sin ayuda, en otros retos he tenido que ver el trabajo de los compañeros (gracias por compartir) pero esta vez pude hacerlo solo 😂.

FizzBuzz:

CODIGO

Sinceramente yo trato de entender pero es que hay cosas de javaScript que no me entran pero nadaaaa

Este curso es fenomenal!!!

A mi me quedó un poco diferente.

var numeros =100;
for(var i = 1; i <= 100; i++){
    if(i % 3 ==0 && i % 5 == 0){
        document.write("FizzBuzz");
    }
    else if(i % 3 == 0){
        document.write("Fizz");

    }
    else if(i % 5 == 0){
        document.write("Buzz");
    }
    else{
        document.write(i);
    }
    document.write ("<br/>");
}

Nunca pares de aprender!!!

Hola tengo una pregunta para que se utiliza el tru y el false? Como saven cuando utilizarlos en algun prooboemq ho en que nos benefeficia?

Profe ¿Puedo ir al baño?

Platzi, es simplemente maravilloso, como un oso. ♥

Freddy enseñando a programar, de repente también te enseña matemáticas y de todo :v

Otra prueba superada, vamos que vamos

Yo pausé el video y lo hice como me pareció más corto y fácil de leer, al final resulto un poco diferente, pero funciona bien 😃

JS

//Escribe los números del 1 al 100, si un número es divisible entre 3 escribe Fizz, si es fivisible entre 5 escribe Buzz y si es divisible entre 3 y 5 escribe FizzBuzz.
//Para calcular el módulo puedes usar %, el módulo es el residuo de una division.

var numeros = 100;

for (var i=1; i<=numeros; i++)
{
    if(i % 3 == 0 && i % 5 == 0)
    {
        document.write("FizzBuzz");
    }
    else if(i % 3 == 0)
    {
        document.write("Fizz");
    }
    else if(i % 5 == 0)
    {
        document.write("Buzz");
    }
    else
    {
        document.write(i);
    }
    document.write("<br />")
    
}

HTML

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8"/>
        <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
        <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
        <title>FizzBuzz</title>
    </head>
    <body>
        <h1>♥♥♥♥♥</h1>
        <p>Este algoritmo lo usan como prueba en un proceso de reclutamiento</p>
        <script src="Modulo.JS"></script>
    </body>
</html>

Hice la función FizzBuzz, en la que se indica desde y hasta qué número quieres que se muestren, y en qué números divisores quieres que imprima Fizz y Buzz.

function FizzBuzz(cantIni,cantFin,fizz,buzz)
{
    for(var i = cantIni; i <= cantFin; i++)
    {
        if(esDivisible(i,fizz))
        {
            document.write("Fizz");        
        }
        
        if(esDivisible(i,buzz))
        {
            document.write("Buzz");
        }

        if(!esDivisible(i,fizz) && !esDivisible(i,buzz))
        {
            document.write(i);
        }
    document.write("<br />");
    }
}

function esDivisible(num, divisor)
{
    if(num % divisor == 0)
    {
        return true;
    }
    else
    {
        return false;
    }
}

FizzBuzz(5,50,4,8);

Yo hice el ejercicio un poco más fácil con este método:
for (var i = 1; i <= 100; i++)
{
var numero;
numero = i;

	if (i % 3 == 0)
		{ 
			numero = "Fizz"
		}

	if (i % 5 == 0)
	{
		numero = "Buzz";
	}	
	if ((i % 3) == 0 && (i % 5) == 0)
	{
		numero = "Fizzbuzz";
	}

document.write(numero + "<br/>");

}

Otra maner a de hacerlo en mi opinion más sencilla, le agregue el numero para que se aprecie mejor:

for(i=1;i<=100;i++){   
    if(i%5==0 && i%3==0 ){
        var x=" Bizz y Fizz";
    }
    else if(i%3==0){
        var x=" Fizz";
    }
    else if(i%5==0){
        var x=" Buzz";
    }
    else{
        var x=" Ninguno de los dos";
    }
    document.write(i+x+"<br />")
}

Yo iba pausando el video paso por paso para intentar hacerlo yo mismo, y al final solucione el ejercicio de una forma diferente que funciona (según creo perfecto)

var n = 100;
for (i = 1; i <= n; i++) {
    if ((i % 3 == 0) && (i % 5 == 0)){
        document.write("Fizzbuzz");
    } else if (i % 3 == 0) {
        document.write("Fizz");
    } else if (i % 5 == 0) {
        document.write("Buzz");
    } else {
        document.write(i);
    }
    document.write(" <br/>");
}

Les comparto mi código es mas cortito e igual resuelve el problema 😃

var numeros= 100;
for(i=1; i<=numeros; i++){
if(i%3 == 0){
document.write(“Fizz”);
}
if(i%5 == 0){
document.write(“Buzz”);
}
if(i%3 != 0 && i%5 != 0){
document.write(i);
}
document.write("<br/>");
}

Aqui les dejo el código usando const y let que fueron incorporadas en js a partir del ECMA6

const numeros = 100;
for (let i = 1; i <= numeros; i++ ){
if(esDivisible(i, 3)){
    document.write('Fizz');
}
if(esDivisible(i, 5)){
    document.write('Buzz');
}
if(!esDivisible(i, 3) && !esDivisible(i, 5)){
    document.write(i);
}
document.write('<br>');
}
function esDivisible(num, divisor){
if (num % divisor === 0){
return true;
}else{
return false;
}
}

Funciones creadas para generar los Fizz y Buzz según el input del usuario

Cuando un número es divisible entre 3 y 5 a la vez, es divisible entre 15. Aquí otra solución:

for(i=1; i<100; i++){
  if(i % 15 == 0){
    document.write("FizzBuzz")
  }
  else if(i % 3 == 0){
    document.write("Fizz")
  }
  else if(i % 5 == 0){
    document.write("Buzz")
  }
  else{
    document.write(i)
  }
  document.write("<br />")
}

file:///var/folders/_q/dqld2jjs56j2zjdxwplncp840000gp/T/TemporaryItems/(A%20Document%20Being%20Saved%20By%20screencaptureui)/Screen%20Shot%202021-12-02%20at%2012.05.32%20PM.png

Las siguientes variables se crearon, pero no se usaron:
var numeros = 100;
var divisible = false;

Las horas que me costó llegar a esta clase… condenados pollos, no querían moverse, y las vacas locas. Pero al fin.

Yo lo hice de esta forma, no use el negado, me gusta mas de la otra forma.

var numeros = 100;
for (var i= 1; i<= 100; i++)
{
    if(i % 3 == 0 && i % 5 == 0)
    {
        document.write("FizzBuzz");
    }
    else if(i % 3 == 0)
    {
        document.write("Fizz");
    }
    else if(i % 5 == 0)
    {
        document.write("Buzz");
    }
    else
    {
        document.write(i);       
    }
    document.write("<br />");
}

Código JS para resolver ejercicio

for (i=1; i<=100; i++){
    if((i % 3 == 0) & (i % 5 == 0)){
        console.log("FizzBuzz");
    }else if(i % 5 == 0){
        console.log("Buzz")
    }else if(i % 3 == 0){
    console.log("Fizz");
    }else{
        console.log(i);
    }
}

Ok no considero como tal esto un aporte, pero lo escribí antes de ver el video:

for(var i=1; i <= 100; i++)
{
    if(i % 3 == 0)
    {
        document.write("Fizz");
        	if(i % 5 == 0)
        	{
            	document.write("Buzz");
        	}
    }
  
    else
    {
        if(i % 5 == 0)
        {
            document.write("Buzz");
        }
        else
        {
            document.write("Número " + i);
        }
    }
    document.write("<br />");
}

Creo, que aún no es muy legible, pero el video me aclaro varias cosas y una de ellas es hacer código más legible, tomare aquello más encuenta para mejorar de momento, que opinan, es legible?.
Gracias espero sus respuestas 😉

esto lo hice antes de ver el tutorial, espero les sirva salu2

var vector = [];

for (var i = 1; i <= 100; i++ ){

    vector[i] = i;
}


for (var i = 1; i <= 100; i++ ){

    if(vector[i] % 3 == 0 ){

        document.write("el numero "+i+" es multiplo de 3<br/>");
    }

    else if (vector[i] % 5 == 0){
        document.write("el numero"+i+" es multiplo de 5<br/>");

    }

    else{

        document.write("el numero es: "+i+"<br/>");
    }
}

Interesante clase

Hola buenas, en el libro eloquent javscript (el cual se consigue gratis en la página “https://eloquentjs-es.thedojo.mx/”) hay un ejercicio similar solo que con el console.log(). acá les dejo el código para que lo prueben y analicen:

for (let n = 1; n <= 100; n++) {
  let output = "";
  if (n % 3 == 0) output += "Fizz";
  if (n % 5 == 0) output += "Buzz";
  console.log(output || n);
}

Realice un pequeño formulario atractivo para el FizzBuzz.
Es muy divertido de hacer, sobre todo cuando ya dominas estas temáticas 😁.


HTML

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>DAME EMPLEOOOO!!!</title>
</head>
<style>
    body {
        background-image: url("FizzBuzz.png");
        background-repeat: repeat;
        background-position: center;
        background-size:contain;
        height: 930px;
        text-align: center;
        color: white;
        font-family: Consolas;
    }
    p {
        font-size: 20px;
        font-family: "Century Gothic", sans-serif;
        line-height: 50%;
    }
    h1 {
       font-family: "Century Gothic", sans-serif;
       font-size: 100px; 
    }
    input[type=text] {
       background-color: #ffffff;
       color: rgb(0, 0, 0);
       border: none;
    }
    input[type=button] {
       border: none;
       background-color: #ffffff;
       height: 20px;
       width: 40px;
       margin: 4px 2px;
    }
    </style>
<body>
    <h1>The FizzBuzz game :D</h1>
    <p>Write the number you want to FizzBuzz'convert </p>
    <input type="text" id="datos"></input> <br/> <br/>
    <input class="boton" type="button" value="Click" id="alertante"></input> 
    <script src="fizz.js"></script>
</body>
</html> 

JAVASCRIPT

var valor_escogido = document.getElementById("datos");
var disparador = document.getElementById("alertante");
var valor_definitivo = parseInt(valor_escogido.value);

disparador.addEventListener("click", generarFizzBuzz);

function generarFizzBuzz() {
for (var i = 1; i <= valor_definitivo; i++) {
    divisible = false;
    if (esDivisible(i, 3))
    {
        document.write("Fizz");
    }

    if (esDivisible(i, 5))
    {
        document.write("Buzz");
    }

    if (!esDivisible(i,3) && ! esDivisible(i, 5)) 
    {
        document.write(i);
    }
    document.write("<br />")
}

function esDivisible(num, divisor) {
    if (num % divisor == 0) {
        return true;
    } else {
        return false;
    }
  }
}

Realice una función “rango” para el código

<HTML> 
<!DOCTYPE html>
<html>
   <head>
       <meta charset="utf-8">
       <title>fizzbuzz, dame un empleo!! </title>
   </head>

    <body>
        <script src = "fizz.js"></script>
    </body>
</html>
<JAVASCRIPT> 
rango(100);

function rango(numeros)
{
    for(var i = 1; i <= numeros; i++)
    {
        if(esDivisible(i, 3))
        {
            document.write("Fizz");
        }
    
        if(esDivisible(i, 5))
        {
            document.write("Buzz");
        }
    
        if(!esDivisible(i,3) && !esDivisible(i,5))
        {
            document.write(i);
        }
        document.write("<br/>");
    }  
}

function esDivisible(num, divisor)
{
    if(num % divisor == 0)
   {
    return true;
   } 
    else 
    {
     return false;
    }
}

Esta fue mi forma de hacerlo antes de que Fredy resolviera el problema:

Basivamente fue con condiciones anidadas:

for (i=1;i<=100;i++) {
    // Establecemos el bucle de iteración.
    if (i%3 == 0) {
	// Primero se pregunta si es divisible por 3.
        if (i%5 == 0) {
	    /* Dentro de la misma condición se pregunta si tambien es divisible por 5. */
            document.write("Fizz Buzz, ");
        } else {
            document.write("Fizz, ");
        }
    } else if (i%5 == 0) {
	/* Si no es divisible por 3 desde un principio, se vuelve a preguntar si entonces es divisible por 5. */
        document.write("Buzz, ");
    } else {
        document.write(i + ", ");
    }
}

comentaste que si queríamos ser puristas escribiéramos “<br />” lo hice solo dejando el "<br "y solo se escribía el numero 1 jaja

Lo hice de un forma más genérica. El usuario decide qué número quiere consultar. Además, no es necesario hacer 3 if. Pero a fines de explicar me parece que el código de Freddy está mejor.

Hola, hice un cambio para no tener que escribir FizzBuzz, al ser divisible para 3 escribe Fizz y si también es divisible para 5 escribirá Buzz seguidamente pues no puse el br sino hasta el final, sino solo se escribe según el condicional por lo que tuve que setear la bandera a true por default y preguntar al inicio si no es divisible para los dos.
var limite = 100;
var divisible= true;
for (var i= 1; i < limite; i++)
{
if ((i % 3 != 0) && (i % 5 != 0))
{
divisble= false;
document.write(i);
}
if (divisible)
{
if (i % 3 == 0)
{
document.write(" FIZZ");
divisible= true;
}
if (i % 5 == 0)
{
document.write(" BUZZ");
divisible=true;
}
document.write("<br />");
}
}

<!DOCTYPE html>
<html lang=“en” dir=“ltr”>
<head>
<meta charset=“utf-8”>
<title>FizzBuzz</title>
</head>
<body>
<script src=“fizzbuzz.js”></script>
</body>
</html>

var n = 100;

for (f=1; f<=100; f++){
d = false;
if (divisible(f,3)){
document.write(“Fizz”);
}
if (divisible(f,5)){
document.write(“Buzz”);
}
if (!divisible(f,3)&& !divisible(f,5)){
document.write(f);
}
document.write("<br>");
}

function divisible(num,div){
if (num%div == 0){
return true;
}
else{
return false;
}
}

Un poco de Python


for i in range(1, 16):
    if i % 3 == 0:
        if i%5 ==0:
            print("Fizz Buzz")
        else:
            print("Fizz")

    elif i % 5 == 0:
        if i % 3== 0:
            print("Fizz Buzz")
        else:
            print("Buzz")
    else:
        print(i)



vaya alguien más que se demoro en entender esta clase?? jejeje
Pero con la practica ayuda a entender el código

Un artículo interesante “Porque los programadores no pueden programar”

https://blog.codinghorror.com/why-cant-programmers-program/

Wtf, pero si el problema no era mostrar los números que no son divisibles entre 3 o 5, para eso está

document.write( i + "<br>");

El problema era que Fizz y Buzz se mostrasen en la misma línea, que tan solo quitar el if anidado (el “else if” de i%5), y listo problema resuelto.

Pero qué revuelto tan innecesario

Matryoshka de Funciones! Que chingona frase XD!!!!

Hello, ya comprendo un poco mejor. He aqui mi ejemplo:

var qNumeros = prompt("Ingresa la cantidad de numeros que quieres ver en la lista: ");

for (i = 1; i <= qNumeros; i++){
    if (i  % 3 === 0 && i % 5 === 0){
        document.write(i + " FizzBuzz");
    } else if (i % 5 === 0){
        document.write(i + " Buzz");
    } else if (i % 3 === 0){
        document.write(i + " Fizz");
    } else {
        document.write(i);
    }
    document.write("<br />")
}
//FizzBuzz
let contador = 1

while(contador<=100){
    contador%15==0?console.log("FizzBuzz"):
    contador%3==0?console.log("Fizz"):
    contador%5==0?console.log("Buzz"):
    console.log(contador)
    contador++
}```

Me salió 😄

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Módulo</title>
</head>
<body>

    Rango 1:
    <input type="text" id="rank1" placeholder="Rango 1">
    <br>
    <br>
    Rango 2:
    <input type="text" id="rank2" placeholder="Rango 2">
    <br>
    <br>
    <input type="submit" id="operar" value="Calcular">

    <script src="index.js"></script>
</body>
</html>```



var r1 = document.getElementById(“rank1”);
var r2 = document.getElementById(“rank2”);
var button = document.getElementById(“operar”);

button.addEventListener(“click”, Operacion);

function Operacion(){

var num1 = parseInt(r1.value);
var num2 = parseInt(r2.value);

for (var i = num1; i <= num2; i++) {
    
    if (i % 3 ==0 && i % 5 == 0) {
        document.write("Buzz-Fizz");
    }else if (i % 3 == 0) {
        document.write("Fizz");
    }else if (i % 5 == 0) {
        document.write("Bozz");
    }else{
        document.write(i);    
    }

    document.write("<br>");

}

}```

Por la clase 15 iba a dejar el curso, he continuado y ahora entiendo todo mucho mejor.

Una pregunta, porque siempre se refieren a i ? en programaciòn
en la funciòn de la clase equivale a un número

Alguien me puede explicar porque si en if(!esDivisible(i, 3) && !esDivisible(i, 5)) ambos resultados serían false ¿no?, entonces el document.write(i) me escribre FizzBuzz, logro entender todo hasta ese punto porque según la funcion si num % divisor == 0 entonces es true por lo tanto el if escribe Fizz en el caso del 3 y Buzz en el caso de 5, pero si en este caso de if(!esDivisible(i, 3) && !esDivisible(i, 5)) ambos resultados serían true en condiciones normales, pero el ! hace que sean false por lo tanto el if no debería hacer nada y no entiendo por qué escribe FizzBuzz, ayudaaaa 😦

Mi solución, ahora entiendo lo que se refiere de que el codigo sea fácil de leer…

var numeros = 100;

for (var i = 1; i <= 100; i++) {

    if (i % 3 == 0 && i % 5 == 0) {
        document.write(i + " fizz/buzz " + "<br />");
    } else if (i % 3 == 0) {
        document.write(i + " fizz " + "<br />");
    } else if (i % 5 == 0) {
        document.write(i + " buzz " + "<br />");
    } else {
        document.write(i + "<br />")
    }
}```

La verdad creo que leo 50 pociento codigo y 50 porciento escribo .

Me ha parecido el ejemplo más práctico y entendible para los condicionales, comparaciones y ciclos ❤️

Notese que Freddy declara la variable llamada numeros y nunca la utiliza.
En la condicion del FOR deberia reemplazar el numero 100 por la variable.

var numeros = 100;


for (var k = 1; k <=100 ; k++)
{
  num = k;
 if(esDivisible(k, 3) == true && esDivisible(k, 5) == true)
 {
   document.write( k + "fizz buzz" + "<br />");
 }
 else
   {
     if(esDivisible(k, 3) == true)
     {
        document.write( k + " fizz" + "<br />");
     }
     else
     {
       if(esDivisible(k, 5) == true)
       {
       document.write( k + " buzz" + "<br />");
       }
       else
       {
         document.write(k + "<br />");
       }
     }
   }
 }



 function esDivisible (num, divisor)
 {
   if(num % divisor == 0)
   {
     return true;
   }
   else
     {
       return false;
     }
   }

Este curso se va poniendo cada vez mejor!

var cantidadN = prompt("Ingrese la cantidad de número a evaluar");
var numeros = parseInt(cantidadN);
var divisible = false;

for(var i = 1; i <= numeros; i++)
{
	if(esDivisible(i,3))
	{
		document.write("Fizz");
		divisible = true;
	}

	if(esDivisible(i,5))
	{
		document.write("Buzz");
		divisible = true;
	}

	if(!esDivisible(i,3) && !esDivisible(i,5))
	{
		document.write(i);
	}
	document.write("<br />")
}

function esDivisible(num, divisor)
{
	if(num % divisor == 0)
	{
		return true;
	}
	else
	{
		return false;
	}
}```

Yo lo hice mucho más corto. Pero llegué al mismo resultado. Lo comparto con ustedes:

var numeros = 100;

for(var i = 1; i <= numeros; i++)
{
document.write(i);
if(i % 5 == 0)
{
document.write(" Buzz “);
}
if(i % 3 == 0)
{
document.write(” Fizz “);
}
document.write(” <br />");
}

Cualquier aporte se agradece. Saludos

Mi codigo si usar " ! "

var numero = 100;
divisible = false;

for (var i=1; i <= 100; i++)
{
  document.write(i);
  divisible = false;
  if(esDivisible(i, 3))
  {
    document.write(" Fizz");
    divisible = true;
  }
  if(esDivisible(i, 5))
  {
    document.write(" Buzz");
    divisible = true;
  }
    document.write("<br />");
}

function esDivisible(numero, divisor)
{
  if(numero % divisor ==0)
  {
    return true;
  }
  else
  {
    return false;
  }
}

Yo lo hice de esta manera porque creo que la primera condición que se debe evaluar el si es múltiplo de 3 y 5 al mismo tiempo.

<code>
var num = 100;

for(var i=1; i<=100;i++)
{
  if ((i%3==0)&&(i%5==0))
  {
    document.writeln("FIZZBUZZ<br>");
  }
  else if ((i%5==0))
  {
    document.writeln("BUZZ<br>");
  }
  else if ((i%3==0))
  {
    document.writeln("FIZZ<br>");
  }
  else
  {
    document.writeln(i+"<br>");
  }
}
</code>

Hola Freddy no se si se pueda de esta manera pero me funcionó el código del fizz.js:

var numeros=100;

for(i=1;i<=100;i++)
{

if(i%30&&i%50)
{
document.write(“FizzBuzz”);
}
else if(i%30)
{
document.write(“Fizz”);
}
else if(i%5
0)
{
document.write(“Buzz”);
}
else
{
document.write(i);
}
document.write("<br/>");

}

asi deje mi codigo para que cada vez que la pagina se recargue tenga un cantidad de numeros aleatorios entre 1 y 1000
Cocofexe

var numero = aleatorio(1, 1000);

for(var i = 1; i <= numero; i++)
{
        if (esDivisible(i, 3))
        {
            document.write("Fizz");
        }
        if(esDivisible(i, 5))
        {
            document.write("buzz");
        }
        if(!esDivisible(i, 3) && !(esDivisible(i, 5)))
        {
            document.write(i);
        }

        document.write("<br />");
        
       function esDivisible(numb, divisor)
       {
           if(numb % divisor == 0)
           {
                return true;
           }
           else
           {
            return false; 
           }
       }
}
function aleatorio(min, maxi)   
{
    var resultado;
    resultado = Math.floor(Math.random() * (maxi - min + 1)) + min;
    return resultado;
}
    ```

Más simple:

var n = 100;
for (let i = 0; i < n + 1; i++) {
	let srt = ''
	if (i % 3 == 0) srt += 'Fizz';
	if (i % 5 == 0) srt += 'Buzz';
	document.write(`${i} ${srt} <br>`);
}

Mi ciclo para el fizz buzz, creo que está mas sencillo, cualquier cosa corríganme =).

numeros = 100;

for ( i = 1; i <= numeros; i++){

    document.write(i);
    if (i % 3 == 0){
        document.write("Fizz"); 
    }
        
    if(i % 5 == 0){
        document.write("Buzz");
    }
    document.write("<br />");   
}

Te da los numeros y aparte te dice fizz buzz sin quitar el numero

=)

for (var i=1; i<=100; i++) {
if (i%30 & i%50){
document.write(“fizz bozz”);
}
else if (i%30) {
document.write(“fizz”);
}
else if (i%5
0) {
document.write(“bozz”);
} else {
document.write(i);
}
document.write("</br>");
}

mi codigo, me salio asi de corto directamente 😃

var numeros = 100;
for(i = 1; i <=100; i++) {
    document.write(i)
    if (i % 3 == 0) {
        document.write(" fizz");
    }
    if(i % 5 == 0) {
        document.write(" Buzz");
    }
    document.write("<br />");
}   

Seguimos avanzando. Es un mundo inmenso el de javascript!

Creo que mi mente está por explotar por todo este aprendizaje está muy bueno el curso la verdad me gusta como enseña el profesor Freddy es muy entendible su forma de explicar hace que todo sea más fácil aunque no lo parezca
  • Para obtener el residuo de una división usamos % (mod o modulo)
  • El signo de ! significa NO, así que cuando se pone quiere decir que está negando la expresión que le sigue
  • El operador lógico && significa (y)
    • V y V = V

    • V y F = F

    • F y F = F

    • El código se ejecuta cuando se cumple la condición de ambos lados del &&

    • Se podría leer de la siguiente manera if esta condición se cumple y esta también ejecute el siguiente código

  • Las funciones dejan de ejecutarse en el momento que llegan al return

% es para obtener el residuo, ! es para decir que NO, && es un Y para declarar si es verdadero o falso

Hola!
Yo lo hice una funcion (esDivisible) y meti todo dentro de un procedimiento (FizzBuzz)

function esDivisible(num, div){
return num % div == 0;
}
function FizzBuzz(){
for (var i = 1; i <= 100; i++)
{
if (esDivisible(i, 3)) {
document.write(“Fizz”);
}
if (esDivisible(i, 5)){
document.write(“Buzz”);
}
if (!esDivisible(i,3) && !esDivisible(i,5)) {
document.write(i);
}
document.write("<br />")
}
}

document.write(FizzBuzz());

mi codigo
for (var i=1; i <= 100 ; i++){

esFactor(i, 3, " fizz", false);
esFactor(i, 5, " buzz", true);
document.write("<br />")
}

function esFactor(num, divisor, texto, atributo){
var disparo = atributo;

if(num % divisor == 0 && disparo == false){
document.write(num + texto);
}
else if (num % divisor ==0 && disparo == true){
document.write(texto);
}
else if (disparo == false){
document.write(i);
}
}

Asi lo hice yo, sin funcioens me pareces mas facil de leer…

<code>
var numeros = 100;

for(var i=1; i <= numeros; i++)
{
  if(i % 3 == 0 && i % 5 == 0)
  {
    document.write("fizz, buzz");
  }
  else if(i % 3 == 0)
  {
    document.write("fizz");
  }
  else if(i % 5 == 0)
  {
    document.write("buzz");
  }
  else
  {
    document.write(i);
  }
document.write("<br />");
}

Y vean un tema de las tablas de verdad, son muy importante en la programación.

Así es la forma más corta en la que lo vi.

var num = 100;

for (var i = 1; i <= num; i++) {
  if (i%3 != 0 && i%5 != 0)
    document.write(i);
  if(i%3 == 0)
    document.write("Fizz");
  if(i%5 == 0)
    document.write("Buzz");
  document.write("<br/>");
}
var numeros = 100;
for(var i=1; i <= numeros; i++){
  if (i % 3 ==0 && i % 5 ==0){
    document.write("FizzBuzz");
  }
  else if( i % 3 == 0){
    document.write("Fizz");
  } else if(i % 5 == 0){
    document.write("Buzz");
  } else {
    document.write(i);
  }
  document.write("<br />");
}```

No quise complicarlo tanto

for(var i=1; i<=100; i++){

	if(i%3 == 0 && i%5 == 0){
		document.write(i + " FizzBuzz" + "<br/>");
	}else{
		if(i%3 == 0){
			document.write(i + " Fizz" + "<br/>");
		}else if(i%5 == 0){
			document.write(i + " Buzz" + "<br/>");
		}else{
			document.write(i + "<br/>");
		}
	}
}

Dejo por acá mi algoritmo

var numeros = 100;

for(i=1;i<=numeros;i++){
  if((i%3 == 0)&&(i%5 == 0)){
    document.write(i + " - FIZZ & BUZZ");
    document.write("<br>");
    continue;
  }else if (i%3 == 0){
    document.write(i + " - FIZZ");
  } else if (i%5 == 0){
    if (i == 100){
      document.write(i + " - BUZZ");
      break;
    }
    document.write(i + " - BUZZ");
  } else {
    document.write(i);
  }
  document.write("<br>");
}

Este es mi código:

var num = 100;

for (i = 1 ; i <= num; i ++){
	if ((i % 3 == 0) && (i % 5 == 0)){
		document.write('fizzbuzz <br>');
	} else if (i % 5 == 0){
		document.write('buzz <br>');
	} else if (i % 3 == 0 ){
		document.write('fizz <br>');
	} else {
		document.write(i + '<br>');	
	}
}

Aunque vi en los comentarios que lo podía hacer más corto (nose que tan difícil de entender para otras personas sea, para mi es facil)

var num = 100;

for (i = 1 ; i <= num; i ++){
	if (!(i % 3) && !(i % 5)){
		document.write('fizzbuzz <br>');
	} else if (!(i % 5)){
		document.write('buzz <br>');
	} else if (!(i % 3)){
		document.write('fizz <br>');
	} else {
		document.write(i + '<br>');	
	}
}

El código de la clase:

var numeros = 100;

for (var i = 1; i <= 100; i++)
{
  if (esDivisible(i,3))
  {
    document.write("Fizz");
  }

  if (esDivisible(i,5))
  {
    document.write("Buzz");
  }

  if (!esDivisible(i,3) && !esDivisible(i,5))
  {
    document.write(i);
  }
  document.write("<br />");
}

function esDivisible(num, divisor)
{
  if (num % divisor == 0)
  {
    return true;
  }
  else
  {
    return false;
  }
}```