(Parte 7 de 8)

ALUNO :CAD_ALUNO I :inteiro

Inicio

Para de I ate 4 faça

Fim_para Fim.

Estrutura de um conjunto de Registros

Com as tØcnicas de programaçªo anteriormente apresentadas, passou-se a Ter uma mobilidade bastante grande , podendo-se trabalhar de uma forma mais adequada com diversos problemas, principalmente os que envolvem a utilizaçªo de dados heterogŒneos, facilitando a construçªo de programas mais eficientes. PorØm, os programas apresentados atØ aqui com a utilizaçªo de registros, só fizeram mençªo à leitura e escrita de um œnico registro.

Neste momento, vocŒ terÆ contato com o conjunto de registros que permite a construçªo de programas, onde Ø possível se fazer a entrada, processamento e saída de diversos registros.

Atribuiçªo de Conjunto de Registros

Para se declarar un conjunto de registros Ø necessÆrio em primeiro lugar, possuir a definiçªo de um registro, ou seja Ø necessÆrio Ter umformato de um œnico registro para entªo definir o nœmero de registros que serÆ utilizado pelo programa. Para exemplificar o que estÆ sendo exposto, considere que vocŒ deverÆ fazer um programa que leia o nome e as quatro notas escolares de 8 alunos. Isto jÆ e familiar. Veja a seguir a codificaçªo do conjunto de registros para os oito alunos:

Tipo

BIMESTRE = conjunto[1..4]de real CAD_ALUNO =registro

NOME :caractere NOTA: BIMESTRE Fim_registro

Var

ALUNO: conjunto [1..8] deCAD_ALUNO

Observe que após a instruçªovar,Ø indicada a variÆvel de registros ALUNO, sendo esta um conjunto de 8 registros do tipo Cad_Aluno, que por sua vez Ø Bimestre Ø um conjunto de quatro valores reais.

Leitura de Conjunto de Registros

A leitura de forma semelhante às anteriores. No entanto,m serªo utilizadas dois laços, pois alØm de controlar a entrada das quatro notas de cada aluno, tem-se que controlar a entrada de 8 alunos. Esta estrutura Ø bastante similar a uma matriz de duas dimensıes. Assim sendo, observe o código em portuguŒs estruturado:

Programa LEITURA Tipo

BIMESTRE = conjunto[1..4]de real CAD_ALUNO =registro

NOME :caractere NOTA: BIMESTRE Fim_registro

Var

ALUNO: conjunto [1..8] deCAD_ALUNO I, J : inteiro início Para J de 1 atØ8 faça

Para I de 1 atØ 4 faça

Fim_para Fim_para

Fim

Veja que o looping da variÆvel J controla o nœmero de alunos da turma, no caso 8, e o looping da variÆvel I controla o nœmero de notas, atØ 4 por aluno. Para cada movimentaçªo de mais uma variÆvel J existem quatro movimentaçıes na variÆvel I.

Escrita de Conjunto de Registros

O processo de escrita de um conjunto de registros Ø similar aos modos anteriores, jÆ estudados. Assim sendo, veja o código:

Programa LEITURA Tipo

BIMESTRE = conjunto[1..4]de real CAD_ALUNO =registro

NOME :caractere NOTA: BIMESTRE Fim_registro

Var

ALUNO: conjunto [1..8] deCAD_ALUNO I, J : inteiro início Para J de 1 atØ 8 faça

Para I de 1 atØ 4 faça

Fim_para Fim_para

Fim

SerÆ estudado a partir deste ponto, a aplicaçªo de subrotinas em algoritmos, tambØm conhecidas pela denominaçªo módulos ou subalgoritmos. Na realidade, nªo importa como sªo chamadas, o que importa Ø a forma como funcionam e como devem ser aplicadas em um programa, e Ø isto que vocŒ aprenderÆ.

Neste capítulo, serÆ introduzido o conceito da criaçªo estruturada de programas, pois para escrever um programa decomputador necessita-se de levamtamento de todas as necessidades e detalhes do que deverÆ

ser feito) e metodologia ( regras bÆsicas que deverªo ser seguidas)

. Sem a aplicaçªo de mØtodos nªo serÆ possível resolver grandes problemas, quanto muito, pequenos problemas.

As Sub-Rotinas

No geral, problemas complexos exigem algoritmos complexos. Mas sempre

Ø possível dividir um problema grande em problemas menores. Desta forma, cada parte menor tem um algoritmo mais simples, e Ø estre trecho menor que Ø chamado de sub-rotina. Uma sub-rotina Ø na verdade, um programa, e sendo um programa poderÆ efetuar diversas operaçıes computacionais

( entrada, processamento e saída) e deverÆ ser tratada como foram os programas projetados atØ este momento. As sub-rotinas sªo utilizadas na divisªo de algoritmos complexos, permitindo assim possuir a modularizaçªo de um determinado problema, considerado grande e de difícil soluçªo.

Ao se trabalhar com esta tØcnica, pode-se deparar com a necessidade de se dividir uma sub-rotina em outras tantas quantas forem necessÆrias, buscando uma soluçªo mais simples de uma parte do problema maior. O processo de dividir sub-rotinas em outras Ø denominadoMØtodo de Refinamento Sucessivo.

Procedimentos

Um procedimento Ø um bloco de programa, contendo início e fim e serÆ identificado por um nome, atravØs do qual serÆ referenciado em qualquer parte do programa principal ou do programa chamador da rotina. Quando uma sub-rotina Ø chamada por um programa, ela Ø executada e ao seu tØrmino o controle de processamento retorna automaticamente para a primeira linha de instruçªo após a linha que efetuou a chamada da sub-rotina.

Procedimento <nome do procedimento> var <variÆveis> início

<instruçıes> fim

A melhor maneira de se entender como trabalhar com sub-rotinas Ø fazer a sua aplicaçªo em um programa mais complexo. Para tanto, imagne o seguinte problema:

(Parte 7 de 8)

Comentários