estrutura de decisão (seleção) · estruturas de decisão 29/04/14...
TRANSCRIPT
Estrutura de Decisão (Seleção)
29/04/14 1 © P C F de Oliveira 2014
Prof. Paulo Cesar F. de Oliveira, BSc, PhD
Unidade 03 Estruturas de Decisão
29/04/14 2 © P C F de Oliveira 2014
Seção 1.1 Recapitulação
² 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
29/04/14 4 © P C F de Oliveira 2014
Seção 1.2 Conceitos e Funcionamento
Unidade 03 Estruturas de Decisão
² 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
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
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
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
29/04/14 9 © P C F de Oliveira 2014
Seção 1.3 Exemplos
Unidade 03 Estruturas de Decisão
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
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
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
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
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
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