Advertisement
Guest User

Untitled

a guest
Dec 26th, 2016
138
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.55 KB | None | 0 0
  1. PROGRAM TRABALHO
  2. IMPLICIT NONE
  3. REAL::P1,P2,P3,P4,P5
  4. INTEGER::A,B,C,D,E,F,G, AUX,I,J
  5. CHARACTER(LEN=30)::NOMETURMA,NOMEDISCIPLINA,PERIODO,NOMEALUNO,BAUX,CAUX,DAUX,MATRICULA
  6. CHARACTER(LEN=30),DIMENSION(:),ALLOCATABLE::M1,M2,M4
  7. REAL,DIMENSION(:),ALLOCATABLE::M3
  8. !M1 TALVEZ SEJA REAL
  9.  
  10. OPEN(UNIT=1,FILE='Notas.TXT',STATUS='OLD')
  11.  
  12. READ( 1, FMT='(A10, A30, A10)' ) NOMETURMA, NOMEDISCIPLINA, PERIODO
  13.  
  14. A=0
  15. B=0
  16. C=0
  17. D=0
  18. E=0
  19. G=0
  20.  
  21. !A
  22. DO WHILE (MATRICULA/='FIMTURMA')
  23. READ( 1, FMT='(A10, A30, 5( F5.2 ))' ) MATRICULA, NOMEALUNO, P1, P2, P3, P4, P5
  24. A=A+1
  25. END DO
  26.  
  27. READ( 1, FMT='(A10, A30, A10)' ) NOMETURMA, NOMEDISCIPLINA, PERIODO
  28. !B
  29. DO WHILE (MATRICULA/='FIMTURMA')
  30. READ( 1, FMT='(A10, A30, 5( F5.2 ))' ) MATRICULA, NOMEALUNO, P1, P2, P3, P4, P5
  31. B=B+1
  32. END DO
  33.  
  34. READ( 1, FMT='(A10, A30, A10)' ) NOMETURMA, NOMEDISCIPLINA, PERIODO
  35. !C
  36. DO WHILE (MATRICULA/='FIMTURMA')
  37. READ( 1, FMT='(A10, A30, 5( F5.2 ))' ) MATRICULA, NOMEALUNO, P1, P2, P3, P4, P5
  38. C=C+1
  39. END DO
  40.  
  41. READ( 1, FMT='(A10, A30, A10)' ) NOMETURMA, NOMEDISCIPLINA, PERIODO
  42. !D
  43. DO WHILE (MATRICULA/='FIMTURMA')
  44. READ( 1, FMT='(A10, A30, 5( F5.2 ))' ) MATRICULA, NOMEALUNO, P1, P2, P3, P4, P5
  45. D=D+1
  46. END DO
  47.  
  48. READ( 1, FMT='(A10, A30, A10)' ) NOMETURMA, NOMEDISCIPLINA, PERIODO
  49. !E
  50. DO WHILE (MATRICULA/='FIMTURMA')
  51. READ( 1, FMT='(A10, A30, 5( F5.2 ))' ) MATRICULA, NOMEALUNO, P1, P2, P3, P4, P5
  52. E=E+1
  53. END DO
  54. CLOSE(1)
  55.  
  56. OPEN(UNIT=2,FILE='NOTAS.TXT',STATUS='OLD')
  57.  
  58. DO WHILE(G<=5)
  59. DO WHILE(G<=4)
  60. DO WHILE(G<=3)
  61. DO WHILE(G<=2)
  62. DO WHILE(G<=1)
  63.  
  64. READ( 2, FMT='(A10, A30, A10)' ) NOMETURMA, NOMEDISCIPLINA, PERIODO
  65. F=1
  66. DO WHILE (MATRICULA/='FIMTURMA')
  67. ALLOCATE(M1(A),M2(A),M3(A),M4(A))
  68. READ( 2, FMT='(A10, A30, 5( F5.2 ))' ) MATRICULA, NOMEALUNO, P1, P2, P3, P4, P5
  69. M1(F)=MATRICULA
  70. M2(F)=NOMEALUNO
  71. M3(F)=((2*P1)+(4*P2)+(2*P3)+(4*P4)+(5*P5))/17
  72. IF(M3(F)>=6)THEN
  73. M4(F)='APROVADO'
  74. ELSE
  75. IF(M3(F)>=4)THEN
  76. M4(F)='VS'
  77. ELSE
  78. M4(F)='REPROVADO'
  79. END IF
  80. END IF
  81. F=F+1
  82. END DO
  83. !IMPRIMIR ENTRA AQUI, PROGRAMA DE ORDENAR
  84.  
  85. DO J = 1, A
  86. DO I = J+1, A
  87. IF ( M2(I) < M2(J) ) THEN
  88. AUX = M3(J)
  89. M3(J) = M3(I)
  90. M3(I) = AUX
  91.  
  92. CAUX = M2(J)
  93. M2(J) = M2(I)
  94. M2(I) = CAUX
  95.  
  96. BAUX=M1(J)
  97. M1(J)=M1(I)
  98. M1(I)=BAUX
  99.  
  100. DAUX=M4(J)
  101. M4(J)=M4(I)
  102. M4(I)=DAUX
  103. ENDIF
  104. ENDDO
  105. ENDDO
  106.  
  107. WRITE(*,FMT='(A10, A30, A10)' ) NOMETURMA, NOMEDISCIPLINA, PERIODO
  108. DO I = 1, A
  109. WRITE(*,FMT='(A10,A30,F5.2,A10)') M1(I), M2(I), M3(I), M4(I)
  110. END DO
  111.  
  112. G=G+1
  113. A=B
  114. ENDDO
  115. A=C
  116. ENDDO
  117. A=D
  118. ENDDO
  119. A=E
  120. ENDDO
  121. ENDDO
  122.  
  123. END PROGRAM TRABALHO
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement