Logo Studenta

Ruby01-Solución_ejercicios_de_clase PB

¡Estudia con miles de materiales!

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

Continuar navegando

Materiales relacionados

240 pag.
kupdf net_a-prende-java_ejercicios

ULT

User badge image

Manuel Rodrigues Monameo

240 pag.
JAvA_CON_EJEMPLOS

ULT

User badge image

Manuel Rodrigues Monameo

3 pag.
Ejer_20Tema_2002 2

User badge image

Materiales Generales