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, este busca conocer tus conocimientos, veamos cómo resolverlos

 

Primero debes conocer cómo calcular el residuo de una división, ahora puedes llevar esto a código

 

Recuerda:

 

  • Para calcular el módulo puedes usar %

 

  • Los programas dividen los programas complejos en problemas pequeños

 

  • La operación lógica and (y) se escribe en JavaScript con &&

Aportes 1378

Preguntas 94

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

Mi ciclo for


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

  if (esDivisible(i,3) && esDivisible(i,5)) {

    document.write("fizz bozz");

  }else if(esDivisible(i,3)){

    document.write("fizz");

  }else if (esDivisible(i,5)) {

    document.write("bozz");

  }else{

    document.write(i);

  }

  document.write("<br>");

}

Empezando el vídeo me dio curiosidad también de escribir el código para la entrevista de trabajo y así me quedó escrito en python:

for num in range(1, 100):
	if num % 3 == 0 and num % 5 == 0:
		print(num, " FizzBuzz")
	elif num % 3 == 0:
		print(num, " Fizz")
	elif num % 5 == 0:
		print(num, " Buzz")
	else:
		print(num)

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 😄

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

hey!, simple me gusta mas.

for (var i = 1; i <= 100; i++) 
	if(!(i % 3) && !(i % 5))
		document.write("Fizz Buzz <br \>");
	else if (!(i % 3))
		document.write("Fizz <br \>");
	else if (!(i % 5))
		document.write("Buzz <br \>");
	else
		document.write(i + "<br \>");

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/>")
}

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

quisiera saber si alguien puede decirme que es mas efectivo si el operador ternario anidado o los ciclos if anidados? aquí mi ejercicio


<!DOCTYPE html>

<html>

<head>

<title>numeros</title>

</head>

<body>

<script type="text/javascript">

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

var respuesta = ((i%3)==0 && (i%5)==0)? 'Fiezz and Buzz': (i%5==0)?'Buzz':(i%3==0)?'Fiezz':i;

document.write(respuesta+'<br />');

}

</script>

</body>

</html> 

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



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;
    }
}```

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 />")
	}
}

var num = 100;


for (i=1; i<=100; 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>");

}

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>");
    }
}

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++;
}```

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!

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

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 />");
}```

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 />")
  }
}
}```

FizzBuzz:

CODIGO

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/>");
  }
}

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 />");
    }
}

este es el reto de colocar cerdos, pollos y vacas aletorias, el otro reto no lo pude hacer :(


var vp = document.getElementById("villaplatzi");

var papel = vp.getContext("2d");


var fondo = {

  url: "tile.png",

  cargaOK: false

}

var vaca = {

  url: "vaca.png",

  cargaOK: false

};


var cerdo = {

  url: "cerdo.png",

  cargarOK: false

};


var pollo = {

  url: "pollo.png",

  cargarOK: false

};

var cantidad = aleatorio(1, 10);


fondo.imagen = new Image();

fondo.imagen.src = fondo.url;

fondo.imagen.addEventListener("load", cargarFondo);


vaca.imagen = new Image();

vaca.imagen.src = vaca.url;

vaca.imagen.addEventListener("load", cargarVacas);


cerdo.imagen = new Image();

cerdo.imagen.src = cerdo.url;

cerdo.imagen.addEventListener("load", cargarCerdo);


pollo.imagen = new Image();

pollo.imagen.src = pollo.url;

pollo.imagen.addEventListener("load", cargarPollo);


function cargarFondo()

{

   fondo.cargaOK = true;

   dibujar();

}

function cargarVacas()

{

  vaca.cargaOK = true;

  dibujar();

}


function cargarCerdo()

{

  cerdo.cargaOK = true;

  dibujar();

}


function cargarPollo()

{

  pollo.cargaOK = true;

  dibujar();

}


function dibujar()

{

  if(fondo.cargaOK == true)

  {

    papel.drawImage(fondo.imagen, 0, 0);

  }

  if(vaca.cargaOK)

  {

    console.log(cantidad);

    for(var v=0; v < cantidad; v++)

    {

      var x = aleatorio(0, 7);

      var y = aleatorio(0, 10);

      var x = x * 60;

      var y = y * 40;

      papel.drawImage(vaca.imagen, x, y);

    }

    if(cerdo.cargaOK)

  {

    console.log(cantidad);

    for(var c=0; c < cantidad; c++)

    {

      var x = aleatorio(0, 7);

      var y = aleatorio(0, 10);

      var x = x * 60;

      var y = y * 40;

      papel.drawImage(cerdo.imagen, x, y);

      }

     if(cerdo.cargaOK)

  {

    console.log(cantidad);

    for(var p=0; p < cantidad; p++)

    {

      var x = aleatorio(0, 7);

      var y = aleatorio(0, 10);

      var x = x * 60;

      var y = y * 40;

      papel.drawImage(pollo.imagen, x, y);

      }

     }

     }

    }

}

function aleatorio(min, maxi)

{

  var resultado;

  resultado = Math.floor(Math.random() * (maxi - min + 1)) + min;

  return resultado;

}

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?

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 />”);
}
}

