Registro
Publicado por Leonardo 19/07/2007
[ Hits: 5.432 ]
Este programa faz o resgistro de até 35 alunos, recebe 5 notas de provas e faz a média das notas, imprime na tela o cadastro e a média.
O programa cadastra informacoes dos aluno (no maxino 35) exibe estes cadastros,
Mostra o nome e RA dos alunos que tiveram notas maiores que 8, calcula a media das notas da turma}
program registro;
uses crt; {Biblioteca Padrao}
{Definicao de tipos definidos pelo programador}
type cadastro = record {declaracao de um tipo de dado complexo}
Sigla: string [10];
Disciplina: string [40]; {Nome da Disciplina}
data: record {Data Prova}{Declaracao de um tipo de dado complexo}
dia: 1..31;
mes: 1..12;
ano: 1500..2500;
end; {fim do registro data}
Nome_aluno: string [50];
RA: longint;
questao: array [1..5] of real;
total: real;
end; {fim do registro cadastro}
var {Declaracoes de variaveis}
cad: array [1..3] of cadastro; {vetor de cadastro}
i,n,j: integer; {n quantidade de elementos, i,j sao indices dos vetors cad e questao respectivamente}
media,soma:real;{media eh a media das notas da turma e soma o total das notas da prova}
begin {Inicio do programa principal}
clrscr; {Comando do Pascal que limpa a tela}
writeln ('Escreva a quantidade de notas a serem lidas'); {Orientacao ao usuario}
readln (n); {Le a quantidaade de elementos do vetor}
writeln; {Comando que pula linha}
{estrutura de repeticao que vai ler os dados}
for i:=1 to n do
begin
with cad [i] do {Referencia ao campo}
begin
writeln ('Cadastro da ',i,'a. pessoa'); {Orientacao ao usuario}
writeln; {Comando que pula linha}
write ('Sigla = ' ); {Orientacao ao usuario}
readln (sigla); {Le a Sigla}
write ('Nome da Disciplina = '); {Orientacao ao usuario}
readln (disciplina); {Le a o nome da Disciplina}
with data do {Referencia ao campo}
begin
writeln ('Data da Prova'); {Orientacao ao usuario}
write ('Dia = '); {Orientacao ao usuario}
read (dia); {Le o dia da prova}
write ('Mes = '); {Orientacao ao usuario}
read (mes); {Le o mes da prova}
write ('Ano = '); {Orientacao ao usuario}
readln (ano); {Le o ano da prova}
end; {Fim da entrada de dados do reg. data}
write ('Nome do Aluno = '); {Orientacao ao usuario}
read (nome_aluno); {Le o nome do aluno}
write ('RA = '); {Orientacao ao usuario}
read (RA); {Le o RA}
writeln ('Nota das Questoes'); {Orientacao ao usuario}
total:=0; {Atribuicao do valor inicial do total}
{Estrutura de repeticao que vai ler as notas obtidas em cada questao e calcular o total}
for j:=1 to 5 do
begin
write ( j, ')'); {Orientacao ao usuario}
readln (questao [j]); {Le a nota de cada questao}
total:= total+questao[j] {Calcula a nota da prova}
end; {Fim do comando for}
end; {Fim de entrada de dados do reg. cad[i]}
writeln; {Comando que pula linha}
end; {Fim do comando for}
writeln ('Aluno que obtiveram notas maior que 8'); {Orientacao ao usuario}
{Estrutura de repeticao que vai verificar quais alunos obtiveram nota maior que 8 e exibir estes dados}
for i:=1 to n do
with cad [i] do {Referencia ao campo}
begin
If total > 8 then {Compara os alunos que tiveram notas maiores que 8}
begin
writeln ('Nome = ',nome_aluno); {Escreve os nomes dos alunos que tiveram notas maiores que 8}
writeln ('RA = ', ra); {Escreve o RA dos alunos que tiveram notas maiores que 8}
end; {Fim do comando IF}
end;{Fim de entrada de dados do reg cad[i]}
{Estrutura de repeticao que vai somar todas as notas da prova obtidas pela turma}
for i:=1 to n do
soma:= cad[i].total + soma;
media:= soma/5; {Calcula a media das notas da prova da turma}
writeln; {Comando que pula linha}
{Estrutura de repeticao que escreve os dados cadastrados}
for i:=1 to n do
begin
with cad [i] do {Referencia ao campo}
begin
writeln ('Cadastro da ',i,'a. pessoa'); {Orientacao ao usuario}
writeln ('Sigla = ', sigla); {Escreve a Sigla}
writeln ('Nome da Disciplina = ',disciplina); {Escreve o nome da discplina}
with data do {Referencia por campo}
begin
writeln ('Data da Prova = ',dia,' / ',mes, ' / ', ano);
end; {Fim da entrada de dados do reg. data}
writeln ('Nome do Aluno = ', nome_aluno); {Escreve o nome do aluno}
writeln ('RA = ', RA); {Escreve o RA}
writeln ('Nota das Questoes'); {Orientacao ao usuario}
{Estrutura de repeticao que vai escrever a nota de cada questao}
for j:=1 to 5 do
writeln (j,'.a questÆo = ', questao[j]:5:2);
writeln ('Total = ', total:5:2); {Escreve a nota da prova}
writeln;{Comando que pula linha}
end; {Fim da entrada de dados do reg.cad[i]}
end; {Fim do comando for}
writeln;{Comando que pula linha}
writeln ('A media das Notas = ', media:5:2); {Escreve a media das notas da turma}
readkey; {Comando do Pascal que espera o usuario digitar qualquer tecla para finalizar o programa}
end. {Fim do programa principal}
Cáculo de Fatorial, utilizando-se de Repeat - Until
Contador de números (Pascal) - efeito Matrix
Nenhum comentário foi encontrado.
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Ativando e usando "zoom" no ambiente Cinnamon
Vídeo Nostálgico de Instalação do Conectiva Linux 9
Como realizar um ataque de força bruta para desobrir senhas?
Thinkpads são bons mesmo ?! (1)
Estou tentando ser legalista, mas tá complicado! (8)
Queda no serviços da Cloudflare, alguns sites estão fora do ar. (1)









