Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- PROGRAM TRABALHO
- IMPLICIT NONE
- REAL::P1,P2,P3,P4,P5
- INTEGER::A,B,C,D,E,F,G, AUX,I,J
- CHARACTER(LEN=30)::NOMETURMA,NOMEDISCIPLINA,PERIODO,NOMEALUNO,BAUX,CAUX,DAUX,MATRICULA
- CHARACTER(LEN=30),DIMENSION(:),ALLOCATABLE::M1,M2,M4
- REAL,DIMENSION(:),ALLOCATABLE::M3
- !M1 TALVEZ SEJA REAL
- OPEN(UNIT=1,FILE='Notas.TXT',STATUS='OLD')
- READ( 1, FMT='(A10, A30, A10)' ) NOMETURMA, NOMEDISCIPLINA, PERIODO
- A=0
- B=0
- C=0
- D=0
- E=0
- G=0
- !A
- DO WHILE (MATRICULA/='FIMTURMA')
- READ( 1, FMT='(A10, A30, 5( F5.2 ))' ) MATRICULA, NOMEALUNO, P1, P2, P3, P4, P5
- A=A+1
- END DO
- READ( 1, FMT='(A10, A30, A10)' ) NOMETURMA, NOMEDISCIPLINA, PERIODO
- !B
- DO WHILE (MATRICULA/='FIMTURMA')
- READ( 1, FMT='(A10, A30, 5( F5.2 ))' ) MATRICULA, NOMEALUNO, P1, P2, P3, P4, P5
- B=B+1
- END DO
- READ( 1, FMT='(A10, A30, A10)' ) NOMETURMA, NOMEDISCIPLINA, PERIODO
- !C
- DO WHILE (MATRICULA/='FIMTURMA')
- READ( 1, FMT='(A10, A30, 5( F5.2 ))' ) MATRICULA, NOMEALUNO, P1, P2, P3, P4, P5
- C=C+1
- END DO
- READ( 1, FMT='(A10, A30, A10)' ) NOMETURMA, NOMEDISCIPLINA, PERIODO
- !D
- DO WHILE (MATRICULA/='FIMTURMA')
- READ( 1, FMT='(A10, A30, 5( F5.2 ))' ) MATRICULA, NOMEALUNO, P1, P2, P3, P4, P5
- D=D+1
- END DO
- READ( 1, FMT='(A10, A30, A10)' ) NOMETURMA, NOMEDISCIPLINA, PERIODO
- !E
- DO WHILE (MATRICULA/='FIMTURMA')
- READ( 1, FMT='(A10, A30, 5( F5.2 ))' ) MATRICULA, NOMEALUNO, P1, P2, P3, P4, P5
- E=E+1
- END DO
- CLOSE(1)
- OPEN(UNIT=2,FILE='NOTAS.TXT',STATUS='OLD')
- DO WHILE(G<=5)
- DO WHILE(G<=4)
- DO WHILE(G<=3)
- DO WHILE(G<=2)
- DO WHILE(G<=1)
- READ( 2, FMT='(A10, A30, A10)' ) NOMETURMA, NOMEDISCIPLINA, PERIODO
- F=1
- DO WHILE (MATRICULA/='FIMTURMA')
- ALLOCATE(M1(A),M2(A),M3(A),M4(A))
- READ( 2, FMT='(A10, A30, 5( F5.2 ))' ) MATRICULA, NOMEALUNO, P1, P2, P3, P4, P5
- M1(F)=MATRICULA
- M2(F)=NOMEALUNO
- M3(F)=((2*P1)+(4*P2)+(2*P3)+(4*P4)+(5*P5))/17
- IF(M3(F)>=6)THEN
- M4(F)='APROVADO'
- ELSE
- IF(M3(F)>=4)THEN
- M4(F)='VS'
- ELSE
- M4(F)='REPROVADO'
- END IF
- END IF
- F=F+1
- END DO
- !IMPRIMIR ENTRA AQUI, PROGRAMA DE ORDENAR
- DO J = 1, A
- DO I = J+1, A
- IF ( M2(I) < M2(J) ) THEN
- AUX = M3(J)
- M3(J) = M3(I)
- M3(I) = AUX
- CAUX = M2(J)
- M2(J) = M2(I)
- M2(I) = CAUX
- BAUX=M1(J)
- M1(J)=M1(I)
- M1(I)=BAUX
- DAUX=M4(J)
- M4(J)=M4(I)
- M4(I)=DAUX
- ENDIF
- ENDDO
- ENDDO
- WRITE(*,FMT='(A10, A30, A10)' ) NOMETURMA, NOMEDISCIPLINA, PERIODO
- DO I = 1, A
- WRITE(*,FMT='(A10,A30,F5.2,A10)') M1(I), M2(I), M3(I), M4(I)
- END DO
- G=G+1
- A=B
- ENDDO
- A=C
- ENDDO
- A=D
- ENDDO
- A=E
- ENDDO
- ENDDO
- END PROGRAM TRABALHO
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement