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:
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