// Variables (tipadas o no)
// Estructuras de control: if y switch
// Bucles: while y for
// Función: agrupar código con el fin de reutilizarlo
// Podemos utilizar parámetros para que la reutilización se flexible
// Nos permiten devolver valores
function saludo (nombre) {
console.log('Hola ' + nombre + ' ¿Qué tal estás?')
}
function arbolNumero (numero) {
for (let i = 1; i <= numero; i++) {
let cadena = ''
for (let j = 1; j <= i; j++) {
cadena += i
}
console.log(cadena)
}
}
function suma (valor1, valor2) {
console.log(valor1 + valor2)
}
function mayorEdad (nombre, edad) {
// Si es mayor de edad ponga "Hola nombre puedes pasar"
// Si es menor de edad ponga "Hola nombre NO puedes pasar"
if (edad < 18) {
console.log('Hola ' + nombre + ' NO puedes pasar')
} else {
console.log('Hola ' + nombre + ' puedes pasar')
}
}
saludo('Ana') // Pasando un valor a un parámetro de la función
arbolNumero(8)
suma(10, 30)
mayorEdad('Ana', 20) // Hola Ana puedes pasar
mayorEdad('Eva', 10) // Hola Eva NO puedes pasar
mayorEdad('Pep', 18) // Hola Pep puedes pasar
const nombre = prompt('Dime tu nombre')
let edad = parseFloat(prompt('Dime tu edad'))
mayorEdad(nombre, edad)
// Una función no debería interactuar con el entorno
// Sólo recibir parámetros y devolver resultados
// Una función debería ser una caja negra a la que se le pasan valores y devuelve resultados
function sumaMal (valor1, valor2) {
console.log(valor1 + valor2)
}
function suma (valor1, valor2) {
return (valor1 + valor2)
}
function factorial (numero) {
// La multiplicación de todos los números hasta el número que nos pasan
// EJ: factorial de 5 es 1*2*3*4*5
let resultado = 1
for (let i = 2; i <= numero; i++) {
resultado *= i
}
return resultado
}
function mayor (a, b) {
// Nos devuelve el número mayor
if (a > b) {
return a
} else {
return b
}
}
function otroMayor (a, b) {
let mayor = a
if (b > a) {
mayor = b
}
return mayor
}
console.log(factorial(5))
console.log(factorial(8))
const res = factorial(7)
console.log(mayor(2, 20)) // 20
console.log(mayor(2, 2)) // 2
console.log(mayor(29, 20)) // 29
console.log(otroMayor(2, 20)) // 20
console.log(otroMayor(2, 2)) // 2
console.log(otroMayor(29, 20)) // 29
function mayor3 (a, b, c) {
let mayor = a
if (b > mayor) {
mayor = b
}
if (c > mayor) {
mayor = c
}
return mayor
}
function sumarHasta (numero) {
// Devuelva la suma de todos los números hasta el número que me envíen
let suma = 0
for (let i = 1; i <= numero; i++) {
suma += i
}
return suma
}
console.log(mayor3(1, 2, 3))
console.log(mayor3(2, 3, 1))
console.log(mayor3(3, 1, 2))
console.log(mayor3(3, 1, 1))
console.log(mayor3(3, 3, 1))
console.log(sumarHasta(3)) // 6
console.log(sumarHasta(100)) // 5050
// 6.- Escribir un programa que le pida al usuario un número
// nos cuente la cantidad de multiplos de ese número menores de 100
function multiplos (numero, limite) {
// Cuenta el número de múltiplos que hay ente 1 y el límite
// Se contar: ++
// Se recorrer los números entre y el límite: for (let i=1;i<=limite)
// Se si un número es múltiplo de otro: Sí, con el %
let cuenta = 0
for (let i = 0; i < limite; i++) {
if (i % numero == 0) {
cuenta++
}
}
return cuenta
}
const num = parseFloat(prompt('Dime el múltiplo'))
const lim = parseFloat(prompt('Dime el límite'))
const total = multiplos(num, lim)
console.log('El número de múltiplos de ' + num + ' desde el 1 hasta ' + lim + ' es ' + total)
console.log(multiplos(5, 30))
console.log(multiplos(num * 5, 30 + lim * 2))