Lógica de Programação ADVPL ADVPL – Aula Aula 2
Aula de Hoje •
Tipos de Dados
•
Expressões
•
Exercícios
2
Armazenar na memória •
)' 2' ,' -' 0' 3' 9' •.
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' *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' 1 seu amigo recu(era os valores das notas em sua memória $a% o clculo da média e coloca o valor encontrado em um terceiro local de sua memória' Você (ergunta4 56ual o valor da média78 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
Variáveis de Memória >adastro ?ota ) ?ota 2
10 8
@emória ?ota ) 10
?ota 2 8
@édia 9
@edia .?ota) B ?ota2/C 2
>P
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 ela arma%ena' 1 identi;cador serve (ara di$erenciar a varivel das demais (or isso 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 seja reservado um es(aço na memória (ara o dado que vai ser arma%enado e utili%ado' Durante o curso (ara declararmos uma varivel devemos (roceder da seguinte $orma4
•
:
ou4 •
:
Declaração de Variáveis I
II
III
IV
V
nota
:
nome da variável
:
idade
:
nome da variável
:
sexo
:
nome da variável
:
frase
:
nome da variável
:
nota1, nota2
:
lista de variáveis
:
numerico
tipo da variável
numerico
tipo da variável
caracter
tipo da variável
caracter
tipo da variável
numerico
tipo da variável
6
Expressões e operadores •
Em algoritmos, uma expressão é uma combinação de variáveis, constantes e operadores, e que, uma vez 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<(ressão' Gles são res(onsveis (ela e
•
Expressões aritméticas Operador + ! % &od ou ) /
Expressão Adição Subtração Di"isão &u'tip'icação *esto da di"isão iteira 0oteciação
Exemplos a + b, 5 + 7 8 – 4, x – #$ ! 4, x ! ( % a, x % #5)4resu'ta . #/( resu'ta 8.
Expressões aritméticas ! Exemplo •
algoritmo area circun$erencia var raio var(i area 4 numerico inicio
var(i J= ,') leia .raio/ area J= var(iKraioKraio escreva .area/ #malgoritmo
Expressões aritméticas $ regras de preced%ncia •
1s (arêntesis nos algoritmos são utili%ados (ara !modulari%ar# as e<(ress&es' 1u seja eles dividem a e<(ressão em (artes (ro(orcionando maior com(reensão e de;nindo (rioridades (ara a sua resolução' Veja4 4*(8-5)/9
•
?a e<(ressão acima os (arêntesis nos (ermitem com(reender que o (rimeiro clculo que deve ser $eito é !=0#' 10
Expressões aritméticas $ regras de preced%ncia
@as não são a(enas os (arêntesis que de;nem as (rioridades dos o(eradores' G
# #
& 'peradores de menor prioridade devem ser avaliados primeiro ( Em caso de empate, as expressões devem ser resolvidas sempre da esquerda para a direita ) 's par%ntesis *orçam uma prioridade e, no caso de par%ntesis anin+ados, os mais internos devem ser avaliados primeiro
11
egras de preced%ncia 1"serve os e
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<(ressão ;ca4 2 K 9 C 2 •. 1s o(eradores !K# e !C# têm mesma (rioridade então resolvemos da esquerda (ara a direita4 multi(licamos4 2 K 9 )- e ;camos com )- C 2 9
Exerc-cio .valie as seguintes expressões na ordem 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 < < &5 6 ( 1 ( 6 7 5 6 ) 8 5 &5 6 ( 6 ( 1 7 2 3& ( 8 •
Expressões lógicas •
•
As e<(ress&es lógicas esta"elecem relaç&es de com(aração entre variveis e constantes de $orma que o seu resultado só (ode assumir um valor4 verdadeiro ou falso' Gssas e<(ress&es (odem utili%ar dois ti(os de o(eradores4 – –
o(eradores relacionais o(eradores lógicos'
15
Operadores relacionais >s operadores re'acioais estabe'ece? co?paração etre dados de :uais:uer tipos u?@ricos, '3icos ou 'iterais.B Operador 1 6 6 61
Descrição 23ua' Dierete &aior :ue &aior ou i3ua' &eor :ue
Exemplos A 1 , 8 1 8 69, 76 5 6 ;, < 6 8 A615, 8615 9, # (
1
&eor ou i3ua'
1=, #14
Vejamos alguns e
Exerc-cio •
• • • • •
=abendo que a > 2, b > &( e c > ), diga se o resultado das seguintes 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
'peradores lógicos •
•
•
Além dos o(eradores relacionais as e<(ress&es lógicas lidam com os o(eradores lógicos' Gsses o(eradores são utili%ados (ara com"inar os resultados de e<(ress&es relacionais retornando ao ;nal um resultado verdadeiro ou $also' 1s o(eradores lógicos são4 1 lógico – disjunção – G lógico – conjunção – ?T1 lógico – negação –
'peradores lógicos A
N
A 1 N
AGN
?T1 A
S
S
S
S
V
S
V
V
S
V
V
S
V
S
S
V
V
V
V
S
19
'peradores lógicos $ Areced%ncia 1s o(eradores lógicos como os aritméticos o"edecem a regras de (recedência' • As (rioridades são as seguintes4 )' ?T1 2' G ,' 1 •. 1s (arêntesis com o(eradores lógicos tam"ém $orçam a •
Exercício =abendo que a > &9, b > 4, c > 5 e d > &(, in*orme se as expressões abaixo são verdadeiras ou *alsas/ & 7 8 a ? c e c @> d ( 7 8 7a 3 b8 ? (9 ou 7a 3 b8 > 7c 3 d8 ) 7 8 a ?> c e d ?> c 0 7 8 não 7a @ d8 e c ? b •
Expressões literais •
•
Podemos utili%ar (ara e<(ress&es literais .caracteres e te
nome so"renome nomeUcom(leto 4 literal inicio
nome J= Ana so"renome J= dos *antos nomeUcom(leto J= nome B Bso"renome escreva .nomeUcom(leto/ #malgoritmo •
Gsse algoritmo deve e
Expressões literais • am"ém •
(odemos utili%ar o(eradores lógicos com literais e caracteres' Veja4 algoritmo o(eraç&es logicas com caracteres var
c d 4 literal $ 4 logico inicio
c J= casa d J= >a*a $ J= c d escreva .$/ #malgoritmo
Até a (ró