SlideShare una empresa de Scribd logo
1 de 23
Descargar para leer sin conexión
TAREA 03
Cada pregunta debe ser resuelta con DO conocido y ciclo do while
4.1 Un profesor tiene un salario inicial de $1500, y recibe un incremento de 10 % anual durante 6 años.
¿Cuál es su salario al cabo de 6 años? ¿Qué salario ha recibido en cada uno de los 6 años? Realice el
programa.
PROGRAM SALARIO
REAL S
INTEGER N
S=1500
DO N=1,6
S=S+(S*0.1)
PRINT*, "EL SALARIO EN EL AÑO",N," ES: $",S
END DO
PRINT*, "EL SALARIO EN 6 AÑOS ES: $",S
END PROGRAM
4.2 “El náufrago satisfecho” ofrece hamburguesas sencillas (S), dobles (D) y triples (T), las cuales
tienen un costo de $20, $25 y $28 respectivamente. La empresa acepta tarjetas de crédito con un
cargo de 5
% sobre la compra. Suponiendo que los clientes adquieren N hamburguesas, las cuales pueden ser de
diferente tipo, realice un programa para determinar cuánto deben pagar
PROGRAM HAMBURGUESA
INTEGER N,TIPO,TIPO_PAGO
REAL TOTAL, CARGO
PRINT*, "INGRESA EL NUMERO DE HAMBURGUESAS"
READ*, N
DO WHILE(TIPO<1.OR.TIPO>3)
PRINT*,"INGRESA EL TIPO DE HAMBURGUESA"
PRINT*,"1 = SENCILLA $20"
PRINT*,"2 = DOBLE $25"
PRINT*,"3 = TRIPLE $28"
READ*, TIPO
IF(TIPO==1)THEN
TOTAL=N*20
ELSEIF(TIPO==2)THEN
TOTAL=0*25
ELSEIF(TIPO==3)THEN
TOTAL=0*28
ELSE
PRINT*,"INGRESA UN TIPO DE HAMBURGUESA VALIDO"
END IF
END DO
DO WHILE(TIPO_PAGO<1.OR.TIPO_PAGO>2)
PRINT*,"INGRESA EL METODO DE PAGO",TIPO_PAGO
PRINT*,"1 = OTRO MEDIO DE PAGO"
PRINT*,"2 = TARJETA DE CREDITO"
READ*, TIPO_PAGO
IF(TIPO_PAGO==1)THEN
PRINT*,"EL TOTAL A PAGAR ES: $",TOTAL
ELSEIF(TIPO_PAGO==2)THEN
CARGO=TOTAL*0.05
PRINT*,"EL TOTAL A PAGAR ES: $",TOTAL+CARGO
PRINT*,"EL CARGO APLICADO ES: $",CARGO
ELSE
PRINT*,"INGRESE UN TIPO DE PAGO CORRECTO"
END IF
END DO
END PROGRAM
4.3 Se requiere un programa para determinar, de N cantidades, cuántas son cero, cuántas son
menores a cero, y cuántas son mayores a cero.
PROGRAM CANTIDADES
INTEGER X, TOTAL, N, CERO, MENOR, MAYOR
PRINT*,"DIGITAR EL TOTAL DE NUMEROS"
READ*,TOTAL
X=1
MENOR=0
MAYOR=0
DO WHILE(X<=TOTAL)
PRINT*,"INGRESA UN NUMERO"
READ*,N
IF(N<0)THEN
MENOR=MENOR+1
ELSEIF(N>0)THEN
MAYOR=MAYOR+1
ELSE
CERO=CERO+1
END IF
X=X+1
END DO
PRINT*,"EL TOTAL DE NUMEROS MENORES A CERO ES:",MENOR
PRINT*,"EL TOTAL DE NUMEROS IGUALES A CERO ES:",CERO
PRINT*,"EL TOTAL DE NUMEROS MAYORES A CERO ES:",MAYOR
END PROGRAM
4.4 Una compañía fabrica focos de colores (verdes, blancos y rojos). Se desea contabilizar, de un
lote de N focos, el número de focos de cada color que hay en existencia. Desarrolle un programa para
determinar esto.
PROGRAM FOCOS
IMPLICIT NONE
INTEGER N, I, VERDE, BLANCO, ROJO
CHARACTER(10) COLOR
VERDE = 0
BLANCO = 0
ROJO = 0
PRINT *, "INGRESE EL TOTAL DE FOCOS: "
READ *, N
DO I = 1,N
PRINT *, "INGRESE EL COLOR DEL FOCO ", I, " (VERDE, BLANCO O ROJO): "
READ *, COLOR
SELECT CASE (COLOR)
CASE ("VERDE")
VERDE = VERDE + 1
CASE ("BLANCO")
BLANCO = BLANCO + 1
CASE ("ROJO")
ROJO = ROJO + 1
CASE DEFAULT
PRINT *, "COLOR INVALIDO."
END SELECT
END DO
PRINT *, "CANTIDAD DE FOCOS VERDES: ", VERDE
PRINT *, "CANTIDAD DE FOCOS BLANCOS: ", BLANCO
PRINT *, "CANTIDAD DE FOCOS ROJOS: ", ROJO
END PROGRAM
4.5 Se requiere un programa para determinar cuánto ahorrará en pesos una persona
diariamente, y en un año, si ahorra 3¢ el primero de enero, 9¢ el dos de enero, 27¢ el 3 de enero y así
sucesivamente todo el año.
PROGRAM AHORRO
INTEGER I
REAL A,B
A=0
DO I = 1,365
A=A+(3**I)
PRINT *, "EL AHORRO EN EL DIA ", I, "ES : ", A," CENTAVOS"
END DO
PRINT *, "EL AHORRO ANUAL SERA: ",A," CENTAVOS"
B=A/100
PRINT *, "EL AHORRO ANUAL SERA: ",B," PESOS"
END PROGRAM
4.6 Realice el programa para determinar cuánto pagará una persona que adquiere N artículos, los
cuales están de promoción. Considere que si su precio es mayor o igual a $200 se le aplica un
descuento de 15%, y si su precio es mayor a $100 pero menor a $200, el descuento es de 12%; de lo
contrario, sólo se le aplica 10%. Se debe saber cuál es el costo y el descuento que tendrá cada uno de
los artículos y finalmente cuánto se pagará por todos los artículos obtenidos.
PROGRAM DESCUENTO
INTEGER N, I
REAL P, D, TOTAL_PAGAR
TOTAL_PAGAR = 0
PRINT *, "INGRESE LA CANTIDAD DE ARTICULOS A ADQUIRIR: "
READ *, N
DO I = 1, N
PRINT *, "INGRESE EL PRECIO DEL ARTICULO ", I
READ *, P
IF (P >= 200) THEN
D = P * 0.15
ELSEIF (P > 100) THEN
D = P * 0.12
ELSE
D = P * 0.10
END IF
TOTAL_PAGAR = TOTAL_PAGAR + (P-D)
PRINT *, "ARTICULO ", I
PRINT *, "PRECIO: $", P
PRINT *, "DESCUENTO: $", D
PRINT *, "TOTAL A PAGAR: $", P-D
END DO
PRINT *, "TOTAL A PAGAR POR TODOS LOS ARTICULOS: $", TOTAL_PAGAR
END PROGRAM
4.7 Un cliente de un banco deposita equis cantidad de pesos cada mes en una cuenta de ahorros.
La cuenta percibe un interés fijo durante un año de 10 % anual. Realice un programa para determinar
el total de la inversión final de cada año en los próximos N años.
PROGRAM BANCO
INTEGER A,X
REAL H, T, I
PRINT*,"INGRESA LOS AÑOS DE AHORRO"
READ*, A
T=0
I=0
IF(A>0)THEN
DO X = 1,12
PRINT*,"INGRESA EL AHORRO DEL MES", X
READ*,H
T=T+H
END DO
I = I+(T*0.10)
A = A-1
PRINT*,"EL INTERES ANUAL ES: $",I
PRINT*,"LA INVERSION FINAL ES: $",T+I
END IF
END PROGRAM
4.8 Los directivos de equis escuela requieren determinar cuál es la edad promedio de cada uno
de los M salones y cuál es la edad promedio de toda la escuela. Realice un programq para
determinar estos promedios.
PROGRAM PROMEDIO_EDADES
INTEGER I, J, M, N
REAL EDAD, SUMA, PROMEDIO_SALON, PROMEDIO_ESCUELA
PRINT*, "INGRESE LA CANTIDAD DE SALONES:"
READ*, M
PRINT*, "INGRESE LA CANTIDAD DE ESTUDIANTES POR SALON:"
READ*, N
DO I = 1, M
SUMA = 0
DO J = 1, N
PRINT*,"INGRESE LA EDAD DEL ESTUDIANTE ", J, " DEL SALON ", I
READ*, EDAD
SUMA = SUMA + EDAD
END DO
PROMEDIO_SALON = SUMA / N
PRINT*, "LA EDAD PROMEDIO DEL SALON ", I, " ES: ", PROMEDIO_SALON
PROMEDIO_ESCUELA = PROMEDIO_ESCUELA + PROMEDIO_SALON
END DO
PROMEDIO_ESCUELA = PROMEDIO_ESCUELA / M
PRINT*, "LA EDAD PROMEDIO DE TODA LA ESCUELA ES: ", PROMEDIO_ESCUELA
END PROGRAM
4.9 Realice un programa para obtener una función exponencial, la cual está dada por:
PROGRAM EXPONENCIAL
REAL X, E, F
INTEGER N, A, C
PRINT *, "INGRESA LAS REPETICIONES DE LA SERIE"
READ *, N
PRINT *, "INGRESA EL VALOR DE X"
READ *, X
E = 0
DO A=1,N
C=1
F=1
IF (C==A) THEN
F=F*C
C=C+1
END IF
E=E+(X**A)/F
END DO
PRINT *,"EL RESULTADO DE LA FUNCION ES:", E+1
END PROGRAM
4.10 Se desea saber el total de una caja registradora de un almacén, se conoce el número de
billetes y monedas, así como su valor. Realice un programa para determinar el total.
PROGRAM CAJA_REGISTRADORA
INTEGER N_BILLETES, N_MONEDAS, VALOR_BILLETES, VALOR_MONEDAS, TOTAL
PRINT *,"INTRODUZCA LA CANTIDAD DE BILLETES:"
READ*, N_BILLETES
PRINT*, "INTRODUZCA EL VALOR DE CADA BILLETE:"
READ*, VALOR_BILLETES
PRINT*, "INTRODUZCA LA CANTIDAD DE MONEDAS:"
READ*, N_MONEDAS
PRINT*, "INTRODUZCA EL VALOR DE CADA MONEDA:"
READ*, VALOR_MONEDAS
TOTAL = (N_BILLETES * VALOR_BILLETES) + (N_MONEDAS * VALOR_MONEDAS)
PRINT*, "EL TOTAL DE LA CAJA REGISTRADORA ES:",TOTAL
END PROGRAM
4.11 Un vendedor ha realizado N ventas y desea saber cuántas fueron por 10,000 o menos,
cuántas fueron por más de 10,000 pero por menos de 20,000, y cuánto fue el monto de las ventas de
cada una y el monto global. Realice un programa para determinar los totales.
PROGRAM VENTAS
INTEGER N, I, VENTAS1, VENTAS2
REAL MONTO, MONTO1, MONTO2, MONTO_TOTAL
PRINT*, "INGRESE LA CANTIDAD DE VENTAS: "
READ*, N
VENTAS1 = 0
VENTAS2 = 0
MONTO1 = 0
MONTO2 = 0
MONTO_TOTAL = 0
DO I = 1, N
PRINT*, "INGRESE EL MONTO DE LA VENTA ", I, ": "
READ*, MONTO
MONTO_TOTAL = MONTO_TOTAL + MONTO
IF (MONTO <= 10000.0) THEN
VENTAS1 = VENTAS1 + 1
MONTO1 = MONTO1 + MONTO
ELSEIF (MONTO < 20000.0) THEN
VENTAS2 = VENTAS2 + 1
MONTO2 = MONTO2 + MONTO
END IF
END DO
PRINT*, "VENTAS POR 10,000 O MENOS: ", VENTAS1
PRINT*, "MONTO DE VENTAS POR 10,000 O MENOS: ", MONTO1
PRINT*, "VENTAS POR MÁS DE 10,000 PERO POR MENOS DE 20,000: ", VENTAS2
PRINT*, "MONTO DE VENTAS POR MÁS DE 10,000 PERO POR MENOS DE 20,000: ", MONTO2
PRINT*, "MONTO TOTAL DE LAS VENTAS: ", MONTO_TOTAL
END PROGRAM
4.12 Realice un programa para leer las calificaciones de N alumnos y determine el número de
aprobados y reprobados.
PROGRAM CALIFICACIONES
INTEGER N, I, APROBADOS, REPROBADOS
REAL CALIFICACION
PRINT*, "INGRESE LA CANTIDAD DE ALUMNOS: "
READ*, N
APROBADOS = 0
REPROBADOS = 0
DO I = 1, N
PRINT*, "INGRESE LA CALIFICACION DEL ALUMNO ", I, ": "
READ*, CALIFICACION
IF (CALIFICACION >= 11) THEN
APROBADOS = APROBADOS + 1
ELSE
REPROBADOS = REPROBADOS + 1
END IF
END DO
PRINT*, "NUMERO DE ALUMNOS APROBADOS: ", APROBADOS
PRINT*, "NUMERO DE ALUMNOS REPROBADOS: ", REPROBADOS
END PROGRAM
4.13 Realice un programa que determine el sueldo semanal de N trabajadores considerando que
se les descuenta 5% de su sueldo si ganan entre 0 y 150 pesos. Se les descuenta 7% si ganan más de
150 pero menos de 300, y 9% si ganan más de 300 pero menos de 450. Los datos son horas
trabajadas, sueldo por hora y nombre de cada trabajador.
PROGRAM SUELDO_TRABAJADORES
INTEGER N, I
REAL HORAS, SUELDO_HORA, SALARIO, DESCUENTO, SUELDO_SEMANAL
CHARACTER(30) NOMBRE
PRINT*, "INGRESE LA CANTIDAD DE TRABAJADORES: "
READ*, N
DO I = 1, N
PRINT*, "INGRESE EL NOMBRE DEL TRABAJADOR ", I, ": "
READ*, NOMBRE
PRINT*, "INGRESE LAS HORAS TRABAJADAS POR ", NOMBRE, ": "
READ*, HORAS
PRINT*, "INGRESE EL SUELDO POR HORA DE ", NOMBRE, ": "
READ*, SUELDO_HORA
SALARIO = HORAS * SUELDO_HORA
IF (SALARIO <= 150.0) THEN
DESCUENTO = SALARIO * 0.05
ELSE IF (SALARIO > 150.0 .AND. SALARIO < 300.0) THEN
DESCUENTO = SALARIO * 0.07
ELSE IF (SALARIO >= 300.0 .AND. SALARIO < 450.0) THEN
DESCUENTO = SALARIO * 0.09
ELSE
DESCUENTO = 0.0
END IF
SUELDO_SEMANAL = SALARIO - DESCUENTO
PRINT*, "EL SUELDO SEMANAL DE ", NOMBRE, " ES DE ", SUELDO_SEMANAL, " PESOS."
END DO
END PROGRAM
4.14 Realice un programa donde, dado un grupo de números naturales positivos, calcule e
imprima el cubo de estos números.
PROGRAM CUBO_NUMEROS
INTEGER N, I
REAL NUM, CUBO
PRINT*, "INGRESE LA CANTIDAD DE NUMEROS A CALCULAR: "
READ*, N
DO I = 1, N
PRINT*, "INGRESE EL NUMERO ", I, ": "
READ*, NUM
CUBO = NUM ** 3
PRINT*, "EL CUBO DEL NUMERO ", NUM, " ES ", CUBO, "."
END DO
END PROGRAM
4.15 Realice un programa para obtener la tabla de multiplicar de un entero K comenzando desde el 1.
PROGRAM TABLA_MULTIPLICAR
INTEGER K, I, PRODUCTO
PRINT*, "INGRESE UN NUMERO PARA GENERAR SU TABLA DE MULTIPLICAR: "
READ*, K
DO I = 1, 10
PRODUCTO = K * I
PRINT*, K, " X ", I, " = ", PRODUCTO
END DO
END PROGRAM
4.16 En 1961, una persona vendió las tierras de su abuelo al gobierno por la cantidad de $1500.
Suponga que esta persona ha colocado el dinero en una cuenta de ahorros que paga 15% anual.
¿Cuánto vale ahora su inversión? P(1+i)n
. Realice un programa para obtener este valor .
PROGRAM VALOR_INVERSION
REAL INVERSION_INICIAL, TASA_INTERES, VALOR_ACTUAL
INTEGER ANIOS_INVERSION
PRINT*, "INGRESE LA INVERSION INICIAL: "
READ*, INVERSION_INICIAL
PRINT*, "INGRESE LA TASA DE INTERES ANUAL (EN PORCENTAJE): "
READ*, TASA_INTERES
PRINT*, "INGRESE EL NÚMERO DE AÑOS DE LA INVERSION: "
READ*, ANIOS_INVERSION
VALOR_ACTUAL = INVERSION_INICIAL * (1 + TASA_INTERES/100) ** ANIOS_INVERSION
PRINT*, "EL VALOR ACTUAL DE LA INVERSION ES: $", VALOR_ACTUAL
END PROGRAM
4.17 El gerente de una compañía automotriz desea determinar el impuesto que va a pagar por
cada uno de los automóviles que posee, además del total que va a pagar por cada categoría y por
todos los vehículos, basándose en la siguiente clasificación:
Los vehículos con clave 1 pagan 10% de su valor.
Los vehículos con clave 2 pagan 7% de su valor.
Los vehículos con clave 3 pagan 5% de su valor.
Realice un programa para obtener la información. Los datos son la clave y costo de cada uno.
PROGRAM IMPUESTO_AUTOMOVILES
INTEGER CLAVE, N, I
REAL COSTO, IMPUESTO, TOTAL_IMPUESTOS, TOTAL_COSTOS
TOTAL_IMPUESTOS = 0.0
TOTAL_COSTOS = 0.0
PRINT*,"INGRESE LA CANTIDAD DE VEHICULOS:"
READ*, N
DO I = 1, N
PRINT*,"INGRESE LA CLAVE Y COSTO DEL VEHICULO ", I
READ*, CLAVE, COSTO
SELECT CASE (CLAVE)
CASE (1)
IMPUESTO = 0.1 * COSTO
CASE (2)
IMPUESTO = 0.07 * COSTO
CASE (3)
IMPUESTO = 0.05 * COSTO
CASE DEFAULT
IMPUESTO = 0.0
END SELECT
TOTAL_IMPUESTOS = TOTAL_IMPUESTOS + IMPUESTO
TOTAL_COSTOS = TOTAL_COSTOS + COSTO
PRINT*, "EL IMPUESTO A PAGAR POR EL VEHICULO ", I, " ES: ", IMPUESTO
END DO
PRINT*, "EL TOTAL DE IMPUESTOS A PAGAR ES: ", TOTAL_IMPUESTOS
PRINT*, "EL COSTO TOTAL DE LOS VEHICULOS ES: ", TOTAL_COSTOS
END PROGRAM
4.18 Realice un programa para obtener el seno de un ángulo
PROGRAM SENO_ANGULO
IMPLICIT NONE
REAL :: X, SENO, TERMINO, SIGNO
INTEGER :: N, I, J, FACTORIAL
WRITE(*,*) 'INGRESE EL ÁNGULO EN RADIANES:'
READ(*,*) X
WRITE(*,*) 'INGRESE EL NÚMERO DE TÉRMINOS A UTILIZAR:'
READ(*,*) N
SENO = 0.0
SIGNO = 1.0
DO I = 0, N-1
FACTORIAL = 1
DO J = 1, 2*I+1
FACTORIAL = FACTORIAL * J
END DO
TERMINO = SIGNO * X**(2*I+1) / REAL(FACTORIAL)
SENO = SENO + TERMINO
SIGNO = -SIGNO
END DO
WRITE(*,*) 'EL SENO DE ', X, ' ES: ', SENO
END PROGRAM
4.19 Realice un programa para determinar qué cantidad de dinero hay en un monedero,
considerando que se tienen monedas de diez, cinco y un peso, y billetes de diez, veinte y cincuenta
pesos.
PROGRAM MONEDERO
INTEGER MONEDAS10, MONEDAS5, MONEDAS1, BILLETES10, BILLETES20, BILLETES50, TOTAL
MONEDAS10 = 0
MONEDAS5 = 0
MONEDAS1 = 0
BILLETES10 = 0
BILLETES20 = 0
BILLETES50 = 0
TOTAL = 0
DO
PRINT *, "INGRESE LA CANTIDAD DE MONEDAS DE 10 PESOS: "
READ *, MONEDAS10
IF (MONEDAS10 >= 0) EXIT
PRINT *, "CANTIDAD INVÁLIDA, INTENTE DE NUEVO."
END DO
DO
PRINT *, "INGRESE LA CANTIDAD DE MONEDAS DE 5 PESOS: "
READ *, MONEDAS5
IF (MONEDAS5 >= 0) EXIT
PRINT *, "CANTIDAD INVÁLIDA, INTENTE DE NUEVO."
END DO
DO
PRINT *, "INGRESE LA CANTIDAD DE MONEDAS DE 1 PESO: "
READ *, MONEDAS1
IF (MONEDAS1 >= 0) EXIT
PRINT *, "CANTIDAD INVÁLIDA, INTENTE DE NUEVO."
END DO
DO
PRINT *, "INGRESE LA CANTIDAD DE BILLETES DE 10 PESOS: "
READ *, BILLETES10
IF (BILLETES10 >= 0) EXIT
PRINT *, "CANTIDAD INVÁLIDA, INTENTE DE NUEVO."
END DO
DO
PRINT *, "INGRESE LA CANTIDAD DE BILLETES DE 20 PESOS: "
READ *, BILLETES20
IF (BILLETES20 >= 0) EXIT
PRINT *, "CANTIDAD INVÁLIDA, INTENTE DE NUEVO."
END DO
DO
PRINT *, "INGRESE LA CANTIDAD DE BILLETES DE 50 PESOS: "
READ *, BILLETES50
IF (BILLETES50 >= 0) EXIT
PRINT *, "CANTIDAD INVÁLIDA, INTENTE DE NUEVO."
END DO
TOTAL = MONEDAS10*10 + MONEDAS5*5 + MONEDAS1 + BILLETES10*10 + BILLETES20*20 +
BILLETES50*50
PRINT *, "EL TOTAL DE DINERO EN EL MONEDERO ES: $", TOTAL
END PROGRAM
4.20 El banco “Bandido de peluche” desea calcular para cada uno de sus N clientes su saldo actual,
su pago mínimo y su pago para no generar intereses. Además, quiere calcular el monto de lo que
ganó por concepto interés con los clientes morosos. Los datos que se conocen de cada cliente son:
saldo anterior, monto de las compras que realizó y pago que depositó en el corte anterior. Para
calcular el pago mínimo se considera 15% del saldo actual, y el pago para no generar intereses
corresponde a 85% del saldo actual, considerando que el saldo actual debe incluir 12% de los
intereses causados por no realizar el pago mínimo y $200 de multa por el mismo motivo. Realice el
programa.
PROGRAM BANCO_BANDIDO
IMPLICIT NONE
INTEGER N, I
REAL SALDO_ANTERIOR, COMPRAS_REALIZADAS, PAGO_ANTERIOR, SALDO_ACTUAL, PAGO_MINIMO,
PAGO_SIN_INTERES, INTERESES_CAUSADOS, MULTA, GANANCIA_INTERES
CHARACTER(10) NOMBRE_CLIENTE
PRINT*, "INGRESE LA CANTIDAD DE CLIENTES A PROCESAR:"
READ(*,*) N
DO I = 1, N
PRINT*, "INGRESE EL NOMBRE DEL CLIENTE:"
READ(*,*) NOMBRE_CLIENTE
PRINT*, "INGRESE EL SALDO ANTERIOR DEL CLIENTE ", NOMBRE_CLIENTE, ":"
READ(*,*) SALDO_ANTERIOR
PRINT*, "INGRESE EL MONTO DE COMPRAS REALIZADAS POR EL CLIENTE ", NOMBRE_CLIENTE, ":"
READ(*,*) COMPRAS_REALIZADAS
PRINT*, "INGRESE EL PAGO DEPOSITADO POR EL CLIENTE ", NOMBRE_CLIENTE, " EN EL CORTE
ANTERIOR:"
READ(*,*) PAGO_ANTERIOR
SALDO_ACTUAL = SALDO_ANTERIOR + COMPRAS_REALIZADAS - PAGO_ANTERIOR
PAGO_MINIMO = 0.15 * SALDO_ACTUAL
INTERESES_CAUSADOS = 0.12 * SALDO_ACTUAL
MULTA = 200.0
PAGO_SIN_INTERES = 0.85 * SALDO_ACTUAL + INTERESES_CAUSADOS + MULTA
IF (SALDO_ACTUAL < PAGO_MINIMO) THEN
GANANCIA_INTERES = GANANCIA_INTERES + INTERESES_CAUSADOS + MULTA
END IF
PRINT*, "-------------------------------------------------"
PRINT*, "INFORMACIÓN DEL CLIENTE ", NOMBRE_CLIENTE
PRINT*, "SALDO ANTERIOR: $", SALDO_ANTERIOR
PRINT*, "COMPRAS REALIZADAS: $", COMPRAS_REALIZADAS
PRINT*, "PAGO ANTERIOR: $", PAGO_ANTERIOR
PRINT*, "SALDO ACTUAL: $", SALDO_ACTUAL
PRINT*, "PAGO MÍNIMO: $", PAGO_MINIMO
PRINT*, "PAGO SIN GENERAR INTERESES: $", PAGO_SIN_INTERES
PRINT*, "-------------------------------------------------"
END DO
PRINT*, "LA GANANCIA POR INTERESES CON CLIENTES MOROSOS ES DE $", GANANCIA_INTERES
END PROGRAM

Más contenido relacionado

Similar a TAREA 03

Algoritmo
AlgoritmoAlgoritmo
Algoritmodayanib
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmodayanib
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmodayanib
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmodayanib
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmodayanib
 
Primer problema
Primer problemaPrimer problema
Primer problemarobjess24
 
Ejercicios resueltos
Ejercicios resueltosEjercicios resueltos
Ejercicios resueltosfermodcor
 
Mormorejera
MormorejeraMormorejera
MormorejeraCCCCC
 
Taller de algoritmos
Taller de algoritmosTaller de algoritmos
Taller de algoritmos10-02
 
EJERCICIOS DE ALGORITMOS RESUELTOS
EJERCICIOS DE ALGORITMOS RESUELTOS EJERCICIOS DE ALGORITMOS RESUELTOS
EJERCICIOS DE ALGORITMOS RESUELTOS Luis Eduardo
 
Taller de algoritmos
Taller de algoritmosTaller de algoritmos
Taller de algoritmos10-02
 
02 Ejercicios Resueltos diagramas de flujo
02 Ejercicios Resueltos diagramas de flujo02 Ejercicios Resueltos diagramas de flujo
02 Ejercicios Resueltos diagramas de flujoTete Alar
 
EJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOSEJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOS1002pc3
 
Ii y iii corte ejercicios de algoritmos_secuenciales_y_condicionales_ingenieria
Ii y iii corte ejercicios de algoritmos_secuenciales_y_condicionales_ingenieriaIi y iii corte ejercicios de algoritmos_secuenciales_y_condicionales_ingenieria
Ii y iii corte ejercicios de algoritmos_secuenciales_y_condicionales_ingenieriatammyrodriguez2010
 

