Ana səhifə

Universidade Regional Integrada do Alto Uruguai e das Missões Campus Frederico Westphalen Departamento de Engenharias e Ciência da Computação Algoritmos e Estrutura de Dados I informática I


Yüklə 0.52 Mb.
səhifə16/23
tarix25.06.2016
ölçüsü0.52 Mb.
1   ...   12   13   14   15   16   17   18   19   ...   23

11.3Constantes e Variáveis

11.3.1Constantes


Constantes são valores declarados no início do programa e que não se alteram na execução do programa.

Muitas vezes é conveniente associar um dado simples, tal como um valor numérico ou uma cadeia a um identificador no início do programa, proporcionando assim um nome ao elemento de informação. O identificador é designado de constante se o elemento da informação não se altera em nenhuma parte do programa.

Uma constante deve sempre ser definida antes de aparecer numa instrução de Pascal. Esta definição tem duas finalidades – estabelece que o identificador é uma constante e associa um elemento de informação à constante. O tipo da constante será implicitamente determinado pelo elemento de informação.

Ex:


CONST

nome = ‘Enxuga Gelo SA.’;

tempo = 200;



11.3.2 Variáveis


Um identificador cujo valor pode ser alterado durante a execução do programa é denominado variável.

Todas as variáveis devem ser declaradas (definidas) antes de serem usadas. As variáveis devem ser declaradas no início de cada função, procedimento ou início do programa. Não podem ocorrer declarações de variáveis após a primeira sentença executável de uma rotina.

Uma declaração de variável consiste do nome da variável seguido do nome do tipo.

As variáveis podem ser globais ou locais.

Variáveis globais são declaradas fora de qualquer função, valem em qualquer ponto do programa, são inicializadas com zero automaticamente e uma única vez, são armazenadas na memória.

Variáveis locais são declaradas dentro das funções, existem apenas enquanto a função na qual foi declarada está ativa. Dentro de funções variáveis locais com mesmo nome de variáveis globais tem preferência, não são inicializadas automaticamente, ou seja, deve-se informar um valor inicial, são alocadas na pilha ("stack").

Os parâmetros das funções são tratados como se fossem variáveis locais, são inicializados com o valor passado na chamada, são declarados na lista de parâmetros, são passados por valor, somente tipos escalares de dados podem ser parâmetros.

VAR nome1, nome2, ... , nomen : tipo ;

Ex:

Var


nome: string[50];

salario: real;

filhos: integer;

sexo: char;


11.4Operadores

11.4.1Operadores aritméticos




+

soma



subtração

*

multiplicação

/

divisão

DIV

divisão truncada

MOD

resto da divisão

Os operadores aritméticos são utilizados para compor expressões, que podem ser formadas por números, constantes, variáveis, etc.

11.4.2Operadores de atribuição


Um operador de atribuição serve para atribuir um valor a uma variável.

Em Pascal temos o operador de atribuição:



:=

A sintaxe de um comando de atribuição é:



NomedaVariável := expressão;

Para executar este comando, o Pascal avalia a expressão localizada no lado direito do sinal de igual e armazena o valor resultante na variável à esquerda. O nome da variável aparece sempre sozinho, no lado esquerdo do sinal de igual deste comando.


11.4.3 Operadores relacionais


Os operadores relacionais são operadores binários que devolvem os valores lógicos verdadeiro e falso.

>

maior que

<

menor que

>=

maior ou igual

<=

menor ou igual

=

igual

<>

diferente

Podemos usar estas operações com dois valores do mesmo tipo. Por exemplo, digamos que a variável inteira escolha contenha o valor 7. A primeira das expressões a seguir fornece um valor falso, e a segunda um valor verdadeiro:

escolha <= 5

escolha > 5
Com valores string, os operadores relacionais comparam os valores ASCII dos caracteres correspondentes em cada string. Uma string é dita "menor que" outra se os caracteres correspondentes tiverem os números de códigos ASCII menores. Por exemplo, todas as expressões a seguir são verdadeiras:

’turbo’ > ’TURBO’

’ABC’ < ’EFG’

'Pascal’ < ’Pascal compiler’

