Algoritmos e Programação - 2013.1 - Aula 2

25
Algoritmos e Programação Prof.º Thyago Maia Prof. Thyago Maia 2013.1

description

Algoritmos e Programação - 2013.1 - Aula 2

Transcript of Algoritmos e Programação - 2013.1 - Aula 2

Page 1: Algoritmos e Programação - 2013.1 - Aula 2

Algoritmos e Programação

Prof.º Thyago MaiaProf.  Thyago Maia2013.1

Page 2: Algoritmos e Programação - 2013.1 - Aula 2

Aula 2: Expressões e Operadores

Objetivos• Introduzir alguns conceitos básicos 

aplicados no Portugolp g• Exercitar os conceitos 

t dapresentados

2

Page 3: Algoritmos e Programação - 2013.1 - Aula 2

Linearização de expressõesLinearização de expressões

Page 4: Algoritmos e Programação - 2013.1 - Aula 2

Linearização de expressõesç p

• Linearização de expressões

– Na construção de algoritmos que realizem cálculos matemáticos TODAS as expressões aritméticasmatemáticos, TODAS as expressões aritméticas devem ser “colocadas em linha”;

4

Page 5: Algoritmos e Programação - 2013.1 - Aula 2

OperadoresOperadores

Page 6: Algoritmos e Programação - 2013.1 - Aula 2

Operadoresp

• Existem 3 tipos de operadores no Português Estruturado:

O d it éti• Operadores aritméticos;• Operadores relacionais;• Operadores lógicos;

6

Page 7: Algoritmos e Programação - 2013.1 - Aula 2

Operadoresp

• Operadores aritméticos disponíveis para o português estruturado:p g• Adição (+)• Subtração ( )• Subtração (‐)• Multiplicação (*)• Divisão (/)• Divisão inteira (\)( )• Exponenciação (^ ou Exp)• Módulo ou resto da divisão (%)• Módulo, ou resto da divisão (%)

7

Page 8: Algoritmos e Programação - 2013.1 - Aula 2

Operadoresp

• Operadores relacionais:

• Realizam a comparação entre dois operandos ou duas expressões resultando valores lógicosduas expressões, resultando valores lógicos (verdadeiro ou falso); 

• Ex : 2+5 > 4 resultaria VERDADEIRO;• Ex.: 2+5 > 4 resultaria VERDADEIRO;• Ex.: 2 = 7 resultaria FALSO;

8

Page 9: Algoritmos e Programação - 2013.1 - Aula 2

Operadoresp

• Operadores relacionais disponíveis no Português Estruturado:g• Maior (>)• Menor (<)• Menor (<)• Maior ou igual (>=)• Menor ou igual (<=)• Igual (=)g ( )• Diferente (<>)

9

Page 10: Algoritmos e Programação - 2013.1 - Aula 2

Operadoresp

• Operadores lógicos• Atuam em expressões, também resultando valores p ,lógicos (Verdadeiro ou Falso);

• Tipos de operadores:Tipos de operadores:• E

• Resulta verdadeiro se duas expressões forem verdadeiras;Resulta verdadeiro se duas expressões forem verdadeiras;

• OU• Resulta verdadeiro se pelo menos uma expressão for p pverdadeira;

• NAO• Nega uma afirmação. Se for verdadeira, torna‐se falsa; Se falsa, torna‐se verdadeira; 10

Page 11: Algoritmos e Programação - 2013.1 - Aula 2

Operadoresp

• Exemplos• A expressão (2+5 > 4) e (3 <> 3) resulta FALSO;p ( ) ( ) ;

• A primeira expressão (2+5 > 4) é VERDADEIRA;• A segunda expressão (3 <> 3) é FALSA;A segunda expressão (3   3) é FALSA;• Verdadeiro E Falso = Falso!

• A expressão (2=2) ou (3 < 1) resulta VERDADEIRO;• A primeira expressão (2 2) é VERDADEIRA;• A primeira expressão (2=2) é VERDADEIRA;• A segunda expressão (3 < 1) é FALSA;V d d i OU F l V d d i !• Verdadeiro OU Falso = Verdadeiro!

11

Page 12: Algoritmos e Programação - 2013.1 - Aula 2

Operadoresp

