No tienes acceso a esta clase

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

Programando un algoritmo con Javascript

7/17
Recursos

Aprenderás paso a paso a crear un algoritmo básico utilizando Javascript. Este algoritmo recorrerá una lista de números y determinará cuál de ellos es el mayor.

¿Qué algoritmo se va a crear?

El propósito de este algoritmo es recorrer un array (una lista de números) y determinar el número mayor dentro de esta lista. Para esto, se crearán tres variables: una para el array, otra para guardar el número más grande de la lista, y la última para conservar el número de elementos en el array.

let numeros = [5, 10, 15, 60, 8]; let numeroMaximo = 0; let tamano = numeros.length;

¿Cómo funciona un array en Javascript?

Un array en Javascript se define dentro de corchetes [ ] y puede contener datos de cualquier tipo: strings, números, objetos, e incluso otros arrays. Los arrays son útiles porque permiten almacenar gran cantidad de información en un solo lugar.

let numeros = [5, 10, 15, 60, 8];

¿Cómo se creará el ciclo for?

El ciclo for recorrerá cada posición del array y comparará el valor en esa posición con el valor guardado en la variable número máximo. Si el valor en la posición es mayor, se convertirá en el nuevo número máximo.

for(let i =0; i<tamano; i++){ if(numeroMaximo < numeros[i]){ numeroMaximo = numeros[i]; } }

¿Cómo se muestra el resultado?

Se usa console.log() para indicar al código que muestre el número máximo en la consola.

console.log(numeroMaximo);

¿Cómo se puede crear el algoritmo utilizando Math.max?

El objeto Math contiene constantes y funciones matemáticas comunes. En este caso, se utiliza Math.max() para determinar el número máximo dentro de un listado directamente.

let maximo = Math.max(5, 10, 60, 8); console.log(maximo);

Finalmente, te recomendamos revisar la documentación oficial de JavaScript para conocer más acerca de los conceptos presentados en esta guía.

Contribución del curso creada por: Silfredo Ibarra

Aportes 378

Preguntas 88

Ordenar por:

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

Los lenguajes de programación suelen tener 2 formas:

.

  • IMPERATIVO: indicamos una secuencia de operaciones a realizar.

  • DECLARATIVO: especificamos el resultado deseado, no cómo lograrlo.

.
Cuando usamos el ciclo for para obtener el resultado, estamos usando programación imperativa y cuando aplicamos Math.max estamos siendo declarativos.

Me siento un poco frustrado en esta clase, siento que venia bien, sin embargo, para este ejercicio, se necesitan algunos conceptos que nunca antes se habian explicado. Siento que este ejercicio es un cambio de dificultad muy abrupto respecto a la clase anterior. Esta lleno de conceptos completamente nuevos como si ya se hubieran explicado.

En el curso anterior pase por la misma situación, es recomendable que dejen un documento en PDF al menos para estos cursos que son de inicio, pues esta muy cargado de conceptos y seria bueno leerlos antes de entrar en estas clases o que se encuentren con accesos para quien quiera los lea.

Entendí todo el video y como resuelve el reto 9. Entiendo que lo importante del reto 9 es forzar la búsqueda de información de nuestra parte para estimular la retención de la misma aunque nos equivoquemos. PERO creo que también es importante destacar que por ser un curso básico/inicial es mas que claro que la gran mayoría solo va a sentir frustración (yo también) porque uno espera poder resolver los problemas con la información que va recibiendo hasta el momento y por como resuelve el ejercicio la profesora esta claro que no es posible solo con lo que vimos hasta ahora en la ruta. No quisiera recurrir al argumento de “estoy pagando por algo que no me dan” pero es inevitable pensarlo cuando una parte del tiempo invertido en el aprendizaje se destina fuera de la plataforma que pagamos. Mi pedido a quien pueda hacer algo del equipo de platzi es que estos cursos básicos/iniciales sean lo mas detallistas posibles dentro de los elementos generales que deban exponer, si se enseña a sumar y restar, que los ejercicios sean de sumar y restar; y si alguien quiere ampliar sus conocimientos podrá buscar información sobre multiplicación y división o encontrar tales recursos y ejercitaciones en cursos mas avanzados (a modo de ejemplo). ++Que la búsqueda de información sea para interiorizar o ampliar los conocimientos y no un recurso para aprender y entender lo que el curso debería dejar claro. ++

  • Okey pero entonces se hubiera resolvido mucho mas rápido de esta forma no?

let maximo = Math.max(5,10,15,60,8)
console.log("el numero mas alto es " + maximo)

El scope se define como el alcance que una variable tendrá en tu código, este decide a que variables tienes acceso en cada parte del código. Existen 2 tipos de scope, el local y el global

El scope local puedes acceder a una variable en cierta parte del código, se conoce como variable local, un ejemplo es cuando una variable esta declarada dentro de un bloque o función, si tratas de acceder a esta variable fuera de esta función o bloque, habrá un error que dira que no está permitida
El scope global cuando esta declarada fuera de una función o de un bloque

Cuando declaramos una variable let o const dentro de un bloque, el alcance o scope que tendrá será sólo dentro de ese bloque. Además, si existe una colisión de nombres entre dos variables let o const recibiremos un mensaje de error. Esto hace que seamos menos susceptibles a cometer errores al utilizarlas, es por esto que desde que salió ES6 es más recomendable utilizar let o const a la hora de declarar una variable en lugar de usar var.

CICLO FOR, PARA OBTENER NUMERO MAXIMO

//ENCONTRAR UN NUMERO MAYOR EN UNA ARRAYS

//VARIABLES
let NUMEROS = [5, 10, 15, 60, 8]
let NUMEROMAXIMO = 0
let TAMANO = NUMEROS.length


//INSTRUCCION
for(let I=0; I<TAMANO; I++) {
  if(NUMEROMAXIMO < NUMEROS[I]){
    NUMEROMAXIMO = NUMEROS[I]
  }
}

//MOSTRAR
console.log(NUMEROMAXIMO)

//VARIANTE
let MAXIMO = Math.max(5, 10, 15, 60, 8)
console.log(MAXIMO)

Creo que el código tiene un error ya que si los nueros del array fuesen todos negativos el resultado no sería el valor máximo del array sino el valor 0 que es con lo que inicializamos nuestro valor dejo mi solución a este inconveniente

let numeros = [5, 10, 15, 60, 8]
let numeroMaximo = numeros[0]

for(let i=0; i < numeros.length; i++) {
  if(numeroMaximo < numeros[i]) {
    numeroMaximo = numeros[i]
  }
}

console.log(numeroMaximo)

Fue horrible jajajajajaja, no se ejecutaba correctamente y no sabia cuál era el error, sabia que debía copiar todo al pie de la letra, aunque no sabia al principio lo que significaba cada cosa.

fui recorriendo todo poco a poco y logre entender el porque de los valores y lo que estábamos escribiendo, al final fue que escribí lenght y era length

en la ecuación me daba 0
después de media hora lo pude encontrar repasando todo
a pesar de todo me siento genial
logre entender la clase después de analizar todo
y lo mejor encontré mi error

Var = variable se puede modificar y re declarar
Let = solo se declaran una vez, pero pueden ser modificadas
Const = no se pueden modificar son constantes

al decir modificadas se refiere al valor que almacenan.

Este es mi solución