Observe que as letras minúsculas têm códigos ASCII maiores do que os das letras maiúsculas. Observe também que o comprimento da string se torna o fator determinante na comparação de duas strings, quando os caracteres existentes na string menor são os mesmos que os caracteres correspondentes na string maior. Neste caso, a string maior é dita "maior que" a menor.

O Turbo Pascal nos fornece alguma liberdade na comparação de valores que não precisam ser necessariamente do mesmo tipo. Podemos comparar números inteiros com reais na mesma expressão. Também podemos comparar valores do tipo CHAR e STRING.


11.4.4 Operadores lógicos


Os operadores lógicos ou booleanos são usados para combinar expressões relacionais. Também devolvem como resultado valores lógicos verdadeiro ou falso.

and

e

or

ou

not

não

xor

ou exclusivo

shl

shift à esquerda a nível de bits

shr

shift à direita a nível de bits

Uma expressão relacional ou lógica retornará false para o valor lógico falso e true para o valor lógico verdade.

Fornecendo dois valores ou expressões lógicas, representadas por expressáo1 e expressáo2, podemos descrever as quatro operaçóes lógicas a seguir:



expressão1 AND expressão2 é verdadeiro somente se ambas, expressáo1 e expressão2, forem verdadeiras. Se uma for falsa, ou se ambas forem falsas, a operação AND também será falsa.

expressão1 OR expressão2 é verdadeiro se tanto a expressão1 como a expressão2 forem verdadeiras. As operações OR só resultam em valores falsos se ambas, expressão1 e expressão2, forem falsas.

expressão1 XOR expressão2 é verdadeiro somente se a expressão1 e a expressão2 tiverem valores opostos. Se a expressão1 e a expressão2 tiverem o mesmno valor - ambas verdadeiras ou ambas falsas - a operação XOR fornece um valor falso.

NOT expressão1 avalia verdadeiro se expressão1 for falsa; de modo contrário, a expressão NOT resultará em falso, se expressão1 for verdadeira.

Não podemos confundir estas operações lógicas com as operações de bit a bit do Turbo Pascal. As seis operações de bit a bit executam comparações a nível de bit, trabaIhando sobre operandos do tipo INTEGER, ao contrário, as operações lógicas sempre trabalham sobre valores de tipos Booleanos. Quatro das operações de bit a bit têm os mesmos nomes que as operações lógicas: NOT, AND, OR, XOR. As outras duas são SHL e SHR.

11.4.5Operadores sobre strings


Concatenação é uma operação de string que combina duas strings. O símbolo para concatenação é o sinal de mais (+), como nos comandos de atribuiação a seguir, da procedure TimeString

TimeString := hourStr+ ’.’ + minuteStr + ’ ’ + ampm


Este exemplo, em particular, combina cinco strings: três variáveis string e dois valores literais de string. O resultado se torna o valor de retorno da função TimeString

O Turbo Pascal também possui uma função embutida, chamada CONCAT, que fornece uma forma alternativa para concatenações. CONCAT toma uma série de strings como a sua lista de argumentos, e retoma com a concatenação de todas as strings; por exemplo, o comando a seguir é equivalente ao do exemplo de TimeString

Exemplos
program exemplo_concat;

uses crt;

var

S1, S2, S3: string;



begin

S1 := ‘Turbo Pascal ’;

S2 := ‘é ótimo!’;

S3 := Concat(S1, S2);

TimeString := CONCAT (hourStr, ’.’, minuteStr, ’ ’,ampm) ;

writeln(TimeString, S3);

end.
Além de CONCAT, o Turbo Pascal possui uma útil biblioteca de procedures e funções embutidas que executam diversas operações de strings que serão vistas no item 6.1:

11.4.6Operadores sobre conjuntos


No Pascal existe o operador IN que avalia verdadeiro se um operando pertencer a um conjunto.

Exemplo
program exemplo_in;



uses crt;

var opcao: char;

begin


clrscr;

writeln('Escolha o seu time: [G] Grêmio [I] Inter');

repeat


opcao:=readkey;

until opcao in ['G','g','I','i'];

writeln('A opção escolhida foi ', opcao);

end.



1   ...   12   13   14   15   16   17   18   19   ...   23


Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©atelim.com 2016
rəhbərliyinə müraciət