Anda di halaman 1dari 12

Linguagem de programao

Para que possamos passar ao computador uma soluo em forma de


algoritmo de forma clara e precisa necessitamos de uma linguagem de
programao. Vamos aprender a linguagem Pascal. Uma linguagem de
programao apenas uma ferramenta de comunicao para que o
computador possa fazer o que ns pedimos. Em outras palavras, computador
um auxiliar para resolver nossos problemas, j que tem capacidade de
processar rpido uma grande quantidade de comandos, e a linguagem Pascal
uma das linguagens que nosso auxiliar entende.
Uma das vantagens de utilizar programas para fazer clculos ou
resolver problemas que podemos executar quantas vezes seja necessrio,
alterando apenas alguns dados.

Linguagem Pascal
Nas prximas aulas vamos explicar os comandos bsicos da linguagem
Pascal, que utilizaremos para programar e resolver problemas com a ajuda do
computador. Por enquanto importante lembrar que um algoritmo nos ajuda a
organizar nossas idias para resolver o problema antes de passar para a
linguagem do computador. Este mtodo til especialmente para programas
longos e complexos. Geralmente, depois que um algoritmo est muito bem
descrito a passagem para uma linguagem relativamente fcil.

Algumas consideraes
1.Este curso foi preparado com o objetivo de ensinar como resolver
problemas usando os comandos bsicos da linguagem Pascal. Com a
base dada neste curso voc estar em condies de explorar todos os
comandos da linguagem Pascal e aprender outras linguagens de
programao.
2.Para acompanhar o curso e testar seus programas, voc vai precisar de
um compilador. O compilador um programa que verifica se seu
programa esta escrito corretamente e o prepara para executar. Voc
poder baixar o compilador PASCALZIM, que gratuito e nacional.
Programao s se aprende praticando, por isso imprescindvel fazer
os exerccios para poder acompanhar o curso.

Nosso primeiro programa


Vamos ver como a estrutura de um programa em Pascal
Program nome;
declaraes {variaveis, tipos, etc.}
exemplo: var <nome da varivel:><tipo da varivel>;
Begin
comandos {corpo do programa}
End.
Obs: Note que logo aps o nome do programa vem a declarao das variveis e
termina sempre com um ponto e vrgula(;), logo aps vm a palavra Begin,
variveis do mesmo tipo podem ser declaradas na mesma linha.

A estrutura do programa em Pascal consta de dois componentes: cabea e


corpo. Na primeira parte so declarados os tipos e variveis. Mais para frente
explicaremos o significado desta parte. No momento vamos nos concentrar na
segunda parte que o corpo do programa. Como podemos observar o corpo
do programa comea
com a palavra Begin e acaba com End.
As palavras Program, Begin e End so palavras reservadas da linguagem
Pascal e sempre estaro presentes em todos os programas.
O corpo do programa consta geralmente de trs partes principais: entrada de
dados, processamento ou clculo e sada dos resultados, como mostra a
seguinte figura:

N1:=5.5;
N2:=7.0;
N3:=4.5;
S:=N1+N2+N3;
M:=S/3;
Writeln('O resultado :',M);

Entrada de dados
Na entrada de dados ns fornecemos ao computador os dados que ele precisa
para trabalhar. Uma forma simples de fazer isso atribuindo valores. Por
exemplo, o comando mais usado para entrada de dados em pascal o
comando read =(leia do algoritmo)
Exemplo: read (nome) = O compilador espera uma entrada de dados via
teclado.
Usamos tambm readln pois read=leia e ln=Line New=Nova linha isso faz
com que o compilador toda vez que encontra o readln solte uma linha
organizando melhor o nosso programa.Mas tanto read ou readln esto corretos
para entrada de dados em pascal.

Sada de dados
Na sada visualizamos os resultados dos clculos. No Pascal existe o comando
Write ou Writeln que utilizado para mostrar os dados. No exemplo anterior
a linha:
Writeln('o resultado da media : ',M);

Mas tanto write ou writeln esto corretos para sada de dados em pascal
apenas da mesma forma anterior o ln apenas para lanar os dados em uma
nova linha.

Processamento de dados
Este o lugar onde acontecem todo tipo de clculos e onde os resultados so
gerados. Este tambm o lugar onde as decises so tomadas de acordo com
o resultado dos clculos. Aprenderemos agora como as decises so tomadas
Vejamos um exemplo a linha:
S:=N1+N2+N3;

indica que so somados os valores de N1, N2 e N3, depois o resultado


guardado no lugar do S, ou seja, S uma varivel .

