Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Segundo Trabajo de L.P Finalizado
Segundo Trabajo de L.P Finalizado
CASO a) Sentencia Do
PROGRAM FORMULA_DO_5
REAL::I
REAL::J,S,X
DO I=1,6
DO J=0.0,0.5,0.125
X=J*3.141593/180
S=I**2+SIN(X)
PRINT 200,I,J,S
END DO
END DO
200 FORMAT(1X,"cuando a es",F8.2,2X,"y b es",F8.2,3X,"El S es",F8.2)
END PROGRAM FORMULA_DO_5
CASO a) Sentencia Do
PROGRAM PROMEDIO_DO_7 !HALLAR EL PROMEDIO ENTRE 8 Y 18
REAL::I
REAL::P
P=0
DO I=8,18
P=P+I/11
END DO
PRINT*,"EL PROMEDIO DE 8 A 18 ES ",P
END PROGRAM PROMEDIO_DO_7
𝝅 𝝅
PROBLEMA 15.- Escriba un programa para evaluar la función: 𝒚 = 𝟐 𝒔𝒆𝒏𝟐 (𝟑𝜽 + 𝟒 )
𝝅 𝟐𝝅 𝟑𝝅 𝟒𝝅
Para valores de 𝜽 = 𝟎, 𝟖 , , , ,…,𝝅
𝟖 𝟖 𝟖
Donde π = 3.141593
Casos: a, b y c
CASO a) Sentencia Do
PROGRAM FORMULA_DO_15
REAL::I,Y
REAL,PARAMETER::pi=3.141593
DO I=0,pi,pi/8
Y=(pi/2)*(sin(3*I+pi/4))**2
PRINT 100,I,Y
END DO
100 FORMAT(1X,"CUANDO EL ANGULO ES",F8.2,3X,"Y ES",F8.2)
END PROGRAM FORMULA_DO_15
PROGRAM IMPARES_HASTA_9
INTEGER::I=1
DO WHILE (I<=9)
PRINT*, I
I=I+2
END DO
PRINT*,"HASTA LUEGO"
END PROGRAM IMPARES_HASTA_9
PROBLEMA 13.- Elabore una tabla de senos, cosenos y tangentes para los
ángulos entre 0º y 30º a intervalos de 1º, verifique los resultados consultando libros
de trigonometria.
Casos: a, b y c
CASO a) Sentencia Do
PROGRAM FORMULA_DO_13
INTEGER::I
REAL::S,C,T,a
REAL,PARAMETER::PI=3.141593
DO I=1,30,1
a=I*PI/180
S=SIN(a)
C=COS(a)
T=SIN(a)/COS(a)
PRINT*,"a = ",a
PRINT*,"SENO = ",S
PRINT*,"COSENO = ",C
PRINT*,"TANGENTE = ",T
PRINT*
END DO
END PROGRAM FORMULA_DO_13
Caso End Do
PROGRAM FORMULA_DO_13
INTEGER::I
REAL::S,C,T,a
REAL,PARAMETER::PI=3.141593
I=1
DO
IF(I>30) EXIT
a=I*PI/180
S=SIN(a)
C=COS(a)
T=SIN(a)/COS(a)
PRINT*,"a = ",a
PRINT*,"SENO = ",S
PRINT*,"COSENO = ",C
PRINT*,"TANGENTE = ",T
PRINT*
I=I+1
END DO
END PROGRAM FORMULA_DO_13
PROBLEMA 9.- Considere los n términos de una progresión geométrica: a, ar, ar2,
ar3, …. arn-1
Compute estos n términos para a = 3, r = 4, n = 8
a.- Sentencia Do while
b.- Sentencia Do… Exit…End Do, los dos casos
a)Sentencia Do While
PROGRAM PROGRESION_GEOMETRICA_9
INTEGER::a,r,I
a=3
r=4
I=1
DO WHILE (I<=8)
T=a*(r**(I-1))
PRINT 200,T
I=I+1
END DO
200 FORMAT(1X,F8.2)
PRINT*
PRINT*,"ESTA ES LA SECUENCIA PARA a=3,r=4 y n=8"
END PROGRAM PROGRESION_GEOMETRICA_9
b) Sentencia Do…Exit End Do
PROGRAM PROGRESION_GEOMETRICA_9
INTEGER::a,r,I
a=3
r=4
I=1
DO
T=a*(r**(I-1))
PRINT 200,T
I=I+1
IF(I>8) EXIT
END DO
200 FORMAT(1X,F8.2)
PRINT*
PRINT*,"ESTA ES LA SECUENCIA PARA a=3,r=4 y n=8"
END PROGRAM PROGRESION_GEOMETRICA_9
Caso a) Sentencia Do
PROGRAM SECUENCIA_11
REAL::SIGNO=1,X
REAL::Y
DO X=1,15,2
Y=(SIGNO**((X-1)/2))*(X**(-3))
PRINT*,X,Y
SIGNO=-SIGNO
END DO
END PROGRAM SECUENCIA_11
!CASO END DO
PROGRAM SECUENCIA_11
REAL::SIGNO,X
REAL::Y
SIGNO=1
X=1
DO
IF(X>15) EXIT
Y=(SIGNO**((X-1)/2))*(X**(-3))
PRINT*,X,Y
SIGNO=-SIGNO
X=X+2
END DO
END PROGRAM SECUENCIA_11
PROGRAM IMPARES_HASTA_9
INTEGER::I
I=1
DO
PRINT*, I
I=I+2
IF(I>9) EXIT
END DO
PRINT*,"HASTA LUEGO"
END PROGRAM IMPARES_HASTA_9
PROGRAM SUMA_28
INTEGER::N
REAL::S,K,T
PRINT*,"INGRESE EL VALOR PARA N"
READ*,N
S=0
K=1
DO WHILE (K<=N)
T=(3+K**2)/(4+7*K)
S=S+T
K=K+1
END DO
PRINT*,"EL VALOR DE LA SUMA ES ",S
END PROGRAM SUMA_28
PROBLEMA 18.- Elaborar un programa que encuentre la suma para los numeros
ingresados por teclado 15 47 43 64 29 (el ingreso es línea por línea para cada
valor) usando un centinela cuyo valor es -1, es decir al ingresar cada valor debe
salir un mensaje “ingrese un numero o -1 para terminar”, una ves ingresado el
ultimo valor se digitará -1 y visualizara la suma total de los numeros ingresados el
valor -1 no forma parte de la suma. Utilizar la sentencia Do-While(condición).
PROGRAM SUMA_18
INTEGER::X,S
DO WHILE (X/=-1)
PRINT*,"INGRESE NUMERO O -1 PARA TERMINAR"
READ*,X
S=S+X
END DO
PRINT*,S+1
END PROGRAM SUMA_18
PROBLEMA 24.- Para el problema 18, modifique el programa utilizando la sentencia
Do if(cond)
PROGRAM SUMA_18
INTEGER::X,S
DO
PRINT*,"INGRESE NUMERO O -1 PARA TERMINAR"
READ*,X
S=S+X
IF(X==-1) EXIT
END DO
PRINT*,S+1
END PROGRAM SUMA_18
PROBLEMA 41.- Escriba un programa que reciba como entrada el largo de 3 lados
de un triángulo. La salida debe ser: EQUILATERO, ISOCELES O ESCALENO. No
suponga que las longitudes están en un orden particular. Corra su programa
utilizando como datos: a) 2 2 2, b) 2 3 2, c) 2 2 3, d) 2 3 3, e) 2 3 4, f) 4 2 3.
PROGRAM TIPO_DE_TRIANGULO
REAL::A,B,C
PRINT*,"INGRESE UN LADO DEL TRIANGULO"
READ*,A
PRINT*,"INGRESE OTRO LADO"
READ*,B
PRINT*,"INGRESE EL ULTIMO LADO DEL TRIANGULO"
READ*,C
IF(A==B .AND. B==C) THEN
PRINT*,"ES UN TRINANGULO EQUILATERO"
ELSEIF(A==B .OR. B==C .OR. A==C) THEN
PRINT*,"ES UN TRIANGULO ISCOSELES"
ELSEIF(A/=B .AND. B/=C .AND. A/=C) THEN
PRINT*,"ES UN TRIANGULO ESCALENO"
ENDIF
END PROGRAM TIPO_DE_TRIANGULO
PROBLEMA 38.- Una agencia de seguros para automóviles asigna costos basados
en el sexo y en la edad del conductor, los varones de menos de 25 años pagan la
prima más alta, 1000 dólares. Los hombres de 25 o más años pagan 700 dólares.
Las mujeres de menos de 21 años pagan 800, mientras que mujeres de 21 o más
años pagan 500. Elabore un programa que lea el sexo y la edad y visualice el costo
del auto.
PROGRAM COSTOS_DE_SEGUROS
INTEGER::OPCION,X,Y
PRINT*,"INDIQUE EL SEXO DEL CONDUCTOR"
PRINT*,"---------------"
PRINT*
PRINT*,"1. MASCULINO"
PRINT*,"2. FEMENINO"
PRINT*
READ*,OPCION
SELECT CASE (OPCION)
CASE(1)
PRINT*,"DIGA LA EDAD DEL CONDUCTOR"
READ*,X
IF(X<25) THEN
PRINT*,"PAGA LA PRIMA MAS ALTA, 1000 DOLARES"
ELSE IF (X>=25) THEN
PRINT*,"PAGA LA PRIMA DE 700 DOLARES"
END IF
CASE(2)
PRINT*,"DIGA LA EDAD DE LA CONDUCTORA"
READ*,Y
IF(Y<21) THEN
PRINT*,"PAGA LA PRIMA DE 800 DOLARES"
ELSE IF (Y>=21) THEN
PRINT*,"PAGA LA PRIMA DE 500 DOLARES"
END IF
END SELECT
END PROGRAM COSTOS_DE_SEGUROS
PROBLEMA 35.- Un trabajador recibe su sueldo normal por las primeras treinta
horas y se le paga 1.5 veces su sueldo normal por cada hora después de las
primera treinta. Escriba un programa que calcule y visualice el pago al empleado
basado en el sueldo normal y el número de horas trabajadas por el empleado, estos
datos deberán ser introducidos por el usuario. Por ejemplo si se le indica al
programa que las horas trabajadas son 42 y 6.00 dólares para el sueldo por hora, el
programa debe imprimir 288.00 dólares como monto a percibir.
PROGRAM SUELDO
REAL::A,B
PRINT*,"INDIQUE EL SUELDO POR HORA DEL TRABAJADOR"
READ*,A
PRINT*,"INDIQUE EL NUMERO DE HORAS TRABAJADAS"
READ*,B
IF(B<=30) THEN
S=A*B
ELSE IF (B>30) THEN
S=A*30+1.5*A*(B-30)
PRINT*,"EL MONTO A PERCIBIR ES DE ",S
END IF
END PROGRAM SUELDO
PROBLEMA 48.- Escriba un programa que imprima una tabla de cuadrado y cubos
del 1 al 15 y luego imprima:
· La suma de los cuadrados.
· La suma de los cubos.
· Cuantos son mayores de 500.
· Un mensaje que diga si la suma de los cuadrados fue o no mayor de 2000.
PROGRAM PROBLEMA_48
INTEGER::I,J,K
I=1
PRINT*," CUADRADOS "," CUBOS "
DO WHILE (I<=15)
J=I**2
K=I**3
I=I+1
PRINT*,J,K
END DO
END PROGRAM PROBLEMA_48
PROGRAM CONJETURA_ULAM
INTEGER::X
PRINT*,"INGRESE UN NUMERO ENTERO"
READ*,X
PRINT*,X
DO WHILE(X/=1)
IF (MOD(X,2)==0) THEN
X=X/2
PRINT*,X
ELSE IF (MOD(X,2)/=0) THEN
X=X*3+1
PRINT*,X
END IF
END DO
END PROGRAM CONJETURA_ULAM
PROBLEMA 27.- Para el problema 21, modifique el programa utilizando la sentencia
Do if(cond).
PROGRAM CONJETURA_ULAM
INTEGER::X
PRINT*,"INGRESE UN NUMERO ENTERO"
READ*,X
PRINT*,X
DO
IF (MOD(X,2)==0) THEN
X=X/2
PRINT*,X
ELSE IF (MOD(X,2)/=0) THEN
X=X*3+1
PRINT*,X
END IF
IF (X==1) EXIT
END DO
END PROGRAM CONJETURA_ULAM