Registro

Publicado por Leonardo 19/07/2007

[ Hits: 5.141 ]

Download REGISTRO.PAS




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.

  



Esconder código-fonte

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}

Scripts recomendados

Menu

controle de notas de uma clase com vetor e registro

programa pra carregear duas matrizes e achar o maior

registro de turma com record

Número primo


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts