14.03.2015 Views

ILA - Unisinos

ILA - Unisinos

ILA - Unisinos

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Aprendendo a Programar Programando numa Linguagem Algorítmica Executável (<strong>ILA</strong>) - Página 23<br />

evidente) a média procurada.<br />

Considerando as observações acima a respeito dos identificadores e o fato de que o<br />

interpretador <strong>ILA</strong> não faz distinção entre letras maiúsculas e minúsculas, a definição abaixo<br />

provocaria erro<br />

Variaveis<br />

Numerico Maior_triangulo_equilatero<br />

Caracter maior_triangulo_equiangulo<br />

pois os vinte primeiros caracteres são (para o interpretador) iguais.<br />

Nas seções 2.6 e 2.8 veremos com que comandos o <strong>ILA</strong> armazena dados de entrada e dados<br />

gerados pela execução do programa em variáveis. Um valor armazenado em uma variável é<br />

comumente referido como sendo o conteúdo da variável ou o valor da variável. Também é comum<br />

se referir ao identificador da variável como sendo a própria variável.<br />

2.2 Expressões aritméticas<br />

O <strong>ILA</strong>, como era de se esperar, é capaz de avaliar expressões aritméticas que envolvam as<br />

operações binárias de multiplicação, divisão, soma e subtração e a operação unária de troca de<br />

sinal. Para isto são usados os operadores aritméticos *, para a multiplicação, /, para a divisão, +,<br />

para a soma, e -, para a subtração e troca de sinal.<br />

Uma expressão que envolva diversas operações é avaliada de acordo com as regras de<br />

prioridade da matemática: em primeiro lugar é realizada a operação troca de sinal, em seguida são<br />

realizadas as multiplicações e divisões e, finalmente, as somas e subtrações. Por exemplo, a<br />

expressão 8 + 2*-3 é avaliada como sendo igual a 8 + (-6) = 2. Naturalmente, a prioridade pode ser<br />

alterada com a utilização de parêntesis: a expressão (8 + 2)*-3 resulta em 10*(-3) = -30. Embora, o<br />

sistema não exija, vamos sempre utilizar parêntesis para separar o operador unário para troca de<br />

sinal de algum operador binário. Assim, 8 + 2*-3 será indicada por 8 + 2*(-3). Uma expressão não<br />

parentesiada contendo operadores de mesma prioridade é avaliada da esquerda para direita. Por<br />

exemplo, 10/2*3 é igual a (10/2)*3 = 5*3 = 15.<br />

O sistema também é capaz de calcular potências através do operador ^. Assim, o sistema<br />

avalia a expressão 2^10 como sendo 1 024. Já 3^-2 é igual a<br />

1<br />

3 2= 1 9 =0,11 (o sistema trabalha com<br />

duas casas decimais). Preferiremos também escrever 3^(-2) no lugar de 3^-2. A potenciação tem<br />

prioridade maior que a multiplicação e que a soma. Assim, 2*3^4 = 2*(3^4) = 2*81 = 162.<br />

Operandos podem ser conteúdos de variáveis. Neste caso, o operando é indicado pelo<br />

identificador da variável (é para isto que serve o identificador, para se fazer referência aos valores<br />

que na variável estão armazenados).<br />

Através de uma função pré-definida (veremos o que é isto posteriormente), o <strong>ILA</strong> também é<br />

capaz de calcular restos de divisões inteiras entre dois números inteiros positivos. Isto é feito por<br />

meio da sintaxe<br />

Resto(Expressão1, Expressão2)<br />

onde Expressão1 e Expressão2 são expressões numéricas que resultam num valor inteiro.<br />

Por exemplo, o <strong>ILA</strong> avalia a expressão 2^3 - Resto(6*5, 8/2) através de<br />

2^3 - Resto(6*5, 8/2) = 8 - Resto(30, 4) = 8 - 2 = 6.<br />

Naturalmente, Resto(7, 12) resulta no valor 7. Vale observar que se o valor de Expressão 1 ou<br />

de Expressão 2 são fracionários, Resto(Expressão 1, Expressão 2) é “calculado”, mas com erros<br />

incontroláveis pelo programador.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!