Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
Programación Básica - Unidad 3, Tema 6 2017 Solución de ejercicios de clase (Ruby.01) 1 de 10 Ejercicio 1 Elaborar un programa que pida al usuario dos números enteros, calcule la suma de éstos y la muestre en la pantalla. n1 = gets.to_i n2 = gets.to_i s = n1 + n2 puts 'La suma es: ' + s.to_s Ejercicio 2 Elaborar un programa que pida al usuario las horas trabajadas, el pago por hora, calcule el sueldo neto y lo muestre en la pantalla, sabiendo lo siguiente: Sueldo bruto = Horas trabajadas x Pago por hora. Beneficios = 25% del Sueldo bruto + S/. 200. Descuentos = 10% del Sueldo bruto + S/. 50. Sueldo Neto = Sueldo bruto + Beneficios - Descuentos. h = gets.to_i t = gets.to_f sb = h*t be = 0.25*sb + 200 de = 0.1*sb + 50 sn = sb + be - de puts 'El sueldo neto es: ' + sn.to_s Ejercicio 3 Elaborar un programa que pida al usuario tres números enteros, calcule la suma de éstos y muestre un mensaje en la pantalla indicando si la suma es o no mayor que 50. n1 = gets.to_i n2 = gets.to_i n3 = gets.to_i s = n1 + n2 + n3 if s > 50 puts 'La suma es mayor que 50' else puts 'La suma no es mayor que 50' end Programación Básica - Unidad 3, Tema 6 2017 Solución de ejercicios de clase (Ruby.01) 2 de 10 Ejercicio 4 Elaborar un programa que pida al usuario cuatro notas de un alumno, calcule el promedio y muestre en la pantalla un mensaje indicando si está aprobado o desaprobado. n1 = gets.to_i n2 = gets.to_i n3 = gets.to_i n4 = gets.to_i s = (n1 + n2 + n3 + n4)/4.0 if s >= 10.5 puts 'Aprobado' else puts 'Desaprobado' end Ejercicio 5 Elaborar un programa que pida al usuario dos números: un entero que indique el número de horas trabajadas durante la semana y un real que indique el salario por hora de trabajo; mostrar en la pantalla un mensaje indicando el monto a pagar. Si las horas trabajadas exceden las 48, el exceso deberá pagarse con un incremento del 50%. h = gets.to_i t = gets.to_f if h <= 48 s = h*t else s = 48*t + (h-48)*t*1.5 end puts 'El sueldo a pagar es: ' + s.to_s Ejercicio 6 Elaborar un programa que pida al usuario un número entero e indique en pantalla si el número es par o impar. puts 'Ingrese un número: ' n = gets.to_i if n%2 == 0 puts 'El número es par' else puts 'El número es impar' end Programación Básica - Unidad 3, Tema 6 2017 Solución de ejercicios de clase (Ruby.01) 3 de 10 Ejercicio 7 Elaborar un programa que pida al usuario los siguientes datos de una venta: el nombre del cliente, la cantidad del producto, el precio unitario y el tipo de cliente (A, B o C), luego que calcule el importe bruto, el descuento, el importe final y muestre en pantalla los resultados. El descuento será del 10% si el cliente es de tipo “A” o la cantidad del producto es mayor a 100, sino será de 5%. n = gets.chomp c = gets.to_i p = gets.to_f t = gets.chomp ib = c*p if t=='A' || t=='a' || c>100 des = ib*0.1 else des = ib*0.05 end it = ib - des puts 'El importe bruto es: ' + ib.to_s puts 'El descuento es: ' + des.to_s puts 'El importe total es: ' + it.to_s Ejercicio 8 Elaborar un programa que pida al usuario un número entero (N) y luego muestre en la pantalla los N primeros números enteros (positivos). puts 'Primero con while' n = gets.to_i i = 1 while i<=n puts i i=i+1 end puts 'Ahora con For' n = gets.to_i for i in 1..n puts i end Programación Básica - Unidad 3, Tema 6 2017 Solución de ejercicios de clase (Ruby.01) 4 de 10 Ejercicio 9 Elaborar un programa que muestre en pantalla todos los números pares comprendidos entre 1 y 6525. puts 'Primero con while' i = 1 while i<=6525 if i%2==0 puts i end i=i+1 end puts 'Ahora con For' for i in (2..6525).step(2) puts i end Ejercicio 10 Elaborar un programa que permita determinar la suma de los primeros mil números enteros positivos. puts 'Primero con while' i = 1 s = 0 while i<=1000 s=s+i i=i+1 end puts 'La suma es: '+s.to_s puts 'Ahora con For' s = 0 for i in 1..1000 s=s+i end puts s Programación Básica - Unidad 3, Tema 6 2017 Solución de ejercicios de clase (Ruby.01) 5 de 10 Ejercicio 11 Elaborar un programa que pida al usuario ingresar 10 números enteros, calcule la suma y luego muestre el resultado en la pantalla. puts 'Primero con while' i = 1 s = 0 while i<=10 n=gets.to_i s=s+n i=i+1 end puts 'La suma es: '+s.to_s puts 'Ahora con For' s = 0 for i in 1..10 n=gets.to_i s=s+n end puts s Ejercicio 12 Elaborar un programa que pida al usuario ingresar las edades de varias personas y luego calcule la edad promedio y la muestre en la pantalla. Cada vez que el usuario ingrese una edad, se debe mostrar en la pantalla: "¿Desea continuar (S/N)?” y esperar a que el usuario responda; si éste escribe “N” el programa mostrará el resultado y terminará, de lo contrario pedirá una edad más. i = 0 s = 0 x = 1 while x == 1 n=gets.to_f s=s+n i=i+1 puts 'Desea continuar (S/N)?' a=gets.chomp if a=='s' || a=='S' x=1 else x=0 end end puts 'El promedio es: '+(s/i).to_s Programación Básica - Unidad 3, Tema 6 2017 Solución de ejercicios de clase (Ruby.01) 6 de 10 Ejercicio 13 Elaborar un programa que permita determinar la cantidad de números impares que existen entre N y M (valores enteros ingresados por el usuario, tal que M sea siempre mayor que N), y mostrar el resultado en la pantalla. puts 'Primero con while' n=gets.to_i m=gets.to_i i = n c = 0 while i<=m if i%2 != 0 c=c+1 end i=i+1 end puts 'La cantidad de impares: '+c.to_s puts 'Ahora con For' n=gets.to_i m=gets.to_i c=0 for i in n..m if i%2 != 0 c=c+1 end end puts c Ejercicio 14 Elaborar un programa que permita hacer N veces lo siguiente: pedir al usuario que ingrese un número entero X, calcular su factorial y mostrarlo. n = gets.to_i for i in 1..n puts 'Ingrese número '+i.to_s+': ' x = gets.to_i f = 1 for j in 1..x f = f*j end puts 'Su factorial es: '+f.to_s end
Compartir