Similar a TAREA 03 (20)

Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Primer problema
Primer problemaPrimer problema
Primer problema
 
Ejercicios resueltos
Ejercicios resueltosEjercicios resueltos
Ejercicios resueltos
 
Mormorejera
MormorejeraMormorejera
Mormorejera
 
Ejercicios
EjerciciosEjercicios
Ejercicios
 
Taller de algoritmos
Taller de algoritmosTaller de algoritmos
Taller de algoritmos
 
EJERCICIOS DE ALGORITMOS RESUELTOS
EJERCICIOS DE ALGORITMOS RESUELTOS EJERCICIOS DE ALGORITMOS RESUELTOS
EJERCICIOS DE ALGORITMOS RESUELTOS
 
Ejemplos de cómo realizarlosavanzado
Ejemplos de cómo realizarlosavanzadoEjemplos de cómo realizarlosavanzado
Ejemplos de cómo realizarlosavanzado
 
Taller de algoritmos
Taller de algoritmosTaller de algoritmos
Taller de algoritmos
 
Algoritmos con PSeInt
Algoritmos con PSeIntAlgoritmos con PSeInt
Algoritmos con PSeInt
 
pseudocodigos ejemplos
 pseudocodigos ejemplos  pseudocodigos ejemplos
pseudocodigos ejemplos
 