//bigger number of the array
let numbers = [5,4,99,8,10,60,8];
console.log(numbers);
let maxNumber = 0;
for (let number of numbers) {
  if (number > maxNumber){
    maxNumber = number;
  }
}
console.log("The bigger number is " + maxNumber);

Del codigo mostrado en el video tome el atrevimiento de hacer las siguientes mejoras:

  • se asigna el valor del primer elemento al maximoArray para ahorrarme una interación.
  • no se inicia el valor en cero, para darle posibilidades a arrays con valores negativos.
  • se inicia el ciclo en i=1 ya que no es necesario comparar un numero consigo mismo.
//Algoritmo busqueda maximo dentro de un .array sin usar funciones adicionales

let arrayNumeros = [1, 2, -9, 50, 0, 8];
let maximoArray = arrayNumeros[0];

for (let i = 1; i < arrayNumeros.length; i++){
  if(arrayNumeros[i]>maximoArray){
    maximoArray = arrayNumeros[i];
  }
}

console.log(maximoArray);

recuerden: no nombrar variables con números o caracteres extraños como la Ñ, tildes o comas.
y nunca paren de aprender 💚

let numeros = [5, 10, 15, 60, 8];
let numeroMaximo = 0;
let tamano = numeros.length
 
for(let i=0; i<tamano; i++){
    if(numeroMaximo < numeros[i]) {
        numeroMaximo = numeros[i]
    }
}
 
