Voltar

 

Trabalho de Processamento de Dados

 

Análise

 

 

 

Identificação das variáveis

 

a - ( inteiro) total de alunos aprovados

t - ( inteiro) total de alunos da turma, inclusive com erro de processamento

tt - ( inteiro ) total de alunos, sem erro de processamento

r - ( inteiro) total de alunos reprovados

e - ( inteiro) total de alunos com erro de processamento

j - ( inteiro) verificador para erro de processamento

y - ( inteiro) verificador para ordem decrescente das médias

w - ( inteiro ) contador decrescente, para colocar as médias em ordem decrescente

k – ( inteiro ) adquire o valor da média de cada aluno x 10

sit - ( string ) adquire a situação final de cada aluno

mat - ( vetor, inteiro ) armazena a matrícula de cada aluno

sf - ( vetor, inteiro ) indica o aluno aprovado e reprovado

tf - ( vetor, inteiro ) armazena o total de faltas de cada aluno

nts - ( matriz, real ) armazena os valores das notas e a média de cada aluno

 

Desenvolvimento

INÍCIO

INTEIRO tt, t,a,r,e,j,y,mat(50),tf(50),sf(50), k REAL nts(50,4)

a=0

t=0

r=0

e=0

p="s"

MOSTRE " Digite os valores pedidos."

ENQUANTO (p.eq."s")

t=t+1

MOSTRE "MAT N1 N2 N3 TF "

LEIA MAT(t),nts(t,1),nts(t,2),nts(t,3),TF(t)

 

j=e

SE ((mat(t)<=0)or(nts(t,1)<0)or(nts(t,2)<0)or(nts(t,3)<0)or(tf(t)<0)or

(nts(t,1)>10)or(nts(t,2)>10)or(nts(t,3)>10)) FAÇA

e=e+1

FIM SE

 

SE (e=j)FAÇA

nts(t,4)=(nts(t,1)+nts(t,2)+nts(t,3))/3

SE((TF(t)<=10)AND(nts(t,4)>=05))FAÇA

sf(t)=1

a=a+1

FIM SE

SE((TF(t)>10)AND(nts(t,4)>=07))FAÇA

sf(t)=1

a=a+1

FIM SE

SE((TF(t)>10)and(nts(t,4)<07))FAÇA

sf(t)=2

r=r+1

FIM SE

SE((TF(t)<=10)and(nts(t,4)<05))FAÇA

sf(t)=2

r=r+1

FIM SE

FIM SE

 

 

MOSTRE "Deseja continuar? ('s' para continuar )"

LEIA p

FIM ENQUANTO

 

 

w=100

ENQUANTO (w>=0)

y=t

ENQUANTO (y>0)

k=nts(y,4)*10

SE ((sf(y)=1)or(sf(y)=2))then

SE (sf(y).eq.1) FAÇA

sit="Ap"

FIM SE

SE (sf(y).eq.2) FAÇA

sit="Rep"

FIM SE

SE (w=k)then

MOSTRE mat(y),nts(y,1),nts(y,2),nts(y,3),nts(y,4),tf(y),sit

FIM SE

FIM SE

y=y-1

FIM ENQUANTO

w=w-1

FIM ENQUANTO

TT=T-E

MOSTRE "Total de alunos da turma ------------------>",TT

MOSTRE "Total de alunos aprovados ----------------->",A

MOSTRA "Total de alunos reprovados ---------------->",R

MOSTRE "Total de alunos com erro de processamento ->",E

FIM

 

 

Programa "notas.for"

 

integer t,tt,a,r,e,mat(50),tf(50),j,y,sf(50),w

real nts(50,4)

a=0

t=0

r=0

e=0

p="s"

print *,""

print *," ----------------------------------------------"

print *," | Programa para calculo de notas da turma. |"

print *," | Projeto final de Processamento de Dados |"

print *," ----------------------------------------------"

print *,""

print *,""

Print *," Digite os valores pedidos."

do while (p.eq."s")

c obtem os valore das notas,faltas e matricula

t=t+1

Print *,"MAT N1 N2 N3 TF "

read (*,5) MAT(t),nts(t,1),nts(t,2),nts(t,3),TF(t)

5 Format (i3,1x,3(f4.1,1x),i2)

c verifica valores com erro de processamento

j=e

if ((mat(t).le.0).or.(nts(t,1).lt.0).or.(nts(t,2).lt.0).or.(nts(

- t,3).lt.0).or.(tf(t).lt.0).or.(nts(t,1).gt.10).or.(nts(t,2).gt

- .10).or.(nts(t,3).gt.10)) then

e=e+1

endif

c calcula a media e diz se esta apovado ou reprovado

if (e.eq.j)then

nts(t,4)=(nts(t,1)+nts(t,2)+nts(t,3))/3

if((TF(t).le.10).AND.(nts(t,4).ge.05))then

sf(t)=1

a=a+1

endif

if((TF(t).gt.10).AND.(nts(t,4).ge.07))then

sf(t)=1

a=a+1

endif

if((TF(t).gt.10).and.(nts(t,4).lt.07))then

sf(t)=2

r=r+1

endif

if((TF(t).le.10).and.(nts(t,4).lt.05))then

sf(t)=2

r=r+1

endif

endif

print*,"Deseja continuar? ('s' para continuar)"

read (*,40)p

40 format (a1)

end do

print *,""

print *,""

print *," **** Resutado Final ****"

print *,""

print *,"MAT. N1 N2 N3 Med TF SF "

w=100

do while (w.ge.0)

y=t

do while (y.gt.0)

k=nts(y,4)*10

if ((sf(y).eq.1).or.(sf(y).eq.2))then

if (sf(y).eq.1) then

sit="Ap"

endif

if (sf(y).eq.2) then

sit="Rep"

endif

if (w.eq.k)then

write(*,45)mat(y),nts(y,1),nts(y,2),nts(y,3),nts(y,4),tf

- (y),sit

45 format(1x,i3,3x,4(f4.1,2x),i2,2x,a3)

endif

endif

y=y-1

enddo

w=w-1

enddo

print *,""

pause ' Aperte ENTER para continuar'

print *,""

tt=t-e

print *,""

print *," -----------------------------------"

print *," | Informacoes sobre a turma. |"

print *," -----------------------------------"

print *,""

print *,""

write (*,50)tt

50 format(5x,"Total de alunos da turma ------------------>",i3)

print *,""

write (*,51)a

print *,""

51 format(5x,"Total de alunos aprovados ----------------->",i3)

write (*,52)r

print *,""

52 format(5x,"Total de alunos reprovados ---------------->",i3)

write (*,53)e

print *,""

53 format(5x,"Total de alunos com erro de processamento ->",i3)

print *,""

end

Voltar