Anda di halaman 1dari 10

PROBLEMA 1

EL 14 DE FEBRERO UNA PERSONA DESEA COMPRARLE UN REGALO AL SER QUERIDO QUE MAS
APRECIA EN ESE MOMENTO, SU DILEMA RADICA EN QUE REGALO PUEDE HACERLE, LAS
ALTERNAIVAS QUE TIENE SON LAS SIGUIENTES:

REGALO COSTO
TARJETA S/10.00 A MENOS
CHOCOLATES S/11.00 A S/100-00
FLORES S/101.00 A S/250.00
ANILLO MAS DE S/251.00

SE REQUIERE UN PROGRAMA EN FORTRAN QUE AYUDE A DETERMINAR QUE REGALO SE LE PUEDE


COMPRAR A ESE SER TAN ESPECIAL POR EL DIA DEL AMOR Y LA AMISTAD.

PROGRAMA:

PROGRAM ELECCION

REAL::DINERO

PRINT*,"INGRESE EL DINERO DISPONIBLE"

READ*,DINERO

IF(DINERO<=10)THEN

PRINT*,"COMPRAR TARJETA"

ELSE IF(11<=DINERO .AND. DINERO<=100)THEN

PRINT*,"COMPRAR CHOCOLATE"

ELSE IF(DINERO>=101 .AND. DINERO<=250)THEN

PRINT*,"COMPRAR FLORES"

ELSE IF(DINERO>=250)THEN

PRINT*,"COMPRAR ANILLO"

END IF

END PROGRAM ELECCION

PROBLEMA 2
El dueño de un estacionamiento requiere un programa en fortran que le permita determinar cuànto
debe cobrar por el uso del estacionamiento a sus clientes. Las tarifas que se tienen son las siguientes:

·Las dos primeras horas a s/.5.00 c/u.

·Las siguientes tres a s/.4.00 c/u.

·Las cinco siguientes a s/.3.00 c/u.

·Después de diez horas el costo por cada una es de dos soles.


Program tarifa

Integer:: horas

Print*,” ingrese el numero de horas “

Read*, horas

If(horas<2) then

Costo=2*horas

Else

If (horas<5) then

Costo=10+((horas-2)*4)

Else

If (horas<10) then

Costo=22+((horas-5)*3)

Else

Costo=37+((horas-10)*2)

End if

End if

End if

Print*,” el costo total es “,costo

End program tarifa

PROBLEMA 3
Se tiene el nombre y la edad de tres personas .Se desea saber el nombre y la edad de la
persona de menor edad .Realice un programa en fortran

program edadmin_nombre

real::a,b,c

character(len=30)::nombre1,nombre2,nombre3

print*,"ingrese edad y nombre"

read*,a,nombre1

print*,"ingrese edad y nombre"

read*,b,nombre2
print*,"ingrese edad y nombre"

read*,c,nombre3

if(a<b.and.a<c)then

print*,nombre1,a

end if

if(b<a.and.b<c)then

print*,nombre2,b

end if

if(c<b.and.c<a)then

print*,nombre3,c

end if

end program edadmin_nombre

PROBLEMA 4
Realice un programa en fortran para determinar el costo y el descuento que tendrá un artículo.
Considere que si su precio es mayor o igual a S/.200 se le aplica un descuento del 15%, y si su
precio es mayor a S/.100 pero menor a S/.200, el descuento es del 12%, y si es menor a S/.100,
solo 10%.
PROGRAM DESCUENTO_PRECIO

REAL::PRECIO,COSTO,DESCUENTO

PRINT*,” INGRESE EL PRECIO DEL ARTICULO”

READ*, PRECIO

IF (PRECIO>=200) THEN

DESCUENTO=PRECIO*15/100

COSTO=PRECIO-DESCUENTO

ELSE

IF (PRECIO>=100.AND.PRECIO<200) THEN

DESCUENTO=PRECIO*12/100

COSTO=PRECIO-DESCUENTO

ELSE

IF (PRECIO<100) THEN

DESCUENTO=PRECIO*10/100

COSTO=PRECIO-DESCUENTO

END IF
END IF

END IF

PRINT*,” PRECIO=”, PRECIO

PRINT*,” DESCUENTO= “, DESCUENTO

PRINT*,” COSTO= “, COSTO

END PROGRAM DESCUENTO_COSTO

PROBLEMA 5
El presidente de la república ha decidido estimular a todos los estudiantes de una universidad
mediante la asignación de becas mensuales, para esto se tomarán en consideración los siguientes
criterios:

Para alumnos mayores de 18 años con promedio mayor o igual a 9, la beca será de S/. 2000.0; con
promedio mayor o igual a 7.5, de S/. 1000.0; para los promedios menores de 7.5 pero mayores o
iguales a 6.0, de S/.

500.0; a los demás se les enviará una carta de invitación incitándolos a que estudien más en el
próximo ciclo. A los alumnos de 18 años o menores de esta edad, con promedios mayores o iguales a
9, se les dará S/. 3000.0; con promedios menores a 9 pero mayores o iguales a 8, S/. 2000.0; para los
alumnos con promedios

program bec_mensuales

integer::e

real::p

print*,"ingrese su edad y su promedio"

read*,e,p

if(e>18) then

if(p>=9) then

print*,"la beca sera de 2000 soles"

else

if(p>=7.5 .and. p<9) then

print*,"la beca sera de 1000 soles"

else

if(p>=6 .and. p<7.5) then

print*,"la beca será de 500 soles"

else

print*,"estudie mas el proximo ciclo"


end if

end if

end if

else

if(p>=9) then

print*,"la beca sera de 3000 soles"

else

if(p>=8 .and. p<9) then

print*,"la beca sera de 2000 soles"

else

if(p>=6 .and. p<8) then

print*,"la beca será de 100soles"

else

print*,"estudie mas el proximo ciclo"

end if

end if

end if

end if

end program bec_mensuales

PROBLEMA 6
Cierta empresa proporciona un bono mensual a sus trabajadores, el cual puede ser por su
antigüedad o bien por el monto de su sueldo (el que sea mayor), de la siguiente forma: Cuando la
antigüedad es mayor a 2 años, pero menor a 5, se otorga 20 % de su sueldo; cuando es de 5 años o
más, 30 %. Ahora bien, el bono por concepto de sueldo, si éste es menor a S/. 1000.0, se da 25 % de
éste, cuando éste es mayor e igual a S/. 1000.0, pero menor o igual a S/. 3500.0, se otorga 15% de su
sueldo, para más de S/. 3500.0 se otorga 10%. Realice el programa en fortran para calcular los dos
tipos de bono, asignando el mayor.

PROGRAM BONO_MENSUAL

INTEGER::Ant,Sueld

REAL::Bonomen

REAL::Bonomen2

PRINT*,"Ingrese el tiempo de antiguedad y el sueldo mensual"


READ*,Ant,Sueld

IF(Ant>2.and.Ant<5)THEN

Bonomen=20

ELSE

IF(Ant>=5)THEN

Bonomen=30

ELSE

IF(Sueld<1000)THEN

Bonomen2=25

ELSE

IF(Sueld>=1000.and.Sueld<=3500)THEN

Bonomen2=15

ELSE

IF(Sueld>3500)THEN

Bonomen2=10

END IF

END IF

END IF

END IF

END IF

PRINT*,"El bono mensual segun su antiguedad y su sueldo mensual es",Bonomen,Bonomen2,"%"

END PROGRAM BONO_MENSUAL

PROBLEMA 7
Una compañía de seguros para autos ofrece dos tipos de póliza; cobertura amplia (A) y daños y terceros
(B). para el plan A, la cuota base es de $1200, y para el B, de $950.ambos planes se le carga el 10%de
costo si la persona que conduce tiene habito de beber alcohol, 5%si utiliza lentes,5%si padece alguna
enfermedad como deficiencia cardiaca o diabetes, y si tiene más de 40 años, se le carga el 20%, de lo
contrario solo el 10%.todos estos cargos se realiza sobre el costo base, realice un programa fortran
para determinar cuánto cuesta a una persona contratar una póliza.

PROGRAM tipo_poliza

INTEGER:: edad

CHARACTER(LEN=4):: poliza, al, lent, enf

REAL:: cuota A ,cuota B, cuota final

REAL::resp,resp1,resp2,resp3

Print*,”ingrese el tipo de poliza (A/B)”

Read*,poliza

Print*,”ingrese la edad”

Read*,edad

Print*,”alcohólico (S/N)”

Read*,al

Print*,”usa lentes”

Read*,lent

Print*,”tiene una enfermedad (S/N)”

Read*,enf

Select case (poliza)

Case “A”

If(al==”s”)

Resp=cuotaA*0.1

If(lent==”S”)

Resp1=cuotaA*0.05

If(enf==”s”)

Resp2=cuotaA*0.2

If(edad>40)

Resp3=cuotaA*0.1

ELSE

Resp3=cuotaA*0.1

End if

Case “B”
If(al==”s”)

Resp=cuotaB*0.1

If(lent==”S”)

Resp1=cuotaB*0.05

If(enf==”s”)

Resp2=cuotaB*0.2

If(edad>40)

Resp3=cuotaB*0.1

ELSE

Cuota final=cuotaB+resp+resp1+resp2+resp3

End if

Print*,”el monto a pagar es”,cuota final

End program tipo_poliza

PROBLEMA 8
Elabore un programa en fortran para determinar a qué lugar podrá ir de vacaciones una persona,
considerando que la línea de autobuses “Flecha Veloz” cobra por kilómetro recorrido 0.3soles. Se debe
considerar el costo del pasaje tanto de ida, como de vuelta; los datos que se conocen y que son fijos
son: Moquegua, 750km; Cuzco, 900km; Puno, 1200km; Tacna, 1800km. También se debe considerar
la posibilidad de tener que quedarse en casa.

PROGRAM vacaciones

INTEGER::destino

REAL::total

REAL,PARAMETER::P=0.3

PRINT*,"Ingrese el destino"

READ*,destino

SELECT CASE(destino)

CASE(1)

total=(2*750)*P

PRINT*,"Precio para el viaje a Moquegua es = ",total

CASE(2)

total=(2*900)*P

PRINT*,"Precio para el viaje a Cuzco es = ",total


CASE(3)

total=(2*1200)*P

PRINT*,"Precio para el viaje Puno es = ",total

CASE(4)

total=(2*1800)*P

PRINT*,"Precio para el viaje a Tacna es = ",total

CASE DEFAULT

PRINT*,"Quedarse en casa"

END SELECT

END PROGRAM vacaciones

PROBLEMA 9
Se les dará un bono por antigüedad a los empleados de una tienda. Si tienen un año, se les dará S/.
100; si tienen 2 años, S/. 200, y así sucesivamente hasta los 5 años. Para los que tengan más de 5, el
bono será de S/. 1000. Realice un programa en fortran que permita determinar el bono que recibirá
un trabajador.
F-ELSE CASE

program bono program bono_a


real::b_total,m real::b_total,m
real,parameter::b_base=100.00 real,parameter::b_base=100.00
integer::a integer::a
print*,"Ingresar los anios del trabajador print*,"Ingresar los anios del trabajador
en la empresa"
en la empresa"
read*,a
read*,a
select case (a)
if (a==1)then
case (1,2,3,4,5)
m=1
m=a
elseif(a==2)then
case default
m=2
m=10
elseif(a==3)then
end select
m=3
b_total=b_base*m
elseif(a==4)then
print*,"El trabajador recibira un bono de:
m=4
S/.",b_total
elseif(a==5)then
end program bono_a
m=5
elseif(a>5)then
m=10
end if
b_total=b_base*m
print*,"El trabajador recibira un bono
de: S/.",b_total
end program bono

Anda mungkin juga menyukai