23 de mar de 2009

Lógica de Programação, Aula 6 - Expressões Artiméticas

[Aula de 18/08/2003]
Expressões aritméticas

Denominamos expressão aritmética aquela cujos operadores são aritméticos e cujos operandos são constantes e/ou variáveis do tipo numérico (inteiro ou real).

Operadores aritméticos

Chamamos de operadores aritméticos o conjunto de símbolos que representa as operações básicas da matemática, a saber:

+ (adição)
- (subtração)
* (multiplicação)
** (potenciação)
/ (divisão)
// (radiciação)

Usaremos outras operações matemáticas não convencionais cujos nomes dos operadores são:

mod (resto da divisão)
div (quociente da divisão inteira)

Exemplos:

5+4
2**3=238
5*3=15
2//4=2
15/3=5

3//8=3√¯(8)=2


9 │ 4
└───

1 2

9 div 4 = 2
9 mod 4 = 1

Funções matemáticas

Além das operações básicas anteriormente citadas, podemos usar nas expressões aritméticas algumas funções da matemática:

sen(x): seno de x
cos(x): cosseno de x
tg(x): tangente de x
arctx(x): arco cuja tangente é x
arcos(x): arco cujo cosseno é x
abs(x): valor absoluto (módulo) de x
int(x): a parte inteira de um número fracionário
frac(x): a parte fracionária de x
ard(x): transforma, por arredondamento, um número fracionário em inteiro
sinal(x): fornece o valor +1, -1 ou zero conforme o valor de x seja positivo, negativo ou nulo
rnd(x): valor randômico de x

[observação: note a mistura entre portugol, português estruturado e pascal que foi feita na minha aula, rs...]


Prioridades

Parênteses mais internos
Funções matemáticas
** //
* / div mod
+ -

[Lembrete: div e mod NÃO SÃO FUNÇÕES, apesar de serem pequenos textos]


Exercícios

Resolver:

a) 15 div 7
b) 15 mod 7
c) 27 div 5
d) 27 mod 5
e) int(34,886)
f) frac(34,866)
g) ard(34,866)
h) ard(34,386)
i) abs(-27)
j) sinal(-44)
k) 1-4*3/5-2**3
l) 3**2-4/2+abs(5-3*5)/2


Supondo que A, B e C são variáveis do tipo inteiro, com valores iguais a 5, 10 e -8, e uma variável real D com valor de 1,5, quais os resultados das expressões abaixo?

a) 2*A mod 3 - C
b) 2 // (2 * abs(C) ) div 4
c) ( frac(A/B) + sinal(C) ) ** 3
d) ard( abs(C/2+D) ) - int(A/2)
e) 3 + ( 3 //(C+16) ) * ((3 mod D + 0,5) * 2 )
f) (A+B) div A * ard(sinal(C) + D) - int(D*2)


[Respostas? Numa próxima postagem, hehehe...]

­

Nenhum comentário: