ILA - Unisinos
ILA - Unisinos
ILA - Unisinos
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.