estrutura de decisão (seleção) · simples se (expressão-lógica) entao c 1 c 2. . . c n fimse...
TRANSCRIPT
![Page 1: Estrutura de Decisão (Seleção) · Simples se (expressão-lógica) entao c 1 c 2. . . c n fimse Bloco de comandos a serem executados se o resultado da expressão-lógica for VERDADEIRO](https://reader031.vdocuments.pub/reader031/viewer/2022020415/5beac80d09d3f2717a8b8eaf/html5/thumbnails/1.jpg)
Estrutura de Decisão (Seleção)
Prof. Paulo Cesar F. de Oliveira, BSc, PhD 09/05/14 1 © P C F de Oliveira 2013
![Page 2: Estrutura de Decisão (Seleção) · Simples se (expressão-lógica) entao c 1 c 2. . . c n fimse Bloco de comandos a serem executados se o resultado da expressão-lógica for VERDADEIRO](https://reader031.vdocuments.pub/reader031/viewer/2022020415/5beac80d09d3f2717a8b8eaf/html5/thumbnails/2.jpg)
Unidade 03 Estruturas de Decisão
09/05/14 2 © P C F de Oliveira 2013
Seção 1.1 Recapitulação
![Page 3: Estrutura de Decisão (Seleção) · Simples se (expressão-lógica) entao c 1 c 2. . . c n fimse Bloco de comandos a serem executados se o resultado da expressão-lógica for VERDADEIRO](https://reader031.vdocuments.pub/reader031/viewer/2022020415/5beac80d09d3f2717a8b8eaf/html5/thumbnails/3.jpg)
² Estrutura vista até agora ² Sequencial
algoritmo “exemplo” var declaração de variáveis inicio comando1
comando2 ... comandon
fimalgoritmo 09/05/14 3 © P C F de Oliveira 2013
Unidade 03 Estruturas de Decisão
![Page 4: Estrutura de Decisão (Seleção) · Simples se (expressão-lógica) entao c 1 c 2. . . c n fimse Bloco de comandos a serem executados se o resultado da expressão-lógica for VERDADEIRO](https://reader031.vdocuments.pub/reader031/viewer/2022020415/5beac80d09d3f2717a8b8eaf/html5/thumbnails/4.jpg)
09/05/14 4 © P C F de Oliveira 2013
Seção 1.2 Conceitos e Funcionamento
Unidade 03 Estruturas de Decisão
![Page 5: Estrutura de Decisão (Seleção) · Simples se (expressão-lógica) entao c 1 c 2. . . c n fimse Bloco de comandos a serem executados se o resultado da expressão-lógica for VERDADEIRO](https://reader031.vdocuments.pub/reader031/viewer/2022020415/5beac80d09d3f2717a8b8eaf/html5/thumbnails/5.jpg)
² 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.
09/05/14 5 © P C F de Oliveira 2013
Unidade 03 Estruturas de Decisão
![Page 6: Estrutura de Decisão (Seleção) · Simples se (expressão-lógica) entao c 1 c 2. . . c n fimse Bloco de comandos a serem executados se o resultado da expressão-lógica for VERDADEIRO](https://reader031.vdocuments.pub/reader031/viewer/2022020415/5beac80d09d3f2717a8b8eaf/html5/thumbnails/6.jpg)
09/05/14 6 © P C F de Oliveira 2013
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) · Simples se (expressão-lógica) entao c 1 c 2. . . c n fimse Bloco de comandos a serem executados se o resultado da expressão-lógica for VERDADEIRO](https://reader031.vdocuments.pub/reader031/viewer/2022020415/5beac80d09d3f2717a8b8eaf/html5/thumbnails/7.jpg)
Composta
se (expressão-lógica) entao ca
cb senao cc
cd fimse
09/05/14 7 © P C F de Oliveira 2013
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) · Simples se (expressão-lógica) entao c 1 c 2. . . c n fimse Bloco de comandos a serem executados se o resultado da expressão-lógica for VERDADEIRO](https://reader031.vdocuments.pub/reader031/viewer/2022020415/5beac80d09d3f2717a8b8eaf/html5/thumbnails/8.jpg)
09/05/14 8 © P C F de Oliveira 2013
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) · Simples se (expressão-lógica) entao c 1 c 2. . . c n fimse Bloco de comandos a serem executados se o resultado da expressão-lógica for VERDADEIRO](https://reader031.vdocuments.pub/reader031/viewer/2022020415/5beac80d09d3f2717a8b8eaf/html5/thumbnails/9.jpg)
09/05/14 9 © P C F de Oliveira 2013
Seção 1.3 Exemplos
Unidade 03 Estruturas de Decisão
![Page 10: Estrutura de Decisão (Seleção) · Simples se (expressão-lógica) entao c 1 c 2. . . c n fimse Bloco de comandos a serem executados se o resultado da expressão-lógica for VERDADEIRO](https://reader031.vdocuments.pub/reader031/viewer/2022020415/5beac80d09d3f2717a8b8eaf/html5/thumbnails/10.jpg)
09/05/14 10 © P C F de Oliveira 2013
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) · Simples se (expressão-lógica) entao c 1 c 2. . . c n fimse Bloco de comandos a serem executados se o resultado da expressão-lógica for VERDADEIRO](https://reader031.vdocuments.pub/reader031/viewer/2022020415/5beac80d09d3f2717a8b8eaf/html5/thumbnails/11.jpg)
09/05/14 11 © P C F de Oliveira 2013
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) · Simples se (expressão-lógica) entao c 1 c 2. . . c n fimse Bloco de comandos a serem executados se o resultado da expressão-lógica for VERDADEIRO](https://reader031.vdocuments.pub/reader031/viewer/2022020415/5beac80d09d3f2717a8b8eaf/html5/thumbnails/12.jpg)
09/05/14 12 © P C F de Oliveira 2013
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) · Simples se (expressão-lógica) entao c 1 c 2. . . c n fimse Bloco de comandos a serem executados se o resultado da expressão-lógica for VERDADEIRO](https://reader031.vdocuments.pub/reader031/viewer/2022020415/5beac80d09d3f2717a8b8eaf/html5/thumbnails/13.jpg)
09/05/14 13 © P C F de Oliveira 2013
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) · Simples se (expressão-lógica) entao c 1 c 2. . . c n fimse Bloco de comandos a serem executados se o resultado da expressão-lógica for VERDADEIRO](https://reader031.vdocuments.pub/reader031/viewer/2022020415/5beac80d09d3f2717a8b8eaf/html5/thumbnails/14.jpg)
09/05/14 14 © P C F de Oliveira 2013
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) · Simples se (expressão-lógica) entao c 1 c 2. . . c n fimse Bloco de comandos a serem executados se o resultado da expressão-lógica for VERDADEIRO](https://reader031.vdocuments.pub/reader031/viewer/2022020415/5beac80d09d3f2717a8b8eaf/html5/thumbnails/15.jpg)
09/05/14 15 © P C F de Oliveira 2013
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