Anda di halaman 1dari 8

SOLUCION DEL PRIMER EXAMEN

PARCIAL
1.- Elabore un programa, para obtener el promedio de las 5 mejores
notas de un total de seis calificaciones de un estudiante.
PROGRAM IF_ANIDADOS
REAL::N1,N2,N3,N4,N5 ,N6 !SEIS NOTAS
REAL::PROM, MENOR !MENOR=VARIABLE AUXILIAR
PRINT*,"INGRESE LAS 6 NOTAS DEL CURSO"
READ*,N1,N2,N3,N4,N5.N6
!VAMOS ASIGNAR LA NOTA 1 A LA VARIABLE MENOR
MENOR=N1
!BUSCANDO LA MENOR NOTA ENTRE LAS CINCO
IF (MENOR>N1) THEN
MENOR=N1
ELSEIF (MENOR>N2) THEN
MENOR=N2
ELSEIF (MENOR>N3) THEN
MENOR=N3
ELSEIF (MENOR>N4) THEN
MENOR=N4
ELSEIF (MENOR>N5) THEN
MENOR=N5
ELSEIF (MENOR>N6) THEN
MENOR=N6
END IF
!CALCULANDO EL PROMEDIO
PROM=(N1+N2+N3+N4+N5+N6-MENOR)/5.
PRINT*,"PROMEDIO OBTENIDO= ",PROM
END PROGRAM IF_ANIDADOS

INGRESE LAS 6 NOTAS DEL CURSO


12 12 12 12 12 10
PROMEDIO OBTENIDO= 12.000000
Press any key to continue
2.- Elabore un programa que localice un valor (debe ingresar por teclado) que
este contenido dentro de un vector, se sugiere que los datos del vector al
ingresar estn siendo ingresado en forma ascendente. El programa debe utilizar
las sentencias de asignacin dinmica.
Program Asignacion
Integer,Dimension(:),Allocatable::L
Integer::n !numero de valores
Integer::valor !valor numerico que se asigna al vector
!el cual se va a localizar en L
Print*,"Ingrese cantidad de valores"
Read*,n
allocate(L(n))
Do i=1,n
Read*,L(i)
End Do
!Ingresado los valores al vector
! -4 5 11 13 19 20 41 52
!vamos a localizar el valor 19
Print*
Print*,"Ingrese el valor a buscar"
read*,valor
Do i=1,n
if (L(i)==valor) then
Print*,"Posicion donde se encuentra el valor",I
stop
end if
End Do
!En caso se introduce un valor que no esta
!en el vactor, sacamos un mensaje
Print*,"Valor no encontrado"
Deallocate(L)
End Program Asignacion
3.-Elabore un programa iterativo, que permita el ingreso de una serie de nmeros
enteros positivos y visualice el mayor y el menor valor de la serie de nmeros
ingresados. El programa terminara de ejecutarse (es decir terminara de ingresar
la serie de nmeros) cuando ingrese un valor negativo. (Usar la funcin max(a,b) y
la funcin min(a,b)
Program mayor_menor
integer::x
integer::xmin,xmax
print*,"ingrese un valor para x"
read*,x
xmin=x
xmax=x
do
print*,"ingrese nuevo valor"
read*,x
if (x<0) exit
xmin=min(xmin,x)
xmax=max(xmax,x)
end do
print*,"menor valor", xmin
print*, "mayor valor",xmax
end program mayor_menor
A=reshape((/2,8,8,1,3,0,5,5,1,3,5,9,6,1,3,5,7,0,9,4,5,5,10,1,0,2,7, &
& 3,4,2,10,7,9,6,8,7/),(/6,6/))
!4.c.-Teniendo en cuenta las preguntas 4a y 4b,
!escriba las ordenes correspondiente para que en las variables de
!tipo vector se almacenen todos los elementos de las tercera fila y
!en el otro vector todos los elementos de la cuarta columna respecto
!de la tabla A
v1=A(3,:)
!v2=A(:,4)
print*,v1
!print*,v2
do i=1,6
do j=4,5,2
v2(i)=A(i,j)
end do
end do
print*,v2

Anda mungkin juga menyukai