Estrutura de Decisão (Seleção) · Estruturas de Decisão 29/04/14...

15
Estrutura de Decisão (Seleção) 29/04/14 1 © P C F de Oliveira 2014 Prof. Paulo Cesar F. de Oliveira, BSc, PhD

Transcript of Estrutura de Decisão (Seleção) · Estruturas de Decisão 29/04/14...

Page 1: Estrutura de Decisão (Seleção) · Estruturas de Decisão 29/04/14 ©’P’C’F’de’Oliveira2014 ’ 2 Seção 1.1 ... Problema: Escrever um algoritmo que leia três valores

Estrutura de Decisão (Seleção)

29/04/14   1  ©  P  C  F  de  Oliveira  2014  

Prof. Paulo Cesar F. de Oliveira, BSc, PhD

Page 2: Estrutura de Decisão (Seleção) · Estruturas de Decisão 29/04/14 ©’P’C’F’de’Oliveira2014 ’ 2 Seção 1.1 ... Problema: Escrever um algoritmo que leia três valores

Unidade 03 Estruturas de Decisão

29/04/14   2  ©  P  C  F  de  Oliveira  2014  

Seção 1.1 Recapitulação

Page 3: Estrutura de Decisão (Seleção) · Estruturas de Decisão 29/04/14 ©’P’C’F’de’Oliveira2014 ’ 2 Seção 1.1 ... Problema: Escrever um algoritmo que leia três valores

² Estrutura vista até agora ² Sequencial

algoritmo “exemplo” var declaração de variáveis inicio comando1

comando2 ... comandon

fimalgoritmo 29/04/14   3  ©  P  C  F  de  Oliveira  2014  

Unidade 03 Estruturas de Decisão

Page 4: Estrutura de Decisão (Seleção) · Estruturas de Decisão 29/04/14 ©’P’C’F’de’Oliveira2014 ’ 2 Seção 1.1 ... Problema: Escrever um algoritmo que leia três valores

29/04/14   4  ©  P  C  F  de  Oliveira  2014  

Seção 1.2 Conceitos e Funcionamento

Unidade 03 Estruturas de Decisão

Page 5: Estrutura de Decisão (Seleção) · Estruturas de Decisão 29/04/14 ©’P’C’F’de’Oliveira2014 ’ 2 Seção 1.1 ... Problema: Escrever um algoritmo que leia três valores

² Definição ² É uma forma de selecionar a realização de

instruções de acordo com uma determinada condição.

² Utilizando comandos de seleção alguns comandos podem não ser executados conforme a satisfação ou não de uma determinada condição.

29/04/14   5  ©  P  C  F  de  Oliveira  2014  

Unidade 03 Estruturas de Decisão

Page 6: Estrutura de Decisão (Seleção) · Estruturas de Decisão 29/04/14 ©’P’C’F’de’Oliveira2014 ’ 2 Seção 1.1 ... Problema: Escrever um algoritmo que leia três valores

29/04/14   6  ©  P  C  F  de  Oliveira  2014  

Simples se (expressão-lógica) entao

c1 c2 .

. . cn

fimse

Bloco de comandos a serem executados se o resultado da expressão-lógica for VERDADEIRO

Unidade 03 Estruturas de Decisão

Page 7: Estrutura de Decisão (Seleção) · Estruturas de Decisão 29/04/14 ©’P’C’F’de’Oliveira2014 ’ 2 Seção 1.1 ... Problema: Escrever um algoritmo que leia três valores

Composta

se (expressão-lógica) entao ca

cb senao cc

cd fimse

29/04/14   7  ©  P  C  F  de  Oliveira  2014  

Bloco de comandos a serem executados se o resultado da expressão-lógica for VERDADEIRO

Bloco de comandos a serem executados se o resultado da expressão-lógica for FALSO

Unidade 03 Estruturas de Decisão

Page 8: Estrutura de Decisão (Seleção) · Estruturas de Decisão 29/04/14 ©’P’C’F’de’Oliveira2014 ’ 2 Seção 1.1 ... Problema: Escrever um algoritmo que leia três valores

29/04/14   8  ©  P  C  F  de  Oliveira  2014  

Qualquer comando pode ser realizado dentro de um bloco se-entao-senao: leitura, escrita, atribuição, seleção (e outros que serão vistos posteriormente).

A condição a ser analisada para execução do bloco de comandos é apresentada em uma expressão que deve retornar (resultar) um valor lógico: verdadeiro ou falso.

Unidade 03 Estruturas de Decisão

