Registro
Publicado por Leonardo 19/07/2007
[ Hits: 5.560 ]
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}
Programa que realiza o reajuste salarial de acordo com o cargo
Editor de texto em Pascal/Lazarus
mostrar a meior e a menor temperatura do ano com vetor
Nenhum comentário foi encontrado.
Faça suas próprias atualizações de pacotes/programas no Void Linux e torne-se um Contribuidor
Como rodar o Folding@home no Linux
Criando um painel de controle (Dashboard) para seu servidor com o Homepage
O Abismo entre o Código e o Chão: Saltos Tecnológicos e a Exclusão Estrutural no Brasil
Instalar e Configurar a santíssima trindade (PAP) no Void Linux
Pisando no acelerador do Linux Mint: Kernel XanMod, zRAM e Ajustes de Swap
Como compilar kernel no Linux Mint
Lançamento do Brutal DOOM test 6
Consertando o erro no Brave de webgl
Solução para ter de volta as bordas e barra de títulos das janelas em zenity no Debian 13.x
Seno, Coseno, Tangente em CLIPPER (0)
Inserir uma URL num arquvo pelo Ubuntu (CLIPPER) (0)
VMWare Player não conecta na rede nem consigo intercambiar arquivos (1)