Nunca pares de aprender!!!

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 />");
}

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?

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

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

En javascript primero se ejecutan las operaciones matematicas, luego las comparaciones y por ultimo la instrucción completa

cortaron una parte y no se vio! 


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

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/

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>División, módulo y residuo</title>
</head>
<body>
	<h1>Hola Mundo</h1>
	<p>Ejercicio de división, módulo y residuo</p>
	<h3>Resultado</h3>
	<p id="resultado"></p>
	<script type="text/javascript">

		var resultado = document.getElementById("resultado");

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

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

		}
	</script>
</body>
</html>

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

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

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!

Muchachos otra forma de conocer la operación módurlo sería el “residuo” de la operación algebraica. Que no es mas que el sobrante de una división inexacta. 📝🖊

Resto en wikipedia
Ojalá les sea de ayuda! 😊

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

la verdad que estaba pensando en hacer la condiciones relacionadas con las otras, para asi solo utilizar de if y hacer todo el codigo mas facil de leer xd

var numero = 100;
for (var i = 0; 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/>");
    }
}
// si es divisible en 3 pones Fizz 
//si es divisible en 5 pones buzz
//si es divisible en ambos pones fizzbuzz
function init() {
	var numero = 100;
	var txt_impresiom = document.getElementById('impresion');

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


		if (i % 3 == 0 && i % 5 == 0){
			txt_impresiom.innerHTML += i + " Fizz - Buzz " + "<br>";
		}

		else if(i % 3 == 0){

			txt_impresiom.innerHTML +=i+ "  Fizz " + "<br>";

		}
		else if(i % 5 == 0){
			txt_impresiom.innerHTML += i + "  Buzz " + "<br>";
		}

		
		else{
			txt_impresiom.innerHTML += i+  "<br>";
		}


		
	}
	

}


