Você está na página 1de 24

Lgica de Programao

ADVPL Aula 2

Aula de Hoje
Tipos de Dados
Expresses
Exerccios

Armazenar na memria

1.
2.
3.
4.

5.

6.
7.
.

Imagine que voc e um amigo desejam calcular o algoritmo da mdia,


de cabea, sem fazer anotaes. Veja os passos descritos a seguir.
Voc diz a primeira nota.
Seu amigo, ento, guarda esse valor na sua memria humana, enquanto
aguarda a segunda nota.
Voc diz a segunda nota.
Seu amigo guarda o valor da segunda nota em outro local da memria
diferente do anterior, para no sobrescrever (e acabar esquecendo) a
primeira nota.
O seu amigo recupera os valores das notas em sua memria, faz o
clculo da mdia e coloca o valor encontrado em um terceiro local de
sua memria.
Voc pergunta: Qual o valor da mdia?
O seu amigo informa o resultado obtido.
De forma similar, o computador precisa guardar os dados e instrues
em endereos especficos de sua memria, durante a execuo de um
algoritmo, a fim de no esquecer as informaes, podendo, assim,
process-las eficazmente.
3

Variveis de Memria
Cadastro
Nota 1 10
Nota 2

Memria
Nota 1
10
Nota 2
8

Mdia
9

Media = (Nota1 + Nota2)/ 2

CPU

Varivel de Memria
Uma varivel precisa ter um nome (ou identificador), um tipo de
dado associado a ela (tipo da varivel) e a informao que ela
armazena.
O identificador serve para diferenciar a varivel das demais, por
isso deve ser nico para cada varivel.
O processo de criao de uma varivel chamado de declarao
da varivel.
As variveis devem ser declaradas no algoritmo antes de serem
utilizadas, pois a declarao das variveis permite que seja
reservado um espao na memria para o dado que vai ser
armazenado e utilizado.
Durante o curso, para declararmos uma varivel, devemos
proceder da seguinte forma:
<nome_da_varivel> : <tipo_da_varivel>
ou:
<lista_de_variveis> : <tipo_da_varivel>

Declarao de Variveis
I

II

III

IV

nota

numerico

nome da varivel

tipo da varivel

idade

numerico

nome da varivel

tipo da varivel

sexo

caracter

nome da varivel

tipo da varivel

frase

caracter

nome da varivel

tipo da varivel

nota1, nota2

numerico

lista de variveis

tipo da varivel

Expresses e operadores
Em algoritmos, uma expresso uma combinao
de variveis, constantes e operadores, e que, uma
vez avaliada, resulta num valor.
Os operadores so os smbolos especficos que
relacionam as variveis e constantes em uma expresso.
Eles so responsveis pela execuo das operaes que
sero realizadas sobre os dados armazenados nessas
variveis e constantes.
As expresses e seus operadores esto sempre em
conformidade com os tipos de dados que manipulam. H
trs tipos de expresses: aritmticas (envolvendo dados
numricos), lgicas (envolvendo dados lgicos) e literais
(envolvendo caracteres estrings).

Expresses aritmticas
Operador
+
/
*
Mod ou %
^

Expresso
Adio
Subtrao
Diviso
Multiplicao
Resto da diviso inteira
Potenciao

Exemplos
a + b, 5 + 7
8 4, x y
20 / 4, x / y
3 * a, x * y
25%4(resulta 1)
2^3 (resulta 8)

Expresses aritmticas
Exemplo
algoritmo"area circunferencia"
var raio, varpi, area :numerico
inicio
varpi <- 3.14
leia(raio)
area <- varpi*raio*raio
escreva(area)
fimalgoritmo

Expresses aritmticas - regras de


precedncia
Os parntesis, nos algoritmos, so
utilizados para modularizar as
expresses. Ou seja, eles dividem a
expresso em partes, proporcionando
maior compreenso e definindo
prioridades para a sua resoluo. Veja:
4*(8-5)/9
Na expresso acima, os parntesis nos
permitem compreender que o primeiro
clculo que deve ser feito 8-5.
10

Expresses aritmticas - regras


de precedncia

Mas no so apenas os parntesis que definem as prioridades dos


operadores. Existem certas regras que determinam essas prioridades.
So as regras de precedncia.
Operador Prioridade
*
1
/
1
%
1
+
2
2
1. Operadores de menor prioridade devem ser avaliados
primeiro.
2. Em caso de empate, as expresses devem ser resolvidas
sempre da esquerda para a direita.
3. Os parntesis foram uma prioridade e, no caso de
parntesis aninhados, os mais internos devem ser avaliados
primeiro.

11

