Introducción funciones


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

Publicado por

Juan Pablo Fuentes

Formador de programación y bases de datos