Aula 5: Variáveis |
As instruções write e writeln são usadas para mostrar informação no ecrã: texto, números, valor das variáveis, etc. Elas são bastante utilizadas e quase todos os programas fazem uso de uma intrução write ou writeln. Como exemplo, considere o seguinte programa: |
PROGRAM WritelnExample;
begin
writeln('Today is a very nice day');
end.
quando nós compilamos e executamos o programa o ecrãn mostrará
Today is a very nice day
_
(nota, o caracter underscore _ representa a posição do cursor).
As intruções write e writeln não são usadas só para texto, tal como no exemplo anterior, mas também mostram, números ou outro tipo de informação. Mais tarde será discutido como controlar o formato de saída (a forma como a informação será mostrada). De momento, vamos ver o irmão do writeln, chamado write: A diferença entre writeln e write é que o writeln posiciona o cursor numa nova linha, de forma que a próxima saída apareça a por baixo do texto inicial.Com a intrução write, o cursor fica logo a seguir ao texto:
PROGRAM WriteExample;
begin
write('Today is a very nice day');
end.
quando nós compilamos e executamos o programa o ecrã mostrará
Today is a very nice day_
Quando nós queremos imprimir várias coisas ao mesmo tempo, podemos fazê-lo com a mesma intrução write
PROGRAM WriteMultiple;
begin
write('Today is ', x, ' a very nice
day');
end.
que deverá mostrar(quando x é igual a 34)
Today is 34 a very nice day_
Compare os seguintes programas:
program
PROGRAM WriteLnsExample; begin
output Today is a
|
program
PROGRAM WritesExample; begin
output Today is a very nice day_ |
program
PROGRAM WritesExample; begin
output Today is a very nice day_ |
program
PROGRAM WritesMulti; begin
output Today is a
|
Variáveis guardam valores e informação. Elas permitem
aos programas efectuar cálculos e guardar os resultados para utilizar
mais tarde.Imagine uma variável como uma caixa que pode conter informação.
Quando nós queremos saber essa informação, abrimos
a caixa e lê-mos o valor. No final, colocamos a informação
de volta na caixa e deixamo-la lá, até necessitar-mos outra
vez dessa informação. Para simplificar a identificação,
e para prevenir confusões,
todas as caixas têm de ter um nome, um identificador (ver aula 4). O tipo de caixa define o tamanho da caixa e o tipo de informação que poderá ser encontrada lá. As variáveis podem ser de vários tamanhos e gostos. |
As variáveis podem guardar números, nomes, textos,
etc. Em versões modernas do PASCAL existem muitos tipos de variáveis.
Os mais importantes são
|
|
|
|
|
boolean |
|
1 bit |
|
byte |
|
8 bit = 1 byte |
|
integer |
|
16 bit = 2 bytes |
|
word |
|
16 bit = 2 bytes |
|
longint |
|
32 bit = 4 bytes |
|
real |
|
48 bit = 6 bytes |
|
double |
|
64 bit = 8 bytes |
|
extended |
|
80 bit = 10 bytes |
|
char |
|
8 bit = 1 byte |
|
string |
|
256 bytes |
Note a convenção de expoentes em notação
científica:
2.9E-39 é 2.9 x 10-39,
1.7E308 é 1.7 x 10308, etc.
I Boolean é usado para guardar e
manipular informação do tipo true-orfalse. Tal como vimos
na aula 3, isto é um bit de informação.
III Real, double e extended
são exemplo de váriáveis que podem guardar números
de vírgula flutuante (por exemplo 3.1415926535). Estes são
usados para
números fraccionários, tais como o comprimento do carro,
o tempo perdido entre dois eventos, a altura de um edíficio, a raiz
quadrada de 3, etc. O mais pequeno é real, e ocupa apenas
6 bytes, tendo como custo uma pequena precisão nos cálculos.
A melhor é extended, com 80 bit (10 bytes), os cálculos
deverão ter elevada
precisão, mas os cálculos serão mais lentos e
ocuparão mais espaço em memória. Uma boa escolha entre
estas é a double.
IV Os últimos dois tipos são
usados para guardar texto. Char é utilizado para um caractér
simples, enquanto que a string pode guardar até 255 caractéres.
Mais tarde iremos aprender como nós poderemos definir o nosso próprio
tipo de variáveis, agora vamos ver como é que nós
as usamos em PASCAL.
PROGRAM VarExample;
VAR i: integer;
a: real;
b: word;
begin
writeln('Today is day ',i);
end.
Se queremos definir mais variáveis do mesmo tipo, podemos fazer isso com várias intruções ou fazê-lo apenas numa linha. Nota que em qualquer caso, nós não deveremos ter que escrever VAR novamente, se bem que não é proíbido fazê-lo:
PROGRAM VarsExample;
VAR i, j, k: integer;
a1, a2: real;
VAR b1: word;
b2: word;
b3: word;
begin
writeln('Today is day ',i);
end.
Today is day 23741
Quando um computador é ligado, a memória é normalmente preenchida com 0's, mas passado um bocado, depois de vários programas terem feito uso da memória e terem deixado lá o seu "lixo", o conteúdo de um endereço de memória é imprevisíve.Para garantir que nós estamos a trabalhar com valores bem definidos deveremos sempre atribuir um valor a cada variável. Na próxima aula iremos aprender como é que nós podemos designar instruções no programa. Aqui é suficiente dizer que "não assuma que no início as suas variáveis são estabelecidas"
Nota: Em muitas linguagens de programação é
possível atribuir um valor a uma variável no momento da declaração.
Também em PASCAL isso é possível (através de
variáveis constants ), mas isto só irá criar confusão
logo é melhor evitá-lo.