02 Ejercicios Resueltos diagramas de flujo
02 Ejercicios Resueltos diagramas de flujo02 Ejercicios Resueltos diagramas de flujo
02 Ejercicios Resueltos diagramas de flujo
 
Diagrama de flujo
Diagrama de flujoDiagrama de flujo
Diagrama de flujo
 
EJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOSEJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOS
 
Ii y iii corte ejercicios de algoritmos_secuenciales_y_condicionales_ingenieria
Ii y iii corte ejercicios de algoritmos_secuenciales_y_condicionales_ingenieriaIi y iii corte ejercicios de algoritmos_secuenciales_y_condicionales_ingenieria
Ii y iii corte ejercicios de algoritmos_secuenciales_y_condicionales_ingenieria
 
Stiven veliz
Stiven velizStiven veliz
Stiven veliz
 

Último

trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...AlanCedillo9
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 

Último (19)

trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 

TAREA 03

  • 1. TAREA 03 Cada pregunta debe ser resuelta con DO conocido y ciclo do while 4.1 Un profesor tiene un salario inicial de $1500, y recibe un incremento de 10 % anual durante 6 años. ¿Cuál es su salario al cabo de 6 años? ¿Qué salario ha recibido en cada uno de los 6 años? Realice el programa. PROGRAM SALARIO REAL S INTEGER N S=1500 DO N=1,6 S=S+(S*0.1) PRINT*, "EL SALARIO EN EL AÑO",N," ES: $",S END DO PRINT*, "EL SALARIO EN 6 AÑOS ES: $",S END PROGRAM 4.2 “El náufrago satisfecho” ofrece hamburguesas sencillas (S), dobles (D) y triples (T), las cuales tienen un costo de $20, $25 y $28 respectivamente. La empresa acepta tarjetas de crédito con un cargo de 5 % sobre la compra. Suponiendo que los clientes adquieren N hamburguesas, las cuales pueden ser de diferente tipo, realice un programa para determinar cuánto deben pagar PROGRAM HAMBURGUESA INTEGER N,TIPO,TIPO_PAGO REAL TOTAL, CARGO PRINT*, "INGRESA EL NUMERO DE HAMBURGUESAS" READ*, N DO WHILE(TIPO<1.OR.TIPO>3) PRINT*,"INGRESA EL TIPO DE HAMBURGUESA"
  • 2. PRINT*,"1 = SENCILLA $20" PRINT*,"2 = DOBLE $25" PRINT*,"3 = TRIPLE $28" READ*, TIPO IF(TIPO==1)THEN TOTAL=N*20 ELSEIF(TIPO==2)THEN TOTAL=0*25 ELSEIF(TIPO==3)THEN TOTAL=0*28 ELSE PRINT*,"INGRESA UN TIPO DE HAMBURGUESA VALIDO" END IF END DO DO WHILE(TIPO_PAGO<1.OR.TIPO_PAGO>2) PRINT*,"INGRESA EL METODO DE PAGO",TIPO_PAGO PRINT*,"1 = OTRO MEDIO DE PAGO" PRINT*,"2 = TARJETA DE CREDITO" READ*, TIPO_PAGO IF(TIPO_PAGO==1)THEN PRINT*,"EL TOTAL A PAGAR ES: $",TOTAL ELSEIF(TIPO_PAGO==2)THEN CARGO=TOTAL*0.05 PRINT*,"EL TOTAL A PAGAR ES: $",TOTAL+CARGO PRINT*,"EL CARGO APLICADO ES: $",CARGO ELSE PRINT*,"INGRESE UN TIPO DE PAGO CORRECTO" END IF END DO END PROGRAM
  • 3. 4.3 Se requiere un programa para determinar, de N cantidades, cuántas son cero, cuántas son menores a cero, y cuántas son mayores a cero. PROGRAM CANTIDADES INTEGER X, TOTAL, N, CERO, MENOR, MAYOR PRINT*,"DIGITAR EL TOTAL DE NUMEROS" READ*,TOTAL X=1 MENOR=0 MAYOR=0 DO WHILE(X<=TOTAL) PRINT*,"INGRESA UN NUMERO" READ*,N IF(N<0)THEN MENOR=MENOR+1 ELSEIF(N>0)THEN MAYOR=MAYOR+1 ELSE CERO=CERO+1 END IF X=X+1 END DO PRINT*,"EL TOTAL DE NUMEROS MENORES A CERO ES:",MENOR PRINT*,"EL TOTAL DE NUMEROS IGUALES A CERO ES:",CERO PRINT*,"EL TOTAL DE NUMEROS MAYORES A CERO ES:",MAYOR END PROGRAM
  • 4. 4.4 Una compañía fabrica focos de colores (verdes, blancos y rojos). Se desea contabilizar, de un lote de N focos, el número de focos de cada color que hay en existencia. Desarrolle un programa para determinar esto. PROGRAM FOCOS IMPLICIT NONE INTEGER N, I, VERDE, BLANCO, ROJO CHARACTER(10) COLOR VERDE = 0 BLANCO = 0 ROJO = 0 PRINT *, "INGRESE EL TOTAL DE FOCOS: " READ *, N DO I = 1,N PRINT *, "INGRESE EL COLOR DEL FOCO ", I, " (VERDE, BLANCO O ROJO): " READ *, COLOR SELECT CASE (COLOR) CASE ("VERDE") VERDE = VERDE + 1 CASE ("BLANCO") BLANCO = BLANCO + 1 CASE ("ROJO") ROJO = ROJO + 1 CASE DEFAULT PRINT *, "COLOR INVALIDO." END SELECT
  • 5. END DO PRINT *, "CANTIDAD DE FOCOS VERDES: ", VERDE PRINT *, "CANTIDAD DE FOCOS BLANCOS: ", BLANCO PRINT *, "CANTIDAD DE FOCOS ROJOS: ", ROJO END PROGRAM 4.5 Se requiere un programa para determinar cuánto ahorrará en pesos una persona diariamente, y en un año, si ahorra 3¢ el primero de enero, 9¢ el dos de enero, 27¢ el 3 de enero y así sucesivamente todo el año. PROGRAM AHORRO INTEGER I REAL A,B A=0 DO I = 1,365 A=A+(3**I) PRINT *, "EL AHORRO EN EL DIA ", I, "ES : ", A," CENTAVOS" END DO PRINT *, "EL AHORRO ANUAL SERA: ",A," CENTAVOS" B=A/100 PRINT *, "EL AHORRO ANUAL SERA: ",B," PESOS" END PROGRAM
  • 6. 4.6 Realice el programa para determinar cuánto pagará una persona que adquiere N artículos, los cuales están de promoción. Considere que si su precio es mayor o igual a $200 se le aplica un descuento de 15%, y si su precio es mayor a $100 pero menor a $200, el descuento es de 12%; de lo contrario, sólo se le aplica 10%. Se debe saber cuál es el costo y el descuento que tendrá cada uno de los artículos y finalmente cuánto se pagará por todos los artículos obtenidos. PROGRAM DESCUENTO INTEGER N, I REAL P, D, TOTAL_PAGAR TOTAL_PAGAR = 0 PRINT *, "INGRESE LA CANTIDAD DE ARTICULOS A ADQUIRIR: " READ *, N DO I = 1, N PRINT *, "INGRESE EL PRECIO DEL ARTICULO ", I READ *, P IF (P >= 200) THEN D = P * 0.15 ELSEIF (P > 100) THEN D = P * 0.12 ELSE D = P * 0.10 END IF TOTAL_PAGAR = TOTAL_PAGAR + (P-D) PRINT *, "ARTICULO ", I PRINT *, "PRECIO: $", P PRINT *, "DESCUENTO: $", D PRINT *, "TOTAL A PAGAR: $", P-D END DO
  • 7. PRINT *, "TOTAL A PAGAR POR TODOS LOS ARTICULOS: $", TOTAL_PAGAR END PROGRAM 4.7 Un cliente de un banco deposita equis cantidad de pesos cada mes en una cuenta de ahorros. La cuenta percibe un interés fijo durante un año de 10 % anual. Realice un programa para determinar el total de la inversión final de cada año en los próximos N años. PROGRAM BANCO INTEGER A,X REAL H, T, I PRINT*,"INGRESA LOS AÑOS DE AHORRO" READ*, A T=0 I=0 IF(A>0)THEN DO X = 1,12 PRINT*,"INGRESA EL AHORRO DEL MES", X READ*,H T=T+H END DO I = I+(T*0.10) A = A-1 PRINT*,"EL INTERES ANUAL ES: $",I PRINT*,"LA INVERSION FINAL ES: $",T+I
  • 8. END IF END PROGRAM 4.8 Los directivos de equis escuela requieren determinar cuál es la edad promedio de cada uno de los M salones y cuál es la edad promedio de toda la escuela. Realice un programq para determinar estos promedios. PROGRAM PROMEDIO_EDADES INTEGER I, J, M, N REAL EDAD, SUMA, PROMEDIO_SALON, PROMEDIO_ESCUELA PRINT*, "INGRESE LA CANTIDAD DE SALONES:" READ*, M PRINT*, "INGRESE LA CANTIDAD DE ESTUDIANTES POR SALON:" READ*, N DO I = 1, M SUMA = 0 DO J = 1, N PRINT*,"INGRESE LA EDAD DEL ESTUDIANTE ", J, " DEL SALON ", I READ*, EDAD SUMA = SUMA + EDAD
  • 9. END DO PROMEDIO_SALON = SUMA / N PRINT*, "LA EDAD PROMEDIO DEL SALON ", I, " ES: ", PROMEDIO_SALON PROMEDIO_ESCUELA = PROMEDIO_ESCUELA + PROMEDIO_SALON END DO PROMEDIO_ESCUELA = PROMEDIO_ESCUELA / M PRINT*, "LA EDAD PROMEDIO DE TODA LA ESCUELA ES: ", PROMEDIO_ESCUELA END PROGRAM 4.9 Realice un programa para obtener una función exponencial, la cual está dada por: PROGRAM EXPONENCIAL REAL X, E, F INTEGER N, A, C PRINT *, "INGRESA LAS REPETICIONES DE LA SERIE" READ *, N PRINT *, "INGRESA EL VALOR DE X" READ *, X E = 0
  • 10. DO A=1,N C=1 F=1 IF (C==A) THEN F=F*C C=C+1 END IF E=E+(X**A)/F END DO PRINT *,"EL RESULTADO DE LA FUNCION ES:", E+1 END PROGRAM 4.10 Se desea saber el total de una caja registradora de un almacén, se conoce el número de billetes y monedas, así como su valor. Realice un programa para determinar el total. PROGRAM CAJA_REGISTRADORA INTEGER N_BILLETES, N_MONEDAS, VALOR_BILLETES, VALOR_MONEDAS, TOTAL
  • 11. PRINT *,"INTRODUZCA LA CANTIDAD DE BILLETES:" READ*, N_BILLETES PRINT*, "INTRODUZCA EL VALOR DE CADA BILLETE:" READ*, VALOR_BILLETES PRINT*, "INTRODUZCA LA CANTIDAD DE MONEDAS:" READ*, N_MONEDAS PRINT*, "INTRODUZCA EL VALOR DE CADA MONEDA:" READ*, VALOR_MONEDAS TOTAL = (N_BILLETES * VALOR_BILLETES) + (N_MONEDAS * VALOR_MONEDAS) PRINT*, "EL TOTAL DE LA CAJA REGISTRADORA ES:",TOTAL END PROGRAM 4.11 Un vendedor ha realizado N ventas y desea saber cuántas fueron por 10,000 o menos, cuántas fueron por más de 10,000 pero por menos de 20,000, y cuánto fue el monto de las ventas de cada una y el monto global. Realice un programa para determinar los totales. PROGRAM VENTAS INTEGER N, I, VENTAS1, VENTAS2 REAL MONTO, MONTO1, MONTO2, MONTO_TOTAL PRINT*, "INGRESE LA CANTIDAD DE VENTAS: " READ*, N VENTAS1 = 0 VENTAS2 = 0 MONTO1 = 0 MONTO2 = 0
  • 12. MONTO_TOTAL = 0 DO I = 1, N PRINT*, "INGRESE EL MONTO DE LA VENTA ", I, ": " READ*, MONTO MONTO_TOTAL = MONTO_TOTAL + MONTO IF (MONTO <= 10000.0) THEN VENTAS1 = VENTAS1 + 1 MONTO1 = MONTO1 + MONTO ELSEIF (MONTO < 20000.0) THEN VENTAS2 = VENTAS2 + 1 MONTO2 = MONTO2 + MONTO END IF END DO PRINT*, "VENTAS POR 10,000 O MENOS: ", VENTAS1 PRINT*, "MONTO DE VENTAS POR 10,000 O MENOS: ", MONTO1 PRINT*, "VENTAS POR MÁS DE 10,000 PERO POR MENOS DE 20,000: ", VENTAS2 PRINT*, "MONTO DE VENTAS POR MÁS DE 10,000 PERO POR MENOS DE 20,000: ", MONTO2 PRINT*, "MONTO TOTAL DE LAS VENTAS: ", MONTO_TOTAL END PROGRAM 4.12 Realice un programa para leer las calificaciones de N alumnos y determine el número de aprobados y reprobados.
  • 13. PROGRAM CALIFICACIONES INTEGER N, I, APROBADOS, REPROBADOS REAL CALIFICACION PRINT*, "INGRESE LA CANTIDAD DE ALUMNOS: " READ*, N APROBADOS = 0 REPROBADOS = 0 DO I = 1, N PRINT*, "INGRESE LA CALIFICACION DEL ALUMNO ", I, ": " READ*, CALIFICACION IF (CALIFICACION >= 11) THEN APROBADOS = APROBADOS + 1 ELSE REPROBADOS = REPROBADOS + 1 END IF END DO PRINT*, "NUMERO DE ALUMNOS APROBADOS: ", APROBADOS PRINT*, "NUMERO DE ALUMNOS REPROBADOS: ", REPROBADOS END PROGRAM
  • 14. 4.13 Realice un programa que determine el sueldo semanal de N trabajadores considerando que se les descuenta 5% de su sueldo si ganan entre 0 y 150 pesos. Se les descuenta 7% si ganan más de 150 pero menos de 300, y 9% si ganan más de 300 pero menos de 450. Los datos son horas trabajadas, sueldo por hora y nombre de cada trabajador. PROGRAM SUELDO_TRABAJADORES INTEGER N, I REAL HORAS, SUELDO_HORA, SALARIO, DESCUENTO, SUELDO_SEMANAL CHARACTER(30) NOMBRE PRINT*, "INGRESE LA CANTIDAD DE TRABAJADORES: " READ*, N DO I = 1, N PRINT*, "INGRESE EL NOMBRE DEL TRABAJADOR ", I, ": " READ*, NOMBRE PRINT*, "INGRESE LAS HORAS TRABAJADAS POR ", NOMBRE, ": " READ*, HORAS PRINT*, "INGRESE EL SUELDO POR HORA DE ", NOMBRE, ": " READ*, SUELDO_HORA SALARIO = HORAS * SUELDO_HORA IF (SALARIO <= 150.0) THEN DESCUENTO = SALARIO * 0.05 ELSE IF (SALARIO > 150.0 .AND. SALARIO < 300.0) THEN DESCUENTO = SALARIO * 0.07 ELSE IF (SALARIO >= 300.0 .AND. SALARIO < 450.0) THEN DESCUENTO = SALARIO * 0.09 ELSE DESCUENTO = 0.0 END IF SUELDO_SEMANAL = SALARIO - DESCUENTO PRINT*, "EL SUELDO SEMANAL DE ", NOMBRE, " ES DE ", SUELDO_SEMANAL, " PESOS." END DO END PROGRAM
  • 15. 4.14 Realice un programa donde, dado un grupo de números naturales positivos, calcule e imprima el cubo de estos números. PROGRAM CUBO_NUMEROS INTEGER N, I REAL NUM, CUBO PRINT*, "INGRESE LA CANTIDAD DE NUMEROS A CALCULAR: " READ*, N DO I = 1, N PRINT*, "INGRESE EL NUMERO ", I, ": " READ*, NUM CUBO = NUM ** 3 PRINT*, "EL CUBO DEL NUMERO ", NUM, " ES ", CUBO, "." END DO END PROGRAM
  • 16. 4.15 Realice un programa para obtener la tabla de multiplicar de un entero K comenzando desde el 1. PROGRAM TABLA_MULTIPLICAR INTEGER K, I, PRODUCTO PRINT*, "INGRESE UN NUMERO PARA GENERAR SU TABLA DE MULTIPLICAR: " READ*, K DO I = 1, 10 PRODUCTO = K * I PRINT*, K, " X ", I, " = ", PRODUCTO END DO END PROGRAM
  • 17. 4.16 En 1961, una persona vendió las tierras de su abuelo al gobierno por la cantidad de $1500. Suponga que esta persona ha colocado el dinero en una cuenta de ahorros que paga 15% anual. ¿Cuánto vale ahora su inversión? P(1+i)n . Realice un programa para obtener este valor . PROGRAM VALOR_INVERSION REAL INVERSION_INICIAL, TASA_INTERES, VALOR_ACTUAL INTEGER ANIOS_INVERSION PRINT*, "INGRESE LA INVERSION INICIAL: " READ*, INVERSION_INICIAL PRINT*, "INGRESE LA TASA DE INTERES ANUAL (EN PORCENTAJE): " READ*, TASA_INTERES PRINT*, "INGRESE EL NÚMERO DE AÑOS DE LA INVERSION: " READ*, ANIOS_INVERSION VALOR_ACTUAL = INVERSION_INICIAL * (1 + TASA_INTERES/100) ** ANIOS_INVERSION PRINT*, "EL VALOR ACTUAL DE LA INVERSION ES: $", VALOR_ACTUAL END PROGRAM 4.17 El gerente de una compañía automotriz desea determinar el impuesto que va a pagar por cada uno de los automóviles que posee, además del total que va a pagar por cada categoría y por todos los vehículos, basándose en la siguiente clasificación: Los vehículos con clave 1 pagan 10% de su valor. Los vehículos con clave 2 pagan 7% de su valor. Los vehículos con clave 3 pagan 5% de su valor. Realice un programa para obtener la información. Los datos son la clave y costo de cada uno.
  • 18. PROGRAM IMPUESTO_AUTOMOVILES INTEGER CLAVE, N, I REAL COSTO, IMPUESTO, TOTAL_IMPUESTOS, TOTAL_COSTOS TOTAL_IMPUESTOS = 0.0 TOTAL_COSTOS = 0.0 PRINT*,"INGRESE LA CANTIDAD DE VEHICULOS:" READ*, N DO I = 1, N PRINT*,"INGRESE LA CLAVE Y COSTO DEL VEHICULO ", I READ*, CLAVE, COSTO SELECT CASE (CLAVE) CASE (1) IMPUESTO = 0.1 * COSTO CASE (2) IMPUESTO = 0.07 * COSTO CASE (3) IMPUESTO = 0.05 * COSTO CASE DEFAULT IMPUESTO = 0.0 END SELECT TOTAL_IMPUESTOS = TOTAL_IMPUESTOS + IMPUESTO TOTAL_COSTOS = TOTAL_COSTOS + COSTO PRINT*, "EL IMPUESTO A PAGAR POR EL VEHICULO ", I, " ES: ", IMPUESTO END DO PRINT*, "EL TOTAL DE IMPUESTOS A PAGAR ES: ", TOTAL_IMPUESTOS PRINT*, "EL COSTO TOTAL DE LOS VEHICULOS ES: ", TOTAL_COSTOS END PROGRAM
  • 19. 4.18 Realice un programa para obtener el seno de un ángulo PROGRAM SENO_ANGULO IMPLICIT NONE REAL :: X, SENO, TERMINO, SIGNO INTEGER :: N, I, J, FACTORIAL WRITE(*,*) 'INGRESE EL ÁNGULO EN RADIANES:' READ(*,*) X WRITE(*,*) 'INGRESE EL NÚMERO DE TÉRMINOS A UTILIZAR:' READ(*,*) N SENO = 0.0 SIGNO = 1.0 DO I = 0, N-1 FACTORIAL = 1 DO J = 1, 2*I+1 FACTORIAL = FACTORIAL * J END DO TERMINO = SIGNO * X**(2*I+1) / REAL(FACTORIAL) SENO = SENO + TERMINO SIGNO = -SIGNO END DO WRITE(*,*) 'EL SENO DE ', X, ' ES: ', SENO END PROGRAM
  • 20. 4.19 Realice un programa para determinar qué cantidad de dinero hay en un monedero, considerando que se tienen monedas de diez, cinco y un peso, y billetes de diez, veinte y cincuenta pesos. PROGRAM MONEDERO INTEGER MONEDAS10, MONEDAS5, MONEDAS1, BILLETES10, BILLETES20, BILLETES50, TOTAL MONEDAS10 = 0 MONEDAS5 = 0 MONEDAS1 = 0 BILLETES10 = 0 BILLETES20 = 0 BILLETES50 = 0 TOTAL = 0 DO PRINT *, "INGRESE LA CANTIDAD DE MONEDAS DE 10 PESOS: " READ *, MONEDAS10 IF (MONEDAS10 >= 0) EXIT PRINT *, "CANTIDAD INVÁLIDA, INTENTE DE NUEVO." END DO
  • 21. DO PRINT *, "INGRESE LA CANTIDAD DE MONEDAS DE 5 PESOS: " READ *, MONEDAS5 IF (MONEDAS5 >= 0) EXIT PRINT *, "CANTIDAD INVÁLIDA, INTENTE DE NUEVO." END DO DO PRINT *, "INGRESE LA CANTIDAD DE MONEDAS DE 1 PESO: " READ *, MONEDAS1 IF (MONEDAS1 >= 0) EXIT PRINT *, "CANTIDAD INVÁLIDA, INTENTE DE NUEVO." END DO DO PRINT *, "INGRESE LA CANTIDAD DE BILLETES DE 10 PESOS: " READ *, BILLETES10 IF (BILLETES10 >= 0) EXIT PRINT *, "CANTIDAD INVÁLIDA, INTENTE DE NUEVO." END DO DO PRINT *, "INGRESE LA CANTIDAD DE BILLETES DE 20 PESOS: " READ *, BILLETES20 IF (BILLETES20 >= 0) EXIT PRINT *, "CANTIDAD INVÁLIDA, INTENTE DE NUEVO." END DO DO PRINT *, "INGRESE LA CANTIDAD DE BILLETES DE 50 PESOS: " READ *, BILLETES50 IF (BILLETES50 >= 0) EXIT PRINT *, "CANTIDAD INVÁLIDA, INTENTE DE NUEVO." END DO TOTAL = MONEDAS10*10 + MONEDAS5*5 + MONEDAS1 + BILLETES10*10 + BILLETES20*20 + BILLETES50*50 PRINT *, "EL TOTAL DE DINERO EN EL MONEDERO ES: $", TOTAL END PROGRAM
  • 22. 4.20 El banco “Bandido de peluche” desea calcular para cada uno de sus N clientes su saldo actual, su pago mínimo y su pago para no generar intereses. Además, quiere calcular el monto de lo que ganó por concepto interés con los clientes morosos. Los datos que se conocen de cada cliente son: saldo anterior, monto de las compras que realizó y pago que depositó en el corte anterior. Para calcular el pago mínimo se considera 15% del saldo actual, y el pago para no generar intereses corresponde a 85% del saldo actual, considerando que el saldo actual debe incluir 12% de los intereses causados por no realizar el pago mínimo y $200 de multa por el mismo motivo. Realice el programa. PROGRAM BANCO_BANDIDO IMPLICIT NONE INTEGER N, I REAL SALDO_ANTERIOR, COMPRAS_REALIZADAS, PAGO_ANTERIOR, SALDO_ACTUAL, PAGO_MINIMO, PAGO_SIN_INTERES, INTERESES_CAUSADOS, MULTA, GANANCIA_INTERES CHARACTER(10) NOMBRE_CLIENTE PRINT*, "INGRESE LA CANTIDAD DE CLIENTES A PROCESAR:" READ(*,*) N DO I = 1, N PRINT*, "INGRESE EL NOMBRE DEL CLIENTE:" READ(*,*) NOMBRE_CLIENTE PRINT*, "INGRESE EL SALDO ANTERIOR DEL CLIENTE ", NOMBRE_CLIENTE, ":" READ(*,*) SALDO_ANTERIOR PRINT*, "INGRESE EL MONTO DE COMPRAS REALIZADAS POR EL CLIENTE ", NOMBRE_CLIENTE, ":" READ(*,*) COMPRAS_REALIZADAS
  • 23. PRINT*, "INGRESE EL PAGO DEPOSITADO POR EL CLIENTE ", NOMBRE_CLIENTE, " EN EL CORTE ANTERIOR:" READ(*,*) PAGO_ANTERIOR SALDO_ACTUAL = SALDO_ANTERIOR + COMPRAS_REALIZADAS - PAGO_ANTERIOR PAGO_MINIMO = 0.15 * SALDO_ACTUAL INTERESES_CAUSADOS = 0.12 * SALDO_ACTUAL MULTA = 200.0 PAGO_SIN_INTERES = 0.85 * SALDO_ACTUAL + INTERESES_CAUSADOS + MULTA IF (SALDO_ACTUAL < PAGO_MINIMO) THEN GANANCIA_INTERES = GANANCIA_INTERES + INTERESES_CAUSADOS + MULTA END IF PRINT*, "-------------------------------------------------" PRINT*, "INFORMACIÓN DEL CLIENTE ", NOMBRE_CLIENTE PRINT*, "SALDO ANTERIOR: $", SALDO_ANTERIOR PRINT*, "COMPRAS REALIZADAS: $", COMPRAS_REALIZADAS PRINT*, "PAGO ANTERIOR: $", PAGO_ANTERIOR PRINT*, "SALDO ACTUAL: $", SALDO_ACTUAL PRINT*, "PAGO MÍNIMO: $", PAGO_MINIMO PRINT*, "PAGO SIN GENERAR INTERESES: $", PAGO_SIN_INTERES PRINT*, "-------------------------------------------------" END DO PRINT*, "LA GANANCIA POR INTERESES CON CLIENTES MOROSOS ES DE $", GANANCIA_INTERES END PROGRAM