Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Programar em Pascal
O que um algoritmo?
tomar banho
vestir roupa bonita
levar guarda-chuva se estiver mau tempo
Apanhar o autocarro
Exemplo de um problema:
Na disciplina de matemtica tivemos trs provas e as notas foram as seguintes:
N1 = 5.5
N2 = 7.0
N3 = 4.5
Gostaramos de saber qual foi a mdia das trs notas. Qual seria a sequncia
de operaes que o computador precisa para fazer este simples clculo?
Soluo:
O resultado deve ser guardado num determinado lugar, para depois mostrar no ecr do
computador.
Esta sequncia poder ser escrita num algoritmo da seguinte forma:
1. Atribuir os valores N1 = 5.5 ; N2 = 7.0 ; N3 = 4.5.
2. Calcular a soma:
S = N1 + N2 + N3
Para entender melhor como isso funciona, vamos imaginar que esses lugares so caixas vazias.
Portanto N1, N2 e N3 so caixas onde vamos guardar o valor das notas.
Por exemplo, quando fazemos N1 = 5.5 no algoritmo, estamos a informar ao computador que deve
guardar o valor 5.5 na caixa N1. O que acontece quando escrevemos:
S = N1 + N2 + N3
O computador far a soma dos valores que esto nas caixa N1,N2 e N3 e o resultado ser guardado
na caixa S. A caixa M ser utilizada para guardar o valor de S dividido por 3. Finalmente quando
quisermos ver o resultado do clculo, pedimos ao computador para mostrar o contedo da caixa M.
Podemos alterar o contedo das caixas utilizando o smbolo = , nesse caso o valor anterior da caixa
ser substitudo pelo ltimo valor atribudo.
Agora imaginemos que temos poucas caixas vazias e para economizar vamos pedir ao computador que
guarde o resultado da mdia no mesmo lugar onde estava a soma, j que a soma no ser mais
usada. Para isso o comando seria o seguinte:
S = S/3
Neste caso, o computador vai dividir o contedo da caixa S por 3 e o resultado vai guardar na mesma
caixa S, apagando o resultado anterior. Este tipo de procedimento podemos fazer quando no
precisarmos dos valores anteriores.
Para colocar o nome das caixas nos algoritmos podemos utilizar qualquer letra ou palavra, mas
recomendvel usar palavras ou letras associadas ao contedo. Por exemplo, para guardar a mdia
pudemos colocar a letra M, poderamos usar tambm: Media, med, MEDIA, etc.
Criar um programa
Vamos passar o algoritmo que se segue para a linguagem Pascal:
1.
2.
3.
4.
Geralmente, o computador trabalha bastante com nmeros reais e inteiros, mas tambm
pode guardar outros tipos de dados, como por exemplo, caracteres (um caractere
uma letra, smbolo ou dgito), da seguinte forma:
Var
letra : char
A linguagem Pascal tem algumas regras que dever considerar quando quiser
criar programas
Vamos supor agora que gostaria que o computador o informasse de acordo com o
resultado da mdia se foi aprovado ou no na disciplina de matemtica.
Para tal, elaborava o seguinte algoritmo:
1. Atribuir os valores a N1, N2, N3
2. Calcular a soma: S = N1 + N2 + N3
3. Calcular a mdia: M = S/3
4. Se a mdia for maior ou igual a 5: informar aprovado
O programa correspondente
a este algoritmo seria:
J vimos alguns tipos de dados que o computador utiliza, como Integer para nmero
inteiros, Real para nmeros reais e Char para caracteres.
Vamos agora aprender um novo tipo que o boolean.
O computador utiliza variveis do tipo boolean para saber o resultado de uma condio
ou comparao. Portanto uma varivel do tipo boolean pode ter apenas dois valores:
FALSO ou VERDADEIRO, em Pascal isso significa, FALSE ou TRUE.
Vejamos um exemplo de como usar as variveis do tipo boolean.
No exemplo anterior, suponha que precisamos de guardar numa varivel o resultado (se
estamos aprovados ou no).
Uma das grandes vantagens da programao que podemos agrupar clculos repetidos e
informar ao computador atravs da linguagem de programao que trechos deve repetir,
quantas vezes ou em que condies.
Para entender melhor vamos resolver o seguinte problema:
Calcular e mostrar o quadrado de todos os nmero inteiros de 1 at 100
No Pascal utilizamos Comando WHILE...DO para indicar ao computador que vamos repetir
um trecho do programa enquanto uma condio for satisfeita.
Vejamos como fica na linguagem Pascal
Agora vamos aprender uma outra forma de entrada de dados bastante utilizada. muito
trabalhoso ter que ir ao programa e mudar os valores dos dados cada vez que desejamos
fazer clculos com novos dados.
Por exemplo, no programa da mdia temos que alterar os valores de N1, N2 e N3 se
quisermos calcular a mdia das notas de outro aluno. Ficaria mais fcil se pudssemos
informar isso durante a execuo do programa.
Para fazer isso em Pascal existe o comando chamado Readln.
Como seria ento o programa da mdia se quisssemos introduzir ns mesmos os
valores das notas?
Os comandos IF e While podem ter mais que uma
condio, unidos por OR ou AND. Por exemplo:
WHILE (N >0 AND N <100) DO
BEGIN
......
END;
Isso significa que o bloco dentro do While ser
repetido enquanto o N for maior que 0 e menor
que 100.
No mesmo comando Readln podemos ler mais de
um dado, por exemplo a leitura de dados no
programa da media pode ser escrito ainda como:
Readln(N1,N2,N3);
Esta declarao informa ao computador para reservar 100 caixinhas do tipo char para armazenar o nome de
uma pessoa. Na declarao entre parnteses colocado o nmero mximo de elementos do array, neste
caso, como no sabemos antecipadamente qual vai ser o tamanho do nome, colocamos um nmero
grande.
Vamos resolver um problema aplicando arrays.
Dado o nome de uma pessoa, queremos determinar o nmero de vogais contidos no nome.
Uma matriz um array de duas dimenses. Uma matriz til por exemplo para armazenar
tabelas, fazer clculos matemticos, fazer desenhos, resolver problemas, etc.
Imagine que desejamos guardar no computador a lista dos alunos com suas respectivas notas
em todas as disciplinas durante o ano.
Por exemplo a seguinte tabela mostra a lista de 10 alunos e as notas em 8 disciplinas.
Gostaramos fazer um programa para
armazenar essa tabela no computador e
depois poder calcular, por exemplo, a
mdia de todas as notas de todos os
alunos. Inclusive para saber o
desempenho da turma inteira poderamos
calcular a media das medias.
Em Pascal, uma matriz definida em
forma muito parecida com um vector:
Var notas : array [1..10,1..8] of real;
O nmero 10 indica o nmero mximo de
linhas da matriz e o nmero 8 indica o
nmero mximo de colunas. Se no
sabemos com antecedncia qual ser o
tamanho da nossa matriz podemos
reservar um nmero grande como fizemos
com os vectores.
Sem indentao
Com indentao
Resumindo
If (se) : Utiliza uma condio. SE a condio for verdadeira ento executa um conjunto de
mantiver o valor lgico verdadeiro. Quando o valor lgico estiver falso, termina o ciclo e
prossegue com a execuo do programa.
integer, etc). Na hora de memorizar dados, apenas contm uma linha com vrias
colunas.
diferentes tipos ou no. Na hora de memorizar dados, contm vrias linhas e vrias
colunas.
Resumindo
Boolean : Tipo de varivel que apenas pode conter dois valores: True
(verdadeiro) ou False (falso).
10 C
Neste trabalho apenas consta matria dada ao longo do ano lectivo de 2007/2008 de Bases de Programao.