8/16/2019 Curso de Lógica de Programação - Aula 2
1/24
Lógica de Programação
ADVPL – Aula 2
8/16/2019 Curso de Lógica de Programação - Aula 2
2/24
Aula de Hoje
• Tipos de Dados
• Expressões
• Exercícios
2
8/16/2019 Curso de Lógica de Programação - Aula 2
3/24
Armazenar na memória• Imagine que você e um amigo desejam calcular o algoritmo da média
!de ca"eça# sem $a%er anotaç&es' Veja os (assos descritos a seguir')' Você di% a (rimeira nota'2' *eu amigo então guarda esse valor na sua memória +umana enquanto
aguarda a segunda nota',' Você di% a segunda nota'-' *eu amigo guarda o valor da segunda nota em outro local da memória
di$erente do anterior (ara não so"rescrever .e aca"ar esquecendo/ a(rimeira nota'
0' 1 seu amigo recu(era os valores das notas em sua memória $a% oclculo da média e coloca o valor encontrado em um terceiro local desua memória'
3' Você (ergunta4 56ual o valor da média789' 1 seu amigo in$orma o resultado o"tido'•. De $orma similar o com(utador (recisa guardar os dados e instruç&es
em endereços es(ec:;cos de sua memória durante a e
8/16/2019 Curso de Lógica de Programação - Aula 2
4/24
>adastro
?ota )
Variáveis de Memória
10
?ota )
9
@édia
@edia .?ota) B ?ota2/C 2
@emória
10
>P
8
?ota 2 8
?ota 2
8/16/2019 Curso de Lógica de Programação - Aula 2
5/24
Variável de Memória• ma varivel (recisa ter um nome .ou identi;cador/ um ti(o de
dado associado a ela .ti(o da varivel/ e a in$ormação que elaarma%ena'
• 1 identi;cador serve (ara di$erenciar a varivel das demais (orisso deve ser Enico (ara cada varivel'
• 1 (rocesso de criação de uma varivel é c+amado de declaração
da varivel'• As variveis devem ser declaradas no algoritmo antes de serem
utili%adas (ois a declaração das variveis (ermite que sejareservado um es(aço na memória (ara o dado que vai serarma%enado e utili%ado'
•
Durante o curso (ara declararmos uma varivel devemos(roceder da seguinte $orma4• :
ou4• :
8/16/2019 Curso de Lógica de Programação - Aula 2
6/24
Declaração de Variáveis
I nota : numerico
nome da variável : tipo da variável
II idade : numerico
nome da variável : tipo da variável
III sexo : caracter
nome da variável : tipo da variável
IV frase : caracter
nome da variável : tipo da variável
V nota1, nota2 : numerico
lista de variáveis : tipo da variável
6
8/16/2019 Curso de Lógica de Programação - Aula 2
7/24
Expressões e operadores
• Em algoritmos, uma expressão é uma combinaçãode variáveis, constantes e operadores, e que, umavez avaliada, resulta num valor
• 1s o(eradores são os s:m"olos es(ec:;cos que
relacionam as variveis e constantes em uma e
8/16/2019 Curso de Lógica de Programação - Aula 2
8/24
Expressões aritméticas
Operador Expressão Exemplos+ Adição a + b, 5 + 7- Subtração 8 – 4, x –
! Di"isão #$ ! 4, x ! % &u'tip'icação ( % a, x %
&od ou ) *esto da di"isão iteira #5)4resu'ta .
/ 0oteciação #/( resu'ta 8.
8/16/2019 Curso de Lógica de Programação - Aula 2
9/24
8/16/2019 Curso de Lógica de Programação - Aula 2
10/24
Expressões aritméticas $ regras depreced%ncia
• 1s (arêntesis nos algoritmos sãoutili%ados (ara !modulari%ar# ase
8/16/2019 Curso de Lógica de Programação - Aula 2
11/24
Expressões aritméticas $ regrasde preced%ncia
11
Operador Prioridade% ! )
+ #- #
@as não são a(enas os (arêntesis que de;nem as (rioridades dos
o(eradores' G
8/16/2019 Curso de Lógica de Programação - Aula 2
12/24
egras de preced%ncia•
1"serve os e
8/16/2019 Curso de Lógica de Programação - Aula 2
13/24
egras de preced%ncia
2' 2 K . , B - / C 2 9•. ?esse caso com os mesmos o(erandos o
resultado ser di$erente' Veja4
•. Mesolvemos (rimeiro o que est entre(arêntesis4 , B - 9
•. A e
8/16/2019 Curso de Lógica de Programação - Aula 2
14/24
Exerc-cio
• .valie as seguintes expressões naordem correta e mostre o resultado/
&0 1 2 3 4 ! ( ! 5 6 )
( 75 3 08 6 &9
)5 3 0 6 &9
0&9 : ) 1 ; ! 0 6 ( 3 <
8/16/2019 Curso de Lógica de Programação - Aula 2
15/24
Expressões lógicas
• As e
8/16/2019 Curso de Lógica de Programação - Aula 2
16/24
Operadores relacionais
16
Operador Descrição Exemplos1 23ua' A 1 , 8 1 8
6 Dierete 69, 76 5
6 &aior :ue 6 ;, < 6 861 &aior ou i3ua' A615, 8615 &eor :ue 9, # (
1 &eor ou i3ua' 1=, #14
>s operadores re'acioais estabe'ece? co?paração etre dados de:uais:uer tipos u?@ricos, '3icos ou 'iterais.B
Vejamos alguns e
8/16/2019 Curso de Lógica de Programação - Aula 2
17/24
Exerc-cio
• =abendo que a > 2, b > &( e c >), diga se o resultado dasseguintes expressões é
verdadeiro 7 v 8 ou *also 7 * 8/• 7 8 7a 3 c8 ? b
• 7 8 b ?> 7a 3 (8
• 7 8 c > 7b $ a8
• 7 8 7b 3 a8 @> c
• 7 8 7c 3 a8 ? b
8/16/2019 Curso de Lógica de Programação - Aula 2
18/24
'peradores lógicos
• Além dos o(eradores relacionais as e
8/16/2019 Curso de Lógica de Programação - Aula 2
19/24
'peradores lógicos
19
A N A 1 N A G N ?T1 A
S S S S V
S V V S V
V S V S S
V V V V S
8/16/2019 Curso de Lógica de Programação - Aula 2
20/24
'peradores lógicos $Areced%ncia
• 1s o(eradores lógicos como osaritméticos o"edecem a regras de(recedência'
• As (rioridades são as seguintes4)' ?T12' G,' 1•. 1s (arêntesis com o(eradores
lógicos tam"ém $orçam arecedência'
8/16/2019 Curso de Lógica de Programação - Aula 2
21/24
Exercício
• =abendo que a > &9, b > 4, c > 5 ed > &(, in*orme se as expressõesabaixo são verdadeiras ou *alsas/
& 7 8 a ? c e c @> d
( 7 8 7a 3 b8 ? (9 ou 7a 3 b8 > 7c3 d8
) 7 8 a ?> c e d ?> c0 7 8 não 7a @ d8 e c ? b
8/16/2019 Curso de Lógica de Programação - Aula 2
22/24
Expressões literais
• Podemos utili%ar (ara e
8/16/2019 Curso de Lógica de Programação - Aula 2
23/24
Expressões literais
• am"ém (odemos utili%ar o(eradores lógicos comliterais e caracteres' Veja4
• algoritmo o(eraç&es logicas com caracteresvar
c d 4 literal$ 4 logicoinicio c J= casa
d J= >a*a $ J= c d escreva .$/#malgoritmo
8/16/2019 Curso de Lógica de Programação - Aula 2
24/24
Até a (ró