Page 9: Estrutura de Decisão (Seleção) · Estruturas de Decisão 29/04/14 ©’P’C’F’de’Oliveira2014 ’ 2 Seção 1.1 ... Problema: Escrever um algoritmo que leia três valores

29/04/14   9  ©  P  C  F  de  Oliveira  2014  

Seção 1.3 Exemplos

Unidade 03 Estruturas de Decisão

Page 10: Estrutura de Decisão (Seleção) · Estruturas de Decisão 29/04/14 ©’P’C’F’de’Oliveira2014 ’ 2 Seção 1.1 ... Problema: Escrever um algoritmo que leia três valores

29/04/14   10  ©  P  C  F  de  Oliveira  2014  

Exemplo de uso do comando:

se (a > b) entao escreva(“O valor maior eh”, a) senão escreva(“O valor maior eh”, b) fimse

Unidade 03 Estruturas de Decisão

Page 11: Estrutura de Decisão (Seleção) · Estruturas de Decisão 29/04/14 ©’P’C’F’de’Oliveira2014 ’ 2 Seção 1.1 ... Problema: Escrever um algoritmo que leia três valores

29/04/14   11  ©  P  C  F  de  Oliveira  2014  

Considere a = 5 e b = 2 se (a > b) entao escreva(“O valor maior eh”, a) senão escreva(“O valor maior eh”, b) fimse

5 > 2 ? à VERDADE

Unidade 03 Estruturas de Decisão

Page 12: Estrutura de Decisão (Seleção) · Estruturas de Decisão 29/04/14 ©’P’C’F’de’Oliveira2014 ’ 2 Seção 1.1 ... Problema: Escrever um algoritmo que leia três valores

29/04/14   12  ©  P  C  F  de  Oliveira  2014  

Agora considere a = 5 e b =18

se (a > b) entao escreva (“O valor maior eh”, a) senão escreva (“O valor maior eh”, b) fimse

5 > 18 ? à FALSO

Problema neste exemplo: O que acontece se a = b? É escrito que o maior valor é b!

Unidade 03 Estruturas de Decisão

Page 13: Estrutura de Decisão (Seleção) · Estruturas de Decisão 29/04/14 ©’P’C’F’de’Oliveira2014 ’ 2 Seção 1.1 ... Problema: Escrever um algoritmo que leia três valores

29/04/14   13  ©  P  C  F  de  Oliveira  2014  

Um exemplo completo Problema: Escrever um algoritmo que leia três valores (a, b e c) e indique qual é o maior dos três valores. Analisando nosso problema... Entradas: a, b e c Saída: Indicação de qual é o maior valor: a, b ou c

“O maior valor eh”, a “O maior valor eh”, b “O maior valor eh”, c

Processamento: tenho que verificar:

- se a é maior que b e se a é maior que c - se b é maior que a e se b é maior que c - se c é maior que a e se c é maior que b

Unidade 03 Estruturas de Decisão

Page 14: Estrutura de Decisão (Seleção) · Estruturas de Decisão 29/04/14 ©’P’C’F’de’Oliveira2014 ’ 2 Seção 1.1 ... Problema: Escrever um algoritmo que leia três valores

29/04/14   14  ©  P  C  F  de  Oliveira  2014  

Um exemplo completo algoritmo “comparaValoresABC” var a, b, c : inteiro inicio escreva(“informe o valor de a: ”) leia (a) escreva(“informe o valor de b: ”) leia (b) escreva(“informe o valor de c: ”) leia (c) se ((a > b) e (a > c)) entao escreva (“O maior valor eh”, a) senao se (b > c) entao escreva (“O maior valor eh ”, b) senao escreva (“O maior valor eh ”, c) fimse fimse

fimalgoritmo

Unidade 03 Estruturas de Decisão

Page 15: Estrutura de Decisão (Seleção) · Estruturas de Decisão 29/04/14 ©’P’C’F’de’Oliveira2014 ’ 2 Seção 1.1 ... Problema: Escrever um algoritmo que leia três valores

29/04/14   15  ©  P  C  F  de  Oliveira  2014  

Operadores Lógicos não negação e conjunção

ou disjunção

Tabelas Verdade

A não A

V F

F V

A B A ou B

V V V

V F V

F V V

F F F

A B A e B

V V V

V F F

F V F

F F F

Hierarquia dos Operadores

Operadores aritméticos, operadores relacionais, operadores lógicos (não, e, ou)

Unidade 03 Estruturas de Decisão