Héctor Daniel Vega Quiñones
ProfesorPreguntaLuego de un breve respiro estás listo para continuar y con un tema la que muchos pueden temer pero se que harás frente: las matemáticas.
Recuerda que toda la computación se basa en matemáticas, incluso el frontend (CSS son matemáticas puras) y al aprenderlas desarrollas tanto lógica para resolver problemas como ese pensamiento de programador. Ahora, es verdad que algunos lenguajes están optimizados para el cálculo numérico y otros no tanto, pero encontrarás librerías o módulos que te ayudarán en tu labor.
Con esto dicho estoy seguro que encontrará satisfacción en resolver los retos.
Recuerda que también acá encontrarás los retos anteriores:
- Nunca pares de programar: ejercicios de programación - Primera Parte
- Nunca pares de programar: ejercicios de programación - Segunda Parte
- Nunca pares de programar: ejercicios de programación - Tercera Parte
Reto #1 - Multiplicar decimales
Pide a tu usuario que ingrese 2 números con decimales (cuantos más mejor) y muestra el resultado de multiplicarlos ¿fácil, no?
### Reto #2 - Reducir los decimales Toma como base el reto anterior, pero ajústalo para que el resultado muestre solamente 1, 2, 3 o 4 decimales.
Reto #3 - Raíces cuadradas redondeadas
Pide a tu usuario que ingrese un número, cuyo valor debe ser mayor a 20, luego calcula su raíz cuadrada y reduce a 2 o 3 decimales el resultado final.
Reto #4 - Calcular área de un círculo
Solicita a tu usuario que ingrese un número el cual será el radio de un círculo y con este dato calcula el área de un círculo. Si tu lenguaje cuenta con librerías específicas para este propósito haz uso de las mismas.
Reto #5 - Calcular volumen de un cilindro
Pide a tu usuario que indique el radio y la profundidad de un cilindro. Después aplica la fórmula correspondiente para calcular el volumen del cilindro y reduce el resultado a un solo decimal.
Reto #6 - Mostrar enteros y residuos
Pide al usuario que ingrese 2 números, divídelos, muestra un resultado como enteros y además el residuo por separado de una forma que seal fácil de entender al usuario. Por ejemplo: "9 dividido entre 2 es 4 y sobra 1".
Reto #7 - Calcular perímetros y áreas
Muestra un menú con distintas figuras geométricas, por lo menos 3 diferentes (triángulo, cuadrado, pentágono, etc.) Tu usuario debe poder elegir alguna de estas figuras, indicar la distancia de sus lados y mostrar como resultado tanto el perímetro como el área de dicha figura.
Pablo Madriz
Estudiante:O esta muy interesante esto.. Voy a guardar el post para hacerlos como practicas luego. Muchas gracias!!!
Adrian Campos
EstudianteEspero poder compartir mis resultados pronto :)
Yeison Tapasco
EstudianteLista la tarea :) Los invito a que pasen
Jesus Velez Flores
EstudianteAquí dejo mis retos en JavaScript.
// Reto # 1 function multiplicarDecimales(){ let primerNumero = parseFloat(prompt('Dame un numero con decimales')); let segundoNumero = parseFloat(prompt('Dame otro numero con decimales')); let resultado = primerNumero * segundoNumero; console.log(`El resultado de la multiplicacion es: ${resultado}`); } multiplicarDecimales(); // Reto # 2 function reducirDecimales(){ let primerNumero = parseFloat(prompt('Dame un numero con decimales')); let segundoNumero = parseFloat(prompt('Dame otro numero con decimales')); let resultado = primerNumero * segundoNumero; console.log(`El resultado de la multiplicacion es: ${resultado.toFixed(4)}`); } reducirDecimales(); // Reto # 3 function raizCuadradaRedondeadas(){ let numero = parseFloat(prompt('Dame un numero mayor a 20')); if(numero < 20){ alert('Por favor ingrese un valor mayor a 20'); raizCuadradaRedondeadas(); } else{ let raizCuadrada = Math.sqrt(numero); console.log(`La raiz cuadrada redondeada a 3 decimales de ${numero} es: ${raizCuadrada.toFixed(3)}`); } } raizCuadradaRedondeadas(); // Reto # 4 function areaCirculo(){ let radio = parseFloat(prompt('Dame el radio de un circulo')); const EXPONENTE = 2; let areaCirculo = Math.PI * Math.pow(radio, EXPONENTE); console.log(`El area del circulo con ${radio} de radio es: ${areaCirculo.toFixed(3)}`); } areaCirculo(); // Reto # 5 function volumenCilindro(){ let radio = parseFloat(prompt('Dame el radio del cilindro')); let profundidad = parseFloat(prompt('Dame la profundidad del cilindro')); const EXPONENTE = 2; let volumen = Math.PI * Math.pow(radio, EXPONENTE) * profundidad; console.log(`El volumen del cilindro con ${radio} de radio y ${profundidad} de profundidad es: ${volumen.toFixed(1)}`); } volumenCilindro(); // Reto # 6 function mostrarEnterosYRedusiduos(){ let primerNumero = parseFloat(prompt('Dame el primer valor')); let segundoNumero = parseFloat(prompt('Dame el segundo valor')); let resultado = 0; let residuo = 0; if(primerNumero === 0){ console.log('El resultado es: 0'); }else if(segundoNumero === 0){ console.log('El resultado es: Infinito'); }else{ resultado = primerNumero / segundoNumero; if(primerNumero >= segundoNumero){ residuo = primerNumero % segundoNumero; console.log(`${primerNumero} dividido entre ${segundoNumero} es: ${Math.floor(resultado)} y sobra ${residuo.toFixed()}`); }else{ console.log(`${primerNumero} dividido entre ${segundoNumero} es: ${resultado.toFixed(4)}`); } } } mostrarEnterosYRedusiduos(); // Reto # 7 function calcularPerimetrosYAreas(){ let opcion = 0; let perimetro = 0; let area = 0; do{ opcion = parseInt(prompt('BIENVENIDO!!!\n Selecciona una opcion: \n 1.- Cuadrado\n 2.- Circulo\n 3.- Pentagono\n 4.- Salir')); switch(opcion){ case 1: let ladoCuadrado = parseFloat(prompt('CUADRADO\n ¿Cuanto mide un lado del cuadrado en cm?')); perimetro = ladoCuadrado * 4; area = ladoCuadrado * ladoCuadrado; alert(`El perimetro de tu cuadrado es: ${perimetro} cm y su area es: ${area} cm^2`); break; case 2: let radio = parseFloat(prompt('CIRCULO\n ¿Cual es el radio del circulo?')); perimetro = 2 * Math.PI * radio; area = Math.PI * Math.pow(radio, 2); alert(`El perimetro de tu circulo es: ${perimetro} cm y su area es: ${area} cm^2`); break; case 3: let ladoPentagono = parseFloat(prompt('PENTAGONO\n ¿Cuanto mide un lado del pentagono en cm?')); perimetro = ladoPentagono * 5;; // 5: numero de lados, 360: angulo let anguloCentral = 360 / 5; // Math.tan acepta radianes, por lo tanto lo convertimos a grados let apotema = ladoPentagono / (2 * (Math.tan(36 * (Math.PI/ 180)))); area = (5 * ladoPentagono * apotema) / 2; alert(`El perimetro de tu pentagono es: ${perimetro} cm y su area es: ${area} cm^2`); break; case 4: alert('Adios'); break; default: alert('Por favor, selecciona una opcion valida'); break; } }while(opcion != 4); } calcularPerimetrosYAreas();```
Leslie Paz Ore
EstudianteReto cumplido Lenguaje: Python :)
import math print(' B I E N V E N I D O S : ') print('Multiplica 2 numeros: ') #1 , 2 num1=float(input('Ingrese numero con decimales: ')) num2=float(input('Ingrese numero con decimales: ')) def multiplicacion(num1, num2): return round(num1*num2,4) print(multiplicacion(num1, num2)) # 3 print('Raiz cuadrada: ') num3=int(input('Ingrese numero mayor a 20: ')) def cuadrado (num3): return round(math.sqrt(num3), 3) print(cuadrado(num3)) #4 print('Area de la circunferencia: ') def area_circulo(): pi=3.14159265359 r=float(input('Ingrese el radio de la circunferencia: ')) uni=str(input('Ingrese las unidades ( mm, cm, m , etc) :')) A=round(pi*(r**2), 3) print('El area de la circunferencia es aproximadamente {}{}^2'.format(A,uni)) area_circulo() #5 print('volumen del cilindro: ') def volumne_cilindro(): nu1=float(input('Ingrese el radio de la base del cilindro: ')) uni=str(input('Ingrese las unidades ( mm, cm, m , etc) :')) nu2=float(input('Ingrese la altura del cilindro: ')) pi=3.14159265359 Ar=pi*(nu1**2) volumen=round(Ar*nu2, 3) print('El volumne del cilindro es aproximadamente {}{}^3'.format(volumen,uni)) volumne_cilindro() #6 nu1=int(input('Ingrese el primer numero: ')) nu2=int(input('Ingrese el segundo numero: ')) def cociente(nu1, nu2): division= nu1/nu2 residuo=nu1%nu2 print('{} entre {} es {} y sobra {}'.format(nu1,nu2,division,residuo)) cociente(nu1, nu2) #7 FIGURAS=[''' 1 111 11111 1111111 1. lado 1 111111111 lado2 11111111111 1111111111111 111111111111111 base ''' , ''' ____ .-' '-. .' '. ; r ; 2. ; o.......; ; ; ; ; '. .' '-.____.-' ''', ''' e-------f /| /| 3. / | / | a--|----b | | g----|--h | / | / c-------d ''' ] def area_perimetro_TRIANGULO(): base=float(input('Escriba la base del triangulo: ')) lado1=float(input('Escriba la medidad del lado 1 del triangulo: ')) lado2=float(input('Escriba la medidad del lado 2 del triangulo: ')) altura=float(input('Escriba la altura del triangulo: ')) uni=str(input('Ingrese las unidades ( mm, cm, m , etc) :')) A=base*altura per=base+lado1+lado2 print('El area del triangulo es {}{}^2 y el perimetro es {}{}'.format(A,uni, per, uni)) def area_perimetro_CIRCUNFERENCIA(): pi=3.14159265359 r=float(input('Ingrese el radio de la circunferencia: ')) uni=str(input('Ingrese las unidades ( mm, cm, m , etc) :')) A=round(pi*(r**2), 3) per=2*pi*r print('El area de la circunferencia es aproximadamente {}{}^2 y el perimetro es {}{}'.format(A,uni, per, uni)) def area_perimetro_CUBO(): l=float(input('Ingrese la medida del lado del cubo: ')) uni=str(input('Ingrese las unidades ( mm, cm, m , etc) :')) A=l**2 per=6*A print('El area de la cubo es {}{}^2 y el perimetro es {}{}'.format(A,uni, per, uni)) def run(): print(' C A L C U L A R - P E R I M E T R O S - A R E A S ') figura_geometrica=(int(input(''' [1] TRIANGULO [2] CIRCUNFERENCIA [3] CUBO [4] SALIR '''))) if figura_geometrica==1: print(FIGURAS[0]) return area_perimetro_TRIANGULO() if figura_geometrica==2: print(FIGURAS[1]) return area_perimetro_CIRCUNFERENCIA() if figura_geometrica==3: print(FIGURAS[2]) return area_perimetro_CUBO() if figura_geometrica==4: print('Gracias por usar nuestra plataforma') else: print('Opcion Incorrecta, vuelva a intentarlo') run() run()
Franco Losardo
EstudianteHecho en python ==> https://gist.github.com/Franco-Losardo/73a11891e67974d6e5be27482002c7f3
Edgar Oswaldo Vargas Jara
EstudianteLes comparto mi ejercicio aquí:
Y aquí el código:
Saludos a todos =)
Jorge Carrion
EstudianteAl fin los terminé en JavaScript
//RETO 1 const firstNumber = prompt('Por favor ingresa un número con 2 o más decimales') const secondNumber = prompt('Por favor ingresa otró número con 2 o más decimales') const product = (factor1, factor2) => factor1 * factor2 const result = product(firstNumber, secondNumber) console.log(`El producto de ${firstNumber} y ${secondNumber} es ${result}`) //RETO 2 (a 2 dígitos) const resultRound = Math.round(result * 100)/100 console.log(resultRound) //RETO 3 (raiz con redondeo a 2 decimales) const sqrtCalc = () => { const sqrtNum = prompt('Por favor introduce un número mayor que 20') if (sqrtNum > 20) { let sqrtResult = Math.round(Math.sqrt(sqrtNum) * 100) / 100 console.log(`La raíz cuadrada del número que introdujiste es ${sqrtResult}`) } else { alert('Por favor introduce un número mayor a 20') sqrtCalc() } } sqrtCalc() //RETO 4 const radius = prompt('Por favor introduce el radio del círculo') const circleArea = radius => Math.PI * (radius ** 2) const calcArea = circleArea(radius) console.log(`El área de un círculo con radio de ${radius} unidades es ${calcArea} unidades cuadradas`) //RETO 5 const cylVolume = () => { const cylRadius = prompt('Por favor introduce el radio del cilindro (Éste debe ser mayor que 0)') const cylHeight = prompt('Por favor introduce la altura del cilindro (Éste debe ser mayor que 0)') const calcCylVolume = (radius, height) => (Math.PI * (radius ** 2)) * height if (cylRadius <= 0 || cylHeight <= 0) { alert('Por favor introduce valores válidos') cylVolume() } else { const cylinderVolume = Math.round(calcCylVolume(cylRadius, cylHeight) * 100) / 100 console.log(`El volumen de un cilindro de radio ${cylRadius} y altura ${cylHeight} es ${cylinderVolume} unidades cúbicas`) } } cylVolume() //RETO 6 const dividendo = prompt('Introduce el dividendo o número que quieres repartir') const divisor = prompt ('Introduce el divisor o número por el cual dividiremos la cantidad indicada anteriormente') const calcDivision = (dividendo, divisor) => { if (divisor == 0) { console.log('No es posible dividir entre 0') } else { const cociente = Math.trunc(dividendo/divisor) const residuo = dividendo % divisor console.log(`El número ${divisor} cabe ${cociente} veces en ${dividendo} y sobra ${residuo}`) } } calcDivision(dividendo, divisor) //RETO 7 const calcTrianguloRect = () => { const cateto1 = prompt('Introduce la distancia del lado 1') const cateto2 = prompt('Introduce la distancia del lado 2') const hipotenusa = Math.round(Math.sqrt((cateto1 ** 2) + (cateto2 ** 2)) *100) / 100 const perímetro = Number(cateto1) + Number(cateto2) + Number(hipotenusa) const area = (Number(cateto1) + Number(cateto2) / 2) console.log(`El perímetro de un triángulo rectángulo de lados ${cateto1}, ${cateto2} y ${hipotenusa} es ${perímetro} y el área es ${area}`) } const calcTrianguloEqu = () => { const lado = prompt('Introduce la distancia de los lados') const perimetro = lado * 3 const area = (Math.sqrt(3) / 4) * (lado ** 2) console.log(`El perímetro de un triángulo equilátero con lados ${lado} es ${perimetro} y el área es ${area}`) } const calcCirculo = () => { const radio = prompt('Introduce el rádio del círculo') const calcAreaCirculo = Math.PI * (radio ** 2) const calcPerimetroCirculo = 2 * Math.PI * radio console.log(`El perímetro de un circulo de radio ${radio} es ${calcPerimetroCirculo} y el área es ${calcAreaCirculo}`) } const calcCuadrado = () => { const lado = prompt('Introduce la distancia de los lados del cuadrado') const perimetro = lado * 4 const area = lado ** 2 console.log(`El perímetro de un cuadrado con lados de ${lado} es ${perimetro} y el área es ${area}`) } const calcPentagono = () => { const lado = prompt('Introduce el lado del pentágono') const perimetro = lado * 5 const area = 1.72 * (lado ** 2) console.log(`El perímetro de un pentágono con lados de ${lado} es ${perimetro} y el área es ${area}`) } const calcFiguras = () => { const figura = prompt(`Selecciona el número de la figura geométrica que deseas calcular perímetro y área: 1 ----- Triángulo rectángulo. 2 ------Triángulo equilátero (lados iguales). 3 ------ Cuadrado. 4 ------- Círculo. 5 ----- Pentágono.`) switch (figura) { case '1': calcTrianguloRect() break case '2': calcTrianguloEqu() break case '3': calcCuadrado() break case '4': calcCirculo() break case '5': calcPentagono() break default: alert('Introduce una opción válida') calcFiguras() } } calcFiguras()
Miguel Torres
Estudiante🐍 Resultados en Python. :D
Acá encuentras los de esta semana y los pasados: https://github.com/migueltorresio/PythonExercises/tree/master/retos-platzi
Carlos Gutierrez
EstudianteTerminados en Python