• Exemplos• NAO (3 < 1) resulta VERDADEIRO;( ) ;

• A expressão é FALSA;• Porém, o operador NÃO inverte o resultado lógico;Porém, o operador NÃO inverte o resultado lógico;

12

Page 13: Algoritmos e Programação - 2013.1 - Aula 2

Apresentaçãop ç

• Tabela‐Verdade• Demonstra os resultados da aplicação de p çoperadores lógicos em expressões, conforme o valor dos operando envolvido:  p

AA BB A E BA E B A OU BA OU B NAO ANAO A NAO BNAO BVV VV VV VV FF FFVV VV VV VV FF FFVV FF FF VV FF VVFF VV FF VV VV FFFF FF FF FF VV VV

13

Page 14: Algoritmos e Programação - 2013.1 - Aula 2

Modularização de expressõesModularização de expressões

Page 15: Algoritmos e Programação - 2013.1 - Aula 2

Modularização de expressões

• Trata da divisão de expressões em subexpressões;• Proporciona maior compreensão;• Define prioridades na resolução de subexpressões;• Modularizamos expressões através dos parênteses ();• Modularizamos expressões através dos parênteses ();• Podemos utilizar parênteses dentro de parênteses (())(());

• Indicam quais subexpressões serão executadas primeiro;

15

Page 16: Algoritmos e Programação - 2013.1 - Aula 2

Modularização de expressões

• Exemplo• (2 + 2) / 2 = 2;• Mas 2+2 / 2 resulta 3!!!! 

• Ordem de prioridade dos operadores aritméticos:1. Exponenciação;2. Multiplicação;3. Divisão;4. Adição;ç ;5. Subtração;

16

Page 17: Algoritmos e Programação - 2013.1 - Aula 2

Modularização de expressões

• Ordem de prioridade dos operadores disponíveis no Português estruturado:

1 Operadores aritméticos1. Operadores aritméticos2. Operadores relacionais3 O d ló i3. Operadores lógicos

17

Page 18: Algoritmos e Programação - 2013.1 - Aula 2

ExercíciosExercícios

Page 19: Algoritmos e Programação - 2013.1 - Aula 2

Exercícios

• Converta as expressões abaixo para o formato “linearizado”:

( () )19

( () )

Page 20: Algoritmos e Programação - 2013.1 - Aula 2

Respostasp

• 1ª expressão: • a+b / c/

2ª ã• 2ª expressão:• ((2/3 – (5‐3)) + 1) * 5

• 3ª expressão:• 3ª expressão:• 1 * (x‐2) / (x^2 – 4) + 3 * (x+2) / (x^2 – 4) 

20

Page 21: Algoritmos e Programação - 2013.1 - Aula 2

Exercícios

• Resolva as expressões lógicas abaixo, determinando o resultado lógico de cada uma g(verdadeiro ou falso):

• (2 > 3)• (6 < 8) OU (3 > 7)• NAO (2 < 3)( )• (2=2) E (1 > 10) OU (5 < 4) 

21

Page 22: Algoritmos e Programação - 2013.1 - Aula 2

Respostasp

• Resolva as expressões lógicas abaixo, determinando o resultado lógico de cada g(verdadeiro ou falso):

• (2 > 3) = FALSO• (6 < 8) OU (3 > 7) = VERDADEIRO• NAO (2 < 3) = FALSO( )• (2=2) E (1 > 10) OU (5 < 4) = FALSO 

22

Page 23: Algoritmos e Programação - 2013.1 - Aula 2

Exercícios

• Escreva as seguintes expressões “linearizadas” na forma convencional:

4 (5/3) * (8 4) / (2 5)• 4 + (5/3) * (8‐4) / (2‐5)• 8/4 – 2 + (5+4) / (3‐1)

23

Page 24: Algoritmos e Programação - 2013.1 - Aula 2

Explore o assunto!Explore o assunto!

Page 25: Algoritmos e Programação - 2013.1 - Aula 2

Explore o assunto!p

• Referências– Introdução aos çalgoritmos(TONET, B., KOLIVER, C.): Introdução , ) çe tópicos 1, 2 e 3;

– Disponível emDisponível em  http://www.claudiorodolfo com/ftc/ap/manual vifo.com/ftc/ap/manual_visualg.pdf

25