CAPÍTULO 2 - O PRIMEIRO PROGRAMA

 

         Programa é a representação de um algoritmo através da utilização de uma Linguagem de Programação. Portanto, um programa é um conjunto finito de instruções, numa determinada seqüência, que quando é executado produz a solução de um problema. Cada instrução em um programa pertence a uma das três categorias abaixo:

1 - Instruções elementares - um cálculo onde é produzido um resultado, leitura/impressão de dados ou qualquer outra operação que não possa ser classificada nas categorias 2 e 3, abaixo;

2 - Instruções de controle, especificando repetição de uma seqüência de passos - controlam automaticamente a execução repetitiva de outras instruções e podem especificar:

i) Um número previamente conhecido de repetições; ou

ii) Um número desconhecido de repetições, com teste no início ou teste no fim de cada repetição; e

3 - Instruções de controle, especificando uma seleção entre seqüências de instruções - fornecem uma opção no processamento, permitindo que trechos alternativos do programa sejam ou não processados, dependendo do valor de uma condição.

 

2.1. ESTRUTURA GERAL

 

         Os programas que você escrever utilizando a linguagem PASCAL obedecerão sempre a um mesmo esquema geral e serão compostos de cabeçalho, declarações e corpo do programa como mostrado a seguir:

 

PROGRAM NOME;

    DECLARAÇÕES;

BEGIN

    CORPO DO PROGRAMA

END.

 

Onde:

PROGRAM - é uma palavra reservada da linguagem PASCAL - identifica o início do seu programa PASCAL (Cabeçalho). O nome do programa, a exemplo do que acontece com os demais identificadores de um programa em PASCAL, deve começar por letra e ser formado apenas por letras e/ou caráter de sublinhar (_) e/ou dígitos numéricos (0-9) e/ou pelo símbolo de numérico (#). Aconselhamos escolher nomes significativos que identifiquem bem a finalidade dos programas.

NOME - é o nome que você escolheu para identificar o seu programa (Cabeçalho);

DECLARAÇÕES - São as declarações que você fará sobre dados que serão utilizados no programa, sobre subprogramas, e mais algumas outras declarações que posteriormente serão examinadas;

BEGIN - é uma palavra reservada da linguagem PASCAL - sinaliza para o compilador que aqui começa o corpo do programa PASCAL. Em outros locais do programa servirá para delimitar o início de um bloco de comandos. Para cada BEGIN haverá sempre um END correspondente;

CORPO DO PROGRAMA - contém o programa propriamente dito. É formado pelo grupo de instruções da linguagem PASCAL que foram utilizadas para representar o algoritmo que se desejava programar. Cada instrução termina com ponto e vírgula (;). O ponto e vírgula é opcional no comando que antecede um END. As instruções do corpo do programa serão executadas seqüencialmente, de cima para baixo, a menos que alguma instrução de controle especifique uma seqüência diferente para a execução;

END - sinaliza para o compilador que aqui termina o corpo do programa PASCAL. Em outros locais do programa  o END servirá para delimitar o final de um bloco de comandos.

. (ponto final) - sinaliza para o compilador que neste local termina o programa PASCAL.

 

2.2. IMPRESSÃO DE MENSAGENS

 

         Iniciaremos nosso contato com a programação dos computadores através da utilização destes equipamentos para aquela que é uma das suas principais formas de utilização: a impressão e/ou exibição de informações. As unidades de saída impressora e monitor de vídeo serão utilizadas com esta finalidade. Como primeiro exemplo, consideremos a necessidade de utilizar o computador para impressão de uma mensagem tal como: OLÁ PESSOAL: ESTE PROGRAMA FUNCIONA!.

         Como o computador será utilizado apenas para dar saída em uma mensagem, não haverá tratamento (ou processamento) de informações e portanto não necessitaremos da parte de declarações. Neste caso, o nosso programa de BOAS VINDAS ficará com o aspecto abaixo:

 

PROGRAM BOAS_VINDAS;

BEGIN

    Corpo do Programa

END.

 

         Só nos falta escrever o corpo do programa. Do que estamos necessitando? De alguma instrução que diga ao computador para escrever (na tela do monitor de vídeo ou então na impressora) a mensagem desejada. Em PASCAL, essa instrução elementar é o comando WRITE (que pode assumir a variante WRITELN para mudar o cursor para uma nova linha após a execução da instrução) que tem a seguinte forma geral:

 

    WRITE(LST, OBJETOS);

 

Onde:

WRITE - identifica o comando WRITE;

LST - é opcional, se utilizado indica que os resultados da execução deste comando serão direcionados para a impressora. Se não for utilizado, os resultados aparecerão na tela do monitor de vídeo. Em alguns compiladores LST será substituído pelo nome de um arquivo de saída: para maiores informações sobre o comando WRITE consulte o capítulo 4 e o manual do usuário para o compilador que estiver sendo utilizado.

OBJETOS - é uma lista de objetos: variáveis, expressões, constantes numéricas e constantes literais. Uma constante literal, ou simplesmente um literal, é formada por qualquer seqüência de caracteres incluída entre um par de apóstrofos. As constantes serão estudadas na Seção 3.1.

 

         A instrução WRITE está disponível em PASCAL na forma de um procedimento padrão e pode ser utilizada como qualquer outra instrução do PASCAL - o Apêndice 3 contém uma lista dos procedimentos padrão da Linguagem PASCAL.

         Já que conhecemos o comando WRITE agora podemos escrever a forma final do nosso programa BOAS_VINDAS:

 

PROGRAM BOAS_VINDAS;

 BEGIN

    WRITE('OLÁ PESSOAL: ESTE PROGRAMA FUNCIONA!' )

 END.

 

         Neste instante você está sendo convidado a digitar o programa BOAS_VINDAS e a executar todos os passos anteriormente citados (seção 1.3) para a solução de problemas com auxílio do computador.

         Com a finalidade de melhor entender o funcionamento das formas WRITE e WRITELN do comando de saída de dados, examinaremos o seguinte problema: Exibir na tela do terminal de vídeo as informações de seu cartão de apresentação. No meu caso, as informações a exibir seriam:

 

         UNIVERSIDADE FEDERAL DA PARAÍBA

 DEPARTAMENTO DE SISTEMAS E COMPUTAÇÃO

         Camilo de Lelis Gondim Medeiros

 Professor Adjunto

         Av. Aprígio Veloso, s/n - Bodocongó

 58.109-090 - Campina Grande - Pb

 (083) 310.1121

 

         O programa para exibição destas informações tem a mesma estrutura básica que o programa BOAS_VINDAS, mudando apenas as mensagens dos comandos de saída ( no corpo do programa). Deste modo, o programa seria:

 

PROGRAM PESSOAL;

BEGIN

WRITELN('UNIVERSIDADE FEDERAL DA PARAÍBA');

WRITELN('DEPARTAMENTO DE SISTEMAS E COMPUTAÇÃO');

WRITELN;

WRITELN ('Camilo de Lelis Gondim Medeiros');

WRITELN (' Professor Adjunto');

WRITELN;

WRITELN('Av. Aprígio Veloso, s/n - Bodocongó');

WRITELN(' 58.109.090 - Campina Grande');

WRITE ('(083) 333.1929')

END.

 

         Observe o terceiro e o sexto comandos do corpo do programa: servem apenas para incluir linhas em branco na saída. Verifique, também, que foi intencionalmente utilizada a forma WRITELN, exceto no último comando. Sugestão: implemente em computador esta versão do programa com seus dados pessoais e a seguir implemente uma versão modificada utilizando a forma WRITE em todas as instruções. Quais as diferenças obtidas na execução? Porque tais diferenças? O que ocorreria se a versão original contivesse WRITELN também na última instrução?

 

2.3. DOCUMENTAÇÃO DO PROGRAMA

 

         Na maioria das vezes os programas de computador são escritos por um programador com a finalidade de resolver determinados problemas e têm uma vida bastante longa. Por outro lado, mesmo aqueles programas desenvolvidos com vistas à solução de um problema que não se repete com muita freqüência, podem necessitar ser modificados por outras pessoas que não o programador original. Estas são justificativas para que seja incluída documentação em todos os programas que forem desenvolvidos.

         A documentação de programas em PASCAL é feita com a utilização de comentários. Os programas de computador tendem a se tornar reutilizáveis mesmo quando são desenvolvidos para solucionar problemas que julgamos eventuais e/ou bastante simples: também nestes casos não há como justificar a ausência de comentários nos programas.

         Apesar de os comentários serem muito desejáveis, eles nem sempre são incluídos nos programas. Os comentários são deixados de lado para ganhar tempo ou digitação ou eles serão incluídos mais tarde. Lembre-se: dentro dos limites do bom senso, quanto mais comentários, melhor!

Aconselha-se utilizar dois tipos de comentários nos programas:

1) os comentários de prólogo (ou introdutórios), que identificam o autor do programa, a data em que foi escrito, para que serve, que tipos de dados recebe e/ou produz, métodos científicos empregados, referências sobre o funcionamento geral do programa, etc. - incluídos no início dos programas; e

