Está en la página 1de 11

1.

- Calcular la tabla de cubos para los enteros que varan entre -5 a +5 ambos
inclusive, utilizando las siguientes sentencias de programacin:
a.- Sentencia Do controlado por el usuario.
PROGRAM NUM_CUBOS
INTEGER::I,CUBOS
DO I=-5,5,1
CUBOS=I**3
PRINT*,I,CUBOS
END DO
END PROGRAM NUM_CUBOS
b.- Sentencia Do while
PROGRAM DO_WHILE
INTEGER::I,ICUBO
I=-5
DO WHILE(I<=5)
ICUBO=I**3
PRINT*,I,ICUBO
I=I+1
END DO
END PROGRAM DO_WHILE
c.- Sentencia Do ExitEnd Do, los dos casos.
PROGRAM NUM_CUBOS
INTEGER::I,CUBOS
I=-5
DO
CUBOS=I**3
PRINT*,I,CUBOS
I=I+1
IF(I>5) EXIT
END DO
END PROGRAM NUM_CUBOS

3.- Escribir un programa en fortran para tabular la funcin:

z=

w2 + w+3
w2

Para: w = 3.0, 3.5, 4.0, 4.5,..9.5, 10


Utilizando sentencias:
a.- Sentencia Do while
PROGRAM TABULAR
REAL::W,Z
W=3
DO WHILE (W<=10)
Z=(W**2+W+3)/(W-2)
PRINT 200,W,Z
W=W+0.5
END DO
200 FORMAT(1X,F8.2,3X,F8.2)
END PROGRAM TABULAR

b.- Sentencia Do ExitEnd Do, los dos casos.


PROGRAM TABULAR
REAL::W,Z
W=3
DO
Z=(W**2+W+3)/(W-2)
PRINT 200,W,Z
W=W+0.5
IF (W>10) EXIT
END DO
200 FORMAT(1X,F8.2,3X,F8.2)
END PROGRAM TABULAR
4.- Modifique el programa anterior de manera que el denominador sea w-5 en vez de
w-2.
b.- Sentencia Do while
PROGRAM TABULAR
REAL::W,Z
W=3
DO WHILE (W<=10)
IF (W==5) THEN
PRINT*," 5.00 NO DETERMINADO "
W=W+0.5
END IF
Z=(W**2+W+3)/(W-5)
PRINT 200,W,Z
W=W+0.5
END DO
200 FORMAT(1X,F8.2,3X,F8.2)
END PROGRAM TABULAR

c.- Sentencia Do ExitEnd Do, los dos casos.


PROGRAM TABULAR
REAL::W,Z
W=3
DO
IF (W==5) THEN
PRINT*," 5.00 NO DETERMINADO "
W=W+0.5
END IF
Z=(W**2+W+3)/(W-5)
IF (W>10) EXIT
PRINT 200,W,Z
W=W+0.5
END DO
200 FORMAT(1X,F8.2,3X,F8.2)
END PROGRAM TABULAR
6.- Compute la suma de cubos de los nmeros pares entre 6 y 14 ambos inclusive.

Casos: a
PROGRAM NUM_CUBOS
INTEGER::I,CUBOS,SUMA
SUMA=0
DO I=6,14,1
CUBOS=I**3
SUMA=SUMA+CUBOS
END DO
PRINT*,SUMA
END PROGRAM NUM_CUBOS
Casos: B
PROGRAM NUM_CUBOS
INTEGER::I,CUBOS,SUMA
SUMA=0
I=6
DO WHILE (I<=14)
CUBOS=I**3
SUMA=SUMA+CUBOS
I=I+1
END DO
PRINT*,SUMA
END PROGRAM NUM_CUBOS
Casos: C
PROGRAM NUM_CUBOS
INTEGER::I,CUBOS,SUMA
SUMA=0
I=6
DO
CUBOS=I**3
SUMA=SUMA+CUBOS
I=I+1
IF (I>14)
EXIT
END DO
PRINT*,SUMA
END PROGRAM NUM_CUBOS
8.- Escriba un programa en fortran para tabula la funcin:

y=

x 3 +7 x5
x 33 x2 4 x +12

Para x = -4, -3-, -2, -1, 7, 8, 9


a.- Sentencia Do while
PROGRAM TABULAR
REAL::X,Y
X=-4
DO WHILE (X<=9)
Z=X**3-3*X**2-4*X+12
IF (Z==0) THEN
PRINT*,X," NO EXISTE"
X=X+1

Z=X**3-3*X**2-4*X+12
CYCLE
END IF
Y=(X**3+7*X-5)/Z
PRINT 200,X,Y
X=X+1
END DO
200 FORMAT(1X,F8.2,3X,F8.2)
END PROGRAM TABULAR
b.- Sentencia Do ExitEnd Do, los dos casos.
PROGRAM TABULAR
REAL::X,Y
X=-4
DO
Z=X**3-3*X**2-4*X+12
IF (Z==0) THEN
PRINT*,X," NO EXISTE"
X=X+1
Z=X**3-3*X**2-4*X+12
CYCLE
END IF
Y=(X**3+7*X-5)/Z
PRINT 200,X,Y
X=X+1
IF (X>9) EXIT
END DO
200 FORMAT(1X,F8.2,3X,F8.2)
END PROGRAM TABULAR
10.- Usando las funciones trigonomtricas del fortran Sin(x) y Cos(x), tabular la
funcin:
Y = sen2 x + cos2 x
Para x = 0.0, 0.1, 0.2, 1.0, donde x representa el valor en radianes.
Caso: A
PROGRAM SENO
REAL::Y,I
DO I=0.1,1.1,0.1
Y=(sin(I-0.1))**2+(cos(I-0.1))**2
PRINT 200,I-0.1,Y
END DO
200 FORMAT(1X,F8.2,3X,F8.2)
END PROGRAM SENO
Caso: B
PROGRAM SENO
REAL::Y,I
I=0.0
DO WHILE (I<=1.1)
Y=(sin(I))**2+(cos(I))**2
PRINT 200,I,Y
I=I+0.1
END DO
200 FORMAT(1X,F8.2,3X,F8.2)
END PROGRAM SENO

CASO:C
PROGRAM SENO
REAL::Y,I
I=0.0
DO
Y=(sin(I))**2+(cos(I))**2
PRINT 200,I,Y
I=I+0.1
IF (I>=1.1) EXIT
END DO
200 FORMAT(1X,F8.2,3X,F8.2)
END PROGRAM SENO
12.- Definir la suma Sn como la suma de los primeros n trminos de la serie:

1 1 1 1
+ +
13 33 53 73

Donde el trmino ensimo se puede escribir:

t n=(1 )

n1

( 2 n1 )3

Escribir un programa que tabule Sn y tn , para n = 1, 2, 3, 4,10


Casos: a
PROGRAM FORMULA
IMPLICIT NONE
REAL::T,ST,I
DO I=1,10
T=(-1)**(I-1)/(2*I-1)**3
ST=ST+T
PRINT 200,T,ST
END DO
200 FORMAT (1X,F8.4,3X,F8.4)
END PROGRAM FORMULA
CASO B
PROGRAM FORMULA
IMPLICIT NONE
REAL::T,ST,I
I=1
DO WHILE(I<=10)
T=(-1)**(I-1)/(2*I-1)**3
ST=ST+T
PRINT 200,T,ST
I=I+1
END DO
200 FORMAT (1X,F8.4,3X,F8.4)
END PROGRAM FORMULA
CASO C
PROGRAM FORMULA
IMPLICIT NONE
REAL::T,ST,I
I=1
DO
T=(-1)**(I-1)/(2*I-1)**3
ST=ST+T
PRINT 200,T,ST

I=I+1
IF (I>10) EXIT
END DO
200 FORMAT (1X,F8.4,3X,F8.4)
END PROGRAM FORMULA
14.- Tabular la funcin:

f ( x )=e

sen (x)

+|x|

Para x = -5, -4, -3, 5


Casos: a
PROGRAM EXP
REAL::I,FX,X
REAL,PARAMETER::e=2.718282
REAL,PARAMETER::PI=3.141516
DO I=-5,5,1
X=I*PI/180
FX=e**(SIN(X))+ABS(I)
PRINT 200,I,FX
END DO
200 FORMAT (1X,F8.3,3X,F8.4)
END PROGRAM EXP
Casos: B
PROGRAM EXP
REAL::I,FX,X
REAL,PARAMETER::e=2.718282
REAL,PARAMETER::PI=3.141516
I=-5
DO WHILE (I<=5)
X=I*PI/180
FX=e**(SIN(X))+ABS(I)
PRINT 200,I,FX
I=I+1
END DO
200 FORMAT (1X,F8.3,3X,F8.4)
END PROGRAM EXP
Casos: C
PROGRAM EXP
REAL::I,FX,X
REAL,PARAMETER::e=2.718282
REAL,PARAMETER::PI=3.141516
I=-5
DO
X=I*PI/180
FX=e**(SIN(X))+ABS(I)
PRINT 200,I,FX
I=I+1
IF (I>5) EXIT
END DO
200 FORMAT (1X,F8.3,3X,F8.4)
END PROGRAM EXP

17.- Elaborar un programa utilizando la sentencia Do If(Condicion) que visualize en