window.addEventListener('load',init,false);```
  • 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

Aquí dos formas diferentes a las explicadas por Freddy de hacer el ejercicio

if else

function fizzBuzzIfElse(min, max){
  for(var min = 1; min <= max; min++){
    if (min % 3 == 0 && min % 5 == 0){
      document.write("Fizz Buzz");
    }
    else if(min % 3 == 0){
      document.write("Fizz");
    }
    else if (min % 5 == 0){
      document.write("Buzz");
    }
    else {
      document.write(min);
    }
    document.write("<br />");
  }
}

Ternario

function fizzBuzzTernario(min, max){
  for (var min = 1; min < max; min++) {
    var respuesta = ((min%3)==0 && (min%5)==0)? 'Fizz Buzz': (min%5==0)?'Buzz': (min%3==0)?'Fiezz' : min;
    document.write(respuesta + "<br />");
  }
}

El ternario se hace con menos código pero es mas complejo de leer y con If Else se escribe con más código pero es mas simple de leer.

La velocidad de ejecución la pueden validar según el navegador en https://jsperf.com/if-else-vs-arrays-vs-switch-vs-ternary/39

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 />");
}

Hola, dejo este es mi reto completado :


var teclas = {
  UP: 38,
  DOWN: 40,
  LEFT: 37,
  RIGHT: 39
};

document.addEventListener("keydown",teclado);

/*
var z;

for (var i =0; i< 10; i++) {
	z=aleatorio(1,5);
	document.write(z+",");
}*/


var vp=document.getElementById("villa");
var papel=vp.getContext("2d");

var fondo={
	url:"tile.png",
	cargaOK:false
};

var vaca={
	url:"vaca.png",
	cargaOK:false
};

var pollo={
	url:"pollo.png",
	cargaOK:false
}

var cerdo={
  url:"cerdo.png",
  cargaOK:false
}

var cantidad=aleatorio(5,20);


fondo.imagen=new Image();
fondo.imagen.src=fondo.url;
fondo.imagen.addEventListener("load",cargarFondo);

vaca.imagen=new Image();
vaca.imagen.src=vaca.url;
vaca.imagen.addEventListener("load",cargarVacas);

cerdo.imagen=new Image();
cerdo.imagen.src=cerdo.url;
cerdo.imagen.addEventListener("load",cargarCerdos);

pollo.imagen=new Image();
pollo.imagen.src=pollo.url;
pollo.imagen.addEventListener("load",cargarPollos);


var xx=0;
var yy=0;

var vx=[];
var vy=[];

var px=[];
var py=[];

var cx=[];
var cy=[];


function teclado(evento)
{
    var color="blue"; 
    var movimiento=60;

  switch(evento.keyCode)
  {

      case teclas.UP:
      refrescar();
      console.log("vamo pa arriba");
      papel.drawImage(cerdo.imagen,xx,yy-movimiento);
      yy-=movimiento;

      break;
      case teclas.DOWN:
      refrescar();
      console.log("vamo pa abajo");
      papel.drawImage(cerdo.imagen,xx,yy+movimiento);
      yy+=movimiento;
      break;
      case teclas.LEFT:
      refrescar();
      console.log("vamo pa izquierda");
      papel.drawImage(cerdo.imagen,xx-movimiento,yy);
      xx-=movimiento;
      break;
      case teclas.RIGHT:

      refrescar();
      console.log("vamo pa derecha");
      papel.drawImage(cerdo.imagen,xx+movimiento,yy);
      xx+=movimiento;

      break;
    
  }

}

function refrescar(){
    //redibujar animales en posiciones guardadas

    papel.drawImage(fondo.imagen,0,0);

    console.log("posiciones ");

    console.log(cantidad);

     for (var i = 0; i < cantidad; i++) {
         
           console.log("x");
           console.log(vx[i]);

           console.log("y");
           console.log(vy[i]);

           papel.drawImage(vaca.imagen,vx[i],vy[i]);
           papel.drawImage(pollo.imagen,px[i],py[i]);
           papel.drawImage(cerdo.imagen,cx[i],cy[i]);

      }
    
  
}
function cargarFondo(){

 fondo.cargaOK=true;
 dibujar();
}
function cargarVacas(){

 vaca.cargaOK=true;
  dibujar();
}

function cargarPollos(){

 pollo.cargaOK=true;
  dibujar();
}

function cargarCerdos(){

 cerdo.cargaOK=true;
  dibujar();
}


function dibujar(){

    console.log(cantidad);


	if(fondo.cargaOK){

    	papel.drawImage(fondo.imagen,0,0);

	}
   if(vaca.cargaOK){

   	   for (var i = 0; i < cantidad; i++) {
   	   	

   	    var x=aleatorio(0,7);
   	    var y=aleatorio(0,7);
		
         x*=60;
         y*=60;

         //console.log(i);
         //console.log("original x "+x);
         //console.log("original y "+y);
          vx[i]=x;
          vy[i]=y;
       	papel.drawImage(vaca.imagen,x,y);


   	   }

	}

	if(pollo.cargaOK){


		for (var i = 0; i < cantidad; i++) {
   	   	

   	     var x=aleatorio(0,7);
         var y=aleatorio(0,7);
		
         x*=60;
         y*=60;

         console.log(i);
         console.log("original x pollo "+x);
         console.log("original y pollo "+y);

        px[i]=x;
        py[i]=y;

       papel.drawImage(pollo.imagen,x,y);

   	   }

	}

  if(cerdo.cargaOK){

  papel.drawImage(cerdo.imagen,0,0);

  for (var i = 0; i < cantidad; i++) {
        

        var x=aleatorio(0,7);
        var y=aleatorio(0,7);
    
         x*=60;
         y*=60;

         cx[i]=x;
         cy[i]=y;


       papel.drawImage(cerdo.imagen,x,y);

       }


  }
}

function aleatorio(min,max){

   var resultado;

   resultado=Math.floor	(Math.random()*(max-min+1))+min;


  return resultado;

}

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

Aqui solo use un ciclo for sin funciones.

for(y=1;y<=100;y++){
if(y%3==0 && y%5==0){
  document.write("Fizz Bozz");
}
else if(y%3==0){
  document.write("Fizz");
}
else if(y%5==0){
  document.write("Bozz");
}
else{
  document.write(y);
}
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;
  }
}```

