Registro
Publicado por Leonardo 19/07/2007
[ Hits: 5.413 ]
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}
intercalar dois arrays (vetores)
Nenhum comentário foi encontrado.
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
Warcraft II Remastered no Linux? (6)
O programa assinador digital (5)









