1. Registro para Ler em Pseudocódigo
  2. Registro para Gravar em Pseudocódigo
  3. Classe Registro
  4. Classe Diário
  5. Ordenação

























Exemplo de um registro com arquivo em Pseudocódigo


 - Desenvolvendo um algoritmo que defina um registro com os campos:

   Para a leitura do arquivo.

  * nome do aluno.

  * número do aluno.

  * nota do primeiro bimestre.

  * nota do segundo bimestre.

  * media final do aluno.



Algoritmo diárioLeitura 

  início algoritmo

   Definir 

   //Definição do tipo de registro RegistroDiário

   tipo RegistroDiário = registro //O tipo de   registro chamase RegistroDiário.

       NAluno     alfanumérico; //Campo com o nome.

       RAluno     numérico_inteiro;  //Campo com o número.

       Nota1Bim   numérico_real; //Campo com a primeira nota.

       Nota2Bim   numérico_real; //Campo com a segunda nota.

       MediaFinal numérico_real;  //Campo com a média final.

   fimregistro;

      //definição do tipo de ArquivoDiário.

    tipo ArquivoDiário = arquivo de RegistroDiário

 fimarquivo;



  Declarar

   Aluno RegistroDiário; // Declaração de um registro do tipo RegistroDiário.

   ArqDiário ArquivoDiário; // Declaração de um registro do tipo ArquivoDiário.

   //Abrindo o arquivo ArqDiário.

   abrir(ArqDiário);

   //Lê o registro com todos os campos do arquivo ArqDiário e armazena no registro Aluno.

   lerarq(ArqDiário,Aluno);

   //Saída dos resultados.

  escrever("O Aluno",Aluno.NAluno," com número ",Aluno.RAluno); 

  escrever("Tirou na primeira nota ", Aluno.Nota1Bim);

  escrever("Tirou na segunda  nota ", Aluno.Nota2Bim);

  escrever("E tem média final   =  ", Aluno.MediaFinal;

 fechar(ArqDiário);



fim_algoritmo.

Início


























- Desenvolvendo um algoritmo que defina um registro com os campos:

   Para a gravação do arquivo.

  * nome do aluno.

  * número do aluno.

  * nota do primeiro bimestre.

  * nota do segundo bimestre.

  * media final do aluno.



Algoritmo diárioGravação 

  início algoritmo

   Definir 

   //Definição do tipo de registro RegistroDiário

   tipo RegistroDiário = registro //O tipo de   registro chamase RegistroDiário.

       NAluno     alfanumérico; //Campo com o nome.

       RAluno     numérico_inteiro;  //Campo com o número.

       Nota1Bim   numérico_real; //Campo com a primeira nota.

       Nota2Bim   numérico_real; //Campo com a segunda nota.

       MediaFinal numérico_real;  //Campo com a média final.

   fimregistro;

      //definição do tipo de ArquivoDiário.

    tipo ArquivoDiário = arquivo de RegistroDiário

 fimarquivo;



  Declarar

     //Declaraçao de um registro do tipo RegistroDiário.

     Aluno[5] RegistroDiário; 

     contador numérico_inteiro;

     contador -> 0;

     abrir(ArqDiário);

    

     enquanto( contador < 4) faça 

      //Lê registro com todos os campos.

      lerarq(ArqDiário,Aluno[contador]);

      contador ++;

     fim_enquanto;

     

      //Fechando o arquivo ArqDiário.

     fechar(ArqDiário);

 fim_algoritmo.

Início


























CLASSE DO REGISTRO DO ALUNO

public class RNAluno { String NAluno; int RAluno; double Nota1Bim; double Nota2Bim; double MediaFinal; //Construtor do tipo registro. RNAluno(String NA, int RA, double N1, double N2, double media) { NAluno = NA ; RAluno = RA ; N1 = Nota1Bim ; N2 = Nota2Bim ; MediaFinal = media ; }//Fim do construtor de registro. }//Fim da definição do tipo.
Início
























CLASSE DO DIÁRIO

import javax.swing.*; public class diario { public static void main(String args[]) { //Declaração de um vetor de registros do tipo RegistroAluno. RNAluno[] VetAluno = new RNAluno[5]; //Declaração de uma variável inteira. int cont; //Inicialização dos campos de cada Registro do vetor for(cont=0;cont <= 9;cont++) { VetAluno[cont] = new RNAluno("",0,0.0,0.0,0.0); } //............................................................... //Carregando o vetor for(cont=0;cont <= 9;cont++) { //Recebe o nome do aluno e armazena na variável NAluno do vetor VetAluno. VetAluno[cont].NAluno = JOptionPane.showInputDialog("Entre com o nome"); //Recebe o RA do aluno e armazena na variável RAluno do vetor VetAluno. VetAluno[cont].RAluno = Integer.parseInt(JOptionPane.showInputDialog("Entre com o RA")); //Recebe a nota do primeiro bimestre e armazena na variável Nota1Bim do vetor VetAluno. VetAluno[cont].Nota1Bim = Double.parseDouble(JOptionPane.showInputDialog("Entre com a nota do 1 Bimestre")); //Recebe a nota do segundo bimestre e armazena na variável Nota2Bim do vetor VetAluno. VetAluno[cont].Nota2Bim = Double.parseDouble(JOptionPane.showInputDialog("Entre com a nota do 2 Bimestre")); //Recebe a nota da média final e armazena no vetor VetAluno. VetAluno[cont].MediaFinal = (VetAluno[cont].Nota1Bim + VetAluno[cont].Nota2Bim)/2; JOptionPane.showMessageDialog(null,"Nota Final do semestre = " + VetAluno[cont].MediaFinal); } //Mostra a saída dos resultados. for(cont=0;cont <= 9;cont++) { System.out.println("O Aluno de nome " + VetAluno[cont].NAluno); System.out.println("de RA : " + VetAluno[cont].RAluno); System.out.println("tem notas :"); System.out.println("1 Bimestre = " + VetAluno[cont].Nota1Bim); System.out.println("2 Bimestre = " + VetAluno[cont].Nota2Bim); System.out.println("Media Final = " + VetAluno[cont].MediaFinal); System.out.println("........................................."); } System.exit(0); } //Fim do método main. } //Fim da Classe.
Início













Rotina de Ordenação

A=1; B=2; while( A <= 4 ) { while( B <= 5 ) { if ( VT [A] > VT [B] ) { Troca = VT [A]; VT [A] = VT [B]; VT [B] = Troca; } B++; } A++; B = A + 1; }
Início