Ejercicios Para Estudio No.4 - Resuelto

13
Fundamentos de Programación Ejercicios para estudio No.4 Profesor : Roberto Montero Flores Tema : Unidad 3- Subprogramas y Test Ejercicio 1 El instituto de Inglés BTN programa todos los meses dos exámenes uno escrito y otro oral. Estos exámenes se utilizan para determinar el nivel en el que se encuentran los alumnos con el propósito de asignarles el aula respectiva, pero además para determinar el precio que se debe cobrar ya que cada nivel tiene un precio diferente. Para ello, los niveles se determinan de acuerdo al siguiente cuadro: NIVEL Examen escrito Examen oral Nivel 3 Mayor a 95 puntos Mayor a 75 puntos Nivel 2 Mayor a 95 puntos No mayor a 75 puntos Nivel 1 No es mayor a 95 puntos Cualquier puntaje Dependiendo del nivel asignado se determina el precio del programa mensual de acuerdo a lo siguiente: Nivel 1 el precio es de S/.150.00 Nivel 2 el precio es de S/.250.00 Nivel 3 el precio es de S/.400.00 Desarrollar un subprograma que permita determinar el Nivel del alumno y otro subprograma que determine el precio a cobrar. Ejercicio 2 Debido a los excelentes resultados un restaurante ha decidido ampliar sus ofertas de acuerdo a la siguiente escala de consumo: Consumo Descuento %

description

Fundamentos de Programación UPC

Transcript of Ejercicios Para Estudio No.4 - Resuelto

Page 1: Ejercicios Para Estudio No.4 - Resuelto

Fundamentos de Programación

Ejercicios para estudio No.4

Profesor : Roberto Montero Flores

Tema : Unidad 3- Subprogramas y Test

Ejercicio 1

El instituto de Inglés BTN programa todos los meses dos exámenes uno escrito y otro oral. Estos exámenes se utilizan para determinar el nivel en el que se encuentran los alumnos con el propósito de asignarles el aula respectiva, pero además para determinar el precio que se debe cobrar ya que cada nivel tiene un precio diferente. Para ello, los niveles se determinan de acuerdo al siguiente cuadro:

NIVEL Examen escrito Examen oralNivel 3 Mayor a 95 puntos Mayor a 75 puntosNivel 2 Mayor a 95 puntos No mayor a 75 puntosNivel 1 No es mayor a 95 puntos Cualquier puntaje

Dependiendo del nivel asignado se determina el precio del programa mensual de acuerdo a lo siguiente:

Nivel 1 el precio es de S/.150.00 Nivel 2 el precio es de S/.250.00 Nivel 3 el precio es de S/.400.00

Desarrollar un subprograma que permita determinar el Nivel del alumno y otro subprograma que determine el precio a cobrar.

Ejercicio 2

Debido a los excelentes resultados un restaurante ha decidido ampliar sus ofertas de acuerdo a la siguiente escala de consumo:

Consumo Descuento %Menos o igual a 30.00 10Mayor a 30.00 hasta 60.00 15Mayor a 60.00 hasta 100.00 20Mayor a 100.00 30

Escribir un subprograma java que teniendo como parámetro de entrada el consumo realizado por el cliente nos devuelva el monto a pagar, con el descuento aplicado según la tabla.

Page 2: Ejercicios Para Estudio No.4 - Resuelto

Ejercicio 3

La empresa de turismo “Buen Viaje” desea dar bonificaciones en millas gratis a los viajeros más asiduos. Para ello desea se elabore un subprograma que reciba como parámetros las millas recorridas por la persona, el tipo de viaje y si el pago fue al crédito o contado. Se debe calcular las millas de bonificación de acuerdo a lo siguiente:

Viajes Nacionales:

Entre 100 y 1000 millas la bonificación será de 1.25 Entre 1001 y 2000 millas la bonificación será de 1.50 Entre 2001 y 3000 millas la bonificación será de 1.75 Desde 3001 millas a más la bonificación será de 2.00

Viajes Internacionales:

Entre 1000 y 2000 millas la bonificación será de 1.75 Entre 2001 y 3000 millas la bonificación será de 2.00 Entre 3001 y 4000 millas la bonificación será de 2.25 Desde 4001 millas a más la bonificación será de 2.50

Finalmente el sistema preguntará si el viajero pagó al contado o en cuotas. Si ha sido en cuotas tendrá una “bonificación por pago” de 0.25 y si ha sido al contado entonces tendrá una bonificación de 0.15.

Las millas gratis se calculan mediante la siguiente fórmula:

(Nro de Millas / 50) * bonificación + (Nro de Millas / 25 + bonificación por pago * millas).

Ejercicio 4

En una fábrica de acero, se determina el grado de cada plancha de acero de acuerdo a dos medidas (T1 y T2) que maneja la empresa y de acuerdo a los siguientes criterios.El acero se considera de:

Grado1 si T1 es mayor que 0.95 y T2 es mayor que 0.75; Grado2 si T1 es mayor que 0.95 pero T2 no es mayor que 0.75; Grado3 si T1 no es mayor que 0.95

Desarrollar el subprograma java que permita determinar el Grado de una plancha

Page 3: Ejercicios Para Estudio No.4 - Resuelto

Ejercicio 5

Se solicita escribir un subprograma java que teniendo como parámetros de entrada el modelo, el precio del vehículo y el tipo de motor en centímetros cúbicos (CC) nos dé como resultado el impuesto a cobrar. Considere la siguiente tabla.

Auto Tasa de Impuesto (%)Modelo Tipo de Motor (CC)

Sedán Menos o igual a 1300 10.6

Sedán Entre 1301 y 1500 12.5

Sedán Mayor a 1500 13.4

Camioneta Menos o igual a 2000 14.3

Camioneta Entre 2001 y 3000 15.2

Camioneta Mayor a 3000 16.1

Monterrico. 21 de mayo de 2014

Page 4: Ejercicios Para Estudio No.4 - Resuelto

PREGUNTA 01

def determinarnivel(escrito,oral)if escrito>95 and oral > 75

return 3endif escrito>95 and oral <=75

return 2endif escrito<=95

return 1end

end

def determinarprecio(escrito,oral)nivel=determinarnivel(escrito,oral)if nivel==1

return 150endif nivel==2

return 250endif nivel==3

return 400end

end

#--- zona de test ----

def test_determinarnivel print validate(3, determinarnivel(96,76)) print validate(2, determinarnivel(96,75)) print validate(1, determinarnivel(95,76)) end

def test_determinarprecio print validate(400, determinarprecio(96,76)) print validate(250, determinarprecio(96,75)) print validate(150, determinarprecio(95,76)) end

Page 5: Ejercicios Para Estudio No.4 - Resuelto

def validate (expected, value) expected == value ? "." : "F"end

def test puts "Test de prueba del programa" puts "---------------------------" test_determinarnivel test_determinarprecio puts " "endtest

Page 6: Ejercicios Para Estudio No.4 - Resuelto

PREGUNTA 02

def deterinarconsumo(monto)descuento=0.0if monto<=30

descuento=0.10elsif monto>30 and monto<=60

descuento=0.15elsif monto>60 and monto<=100

descuento=0.20elsif monto>100

descuento=0.30endreturn (monto * (1-descuento)).round(2)

end

#--- zona de test ----

def test_deterinarconsumo print validate(27.00, deterinarconsumo(30.00)) print validate(48.80, deterinarconsumo(61.00)) print validate(42.50, deterinarconsumo(50.00)) print validate(78.40, deterinarconsumo(112.00)) end

def validate (expected, value) expected == value ? "." : "F"end

def test puts "Test de prueba del programa" puts "---------------------------" test_deterinarconsumo puts " "endtest

Page 7: Ejercicios Para Estudio No.4 - Resuelto

PREGUNTA 03

def determinarbonificacion(millas,tipoviaje,tipopago)# tipoviaje --> N=Nacional I=Internacional# tipopago --> C=Contado R=Credito

bonifica1=0.0if tipoviaje=='N'

if millas>=100 and millas<=1000bonifica1=1.25

elsif millas>=1001 and millas<=2000bonifica1=1.50

elsif millas>=2001 and millas<=3000bonifica1=1.75

elsif millas>=3001bonifica1=2.0

endendif tipoviaje=='I'

if millas>=1000 and millas<=2000bonifica1=1.75

elsif millas>=2001 and millas<=3000bonifica1=2.0

elsif millas>=3001 and millas<=4000bonifica1=2.25

elsif millas>=4001bonifica1=2.5

endendif tipopago=='C'

bonifica2=0.15endif tipopago=='R'

bonifica2=0.25endbonificacion=((millas/50.0)*bonifica1) + (millas/25.0 + bonifica2*millas)return bonificacion.round(2)

end

Page 8: Ejercicios Para Estudio No.4 - Resuelto

#--- zona de test ----

def test_determinarbonificacion print validate(9.50, determinarbonificacion(50,'N','C'))

print validate(43.0, determinarbonificacion(200,'N','C'))print validate(812.5, determinarbonificacion(2500,'N','R'))

print validate(14.50, determinarbonificacion(50,'I','R'))print validate(38.0, determinarbonificacion(200,'I','C'))print validate(825.0, determinarbonificacion(2500,'I','R'))

end

def validate (expected, value) expected == value ? "." : "F"end

def test puts "Test de prueba del programa" puts "---------------------------" test_determinarbonificacion puts " "endtest

Page 9: Ejercicios Para Estudio No.4 - Resuelto

PREGUNTA 04

def determinargrado(t1,t2)grado=""if t1>0.95 and t2>0.75

grado="grado1"endif t1>0.95 and t2<=0.75

grado="grado2"endif t1<=0.95

grado="grado3"endreturn grado

end

#--- zona de test ----

def test_determinargrado print validate("grado1", determinargrado(0.96,0.76)) print validate("grado2", determinargrado(0.96,0.75)) print validate("grado3", determinargrado(0.95,0.77)) print validate("grado2", determinargrado(1.95,0.0))end

def validate (expected, value) expected == value ? "." : "F"end

def test puts "Test de prueba del programa" puts "---------------------------" test_determinargrado puts " "endtest

Page 10: Ejercicios Para Estudio No.4 - Resuelto

PREGUNTA 05

def deterinarimpuesto(modelo,precio,tipomotor)# modelo --> S=sedan C=camionetatasa=0.0if modelo=='S'

if tipomotor<=1300tasa=0.106

elsif tipomotor>=1301 and tipomotor<=1500tasa=0.125

elsif tipomotor>1500tasa=0.134

endendif modelo=='C'

if tipomotor<=2000tasa=0.143

elsif tipomotor>=2001 and tipomotor<=3000tasa=0.152

elsif tipomotor>3000tasa=0.161

endendimpuesto = precio * tasareturn impuesto.round(2)

end

#--- zona de test ----

def test_deterinarimpuesto print validate(2050.20, deterinarimpuesto('S',15300.00,2000))

print validate(1303.80, deterinarimpuesto('S',12300.00,1200))print validate(4105.50, deterinarimpuesto('C',25500.00,3500))print validate(2781.60, deterinarimpuesto('C',18300.00,2500))

end

def validate (expected, value) expected == value ? "." : "F"end

Page 11: Ejercicios Para Estudio No.4 - Resuelto

def test puts "Test de prueba del programa" puts "---------------------------" test_deterinarimpuesto puts " "endtest