Buscar

Estrutura Condicional e Expressões Booleanas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 40 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 40 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 40 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Aula 9 – Estrutura Condicional 
Computação I - aula 9 - 2014/1 2 
Estrutura Condicional 
● Estrutura utilizada em situações na qual o programa deve TOMAR 
DECISÕES. 
 Se (condição) 
 Então 
 Conjunto de comandos se a condição for verdadeira 
Senão 
 Conjunto de comandos se a condição for falsa 
 
 
 
 
 
 
 
Computação I - 2014/1 - aula 9 3 
Problema: Faça um algoritmo para jogar o jogo da velha. 
 
Tabuleiro : 1 2 3 
 4 5 6 
 7 8 9 
 
 
- Jogue(n) : Jogar na posição n. 
 
- posição(n): Retorna se a posição n está vazia ou não. 
 
- Faça2 : Retorna 5 se a posição 5 estiver vazia. Caso contrário, 
 retorna qualquer uma das seguintes posições que esteja 
 vazia: 2,4,6 ou 8. 
 
- Ganha(p) : verdade se o jogador p puder vencer fazendo uma jogada. 
 Retorna a posição na qual p ganharia. 
 
 
 
 
 
 
Computação I - 2014/1 - aula 9 
4 
Problema: Faça um algoritmo para jogar o jogo da velha. 
 
Movimentos : X para jogadas ímpares e O para jogadas pares. 
 
Jogada = 1 : jogue(1) 
 
Jogada = 2 : Se posição(5) = vazia então jogue(5) c.c. jogue(1) 
 
Jogada = 3 : Se posição(9) = vazia então jogue(9) c.c. jogue(3) 
 
Jogada = 4 : Se ganha(X) então jogue(ganha(X)) {bloque vitória adv} 
 c.c. jogue(faça2) 
 
Jogada = 5 : Se ganha(X) então jogue(ganha(X)) {vença} 
 c.c. se ganha(O) então jogue(ganha(O)) 
 c.c. se posição(7) = vazia então jogue(7) c.c. jogue(3) 
 
Jogada = 6 : Se ganha(O) então jogue(ganha(O)) 
 c.c. se ganha(X) então jogue(ganha(X)), c.c. jogue(faça2) 
 
Jogada = 7 , 9 : Se ganha(X) então jogue(ganha(X)) 
 c.c. se ganha(O) então jogue(ganha(O)); 
 c.c. jogue em qualquer posição vazia. 
 
Jogada = 8 : Se ganha(O) então jogue(ganha(O)) 
 c.c. se ganha(X) então jogue(ganha(X)); 
 c.c. jogue em qualquer posição vazia. 
Computação I - aula 9 - 2014/1 5 
Expressões Booleanas 
● A condição a ser testada numa estrutura condicional é chamada de 
Expressão Booleana. 
 
● Uma expressão booleana retorna como resultado de sua avaliação os 
valores: verdadeiro (True) ou falso (False). 
 
● Uma expressão booleana pode ser composta por variáveis booleanas, 
operadores relacionais e operadores lógicos. 
 
 
 
 
 
 
 
 
Computação I - aula 9 - 2014/1 6 
Variáveis Booleanas 
● Algumas variáveis apresentam somente dois valores possíveis: False ou 
True. 
● Tais variáveis são ditas booleanas. 
 
 Se (x) 
 Então 
 Conjunto de comandos se a variável x for verdadeira 
 Senão 
 Conjunto de comandos se a variável x for falsa 
 
 
 
 
 
 
 
 
Computação I - aula 9 - 2014/1 7 
Operadores Relacionais 
 
 
 
 
 
 
• Realizam testes e retornam um valor booleano: 
 
• x == y: testa se x e y são iguais. 
• x != y: testa se x e y são diferentes. 
• x < y: testa se x é menor do que y. 
• x <= y: testa se x é menor ou igual a y. 
• x > y: testa se x é maior do que y. 
• x >= y: testa se x é maior ou igual a y. 
Computação I - aula 9 - 2014/1 8 
Operadores Relacionais 
 
 
 
 
 
 
• Exemplos de condições: 
 
Se (x == 5) 
 Então 
Conjunto de comandos se a expressão x==5 for verdadeira 
 Senão 
Conjunto de comandos se a expressão x==5 for falsa 
 
• Se (x+1 >= y-2) ... 
• Se (nome != “Pedro”) ... 
• Se (frase.find(“parte”) > -1) ... 
Computação I - aula 9 - 2014/1 9 
Operadores Lógicos 
 
 
 
 
 
 
• Operadores: not (negação), and (e), or (ou) 
 
• x and y: verdadeiro se, e somente se x e y forem ambos verdadeiros. 
 
• x or y: falso se, e somente se x e y forem ambos falsos. 
 
• not x: falso se x for verdadeiro, e verdadeiro se x for falso. 
 
 
• Observe que x e y podem ser variáveis booleanas ou podem ser 
expressões booleanas compostas de operadores relacionais e 
operadores lógicos. 
 
Computação I - aula 9 - 2014/1 10 
Operadores Lógicos 
 
 
 
 
 
 
• Exemplos: 
 
Se (x > 5 and nome != “Pedro”) 
 Então 
Conjunto de comandos se a condição for verdadeira 
 Senão 
Conjunto de comandos se a condição for falsa 
 
• Se (x <= 7 and y > 2 or y == 3) ... 
• Se (not x>2) ... 
 
 
Computação I - aula 9 - 2014/1 11 
Precedência 
 
 
 
 
 
 
• Observe as condições abaixo: 
 
• Se (x <= 7 and y > 2 or y == 3) ... 
 
• Se (y > 2 or y == 3 and x <= 7 ) ... 
 
• Supondo que x = 10 e y = 5, as duas condições retornam o mesmo 
valor booleano? 
 
 
 
Computação I - aula 9 - 2014/1 12 
Precedência 
 
 
 
 
 
 
• Ordem de Precedência: not, and, or. 
 
 F V F 
• Se (10 <= 7 and 5 > 2 or 5 == 3) ... 
 
 F and V = F 
 
 F or F = F 
 
 
 V F F 
• Se (5 > 2 or 5 == 3 and 10 <= 7 ) ... 
 
 F and F = F 
 
 V or F = V 
 
 
13 
Expressões Booleanas 
 
 
 
● Tabela Verdade 
 
 
 
Computação I - aula 9 - 2014/1 
14 
Expressões Booleanas 
 
 
 
● Exercício 1 
 
 
 
Construa a tabela-verdade para as seguintes expressões: 
 
1- (p and q) and not(p or q) 
 
2- not(p and not q) or q 
 
3- (X + Y > Z) or (Nome != “Maria”) and 1==2 
 
4- (Nome == “Jorge”) and False or (Z =< X +10) 
Computação I - aula 9 - 2014/1 
15 
Estrutura Condicional Simples 
 
 
 
 Se (condição) 
 Então 
 Conjunto de comandos se a condição for verdadeira 
 
● Só se preocupa em executar um conjunto de comandos se a condição 
for verdadeira. Não faz nada se a condição for falsa. 
 
 
 
 
 
 
 
Computação I - aula 9 - 2014/1 
16 
Estrutura Condicional Simples 
 
 
 
● Exemplo: Faça uma função que dado um número inteiro X, determina 
se ele é positivo, negativo ou zero. 
 
 
 
 
Computação I - aula 9 - 2014/1 
17 
Estrutura Condicional Simples 
 
 
 
● Exemplo: Faça uma função que dado um número inteiro X, determina 
se ele é positivo, negativo ou zero. 
 
 
 
 
 
 
Computação I - aula 9 - 2014/1 
18 
Estrutura Condicional Simples 
 
 
 
● Um erro muito comum a ser evitado é utilizar o operador de atribuição 
em vez do operador de teste de igualdade. 
 
 
 
 
 
Computação I - aula 9 - 2014/1 
19 
Estrutura Condicional Simples 
 
 
 
● Exemplo: Faça uma função que dado um número inteiro X, determina 
se ele é positivo, negativo ou zero. 
 
 
 
 
 
 
Computação I - aula 9 - 2014/1 
Quantos testes foram feitos? 
 
Podemos simplificar 
o código ? 
Como ? 
20 
Estrutura Condicional Composta 
 
 
 
Se (condição) 
 Então 
Conjunto de comandos se a condição for verdadeira 
 Senão 
Conjunto de comandos se a condição for falsa 
 
 
 
 
Computação I - aula 9 - 2014/1 
21 
Estrutura Condicional Composta 
 
 
 
● Exemplo: Faça uma função que dado um número inteiro X, determina se 
ele é positivo, negativo ou zero. 
 
 
 
Computação I - aula 9 - 2014/1 
22 
Estrutura Condicional Composta 
 
 
 
● Exemplo: Faça uma função que dado um número inteiro X, determina se 
ele é positivo, negativo ou zero. 
 
 
 
Computação I - aula 9 - 2014/1 
Comandos 1 
Comandos 2 
23 
Estrutura Condicional Composta 
 
 
 
● Exemplo: Faça uma função que dado um número inteiro X, determina se 
ele é positivo, negativo ou zero.Computação I - aula 9 - 2014/1 
Comandos 1 
Comandos 2 
24 
Estrutura Condicional Composta 
 
 
 
● Exemplo: Faça uma função que dado um número inteiro X, determina se 
ele é positivo, negativo ou zero. 
 
 
 
Computação I - aula 9 - 2014/1 
25 
Estrutura Condicional Composta 
 
 
 
● Exemplo: Faça uma função que dado um número inteiro X, determina se 
ele é positivo, negativo ou zero. 
 
 
 
Computação I - aula 9 - 2014/1 
Quantos testes foram feitos? 
 
Podemos simplificar 
o código ? 
Como ? 
26 
Estrutura Condicional Composta 
 
 
 
● Exemplo: Faça uma função que dado um número inteiro X, determina se 
ele é positivo, negativo ou zero. 
 
 
 
Computação I - aula 9 - 2014/1 
27 
Estrutura Condicional Composta - 
elif 
 
 
 
 
 
 
Computação I - aula 9 - 2014/1 
28 
Estrutura Condicional 
 
 
 
Exercícios: 
 
 
 
1) Faça uma função que receba como entrada o código de uma mercadoria 
 e o preço e retorne como saída o preço final da mercadoria, sendo que se o 
código for '00' um desconto de 10% no preço deve ser aplicado. 
 
Computação I - aula 9 - 2014/1 
29 
Estrutura Condicional 
 
 
 
Exercícios: 
 
 
 
1) Faça uma função que receba como entrada o código de uma mercadoria 
 e o preço e retorne como saída o preço final da mercadoria, sendo que se o 
código for '00' um desconto de 10% no preço deve ser aplicado. 
 
Computação I - aula 9 - 2014/1 
30 
Estrutura Condicional 
 
 
 
Exercícios: 
 
 
 
2) Faça uma função que receba como entrada dois números e retorne o maior 
deles. Os valores são, por definição, diferentes entre si. 
Computação I - aula 9 - 2014/1 
31 
Estrutura Condicional 
 
 
 
Exercícios: 
 
 
 
2) Faça uma função que receba como entrada dois números e retorne o maior 
deles. Os valores são, por definição, diferentes entre si. 
Computação I - aula 9 - 2014/1 
ou 
32 
Estrutura Condicional 
 
 
 
Exercícios: 
 
 
 
3) Faça uma função que receba como entrada dois números e retorne o maior 
deles. Caso os números sejam iguais, retorne “Os números são iguais”. 
Computação I - aula 9 - 2014/1 
33 
Estrutura Condicional 
 
 
 
 
 
 
3) Faça uma função que receba como entrada dois números e retorne o maior 
deles. Caso os números sejam iguais, retorne “Os números são iguais”. 
Computação I - aula 9 - 2014/1 
ou 
34 
Estrutura Condicional 
 
 
 
Exercícios: 
 
 
 
4) Faça uma função que receba como entrada três números e retorne o maior 
deles. Caso os números sejam iguais, retorne “Os números são iguais”. 
Computação I - aula 9 - 2014/1 
35 
Estrutura Condicional 
 
 
 
Exercícios: 
 
 
 
4) Faça uma função que receba como entrada três números e retorne o maior 
deles. Caso os números sejam iguais, retorne “Os números são iguais”. 
Computação I - aula 9 - 2014/1 
36 
Estrutura Condicional 
 
 
 
Exercícios: 
 
 
 
5) Uma faculdade atribui menções aos alunos conforme a faixa de notas que 
 tenha atingido: 
9,0 a 10: S (superior) 
7,0 a 8,9: MS (médio superior) 
5,0 a 6,9: M (médio) 
0,0 a 4,9: MI (médio inferior) . 
 
Faça uma função que dada a nota retorna a menção. 
Caso a nota não esteja entre 0 e 10, retornar mensagem de “nota inválida”. 
 
 
Computação I - aula 9 - 2014/1 
37 
Estrutura Condicional 
 
 
 
Exercícios: 
 
 
 
5) Resposta com testes desnecessários: 
 
 
Computação I - aula 9 - 2014/1 
38 
Estrutura Condicional 
 
 
 
Exercícios: 
 
 
 
5) Resposta com menos testes e if/else: 
Computação I - aula 9 - 2014/1 
39 
Estrutura Condicional 
 
 
 
Exercícios: 
 
 
 
5) Resposta com menos testes e com elif: 
Computação I - aula 9 - 2014/1 
40 
Aula 9 – Estrutura Condicional 
Computação I - aula 9 - 2014/1

Outros materiais