Aula 6: Atribuição e constantes |
PROGRAM WritelnUnformatted;
Var r: real;
i: integer;
begin
writeln('Real r = ', r);
writeln('Integer i = ',
i, '!!');
end.
saída:
Real r = 3.00000E-2
Integer i = 1!!
Para mudar a forma como os valores são apresentados, poderemos especificar a largura do texto, e , para as variáveis do tipo vírgula flutuante (real, double, extended), o número de casas depois do ponto flutuante, tal como mostra o programa abaixo:
PROGRAM WritelnFormatted;
Var r: real;
i: integer;
begin
writeln('Real r = ', r:8:6);
writeln('Integer i = ',
i:5, '!!');
end.
saida:
Real r = 0.030000
Integer i =
1!!
O real r é mostrado com um total de 8 espaços reservados, e 6 dígitos depois do ponto flutuante. O inteiro i é escrito com 5 espaços de texto. Como neste caso apenas 1 dígito é sufuciente, o resto, 4 espaços, é preenchido por espaços vazios.
Atribuir um novo valor a uma variável estamos a fazer uma atribuição.
Em
PASCAL isto é feito com o operador
No lado esquerdo deste operador colocamos a variável, no lado direito coloca-se o novo valor ou expressão que produzirá o novo valor. Exemplos:
a := 3;
b := 3*a;
c := Cos(t);
O símbolo := é pronunciado como "será" ou "virá a ser". Isto para distingui-lo do usual símbolo matemático =. Nesta altura, é interessante fazer uma comparação entre o símbolo matemático = e o símbolo de atribuição nas linguagens de programação (:= no PASCAL). Como exemplo repare na seguinte equação matemática
a = a + 1
Isto, como nós sabemos, não tem uma solução para a. (Na comparação, outro exemplo: a = a2- 2, tem uma solução: a = 2)
Em linguagens de programação, de qualquer modo , deveremos ler a equação de uma forma diferente:
a := a + 1;
que quer dizer: (o novo valor de a) (será)
(o antigo valor de a) (mais 1)
Ou, por outras palavras: primeiro o valor de a é carregado a
partir da memória, a seguir 1 é adicionado a ele, e finalmente
o resultado é colocado de volta na memória.Isto é
fundamentalmente diferente da equação matemática.
Exactamente por esta razão, em PASCAL o símbolo :=
foi inventado para a atribuição. Para prevenir confusão.
Na maioria de outras linguagens de programação o símbolo
= é usado , o que é confuso, especialmente para o programador
iniciante.É por isto que o estudante é aconselhado a pronunciar
o símbolo de atribuição como "será" ou "virá
a ser" em vez de "é" ou "igual".
PROGRAM ConstExample;
VAR angle: real;
tan: real;
CONST PI = 3.1415926;
begin
angle := 45.0;
angle := PI*angle/180.0;
tan := Sin(angle)/Cos(angle);
end.
Note a forma como a constante é escrita, em letras MAÍUSCULAS. Lembre-se que PASCAL é caso não sensitivo e nós poderemos misturar maíusculas e minúsculas quando bem queremos. Ainda assim, o uso de maíusculas para constantes é uma convenção útil a que o estudante é aconselhado a seguir.Qualquer programador lendo o seu programa pode rapidamente visualizar que está a trabalhar com uma constante e que não pode alterar o seu valor.
Detalhes técnicos interessantes: Para ser mais preciso, para constantes nenhum espaço em memória é reservado tal como nas variáveis. Em vez disso, o compilador, cada vez que encontra o nome da nossa constante no nosso texto, irá substitui-la pelo seu valor.Não temos que nos preocupar com os detalhes.Resumindo temos apenas que assumir que a constante é uma variável que não pode mudar o seu valor.
Consider o seguinte programa:
PROGRAM InterestRateExample;
VAR money: real;
CONST TAXA = 4.3;
begin
money := 99.0;
money := money*(1.0+TAXA/100.0);
end.
No caso da interest rate mudar, nós só teremos que alterar
o nosso programa num sítio (provavelmente algures no início).
Isto evita erros e inconsistências no programa alterado.Se nos esquecer-mos
de alterar isto num sítio o programa irá erros criar erros
na saída, e agora imagine um programa com milhares de linhas de
código PASCAL.
depois da execução da linha |
depois da execução da linha |
|
PROGRAM Assign;
VAR a: real;
begin
|
undefined
|
undefined
|