2) os comentários explicativos, que servem para explicar o funcionamento de algum trecho do programa que não esteja muito claro ou que contenha algum tipo de artifício de programação - incluídos nos locais onde se deseja explicar o funcionamento daquele trecho de programa.

 

Devem ser colocados comentários antes de loops ou desvios importantes, indicando claramente o que está sendo feito. Um programa de computador com bons comentários explicativos é mais fácil de entender e de modificar.

         Os comentários devem ser escritos à medida que o programa estiver sendo escrito, já em sua primeira versão: nesta hora o programador estará familiarizado com todos os detalhes sobre o funcionamento do programa.

         Ao incluir comentários nos programas deve-se levar em conta que a pessoa que irá ler o programa conhece a sintaxe da linguagem de programação e, portanto, explicar a finalidade de um comando ou bloco de comandos e não a operação de tais comandos.

         Um programa está bem documentado quando um programador lê apenas os comentários de programa e entende o que o programa faz, sem necessidade de consultar outras referências. Devemos ter sempre em mente que os programas são bons quando são fáceis de ler e entender principalmente pelos humanos e não por máquinas.

         Em PASCAL os comentários podem ser incluídos em qualquer ponto do programa (desde o PROGRAM até o ponto final) e são escritos iniciando com /* ou { ou (* e terminando com */ ou } ou *), respectivamente, dependendo do compilador que estiver sendo utilizado.

         Incluindo comentários de prólogo no programa BOAS_VINDAS obteríamos:

 

PROGRAM BOAS_VINDAS;

/* ESTE EH O MEU PRIMEIRO PROGRAMA */

/* FOI ESCRITO POR CAMILO L. G. MEDEIROS EM MAIO/97 */

/* ESTE PROGRAMA DÁ AS BOAS VINDAS AOS LEITORES */

BEGIN

    WRITE('OLÁ PESSOAL: ESTE PROGRAMA FUNCIONA!')

END.

 

2.4. EXERCÍCIOS PROPOSTOS

 

1. Quais as categorias de instruções que utilizamos para escrever programas de computador?

2. O que é o cabeçalho de um programa em PASCAL?

3. O que são as declarações de um programa PASCAL?

4. O que forma o corpo do programa em um programa PASCAL?

5. Que unidades serão utilizadas para a exibição e para a impressão de informações?

6. Qual a instrução que utilizamos para efetuar a saída de dados em PASCAL?

7. O que diferencia WRITE de WRITELN?

8. Escreva em PASCAL um programa completo que imprima a meia-pirâmide abaixo:

*

**

***

****

*****

******

9. Escreva um programa completo em PASCAL que imprima as figuras abaixo:

XU  XU  XU       IIIIII     CCCCCC      CCCCCC

  XA  XA  XA       II      CC          CC

XU  XU  XU         II     CC         CC

  XA  XA  XA       II     CC         CC

XU  XU  XU         II      CC          CC

  XA  XA  XA     IIIIII     CCCCCC      CCCCCC

10. Escreva um programa completo em PASCAL para imprimir em grandes letras minúsculas uma das palavras do seu nome que tenha seis (06) ou mais letras.

11. Escreva um programa completo em PASCAL para imprimir seu primeiro nome com grandes letras maiúsculas.

12. Escreva um programa completo em PASCAL para imprimir um cartão de apresentação com seu nome, endereço e curso.

13. Escreva um programa completo em PASCAL para imprimir, um abaixo do outro, três cartões de apresentação com seu nome, endereço e curso.

14. Escreva um programa completo em PASCAL para imprimir, lado a lado, três cartões de apresentação com seu nome, endereço e curso.

15. Como incluímos documentação nos programas escritos em PASCAL?

16. Em que situações é justificável deixar de incluir documentação nos programas fonte?

17. Como podemos saber se um programa fonte está bem documentado?

 

Avançar para o Capítulo Anterior     Voltar para o Índice     Avançar para o Próximo Capítulo