
tengo que modificar mi codigo para utilicen archivos de datos para generar el resultado y luego
Publicado por ronal (1 intervención) el 24/03/2024 20:19:55
crear una parte donde capturen y guarden esos datos y otra donde lean esos datos guardados e imprima los resultados
program indice_academico
implicit none
integer :: n
real :: indice
character(len=20) :: matricula, nombre
integer, dimension(:), allocatable :: creditos, notas
character(len=20), dimension(:), allocatable :: claves
integer :: i
print *, "Ingrese la matricula del estudiante:"
read *, matricula
print *, "Ingrese el nombre del estudiante:"
read *, nombre
print *, "Ingrese el numero de asignaturas:"
read *, n
allocate(creditos(n), notas(n), claves(n))
print *, "Ingrese las claves, los creditos y las notas de cada asignatura:"
do i = 1, n
print *, "Asignatura ", i
read *, claves(i), creditos(i), notas(i)
end do
indice = sum(creditos * notas) / sum(creditos)
print *, "Calculo del indice academico"
print *, "Matricula: ", matricula, "Nombre: ", nombre
print *, "No. Clave Cr Notas"
do i = 1, n
print '(I2, 5X, A10, 2X, I1, 2X, I8)', i, claves(i), creditos(i), notas(i)
end do
print *, "--------------------------------------------"
print *, "Íindice: ", indice
pause
deallocate(creditos, notas, claves)
end program indice_academico
program indice_academico
implicit none
integer :: n
real :: indice
character(len=20) :: matricula, nombre
integer, dimension(:), allocatable :: creditos, notas
character(len=20), dimension(:), allocatable :: claves
integer :: i
print *, "Ingrese la matricula del estudiante:"
read *, matricula
print *, "Ingrese el nombre del estudiante:"
read *, nombre
print *, "Ingrese el numero de asignaturas:"
read *, n
allocate(creditos(n), notas(n), claves(n))
print *, "Ingrese las claves, los creditos y las notas de cada asignatura:"
do i = 1, n
print *, "Asignatura ", i
read *, claves(i), creditos(i), notas(i)
end do
indice = sum(creditos * notas) / sum(creditos)
print *, "Calculo del indice academico"
print *, "Matricula: ", matricula, "Nombre: ", nombre
print *, "No. Clave Cr Notas"
do i = 1, n
print '(I2, 5X, A10, 2X, I1, 2X, I8)', i, claves(i), creditos(i), notas(i)
end do
print *, "--------------------------------------------"
print *, "Íindice: ", indice
pause
deallocate(creditos, notas, claves)
end program indice_academico
Valora esta pregunta


0