Declarao de variveis
No exemplo anterior utilizamos N1, N2 e N3 para identificar variveis. Na
linguagem de programao estes nomes so chamados de variveis. O
computador utiliza as variveis para guardar em sua memria os valores de
entrada ou os resultados dos clculos. Portanto as variveis so nomes que
damos a lugares quando desejamos guardar alguma coisa na memria do
computador -- por exemplo o resultado da mdia. Imagine a memria do
computador como uma pilha de caixas vazias. Se desejarmos guardar alguma
coisa nas caixas colocamos uma etiqueta para identificar, por exemplo,
caixa10. Alm disso anotamos o que estamos guardando. Por exemplo, se

usamos a caixa para guardar livros nos escrevemos: caixa10:livros.


exatamente isso que o computador faz quando ns escrevemos na cabea do
programa a seguinte linha:
Var

N1,N2,N3 : Real

Neste caso, o computador procura 3 caixas vazias e coloca a etiqueta


N1:Real, N2:Real e N3:Real indicando que as caixas guardam nmeros reais.
importante avisar ao computador o que vamos guardar nas caixas para ele
procurar caixas de tamanho adequado. Este processo chamamos de
declarao de variveis. Na cabea do programa escrevemos a palavra Var
para avisar ao computador que nessa parte esto as declaraes. O nome das
variveis pode ser qualquer palavra, letra ou combinaes de letras com
nmeros, comeando sempre com uma letra como no exemplo anterior.
Porm, no podemos usar como nome de varivel as palavras reservadas da
linguagem, ou seja, os comandos.
Alm de nmeros que outras coisas posso guardar na memria do
computador?
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;
Onde char um

tipo

de

varivel

que

armazena

apenas

um

caracter.

Por exemplo, vamos fazer um programa para o computador calcular o


quadrado de um nmero N=16.
Soluo
Vamos supor que N seja o nmero e Q o quadrado deste nmero. Para
calcular o quadrado multiplicamos o nmero por ele mesmo.
Programa
Program quadrado;
Var N,Q : Integer;
Begin
N:=16;
Q:=N*N;
Writeln(Q);
End.

Exerccios
1. Ns construiremos uma caixa d'agua que tem a forma de um paraleleppedo
(veja figura), e gostaramos de saber quanto de gua vamos armazenar nesta
caixa. Faa um programa que calcule o volume da caixa dadas as suas
dimenses: altura=3, largura=5 e comprimento=8.5.

SOLUO:

Problema 1
program volume;
var a, b, c : real;
vol
: real;
begin
a := 3;
b := 5;
c := 8.5;
vol := a * b * c;
writeln ('O volume do paralelepipedo e:', vol);
end.

2.Para saber quanto de material foi gasto na construo da caixa em forma de


paralelepipedo, precisamos saber rea externa da caixa. Modifique o programa
que calcula o volume da caixa, para que ele calcule toda rea externa ao invs
do volume. Considere que a caixa deve ser fechada.

Basta calcular a rea de cada um dos seis lados. Por exemplo, a frente e
o lado de trs medem a*b, ento comeamos com 2*a*b. Os lados da
direita e esquerda medem a*c cada, ento somamos 2*a*c tambm. O
lado de cima e o de baixo medem b*c cada um -- ento somamos
2*b*c.
program area;
var a, b, c : real;
ar
: real;
begin
a := 3;
b := 5;
c := 8.5;
ar := 2*a*b + 2*a*c + 2*b*c;
writeln ('A area do paralelepipedo e:', ar);
end.

Algumas consideraes
A linguagem Pascal tem algumas regras que sempre devemos considerar
quando escrevemos programas.

Todos os comandos tem um ; no final


Para alterar o contedo de uma caixa ou varivel utilizamos um := e
no um = como nos algoritmos
Para Pascal no existe diferena entre letras maisculas e minsculas,
portanto voc pode escrever os comandos e os nomes de variveis
com qualquer letra.
Os comentrios dentro do programa no so considerados pelo
computador, por isso sempre recomendvel escrever os
comentrios explicando o que faz cada linha ou bloco do programa.
Isso nos ajudar, por exemplo, a entender o que faz o programa
quando quisermos voltar a us-lo depois de alguns meses. Para
escrever comentrios dentro do programa voc pode usar o //

Trabalhando com funes:


Funo trunc
Trunca um valor real em um valor inteiro.
Sintaxe
function trunc ( x: real ): integer;
Exemplo
Program PascalZIM ;
begin
writeln( 1.4, ' se torna ', trunc( 1.4 ) ) ;

{ 1.0 }