la pantalla lo siguiente:
0.5 al cuadrado es 0.25
1.0 al cuadrado es 1.00
1.5 al cuadrado es 2.25
2.0 al cuadrado es 4.00
2.5 al cuadrado es 6.25
3.0 al cuadrado es 9.00
PROGRAM DO_IF
REAL::X,I
I=0.5
DO
IF(I>3) EXIT
X=I**2
PRINT 200,I,X
I=I+0.5
END DO
200 FORMAT (1X,F8.1,3X,"AL CUADRADO ES",3X,F8.2)
END PROGRAM DO_IF
19.- Elaborar un programa denominado recibo, que permita el ingreso de datos de las
compras de un cliente y estos datos consisten: el nombre del artculo, el precio del
mismo y la cantidad comprada. Como el vendedor no sabe de antemano el nmero de
artculos que se van a comprar para emitir el recibo de venta se debe utilizar un
centinela xyz que permita parar el ingreso de los datos comprados y al final visualice
el recibo mostrando el monto total por los artculos comprados. Usando la sentencia
Do While(cond)
PROGRAM DATOS
CHARACTER(LEN=20)::NOMART
REAL::PRECIO
INTEGER::N
REAL::I,J
PRINT*
PRINT 10
10 FORMAT (2X,"INGRESE NOMBRE DEL ARTICULO",4X,"PRECIO",4X,"NUMERO
DE ARTICULOS")
DO I=0,4
READ*,NOMART,PRECIO,N
IF(N==0)EXIT
END DO
PRINT*
PRINT 30
30 FORMAT (2X,"NOMBRE DEL ARTICULO",4X,"PRECIO",4X,"NUMERO DE
ARTICULOS")
DO J=0,I
PRINT 20, NOMART,PRECIO,N
20 FORMAT(2X,A,5X,F8.2,5X,I2)
END DO
END PROGRAM DATOS

23.- Para el problema 17, modifique el programa utilizando la sentencia Do


While(cond)
PROGRAM DO_WHILE
REAL::X,I
I=0.5
DO WHILE (I<=3)
X=I**2
PRINT 200,I,X
I=I+0.5
END DO
200 FORMAT (1X,F8.1,3X,"AL CUADRADO ES",3X,F8.2)
END PROGRAM DO_WHILE
PROBLEMA 32.- Unas camisas se venden en 30 dlares cada una si es que se
compran ms de tres y en 25 en otro caso. Escriba un programa que lea un nmero de
entrada que indique la cantidad de camisas a adquirir y visualice el costo total.
PROGRAM CAMISETAS
INTEGER::N,T
PRINT*,"INGRESE NUMERO DE CAMISAS"
READ*,N
IF(N<=3) THEN
T=N*30
PRINT*," NUMERO DE CAMISAS ES ",N
PRINT*,"COSTO TOTAL DE CAMISAS ES",T
ELSE IF(N>=4) THEN
T=N*25
PRINT*," NUMERO DE CAMISAS ES ",N
PRINT*,"COSTO TOTAL DE CAMISAS ES",T
END IF
END PROGRAM CAMISETAS
PROBLEMA 34.- Escriba un programa que reciba el peso de una carta en onzas como
dato de entrada y visualice el costo del porte calculndolo segn la siguiente regla: La
primera onza cuesta $ 0.29 dlares, cada onza adicional cuesta $ 0.04 dlares.
PROGRAM ONZAS
REAL::C,O
PRINT*,"INGRESE NUMERO DE ONZAS"
READ*,O
IF (O<=1)
THEN
C=O*0.29
PRINT 100,O
PRINT 200,C
ELSEIF (O>=1) THEN
C=0.29 +O*0.04
PRINT 100,O
PRINT 200,C
END IF
100 FORMAT (3X,"NUMERO DE ONZAS ES",3X,F8.2)
200 FORMAT (3X," COSTO TOTAL ES ",6X,"$",1X,F3.2)
END PROGRAM ONZAS

PROBLEMA 36.- En una universidad, los cargos por colegiatura son de 50 dlares por
materia, con un cargo mximo de 750, independientemente del nmero de asignaturas
tomadas. As, un estudiante que curse 12 materias pagara 600, mientras que el que
tome 21 pagar 750. Escriba un programa en el que la entrada es el nmero de
materias a cursar y la salida es el costo de la colegiatura.
PROGRAM COLEGIATURA
REAL::C,T
PRINT*,"INGRESE NUMERO MATERIAS"
READ*,C
IF (C<=15)
THEN
T=C*50
PRINT 100,C
PRINT 200,T
ELSEIF (C>15) THEN
T=750
PRINT 100,C
PRINT 200,T
END IF
100 FORMAT (3X," NUMERO DE MATERIAS ",3X,F8.2)
200 FORMAT (3X,"COSTO DE COLEGIATURA",6X,"$",1X,F6.2)
END PROGRAM COLEGIATURA
PROBLEMA 39.- Escriba un programa para visualizar la letra correspondiente a las
calificaciones de los estudiantes, donde:

es para el que ha obtenido un puntaje 90 y ms.

es por lo menos 80 pero menos que 90.

es por lo menos 70 pero menos que 80.

es por lo menos 60 pero menos que 70.

es menos de 60.

PROGRAM CALIFICACION
INTEGER::N
PRINT*,"INGRESE NOTA"
READ*,N
IF(N>=90) THEN
PRINT*,"NOTA = A"
ELSEIF (N<90 .AND. N>=80) THEN
PRINT*,"NOTA = B"
ELSEIF (N<80 .AND. N>=70) THEN
PRINT*,"NOTA = C"
ELSEIF (N<70 .AND. N>=60) THEN
PRINT*,"NOTA = D"
ELSEIF (N<60) THEN

PRINT*,"NOTA = F"
END IF
END PROGRAM CALIFICACION
PROBLEMA 44.- Una tienda de comercio al menudeo acaba de recibir una nueva
remesa de camisas. Las investigaciones preliminares del mercado indica que las
utilidades que se pueden obtener a un precio dado de venta x estn dadas por la
frmula: utilidades = x (100 3x). Estribase un programa que produzca la siguiente
salida tabular para los precios enteros de venta desde 10 hasta 30 dlares.
PROGRAM UTILIDADES
INTEGER::X,U
PRINT*
PRINT 100
DO X=10,30
U=X*(100-3*X)
PRINT 200,X,U
END DO

100 FORMAT (4X,"PRECIO",4X,"UTILIDADES")


200 FORMAT (4X,"$",I3,7X,"$",I5)
END PROGRAM UTILIDADES
PROBLEMA 45.- Utilizando un ciclo repetitivo elabore un programa en el cual se
solicite que ingrese un nmero, cuatro veces, luego que visualice la suma total de los
cuatro nmeros ingresados.
PROGRAM CICLO
INTEGER::I,X,S
I=0;S=0
DO WHILE(I<4)
PRINT*,"INGRESE NUMERO"
READ*,X
I=I+1
S=S+X
END DO
PRINT*,"SUMA",S
END PROGRAM CICLO

PROBLEMA 49.- Se lanza una pelota hacia arriba con una velocidad V 0 pies por
segundo, y lo hace un hombre parado en el borde de un profundo precipicio. La altura
de la pelota /sobre el nivel del suelo) despus de t segundos se encuentra en h(t),
donde h(t) = V0t 16t2. Utilice la velocidad inicial V0 = 106 pies/seg. Escriba un
programa para producir una tabla que presente la altura de la pelota para cada valor
de t de 1 a 8 segundos.

PROGRAM PELOTA
INTEGER::T
REAL::H
INTEGER,PARAMETER::V=106

DO T=1,8
H=V*T-16*T**2
PRINT 100,T,H
END DO
100 FORMAT (2X,I2,"s",5X,F7.2," pies")
END PROGRAM PELOTA

También podría gustarte