//Explicacion del ciclo “for”    
Array numeros = [5, 10, 15, 60, 8];
if(numeroMaximo=0 < numeros[i]=5
Es decir si 0 es menor a 5 
 
numeroMaximo = numeros[5]
Es decir numeroMaximo = 5
 
Se repite el proceso pero ahora NumeroMaximo inicia en 5
if(numeroMaximo=5 < numeros[i]=10
Es decir si 5 es menor a 10
 
numeroMaximo = numeros[10]
Es decir numeroMaximo = 10
 
if(numeroMaximo=10 < numeros[i]=15
Es decir si 10 es menor a 15
 
numeroMaximo = numeros[15]
Es decir numeroMaximo = 15
 
if(numeroMaximo=15 < numeros[i]=60
Es decir si 15 es menor a 60
 
numeroMaximo = numeros[60]
Es decir numeroMaximo = 60
 
if(numeroMaximo=60 < numeros[i]=8
En este caso la condicion no se cumple ya que 60 no es menor que 8
Por lo cual numeroMaximo sigue siendo 60, y ya se completaron el total de 
Interacciones que eran 5
 
numeroMaximo = numeros[60]
Es decir numeroMaximo = 60
 
 
console.log(numeroMaximo)

Mi calculadora

function suma(a, b){
    return a + b;
}
function resta(a, b){
    return a-b;
}
function multiplicacion(a, b){
    return a * b;
}
function division(a, b){
    return a / b;
}

console.log(`Suma: ${suma(2,3)}`);
console.log(`Resta: ${resta(3,2)}`);
console.log(`Multiplicacion: ${multiplicacion(2,3)}`);
console.log(`Division: ${division(3,2)}`);

Es tan dificil y frustrante que esto sea para principiantes y utilicen información sin haberla explicado antes, ni no necesitara que me guien simplemente vería videos en Youtube, los ultimos videos son asi.

Bastante mal las lecciones de JavaScript de este curso, la lección 5 dice: Primeros pasos, pero ¿cuáles?, si ya está usando funciones, condicionales, variables iteradoras los cuales son temas más avanzados que no se han explicado, y no hubo explicación de la sintaxis del lenguaje, no tengo ni idea del porque usa let, o ;

La prof no sabe explicar esta parte, la noto tensa, lo cual no la hace explicar con claridad, PLATZI, deberia mejorar eso.

la verdad es un problema que estos cursos no tengan material de apoyo para reforzar las clases, es muy fácil decir investiga esto o aquello, a veces se aprende más leyendo estos comentarios que viendo clase

vaya la funcion math resumio muy rapito todo esto, esta claro que leer la docuemntación es fundamental

A mi me gusta el libro Javascript for Kids, lo leí hace años y debe estar desactualizado, pero me ayudó a entender ciertas cosas. Ando repasando porque ya me olvidé

ok, pero está preguntando si la variable máxima es MENOR que numero(i)

La verdad no se si mis conocimentos son muy limitados a este nivel (Estoy comenzando desde 0) Pero se me hizo muy dificil entender la primera explicacion, solo en la segunda pude entender poco y ya porque habia visto algo en el curso de programacion basica de Platzi. Es muy frustrante.

Hola compañeros/as: para los que como yo no entienden esta clase me tomé el trabajo de explicar a detalle lo más que pude una vez que lo entendí, espero que les sirva y pregúntenme lo que quieran, pero no se queden por no entender esto. ![](https://static.platzi.com/media/user_upload/image-2da38875-5a8d-47fe-9eaa-f3268898e8b5.jpg) ![](https://static.platzi.com/media/user_upload/image-99f19fd1-adc1-4886-bfb1-f5e664f9e109.jpg)
Una explicación mas para principiante: let numeros = \[5, 10, 15, 60, 8];: Aquí se crea una lista de números llamada numeros. Esta lista contiene cinco números: 5, 10, 15, 60 y 8. let numeroMaximo = 0;: Se crea una variable llamada numeroMaximo y se le asigna el valor inicial de 0. Esta variable se utilizará para mantener un registro del número más grande encontrado. let tamano = numeros.length;: Se crea otra variable llamada tamano que almacena la longitud (cantidad de elementos) de la lista numeros. En este caso, tamano será igual a 5, ya que hay 5 números en la lista. Luego, el código entra en un bucle for: for(let i = 0; i < tamano; i++): Este bucle se repetirá desde i = 0 (el primer elemento de la lista) hasta que i sea menor que tamano (en este caso, 5). if (numeroMaximo < numeros\[i]): En cada iteración del bucle, se compara el valor actual de numeroMaximo (inicialmente 0) con el número en la posición i de la lista numeros. Si el número actual en numeros\[i] es mayor que el valor actual de numeroMaximo, se ejecuta el siguiente bloque de código. numeroMaximo = numeros\[i];: Si el número en la posición i de la lista numeros es mayor que el valor actual de numeroMaximo, se actualiza el valor de numeroMaximo con el nuevo número. Esto significa que numeroMaximo ahora contiene el número más grande encontrado hasta el momento. Después de que el bucle haya recorrido todos los números en la lista, numeroMaximo contendrá el número más grande en la lista. Finalmente, se imprime el valor de numeroMaximo en la consola con console.log(numeroMaximo);.

let te permite declarar variables limitando su alcance al bloque, declaración, o expresión donde se está usando.

Tengo este explicado pasito a pasito, espero que les sirva.

Primero, definimos un array de números: En este caso, el array tiene cinco elementos: 10, 5, 25, 30 y 15. La palabra clave “const” se utiliza en JavaScript para declarar una variable cuyo valor no puede ser reasignado. Es decir, es una constante.

const array = [10, 5, 25, 30, 15];

Luego, creamos una variable llamada max y la inicializamos con el primer valor del array:
Esta línea de código establece que la variable max inicialmente tiene el valor del primer elemento del array, que es 10 ¿Recuerdan que en clases anteriores la profe nos dijo que las pocisiones de los array inician en 0? pues es eso 😃

let max = array[0];

A continuación, usamos un bucle for para iterar sobre el resto de los valores del array:

for (let i = 1; i < array.length; i++) {
  // código que se ejecuta en cada iteración
}

Voy a explicar cada elemento de esta estructura for … Entonces: estamos declarando una variable llamada i y asignándole un valor inicial de 1 . La variable i se utiliza para llevar un registro de la posición actual dentro del array que estamos iterando.
Aclaración: la variable i se inicializa en 1 en lugar de 0 porque se asume que el elemento en la posición 0 del array ya está almacenado en la variable max.
Por lo tanto, para evitar comparar el valor de la posición 0 del array dos veces (una vez en la inicialización de la variable max y otra vez en el ciclo for), se comienza la iteración del ciclo for desde el segundo elemento del array (posición 1) hasta el final del array.
Si la variable max no se ha inicializado previamente o si se desea que la comparación incluya el elemento en la posición 0 del array, entonces la variable i debería ser inicializada en 0 en lugar de 1.

let i = 1;

tenemos una condición que se evalúa al comienzo de cada iteración del ciclo “Mientras i sea menor a la longitud del array”

i < array.length;

Después de esto se ejecutará el código que está dentro de las llaves (Que lo pondré más adelante, voy paso a paso)
Una vez este código se ejecute. La siguiente expresión incrementa el valor de i en 1, lo que significa que el ciclo pasará a la siguiente posición del array en la siguiente iteración.

i++;

Esto es lo que irá dentro de las llaves, en el bucle comparamos cada valor con el valor actual de max y, si es mayor, actualizamos max con ese valor

if (array[i] > max) {
  max = array[i];
}

Finalmente, cuando el bucle ha terminado de iterar sobre todos los valores del array, la variable max contendrá el número mayor:

console.log(max); // output: 30

El codigo completo se ve así

const array = [10, 5, 25, 30, 15];
let max = array[0];

for (let i = 1; i < array.length; i++) {
  if (array[i] > max) {
    max = array[i];
  }
}

console.log(max); // output: 30

muchachos les aclaro yo de programación se poco o nada. Esto lo logré con ayuda de internet. Yo se que la frustración a veces gana. como en este caso, que la profe habló de muchas cosas que no sabiamos, pero internet es una herramienta poderosísima 😃

Por acá hice el ejercicio y lo subí en GitHub, esta super sencillo pero cumple con los requerimientos básicos.

Link de GitHub con proyecto:

Link de página que toma los valores que ingrese el usuario y hace la validación

Si quisiéramos encontrar el número mínimo sería de esta manera: ![](https://static.platzi.com/media/user_upload/Captura%20de%20pantalla%202024-06-12%20204230-0aafe816-e3e0-4933-b339-98c531a047bd.jpg)
¿Por qué crear una variable "tamaño"? No es más limpio sí directamente escribimos: `for (let i = 0; numeros.length; i++)...` Soy principiante en programación, por favor corríjanme sí estoy mal, o sí hay algo que esté ignorando.

La diferencia de “let” y “var” es que “let” permite tener un scope más limitado. A diferencia de la “var” que es una variable global.

Veo varias personas comentando que no entienden el flujo de la clase, como recomendación o diría mas bien que como requisito ver los cursos anteriores de pre-requisitos de pensamiento lógico antes de iniciar con el de Lenguajes de programación. Estos cursos les darán las bases para continuar en estructura, condicionales, diagramas de flujo, tablas de verdad, etc. Recuerden que la frustración es el peor enemigo para la carrera de un programador, quien debe estar constantemente buscando solución a problemas. Ánimo que si se puede!
En JavaScript, `var`, `let`, y `const` son utilizados para declarar variables, pero difieren en su alcance y capacidad de reasignación. 1. var: Tiene un alcance de función y no respeta el bloque. Esto significa que una variable declarada con `var` estará disponible en toda la función en la que se declara. Ejemplo: function example() { if (true) { var x = 10; console.log(x); // Salida: 10 } console.log(x); // Salida: 10 } 2. let: Tiene un alcance de bloque, lo que significa que la variable solo está disponible dentro del bloque donde se declara. Ejemplo: function example() { if (true) { let y = 20; console.log(y); // Salida: 20 } //console.log(y); // Error: "y" no está definido aquí } 3. const: Tiene un alcance de bloque, pero a diferencia de `let`, no se puede reasignar. Es usado para declarar constantes. Ejemplo: function example() { const z = 30; //z = 40; // Error: no se puede reasignar una constante console.log(z); // Salida: 30 } En resumen, usa `var` si necesitas una variable con alcance de función, `let` si necesitas una variable con alcance de bloque y la posibilidad de reasignación, y `const` si necesitas una variable con alcance de bloque y sin la posibilidad de reasignación. Fuente: Consulta ChatGPT " Que es en Java Script Var, Let y Const. Ejemplos"
usa let no explica por que usa let algo nunca mencionado antes por que no lo explica? para que estoy pagando? estaba tan emocionado por aprender programacion, y estas clases me tienen lleno de rabia (solo del hecho de tener que ir a fuentes externas, ya que para eso pague esto, para tener mi material y contenido AQUI)

Sinceramente me parece que faltan al menos un par de clases intermedias para entrar a un ejemplo como este, considero que hay poca conexión entre el ejemplo de las sumas y restas (bien lejos de una calculadora por cierto…) y el buscar el número más grande de un array. Por otro lado, que estudiantes más avanzados vengan a postear sus códigos más complejos, aumenta el grado de frustración…

Ciertamente, comprendo el valor de investigar y leer de distintas fuentes en cualquier área de estudio, sin embargo, en esta etapa tan básica básica… deberíamos de ir de la mano de la profesora, al menos hasta obtener las bases mínimas suficientes para dejar de gatear y comenzar a caminar, por algo nos inscribimos en un curso formal y no estamos leyendo material random de la red o buscando videos varios de YouTube.

Dicho todo lo anterior, después de leer y releer todo lo que pude, intentaré explicar el código de la clase con lo que entendí (está comentado en exceso, pero creo que ayuda). Espero esto sea útil para quienes estén tan perdidos como yo.

Código:

let numeros = [5, 10, 15, 100, 8]; // define el array de números
let numeroMaximo = 0; // establece el valor inicial del número máximo en 0
let tamaño = numeros.length; // establece la longitud del array en la variable tamaño
// bucle que itera sobre cada número en el array
for (let i = 0; i < tamaño; i++) { //i++ es un operador de incremento que significa "aumentar el valor de i en 1 en cada iteración del bucle for". En otras palabras, i++ es una abreviatura de i = i + 1
  if (numeroMaximo < numeros[i]) { // compara el número actual con el número máximo
    numeroMaximo = numeros[i]; // si el número actual es mayor que el número máximo, actualiza el número máximo
  }
}

console.log(numeroMaximo); // imprime el número máximo

Explicación:

  1. Primero, el código define el array de números como [5, 10, 15, 100, 8].

  2. Luego, establece el valor inicial del número máximo en 0 y la longitud del array en la variable tamaño.

  3. El bucle for comienza su iteración en el índice 0 del array.

  4. En la primera iteración, el número 5 se compara con 0 (el valor actual de numeroMaximo). Como 5 es mayor que 0, se actualiza el valor de numeroMaximo a 5.

  5. En la segunda iteración, el número 10 se compara con 5 (el valor actual de numeroMaximo). Como 10 es mayor que 5, se actualiza el valor de numeroMaximo a 10.

  6. En la tercera iteración, el número 15 se compara con 10 (el valor actual de numeroMaximo). Como 15 es mayor que 10, se actualiza el valor de numeroMaximo a 15.

  7. En la cuarta iteración, el número 100 se compara con 15 (el valor actual de numeroMaximo). Como 100 es mayor que 15, se actualiza el valor de numeroMaximo a 100.

  8. En la quinta y última iteración, el número 8 se compara con 100 (el valor actual de numeroMaximo). Como 100 es mayor que 8, no se actualiza el valor de numeroMaximo.

  9. Después de que el bucle for ha iterado sobre todos los números en el array, el valor final de numeroMaximo es 100.

  10. Finalmente, el código imprime el valor de numeroMaximo usando console.log(), lo que imprime 100 en la consola del navegador o en la terminal.

//creación de variables
let listanum = [0,10,2,13,4,15];
let maximo = 0;
let i; 

//se hace un bucle tipo for para recorrer el array uno por uno
//listanum.length cuenta la cantidad de espacios que hay en el array
for (i=0; i< listanum.length; i++){
  //listanum[i] es el array con el valor encontrado en cada espacio
  if (listanum[i] > maximo){
    //si el valor es mayor al encontrado se asigna a la variable "maximo"
    maximo = listanum[i];
  }
  console.log(maximo);

}

Scope de una variable hace referencia al lugar donde va a vivir esta.

  • Global: accesible desde cualquier lugar

  • Local: solo van a vivir en la función donde sean creadas. Keyword var

  • Block scope: Keyword let y const nos permite tener un scope de bloque, las variables solo van a vivir dentro del bloque de codigo ( entre {} llaves) donde se crean.

Les comparto un poco de teoría, la cual considero necesaria para el desarrollo de esta clase de una manera más clara.

En JavaScript, el ámbito de una variable se refiere a la parte del código en la que esa variable es accesible y puede ser utilizada. Hay dos tipos principales de ámbito en JavaScript: ámbito global y ámbito local.

  1. Ámbito Global: Las variables declaradas fuera de cualquier función tienen ámbito global y son accesibles en todo el código.

  2. Ámbito Local: Las variables declaradas dentro de una función tienen ámbito local y solo son accesibles dentro de esa función. También pueden tener ámbito local si se declaran con let o const en un bloque de código (por ejemplo, dentro de un bucle o una declaración if).

Es importante entender que las variables con ámbito global pueden ser modificadas por cualquier parte del código, lo que puede llevar a problemas de colisión de nombres y dificultades para rastrear cambios. Por otro lado, las variables con ámbito local son más seguras y encapsuladas, ya que solo son visibles dentro de su función o bloque.
Además, JavaScript también tiene el concepto de “cierre” (closure), que permite a las funciones acceder a variables de su ámbito exterior incluso después de que esa función haya terminado de ejecutarse.

El código no me quedo igual, pero funciona.

//Encontrar el numero mayor de una array

let numeros = [5, 15, 17, 4, 50, 6, 76]
let max = 0
let tamano = numeros.length

function numeroMax() 
{
 for (let i = 0; i < tamano; i++) 
 {
  if(numeros[i] > max)
  {
   max = numeros[i]
  }
 }
}

numeroMax()
console.log(max)

Se utiliza Let para declarar variable de array por:

Alcance de Bloque: Las variables declaradas con let tienen un alcance de bloque, lo que significa que están limitadas al bloque (por ejemplo, una función o un bloque if) en el que se declaran.

Prevención de Errores: Declarar variables con let ayuda a prevenir errores sutiles que pueden ocurrir debido al comportamiento de elevación (“hoisting”) de las variables var

let se utiliza con arrays (y otras variables) debido a sus características más modernas y seguras

igual recuerden que esta clase es como para brindar una idea del lenguaje java scrip al igual que con los otros dos que estan enseñando

La verdad es una lastima la forma poco didactica que tiene la profesora de dar este curso, los otros muy bien, pero este la verdad que ella asume que sabemos los terminos y se supone que es fundamentos de programación

AquÍ no hay interacción con el docente, no hay a quien preguntarle las dudas. las preguntas que uno tiene las responden los mismos estudiantes pero no el profesor. que ese es su trabajo.
los términos son muy avanzados para nosotros, almenos debería de explicar cada función, para que sirve y que significa. estoy estresado con eso.

Hay que tener en cuenta que este curso es la última parte de una trilogía, es cierto que aquí vemos como utiliza el código de manera totalmente fluida y aplicando conceptos que pueden no entenderse. Recomiendo tomarlo simplemente como un acercamiento y pérdida de miedo al lenguaje JS. Mi experiencia con cursos o videos concretos así, es tomarlo con mucha calma y hacerlo para conocer la herramienta y probar un poco escribiendo. Pero como digo es algo que no debe frenarnos. Están mostrando un poco de cada lenguaje simplemente eso. Es más que satisfactorio cuando vas poco a poco y desde las bases aprendiendo conceptos cada vez más complicados y así al final ver como todo se une y funciona perfectamente.

yo lo hice de esta manera

const numeros = [5,8,250,50,120]
let max = numeros [0]

for (let i = 0; i < numeros.length; i++){
  if(numeros[i] > max){
     max = numeros[i]
  }
}

console.log(max);

La palabra “let” se utiliza para declarar una variable con un alcance limitado al bloque en el que se declara. Las variables declaradas con “let” pueden ser reasignadas, pero solo se pueden acceder dentro del bloque en el que se declaran. Esto ayuda a evitar errores en el código y a mantener el ámbito de las variables más controlado.

¿Cuál es la diferencia entre LET y var?
let te permite declarar variables limitando su alcance (scope) al bloque, declaración, o expresión donde se está usando. a diferencia de la palabra clave var la cual define una variable global o local en una función sin importar el ámbito del bloque.

let numeros = [5, 10, 60, 8] - Esto declara una variable llamada “numeros” y la inicializa con una matriz de cuatro números.

let numeroMaximo = 0 - Esto declara una variable llamada “numeroMaximo” y la inicializa con el valor cero.

let tamano = numeros.length - Esto declara una variable llamada “tamano” y la inicializa con el valor de la propiedad “length” de la matriz “numeros”. La propiedad “length” devuelve el número de elementos en una matriz.

for(let i=0; i<tamano; i++) { - Esto inicia un bucle “for” que recorre la matriz “numeros”. La variable “i” se inicializa en cero, el bucle se ejecutará mientras “i” sea menor que “tamano” y en cada iteración, “i” se incrementará en uno.

if(numeroMaximo < numeros[i]) { - Dentro del bucle “for”, esto verifica si el número máximo actual es menor que el número en la posición actual de la matriz “numeros”. Si es así, el número máximo se actualiza con el valor de la posición actual de la matriz.

numeroMaximo = numeros[i] - Dentro del bucle “for”, si el número actual en la posición actual de la matriz es mayor que el número máximo actual, la variable “numeroMaximo” se actualiza con el número actual.

console.log(numeroMaximo) - Esto imprime el número máximo encontrado en la matriz “numeros” después de que el bucle “for” haya terminado de iterar.

let maximo= Math.max(5, 10, 15, 60, 8) - Esto declara una variable llamada “maximo” y la inicializa con el valor máximo de los argumentos proporcionados a la función “Math.max()”.

console.log(maximo) - Esto imprime el valor máximo calculado por la función “Math.max()”.

En resumen, este código busca el número máximo dentro de la matriz “numeros” utilizando un bucle “for” y una variable auxiliar llamada “numeroMaximo”. Luego, se utiliza la función “Math.max()” para encontrar el número máximo de una lista de argumentos. Ambas técnicas logran el mismo resultado, pero la primera es más adecuada cuando se trabaja con matrices dinámicas y la segunda cuando se trabaja con argumentos estáticos.

Por alguna extraña razon me manda error. Al parecer ha habido algunas actualizaciones en replit

Sin embargo lo hice en jsconsole y ahi si me da el resultado

si yo no hubiese estudiado ingeniería de sistemas, esto me parecería un quebradero de cabeza, creo que es muy avanzado para incluso si uno se pone a investigar y está empezando, cosas por ejemplo como la palabra iterar, las palabras reservadas, como ir de una vez al ciclo for sin haber entendido primero los ciclos while y do while, el contexto, donde poner la línea de código, cómo y dónde poner un condicionar, la estructura de las llaves, son bastantes cosas para digerir en un alumno nuevo. estoy seguro que si no hubiera visto java antes, estaría en blanco, en fin, si necesitan ayuda con algo respondan a este chat, doy tutorías y la columna vertebral de lógica de programación, no es para promocionarme ni nada por el estilo, es que realmente me pareció muy avanzado para alguien que está aprendiendo, hice el mismo código en Python y hay muchas formas diferente de hacerlo y se puede optimizar pero igual se los dejo y les explico que en Python no es posible compararlo con los indicies del arreglo hasta donde sé, después investigaré.

Es un poco difícil entender cuando falta información intermedia, hay conceptos que no se explicaron y por lo mismo se pierde entendimiento en el transcurso de esta clase, les dejo una explicación de lo que va sucediendo en el código línea a línea, ya que tuve que consultar otras fuentes para terminar de entender.

let numerosAleatorios = [2, 200, 34, 97, 4];  /* Se declara el array y se definen los valores de cada posición dentro del mismo, para esto se usa la palabra reservada **let** + nombre de la variable definida por el usuario + **[ ]**  (brackets) */
let numeroMaximo = 0; /* Se declara la variable asociada al resultado final que queremos obtener y se define el valor inicial en 0 (esta se define en 0 porque es el punto inicial o mínimo desde donde debemos empezar a buscar el numero máximo dentro del array) */
let tamanoArreglo = numerosAleatorios.length; /* Se declara la variable asociada al tamaño del array, el cual en este caso tiene una longitud de 5 posiciones (let numerosAleatorios = [n1, n2, n3, n4, n5] comenzando en la posición 0 =n1 hasta la posición 4 =n5) */

for (let i = 0; i < tamanoArreglo; i++) { /* Se declara una instrucción de ciclo for, que contiene una sub declaración de la variable i (let i = 0; i hace referencia a iteración y es una manera muy común de declarar iteraciones, será la que utilicemos para recorrer cada posición del array), una comparación ( i < tamanoArreglo; se refiere a una comparación, mientras i sea menor que el valor que contiene la variable tamanoArreglo debe ocurrir lo que nosotros indiquemos a continuación, en este caso una iteración), una iteración (i++ En este caso a la variable i se le está sumando un entero por cada iteración, ++ corresponde a un operador de incremento propio de los lenguajes el cual suma el valor de 1 a la variable que queramos, asi como (+ suma) , (-- disminuye, decrement en ingles), (* multiplica), (/ divide), finalmente el ciclo for contiene una condición y una consecuencia */
if (numeroMaximo < numerosAleatorios [i]) { /* se establece una condición if enlazada al for, si la variable *numeroMaximo* es menor al valor que contiene la variable *numerosAleatorios* en la posición actual de [i]  entonces ocurrirá una consecuencia */
    numeroMaximo = numerosAleatorios[i] /* consecuencia, en este caso el valor de la variable numeroMaximo será igual al valor que contiene la variabl.e numerosAleatorios siempre que la condición establecida anteriormente sea verdadera */
  }
}


console.log(numeroMaximo)

En resumen lo que ocurre es lo siguiente:

  1. Se declaran las 3 variables principales y estas se almacenan en memoria:
  • numerosAleatorios

  • numeroMaximo

  • tamanoarreglo [2 , 200…]

  1. se establece un ciclo for donde el valor inicial de la iteración (i) es 0.
  2. Se evalúa la condición if, como el valor de la variable numeroMaximo es menor al de la variable numeroAleatorio de la posición en 0 (en este codigo la posición 0 del array contiene el valor, “2”), el valor de la variable numeroMaximo se establece en 2, posteriormente se evalua i que es menor al tamaño del arreglo y al valor de i se le suma 1, ahora i es igual a 1, se repite el ciclo.
  3. Se evalua la condición if, numeroMaximo sigue siendo menor a numeroAleatorio por lo cual numeroMaximo toma su valor en la posición actual i = 1, ahora numeroMaximo es igual a 200 posteriormente se evalua i que sigue siendo menor al tamaño del arreglo y al valor de i se le suma 1, ahora i es igual a 2, se repite el ciclo.
  4. Se evalua la condición if, numeroMaximo ahora es mayor que el valor de la variable numeroAleatorio, por lo cual no se cumple la condición, el valor de la variable numeroMaximo no cambia, se reptie el ciclo hasta la posición 4, todos los valores restantes del arreglo en este caso son menor a 200 por lo cual en ningún momento la variable numeroMaximo vuelve cambiar, hasta que finalmente el ciclo for cuando i = 4 se le suma uno siendo i = 5 el ciclo termina y se muestra el console.log finalizando el algoritmo.

espero que les sirva, saludos.

Me gustó mucho la clase, entendí como puedo mejorar la declaración del array y hacer un código más flexible, inicialmente le coloqué un tamaño y realice el ciclo for en función de ello, pero con crear una variable que evalúe el tamaño se puede colocar la cantidad de números que deseamos y no habrá que modificar nada más 🙌

Aqui vamos!!

El siguiente algoritmo permite obtener el numero mayor en un array de “n” elementos considerando tambien los números negativos. Por tal motivo, igualamos la variable “max” al primer elemento del arrar:

max = numeros[0];
// ALGORITMO QUE PERMITE IDENTIFICAR EL NUMERO MAYOR D UN ARREGLOE DE "n" NUMEROS

//Declaración de variables

let max;
let i;
let n;
let numeros = []; 

n = parseInt(prompt("Ingrese cantidad numeros: "));

for (i=0; i < n; i++ ){
  numeros[i] = parseInt(prompt("Ingrese los numeros: "));
}

max = numeros[0]; 

for (i = 0; i <n; i++) {
  
  if (numeros[i] > max ) {
    max = numeros[i]; 
  } 
}

alert("El numero mayor es: "+max);
  

Math.max()

La función Math.max() retorna el mayor de cero o más números dados como parámetros de entrada, o NaN si cualquier parámetro no es un número y no puede ser convertido en uno.

Si ingresamos todos los numeros negativos, no lo considera el signo.

Si ingresamos negativos y positivos, solo evalúa los positivos.

Ejemplo:

Cabe resaltar que para usar Math.max los numeros deben estar en listado y no en formato de array.

No muestra porque no se ha ejecutado una sentencia para mostrar el resultado, por ejemplo, alert, o un log, como en las clases anteriores.

Que clase de mierda pero bueno a seguir

//declaramos el array

let numbers = [2,3,6,1,8,4];

//variable que mide/almacena el tamaño del array

let length = numbers.length;

//variable que almacena el número más grande

let maxNumber = 0;

//ciclo que inicia en la posición 0 del array, lo recorre por completo y, cuando se encuentra un número mayor al "maxNumber", lo sustituye

for (let i = 0; i < length; i++) {
  if(maxNumber < numbers[i]) {
    maxNumber = numbers[i];
  }
}

//Imprimimos en consola el resultado

console.log("El número más alto es " + maxNumber);

El scope es el alcance que puede tener una variable, hay local y global.

  • Local: sólo existe dentro del código.
  • Global: existe en todo el código (var tiene scope global)

Platzi tiene un artículo al respecto:
https://platzi.com/blog/como-funciona-el-scope-en-javascript/#:~:text=Comparte en%3A-,¿Qué es el scope en JavaScript%3F,global y el scope local.

En varios paises desarrollados ya incluyen en su pensum de estudio desde la edad preescolar hasta diversificado. En mi país únicamente si incluye programación en las carreras de Bachillerato con orientación en computación. Con lo poco que estoy entiendo en platzi y con los logros en otros paises me urge empezar a trabajar en todos los niveles programación, la era digital nos obliga hacerlo. Saludos desde Guatemala.

Aquí una solución que es pedirle al usuario añadir los números a la lista.

let array = [];
let max = 0;
let i = 0;

alert("--Programa para saber cual es el máximo numero de una lista--");

do{
  numeros = parseFloat(prompt("Escribe un numero: "));
  array.push(numeros);
  opcion = parseInt(prompt("Quieres seguir añadiendo un número a lista, digita 1-Si 2-No"));
  
}while(opcion == 1)

while(i < array.length){
  if(array[i] > max){
    max = array[i]
    i = i + 1
  }else{
    i = i + 1;
  } 
}

alert("El número máximo de la lista  [" + array + "] es " + max);

![](

var puede ser usado en cualquier parte del codigo.
let esta bloqueado, solo sirve en los limites de los primeros brackets ( { } )donde se encuentra, esto sirve para encapsular los valores y utilizar el mismo valor con diferentes datos en diferentes brackets.

\n

Yo elegí otro camino y le agregue algunas cosas.

var numeros = [];
var max = 0;
var i = 0;
var o = 0;

function ingresarDatos(){
    console.log("Este script sirve para imprimir el numero mas grande de una lista.");
    cantidadNuevoNumero = parseFloat(prompt("Cuantos números deseas ingresar?"));
    while(o < cantidadNuevoNumero){
        numeros.push(parseFloat(prompt("Ingresa el no."+( o+1 ))));
        o++;
    }
}

function maxNumeros(){
    ingresarDatos();
    while(i < numeros.length){
        if(numeros[i] > max){
            max = numeros[i];
            i++;
        } else {
            i++;
        }
    }
    console.log("Todos los numeros agregados son:\n" + numeros + "\n\n" +
                "El numero mas grande es: " + max);
}

maxNumeros();

Aqui una version con la libreria math

 var numeros = [];
var i = 0;

function maxNumeros(){
    console.log("Este script sirve para imprimir el numero mas grande de una lista.");
    cantidadNuevoNumero = parseFloat(prompt("Cuantos números deseas ingresar?"));
    while(i < cantidadNuevoNumero){
        numeros.push(parseFloat(prompt("Ingresa el no."+( i+1 ))));
        i++;
    }
    console.log(numeros)
    console.log("Todos los numeros agregados son:\n" + numeros + "\n\n" +
                "El numero mas grande es: " + 
                Math.max(...numeros)
                );
}

maxNumeros();

agregar un simple sleep 1 en javascript es un horror… hasta donde logre ver es necesario hacer cosas raras con setTimeout, y trabajar directamente en terminal usando node es otra tortura. De momento javascript para trabajar en terminal o fuera del navegador no se ve prometedor, electron no se ve como buena opción de momento.

Para la web es obligado así que sin duda será uno de mis lenguajes de cabezera. Ya veremos que trae webassembly en el futuro.

Mi aporte:

let maximo = Math.max(9,9999,99,99999,999999,99999999999,999999,99999999999,99999999999999)
console.log("El número más alto es: " + maximo);

let minimo = Math.min(9,9999,99,99999,999999,99999999999,999999,99999999999,99999999999999)
console.log("El número más pequeño es: " + minimo);

// Encontrar el numero mayor en una lista de una array

//VARIABLES
let numeros_array = [200, 300, 4, 201, 343, 5, 2]
let posicion_de_array = 0
let tamano_array = numeros_array.length

//INSTRUCCION
for(let numero=0; numero < tamano_array; numero++) {
if (posicion_de_array < numeros_array[numero]) {
posicion_de_array = numeros_array[numero]
}
}
//MOSTRAR
console.log(posicion_de_array)

//Funcion Math.max
let Numeros_array = Math.max (100, 300, 4, 201, 343, 5, 2)
console.log(Numeros_array)

//declaramos el array

let numeros = [5, 1, 2, 4, 6]

// variable que almacena el largo del array para luego usarse en el ciclo for

let tamano = numeros.length

//variable que almacena el número más grande

let max = 0

//ciclo que inicia en la posición 0 del array, lo recorre por completo y, cuando se encuentra un número mayor al "max", lo sustituye

for (let i = 0; i < tamano; i++) {
    if (numeros[i] > max) {
        max = numeros[i]
    }
}

//Imprimimos en consola el resultado

console.log("El número más alto según la forma imperativa es: " + max)

//variable que almacena el número más bajo, iniciando en la primera posición del array números para que no de error con el 0

let min = numeros[0]

for (let i = 1; i < tamano; i++) {
    if (numeros[i] < min) {
        min = numeros[i]
    }
}
console.log("El número más bajo según la forma imperativa es: " + min)



// variacion, esta forma sería declarativa, ya que nada más le pido el resultado más no indico la secuencia del proceso

// los tres puntos son el spread operator, el cual sirve para llamar al array sin tener que colocarlo completo

let maximo = Math.max(...numeros)
let minimo = Math.min(...numeros)

console.log("El número más alto según la forma declarativa es: " + maximo)
console.log("El número más bajo según la forma declarativa es: " + minimo)








Acá ponemos leer ¿qué es un scope? y la diferencia entre let, const y var.
https://platzi.com/blog/como-funciona-el-scope-en-javascript/

No sé si a alguien más le ha pasado, pero es un error de novato así que lo comparto por si acaso alguien más tiene el mismo problema. Por más de media hora estuve tratando de que el código funcionara y el error era el titulo del archivo "index.js" ya que acostumbro a iniciar los nombres con mayúscula y resulta que el archivo debe nombrarse en minúscula. Si alguien me pudiera explicar, estaría genial. Adjunto captura de pantalla del problema: ![](https://static.platzi.com/media/user_upload/image-6feeed49-a097-4515-aefa-d0b7b506f48f.jpg) La solución, fue cambiar el nombre y ponerlo con "i" minúscula al iniciar el titulo. ![](https://static.platzi.com/media/user_upload/image-bae6fa17-ceae-48f7-909d-e1160b9d6f11.jpg)
Si desean generar el array aleatoriamente `//Generar números aleatorios` function generaraleatorio(longitud, min, max) { return Array.from({length: longitud}, () => Math.floor(Math.random() \* (max - min + 1) + min)) } let numeros = generaraleatorio(5, 1, 100) // Array de 5 números entre 1 y 100 console.log("Este es el listado de números ", numeros)
Muy buen algortimo!
Tantas personas han hecho el mismo ejercicio en replit que ya la herramienta predice exactamente lo mismo que la profesora va a escribir. Es demasiado gracioso y genial.
Si en caso de que los números de la lista sean negativos tendríamos que añadir una condición más para poder controlar eso. ```js let Array= [-2,-1,-3,-4,-5] let max = 0 for (let i=0; i<Array.length; i++){ if (Array[i]>max && Array[i]>0) { max = Array[i] } } console.log(max) ```
```js let array = [2342,25,235,165,57,325,6,789,24,575,3444,63,2,76,1,3466,2,5]; let max = 0; let i = 0; do { if (array[i] > max) { max = array[i] } i++; } while (i < array.length); console.log(max); ```
Ahi va mi aporte // Buscador de Maximo let arreglo = \[9,55,154,21,28,52]; // Metodo Directo let maximo = Math.max(...arreglo); console.log("El número más grande es : ", maximo); // Metodo con for let maximo1 = arreglo\[0];// Asiganmos el vaor inicial for(let i = 1; i < arreglo.length; i++){ if (arreglo\[i] > maximo1){ maximo1 = arreglo\[i]; //Actualizamos el valor si encontramos uno mayor } } console.log("Confirmo el número más grande es", maximo1) // Usando el método reduce let maximo2 =arreglo.reduce((max, actual) => (actual > max ? actual : max), arreglo\[0]); console.log("Vuelvo a confirmar el número más grande es : ", maximo2); // Usando sort arreglo.sort((a,b) => a - b); let maximo3 = arreglo\[arreglo.length - 1]; console.log("Finalmente confirmo el número más grande es: ", maximo3) espero sa vea bien
Si queremos crear una función para que sea reutilizable y se escriba menos código a nivel general. Se puede hacer una función que cumpla con este propósito: ```js function valorMaximo(array){ return Math.max(...array); }; ```Esta función recibe un array como parámetro. Y de manera inmediata retorna el número máximo de un array. La expresión `...array ` Sirve para desestructurar el arreglo y pasa de ser un arreglo a un montón de valores. Espero hacerme explicar. Un ejemplo sería: ```js Math.max(Array -> [123,123,456,897]) Math.max(...Array -> 123,123,456,897)) ```
![](https://static.platzi.com/media/user_upload/image-b102a1b3-cfcc-479d-ac7b-c7398e5684cc.jpg) ![](https://static.platzi.com/media/user_upload/image-102a092e-0a26-44ca-b3de-08ad1a034a7e.jpg)
![](https://static.platzi.com/media/user_upload/Captura%20de%20pantalla%202025-01-10%20213419-04f637b1-2336-4f46-9331-ea0d61c705db.jpg)
**Alcance de variables en JavaScript:** * **var:** Alcance funcional. Puede ser redeclarada y reasignada. * **let:** Alcance de bloque. No puede ser redeclarada pero sí reasignada. * **const:** Alcance de bloque. No puede ser redeclarada ni reasignada. **¿Qué significa esto?** * **Alcance local:** La variable solo existe dentro de un bloque de código (por ejemplo, una función, un `if`, un `for`). * **Alcance global:** La variable existe en todo el código.
Para que el algoritmo funcione incluso si los números son negativos recomiendo hacer esto: let max = numeros\[0]; esto toma como mayor el primer número del arreglo en vez del número cero que puede alterar el correcto funcionamiento, acá está el código completo `let numeros = [-2, -43, -23, -1, -34, -436, -4, -2, -7];` `let max = numeros[0];` `let i = 0;` `while (i < numeros.length) {` ` if (numeros[i] > max) {` ` max = numeros[i];` ` }` ` i++;` `}` `console.log(max);`
Hola, no encuentro el error alguien me puede decir cual es? let numer =\[5,10,15,60,8] let numerMaximo = 0 let tamano = numeros.length for (let i=0; i\<tamano; i++ ) { if (numerMaximo< numeros \[i]) { numerMaximo = numeros \[i] } } console.log (numerMaximo)
Cuando aborde el reto me sirvio leer la documentación asi entender como declarar variables y como definir bucles, se los recomiendo <https://developer.mozilla.org/es/docs/Web/JavaScript/Guide/Grammar_and_types> <https://developer.mozilla.org/es/docs/Web/JavaScript/Guide/Loops_and_iteration> mi codigo aantes de ver la solucion de la profesora fue: ```js // número más grande // Algoritmo de solucion // 1. Crear una función que reciba como parámetro un array de números // 2. Crear una variable “máxima” que inicie en 0 // 3. Recorrer el array valor por valor // 4. Crear una condición donde si el número es mayor que el valor del número en la posición actual del array, entonces el nuevo valor de la variable máxima será el número en esa posición. // 5. Imprimir el número más grande del array //declaro la lista de numeros var a = [10, 22, 13, 62, 15, 9]; // miro que tan largo esta la lista var largo = a.length; // veo en consola como va la lista // console.log("tiene una longitud de: " + largo); // declaro la variable maxima var N_max = a[0]; var i = 0; //recorrer el vector con un for for (i; i < largo; i++){ //Para comparar con el max var b = a[i+1]; if (N_max < b) { N_max = b; console.log(N_max) } } console.log("el numero mas grande es: " + N_max); ``` // número más grande // Algoritmo de solucion // 1. Crear una función que reciba como parámetro un array de números // 2. Crear una variable “máxima” que inicie en 0 // 3. Recorrer el array valor por valor // 4. Crear una condición donde si el número es mayor que el valor del número en la posición actual del array, entonces el nuevo valor de la variable máxima será el número en esa posición. // 5. Imprimir el número más grande del array //declaro la lista de numeros var a = \[10, 22, 13, 62, 15, 9]; // miro que tan largo esta la lista var largo = a.length; // veo en consola como va la lista // console.log("tiene una longitud de: " + largo); // declaro la variable maxima var N\_max = a\[0]; var i = 0; //recorrer el vector con un for for (i; i < largo; i++){ //Para comparar con el max var b = a\[i+1]; if (N\_max < b) { N\_max = b; console.log(N\_max) } } console.log("el numero mas grande es: " + N\_max);
esta seria la ejecución paso a paso: ### **Ejecución paso a paso del programa** Supongamos que el arreglo es `[5, 10, 15, 60, 8]`. 1. **Inicialización:** * `numeroMaximo = 0` * `tamano = 5` 2. **Primer iteración (**`i = 0`**):** * `numeros[0] = 5` * `0 < 5`: Verdadero, por lo tanto: * `numeroMaximo = 5` 3. **Segunda iteración (**`i = 1`**):** * `numeros[1] = 10` * `5 < 10`: Verdadero, por lo tanto: * `numeroMaximo = 10` 4. **Tercera iteración (**`i = 2`**):** * `numeros[2] = 15` * `10 < 15`: Verdadero, por lo tanto: * `numeroMaximo = 15` 5. **Cuarta iteración (**`i = 3`**):** * `numeros[3] = 60` * `15 < 60`: Verdadero, por lo tanto: * `numeroMaximo = 60` 6. **Quinta iteración (**`i = 4`**):** * `numeros[4] = 8` * `60 < 8`: Falso, por lo tanto: * `numeroMaximo` permanece en `60`. 7. **Fin del ciclo:** * El valor final de `numeroMaximo` es `60`. 8. **Salida:** * Se imprime `60`.
Comparto que al poner un ejercicio con conceptos no vistos en la lógica de programación es frustrante ya que esta es la ruta que se esta siguiendo, es cierto que se investiga por aparte y se encuentra la manera de lograrlo pero no creo sea la forma ya que se esta pagando para evitar andar rebuscando de sitio en sitio, se que la lógica de la programación es resolver problemas y nuestra mente tiene que adaptarse al cambio, pero hay maneras de hacer menos frustrante el proceso de aprendizaje, por mi parte me ha gustado mucho y lo recomiendo como ayuda extra: [CS50: Introducción a la Informática | Universidad de Harvard](https://pll.harvard.edu/course/cs50-introduction-computer-science)
Lo realicé de esta manera let numeros = \[5, 10, 15, 60, 80, 85, 55]; maxima = 0; for (let i = 0; i < numeros.length; i++){ if (numeros\[i] > maxima){ maxima = numeros\[i]; } else { i++ } } console.log(maxima); console.log()
![](https://static.platzi.com/media/user_upload/image-851d2188-34e7-45dd-9fe8-8bb7aaeb8d0e.jpg)¿Quién me puede explicar donde está el error? ¡Gracias!
Cuando no se respeta la capitalización correcta de los nombres de funciones en JavaScript, como en el caso de `numeroMaximo`, el intérprete de JavaScript no podrá encontrar la función y generará un error. En JavaScript, los identificadores son sensibles a mayúsculas y minúsculas, lo que significa que `numeroMaximo` y `numeromaximo` se consideran diferentes. Es importante seguir la convención de nombrar con consistencia para evitar estos errores y mejorar la legibilidad del código.
Por si son curiosos, de está forma se puede usar los datos de un arreglo en el Math.max( ). Esos tres puntos son el operador **spread.** Esto descompone el arreglo en elementos individuales. ![](https://static.platzi.com/media/user_upload/imagen-8e053c2e-0e35-4691-8a03-c1f1f8e799d9.jpg)
![](https://static.platzi.com/media/user_upload/image-b2da9dd0-12ae-4eff-afc2-66b03fd0ed53.jpg)¿Quién me puede explicar donde está el error? ¡Gracias!
```js //Encontrar el numero mayor de una lista de numeros en un array let numero = [10, 5, 60, 8, 75] let NumeroMax = 0 let tamano = numero.length for (let i=0; i
burbuja simple
let numeros = \[34, 87, 15, 73, 22, 98, 65, 2093, 12, 47, 56, 31, 88, 59, 1, 62, 90, 27, 43, 68, 76, 10, 5, 84, 35, 19, 48, 57, 28, 99, 81, 23, 50, 70, 77, 14, 45, 6, 83, 53, 94, 37, 13, 71, 8, 44, 21, 61, 16, 32, 17, 79, 92, 3, 55, 24, 72, 38, 64, 89, 95, 40, 18, 82, 30, 67, 51, 36, 25, 63, 2, 9, 60, 46, 26, 100, 29, 58, 49, 74, 4, 66, 33, 11, 85, 54, 41, 42, 39, 20, 52, 7, 86, 78, 75, 91, 96, 80, 97, 93, 105]; let numeroMaximo = 0; let tamano = numeros.length; for (let i = 0; i < tamano; i++ ){ if (numeroMaximo < numeros\[i]){ numeroMaximo = numeros\[i] } } console.log(numeroMaximo)
la verdad comencé bien el curso desde el inicio a este punto pero resulto frustrante sentirse totalmente perdido en este punto, antes de entrar a esta clase quedo el ejercicio propuesto, si bien con papel y lapiz lo puedo desarrollar para la tarea era hacerlo en javascripto y no tenia ninguna herramienta logica para hacerlo, incluso todo lo visto en este video deberia ser explicado a mayor profundidad antes
![](https://static.platzi.com/media/user_upload/image-529a65e6-8340-4dbe-9d68-6aa08e7fc3f7.jpg)
muchachos se que muchos de ustedes quedaron perdidos a causa de que no saben todavía el significado de let o if o mas variables y tambien seguro no saben de como se usa. pero yo antes de tomar este curso tome el curso de : Curso Gratis de Programación Básica y es con freddy vega se los recomiendo.
```js // el número más grande numeros = [10,20,3,12,5,30,7,8,9,10] max = 0 for(i=0; i<numeros.length; i++){ if(numeros[i]>max){ max = numeros[i] } } console.log("el numero mas grande es: "+ max) ```// el número más grande numeros = \[10,20,3,12,5,30,7,8,9,10] max = 0 for(i=0; i\<numeros.length; i++){ if(numeros\[i]>max){ max = numeros\[i] } } console.log("el numero mas grande es: "+ max)
```js // usamos el for para recorrer el array y el if para verificar si el número es mayor que el número máx function encontrarMaximo(numeros) { let numMaximo = 0; for (let i = 0; i < numeros.length; i++) { if (numeros[i] > numMaximo) { numMaximo = numeros[i]; } } console.log("Bro el número más grande es: " + numMaximo); } encontrarMaximo ([5, 2, 800, 12, 3, 50, 200]) //Usamos el Math.max para encontrar el número más grande let maximo = Math.max (5, 2, 8, 1200, 3, 50, 200) console.log("Usando variable math.max se identifica que el numero maximo es: " + maximo) ```
```js function encontrarMaximo(numeros) { let numMaximo = 0; for (let i = 0; i < numeros.length; i++) { if (numeros[i] > numMaximo) { numMaximo = numeros[i]; } } console.log("Bro el número más grande es: " + numMaximo); } encontrarMaximo ([5, 2, 8, 12, 3, 50, 200]) ```
Leyendo sus comentarios creo que estan de acuerdo conmigo con lo siguiente. Estas ultimas clases se han ido con muchos conceptos y brincando la dificultad de forma muy agresiva, ya que si venimos de otros curso de fundamentos y si todavia podemos entender los diagramas de flujo pero en ningun momento nos explicaron como se delcaran las variables (var, let, constant) yo tambien vengo desde 0. pero es increible que siendo la plataforma que es platzi ponga ejercicios sin explicar las cosas antes y sin dar siquiera sintaxis, si de acuerdo ocupo poner un array, como se pone? array = 2,3,4,5?, si despues ocupo un ciclo? como se pone? for {variable=1}? y hasta despues te explican como es y no te explican como funciona almenos hasta ahora
<https://replit.com/@salvatoremormin/numeroMasGrande?v=1>