writeln( 1.5, ' se torna ', trunc( 1.5 ) ) ;

{ 1.0 }

writeln( -1.4, ' se torna ', trunc( -1.4 ) ) ; { -1.0 }


writeln( -1.5, ' se torna ', trunc( -1.5 ) ) ; { -1.0 }
end.

Funo sqr
Retorna o quadrado do argumento.
Sintaxe
function sqr ( x : < integer, real > ): < integer, real > ;
Exemplo
Program PascalZIM ;
begin
writeln( 'O quadrado de 5 = ', sqr(5) ) ;
writeln( 'A raiz quadrada de 2 = ', sqrt(2.0) ) ;
end.

Retorna a raiz quadrada do argumento.


Sintaxe
function sqrt ( x: real ): real;
Exemplo
Program PascalZIM ;
begin
writeln( 'O quadrado de 5 = ', sqr(5) ) ;
writeln( 'A raiz quadrada de 2 = ', sqrt(2.0) ) ;
end.

Comandos condicionais:
Permitem restringir a execuo de comandos.
O compilador reconhece os seguintes comandos condicionais:

if..then

if...then...else.

case.

case...else....

A sintaxe de um comando if...then :


if expresso then comando, onde expresso uma expresso condicional e
comando um comando simples ou um bloco de comandos.
O comando funciona da seguinte forma: se expresso for TRUE, ento comando
executado; caso contrrio comando no executado.
Exemplo
if j <> 0 then result := I/J;
A sintaxe de um comando if...then...else :
if expresso then comando1 else comando2
onde expresso uma expresso condicional, comando1 e comando2 um comando
simples ou um bloco de comandos.
O comando funciona da seguinte forma: se expresso for TRUE, ento comando1
executado; caso contrrio, comando2 executado.
Exemplo
if j = 0 then
write( j )
else
write( m );
Em uma srie de comandos if aninhados a clusula else est ligada ao if mais
prximo no aninhamento. Uma seqncia de comandos como:

10

if expresso1 then if expresso2 then comando1 else comando2;


reconhecido pelo compilador da seguinte forma: if expresso1 then [ if
expresso2 then comando1 else comando2 ];
Pode-se utilizar tambm, vrios ifs aninhados.

Comando While

O comando while, trabalha de forma que a condio para a execuo repetida de


comandos avaliada antes da execuo de qualquer comando interno da repetio.
Dessa forma, se a condio inicial para o while for falsa, a sequncia de comandos
definidos para o while no ser executada nenhuma vez.

Sintaxe
while expresso do comando
onde expresso uma expresso lgica e comando pode ser um comando
composto.
Exemplo.
while dado[ i ] <> x do i := i + 1;

11

Estruturando melhor os programas


Pascal uma linguagem estruturada, j que permite ordenar os blocos de
comandos de forma a serem executados em forma sequncial e sem saltos
longos. Isso facilita para encontrar falhas no programa (variveis no
definidas, falta de comandos fechando blocos, etc.), acompanhar sua execuo
e entender a funcionalidade do programa. Outro fator importante para ter um
programa mais fcil de visualizar a indentao voc j deve ter notado que
no programa em Pascal os comandos no comeam todos na mesma coluna.
Por exemplo, todas as linhas depois do comando Begin tem um espao maior.
Este tipo de ordenao chamado de indentao. Linguagens modernas,
incluindo o Pascal, permitem fazer essa estruturao. Isso significa que voc
pode comear cada linha de comando deixando espaos vazios no comeo.
Seu programa fica mais fcil de ler e entender. Sempre que for possvel tente
estruturar melhor seu programa. Num programa corretamente indentado fica
mais fcil entender o que o programa faz, determinando os blocos de
condies e laos. Compare os seguintes dois programas que geram o mesmo
resultado.
Programa sem indentao
Program calculadora;
Var
m: integer;
x,res: real;
s: char;
Begin
Readln(m);
i:=1;
Readln(x);
res:=x;
While(i<m) do
Begin
Readln(s);
Readln(x);
If (s = '+') Then
res:=res+x;
If (s = '-') Then
res:=res-x;
i:=i+1;
End;
Writeln(res);
End.

Programa indentado corretamente

>

12

Program calculadora;
Var
m: integer;
x,res: real;
s: char;
Begin
Readln(m);
i:=1;
Readln(x);
res:=x;
While(i<m) do
Begin
Readln(s);
Readln(x);
If (s = '+') Then
res:=res+x;
If (s = '-') Then
res:=res-x;
i:=i+1;
End;
Writeln(res);
End.

Anda mungkin juga menyukai