Sie sind auf Seite 1von 10

EJEMPLO 1

Elabore un programa que determine si las coordenadas de un punto p(x,y),


estn dentro de un circulo con centro en el origen. Sabiendo que el radio del
circulo es igual a 9 metros.
La ecuacin del circulo es x2+y2=R2
PROGRAM CORDENADAS_DEL_PUNTO
INTEGER::X,Y
REAL,PARAMETER::R=9
PRINT*,"INGRESE EL VALOR DE X"
READ*,X
PRINT*,"INGRESE EL VALOR DE Y"
READ*,Y
IF ((X**2)+(Y**2)<=(R**2))THEN
PRINT*,"EL PUNTO (X,Y) ESTA DENTRO DE LA CIRCUNFERENCIA"
ELSE
PRINT*,"EL PUNTO ESTA FUERA DE LA CIRCUNFERENCIA"
END IF
END PROGRAM CORDENADAS_DEL_PUNTO

PROGRAM CORDENADAS_DEL_PUNTO
REAL::X,Y,D
REAL,PARAMETER::R=9
PRINT*,"INGRESE EL VALOR DE X"
READ*,X
PRINT*,"INGRESE EL VALOR DE Y"
READ*,Y
D=SQRT((X**2)+(Y**2))
IF (D<=R)THEN

PRINT*,"EL PUNTO (X,Y) ESTA DENTRO DE LA CIRCUNFERENCIA"


ELSE
PRINT*,"EL PUNTO ESTA FUERA DE LA CIRCUNFERENCIA"
END IF
END PROGRAM CORDENADAS_DEL_PUNTO

PROGRAM CORDENADAS_DEL_PUNTO
REAL::X,Y,D
REAL,PARAMETER::R=9
PRINT*,"INGRESE EL VALOR DE X"
READ*,X
PRINT*,"INGRESE EL VALOR DE Y"
READ*,Y
D=SQRT((X**2)+(Y**2))
IF (D<=R.AND.D/=0)THEN
PRINT*,"EL PUNTO (X,Y) ESTA DENTRO DE LA CIRCUNFERENCIA"
ELSE
IF (D>R)THEN
PRINT*,"EL PUNTO (X,Y) ESTA FUERA DE LA CIRCUNFERENCIA"
ELSE
IF (D==0)THEN
PRINT*,"EL PUNTO (X,Y) ESTA EN EL ORIGEN"
END IF
END IF
END IF
END PROGRAM CORDENADAS_DEL_PUNTO

Datos de entrada: nmeros reales, real y real parameter


X
Y
Algoritmo De Solucin
Inicio
Leer
X,Y
Hacer
R=9
D= x 2+ y 2

Si (D<=R) entonces
Imprimir El punto est dentro del circulo
CASO CONTRARIO
Imprimir El punto est fuera del circulo
Fin de Si

Uso del if lgico


Esta sentencia evalua una condicin y se ejecuta si es verdadero,
no usa la palabra THEN, ELSE, END IF
Sintaxis
IF (CONDICION) SENTENCIA EJECUTABLE

EJEMPLO.
X=3
IF (X>0) PRINT*,ES POSITIVO
PROGRAM CORDENADAS_DEL_PUNTO
REAL::X,Y,D
REAL,PARAMETER::R=9
PRINT*,"INGRESE EL VALOR DE X"
READ*,X
PRINT*,"INGRESE EL VALOR DE Y"
READ*,Y
D=SQRT((X**2)+(Y**2))
IF (D<=R.AND.D/=0)PRINT*,"EL PUNTO ESTA DENTRO DE LA
CIRCUNFERENCIA"
IF (D>R)PRINT*,"EL PUNTO ESTA FUERA DE LA CIRCUNFERENCIA"
IF (D==0)PRINT*,"EL PUNTO ESTA EN EL ORIGEN"
END PROGRAM CORDENADAS_DEL_PUNTO

EJEMPLO 2
Elabore un programa que permita el ingreso de una letra del teclado y detecte
si es vocal, caso contrario es una consonante.
a,e,i,o,u es una vocal
Usando if anidados o la sentencia de seleccin multiple (select case).
PROGRAM VOCALES_RECONOCIMIENTO
CHARACTER(LEN=1)::VOCAL
PRINT*,"INGRESE UNA LETRA DEL TECLADO"

READ*,VOCAL
SELECT CASE(VOCAL)
CASE ("A","a")
PRINT*,"ES UNA VOCAL ",VOCAL
CASE ("E","e")
PRINT*,"ES UNA VOCAL ",VOCAL
CASE ("I","i")
PRINT*,"ES UNA VOCAL ",VOCAL
CASE ("O","o")
PRINT*,"ES UNA VOCAL ",VOCAL
CASE ("U","u")
PRINT*,"ES UNA VOCAL ",VOCAL
CASE DEFAULT
PRINT*,"ES UNA CONSINANTE ",VOCAL
END SELECT
END PROGRAM VOCALES_RECONOCIMIENTO

SENTENCIAS PARA CICLOS DE REPETICIN:


Cu8ando se necesita que una sentencia o un grupo de sentencias, se repita, en
programacin existe la orden de repeticin controlada por el programador y la
orden de repeticin, controlada por una condicin.
S=1+2+3+4+5+6+7+ +100
Primera repeticin
S1=1+2
Segunda repeticin

S2=S1+3
Tercera repeticin
S3=S2+4
Cuarta repeticin
S4=S3+5
Quinta repeticin
S5=S4+6
Sexta repeticin
S6=S5+7
***

Ciclo DO en fortran 90
Sintaxis
DO VC=VI, VF, Inc
Sentencias.. END DO
VC: Variable de control de tipo entero
VI: Valor inicial del proceso repetitivo
VF: Valor final del proceso repetitivo
Inc: Variable contador, generalmente de 1 en 1
Ejemplo:
DO M=1,5,5
PRINT*,M
END DO
Ejemplo:
DO I=1,4
X=2*I
PRINT*,I,X
END DO

EJEMPLO 3
Elabore un programa que determine la suma total de 1+2+3+4+5+6+10,
utilizando ciclo explcito.
PROGRAM SUMA_SERIE
INTEGER::N,I
DO I=1,10,1
N=N+I
END DO
PRINT*,"LA SUMA DE LA SERIE ES: ",N
END PROGRAM SUMA_SERIE

Modifique el programa anterior para visualizar la suma parciales de la serie.


PROGRAM SUMA_SERIE
INTEGER::N,I
DO I=1,10,1
N=N+I
PRINT*,"SUMA PARCIAL",I, N
END DO
PRINT*,"LA SUMA DE LA SERIE ES: ",N
END PROGRAM SUMA_SERIE

EJEMPLO 4
Para una cantidad n de trminos:
PROGRAM SUMA_SERIE
INTEGER::N,I,M
PRINT*,"INGRESE EL NUMERO DE TERMINOS: "
READ*,M
DO I=1,M,1
N=N+I
END DO
PRINT*,"LA SUMA DE LA SERIE ES: ",N
END PROGRAM SUMA_SERIE

PROGRAM SUMA_SERIE
INTEGER::N,I,M
PRINT*,"INGRESE EL NUMERO DE TERMINOS: "
READ*,M
DO I=1,M,1
N=N+I
PRINT*,"SUMA PARCIAL",I, N
END DO
PRINT*,"LA SUMA DE LA SERIE ES: ",N
END PROGRAM SUMA_SERIE

EJEMPLO 5
Elaborar un programa que permita el ingreso de un valor de tipo entero el cual
indicara la cantidad de veces que se repita el bucle de sentencia. Luego
solicitara que ingrese valores por teclado y presente el total de los valores
ingresados. Usar un valor negativo de tipo entero para que finalice el ciclo
repetitivo y termine la ejecucin del programa.
N=100 este valor indicara que se va a repetir 100 veces
Ingresar 5
TOTAL=0+5
Ingresar 10
TOTAL=5+10
Ingresar 200
TOTAL=15+200
Ingresar -1
Termino y salgo del programa pero visualizo el resultado
PROGRAM SUMA_SERIE
INTEGER::N,I,TOTAL
TOTAL=0
PRINT*,"INGRESE EL TOTAL DE REPETICIONES"
READ*,REP
DO I=1,REP,1
PRINT*,"INGRESE VALOR ",I
READ*,N
IF (N<0) THEN

PRINT*,"LA SUMA DE LA SERIE ES: ",TOTAL


STOP
END IF
TOTAL=TOTAL+N
END DO
PRINT*,"LA SUMA DE LA SERIE ES: ",TOTAL
END PROGRAM SUMA_SERIE

Das könnte Ihnen auch gefallen