Buenas tardes:
¿ podeis decirme que tengo mal porque no se mueve mi cerdo pls??

`var teclas = {
  UP: 38,
  DOWM: 40,
  LEFT: 37,
  RIGHT: 39
};

document.addEventListener("keyUp", moverCerdo);



var vp = document.getElementById("villaplatzi");
var papel = vp.getContext("2d");

var x = 0;
var y = 0;
var xCerdo = 250;
var yCerdo = 250;



var fondo = {
  url:"tile.png",
  cargaOk: false
};

var vaca = {
  url: "vaca.png",
  cargaOk: false
};

var cerdo = {
  url:"cerdo.png",
  cargaOk: false

};

var pollo= {
  url:"pollo.png",
  cargaOk:false

};

fondo.objeto = new Image();
fondo.objeto.src = fondo.url;
fondo.objeto.addEventListener("load", cargarFondo);


vaca.objeto = new Image();
vaca.objeto.src = vaca.url;
vaca.objeto.addEventListener("load" , cargarVacas);

cerdo.objeto = new Image ();
cerdo.objeto.src = cerdo.url;
cerdo.objeto.addEventListener("load", cargarCerdos);

pollo.objeto = new Image ();
pollo.objeto.src= pollo.url;
pollo.objeto.addEventListener("load", cargarPollos);



function dibujar()
{
  if(fondo.cargaOk == true)
  {
  papel.drawImage(fondo.objeto, 0, 0 );
  }
  if(vaca.cargaOk == true)
  {
    for(var v=0; v<10 ;v++)
    {
      var x = aleatorio(0,420);
      var y = aleatorio(0,420);
      papel.drawImage(vaca.objeto, x,y );
       }

  }
  if(cerdo.cargaOk == true)
  {
  papel.drawImage(cerdo.objeto, xCerdo ,yCerdo );



  }
  if(pollo.cargaOk == true)
  {
    for(var p=0; p<20 ;p++)
    {
      var x = aleatorio(0,420);
      var y = aleatorio(0,420);
      papel.drawImage(pollo.objeto, x,y );
       }

  }
}

function cargarFondo()
{
  fondo.cargaOk = true
  dibujar();
}
function cargarVacas()
{
  vaca.cargaOk = true;
  dibujar();
}
function cargarCerdos()
{
  cerdo.cargaOk = true;
  dibujar();
}
function cargarPollos()
{
  pollo.cargaOk = true;
  dibujar();
}






function moverCerdo(evento)

{
console.log(evento.keyCode);
var movimiento = 4;

switch(evento.keyCode)

{

  case teclas.UP:

    dibujar(cerdo.objeto, xCerdo, yCerdo);

    yCerdo = yCerdo - movimiento;

  break;

  case teclas.DOWN:

    dibujar(cerdo.objeto, xCerdo, yCerdo);

    yCerdo = yCerdo + movimiento;



  break;

  case teclas.LEFT:

    dibujar(cerdo.objeto, xCerdo, yCerdo);

    xCerdo = xCerdo - movimiento;



  break;

  case teclas.RIGHT:

    dibujar(cerdo.objeto, xCerdo, yCerdo);

    xCerdo = xCerdo + movimiento;

    

  break;

}

}


function aleatorio(min,maxi)
{
  var resultado;
  resultado = Math.floor(Math.random()*(maxi-min + 1))+min;
  return resultado;

}