Regras de precedncia

Observe os exemplos:
1. 2 * 3 + 4 / 2 = 8
. Primeiro, resolvemos a
multiplicao: 2 * 3 = 6
. A expresso fica: 6 + 4 / 2
. Depois, resolvemos a diviso: 4/2 =
2, ficando a operao: 6+2=8

Regras de precedncia
2. 2 * ( 3 + 4 ) / 2 = 7
. Nesse caso, com os mesmos operandos, o
resultado ser diferente. Veja:
. Resolvemos primeiro o que est entre
parntesis: 3 + 4 = 7
. A expresso fica: 2 * 7 / 2
. Os operadores * e / tm mesma
prioridade, ento, resolvemos da esquerda
para a direita: multiplicamos: 2 * 7 = 14 e
ficamos com 14 / 2 = 7

Exerccio
Avalie as seguintes expresses na
ordem correta e mostre o resultado:
1. 4 * 7 + 8 2 6 / 3
2. (6 + 4) / 10
3. 6 + 4 / 10
4. 10 % 3 * 9 4 / 2 + 5
5. 16 / 2 * 2 / ( 6 / 3 )
6. 16 / 2 / 2 * ( 7 +1 2 )

Expresses lgicas
As expresses lgicas estabelecem relaes de
comparao entre variveis e constantes, de
forma que o seu resultado s pode assumir um
valor:verdadeirooufalso.
Essas expresses podem utilizar dois tipos de
operadores:
operadores relacionais
operadores lgicos.

15

Operadores relacionais
Os operadores relacionais estabelecem comparao entre dados de
quaisquer tipos (numricos, lgicos ou literais).
Operador
=
<>
>
>=
<

Descrio
Igual
Diferente
Maior que
Maior ou igual
Menor que

Exemplos
A = B, 8 = 8
X<>Y, 7<> 5
X > Z, 9 > 8
A>=5, 8>=5
X < Y, 2 < 3

<=

Menor ou igual

B<=C, 2<=4

Vejamos alguns exemplos de expresses utilizando os operadores


relacionais:
A = B. Se A = 5 e B = 7, ento, o resultado da expresso Falso.
A <> B. nas mesmas circunstncias do item anterior, o resultado
seriaVerdadeiro.
9 > 15 Falso
9 < 15 Verdadeiro
16

Exerccio
Sabendo que a = 7, b = 12 e c =
3, diga se o resultado das
seguintes expresses
verdadeiro ( v ) ou falso ( f ):
( ) (a + c) > b
( ) b >= (a + 2)
( ) c = (b - a)
( ) (b + a) <= c
( ) (c + a) > b

Operadores lgicos
Alm dos operadores relacionais, as expresses
lgicas lidam com os operadores lgicos.
Esses operadores so utilizados para combinar
os resultados de expresses relacionais,
retornando, ao final, um resultado verdadeiro
ou falso.
Os operadores lgicos so:
OU lgico disjuno
E lgico conjuno
NO lgico negao

Operadores lgicos
A

A OU B

AEB

NO A

19

Operadores lgicos Precedncia


Os operadores lgicos, como os
aritmticos, obedecem a regras de
precedncia.
As prioridades so as seguintes:
1. NO
2. E
3. OU
. Os parntesis, com operadores
lgicos, tambm foram a
precedncia.

Exerccio
Sabendo que a = 10, b = 8, c = 6 e
d = 12, informe se as expresses
abaixo so verdadeiras ou falsas:
1. ( ) a > c e c <= d
2. ( ) (a + b) > 20 ou (a + b) = (c
+ d)
3. ( ) a >= c e d >= c
4. ( ) no (a < d) e c > b

Expresses literais
Podemos utilizar para expresses literais (caracteres e
textos), o operador aritmtico +. Ele utilizado
paraconcatenarliterais ou caracteres. Veja o exemplo:
algoritmo"operaes com literais"
var
nome, sobrenome, nome_completo :literal
inicio
nome <- "Ana"
sobrenome <- "dos Santos"
nome_completo <- nome + " "+sobrenome
escreva(nome_completo)
fimalgoritmo
Esse algoritmo deve exibir, como resultado, o texto Ana
dos Santos.

Expresses literais
Tambm podemos utilizar operadores lgicos com
literais e caracteres. Veja:
algoritmo"operaes logicas com caracteres"
var
c, d :literal
f :logico
inicio
c <- "casa"
d <- "CaSa"
f <- c = d
escreva(f)
fimalgoritmo

At a prxima Aula!
Avaliem a aula de hoje no site:
www.tieducacional.com.br/pesquis
a/diaria

Você também pode gostar