Buscar

Fundamentos de Programação - Aula 6 (Teórica)

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 49 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 49 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 49 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

FUNDAMENTOS DE 
PROGRAMAÇÃO I
AULA 6: TEÓRICA
Estruturas Condicionais
Prof. Janderson
Universidade Federal de Lavras
Departamento de Ciência da Computação
Revisando
• O que são tipos de dados? Elucide alguns exemplos 
de tipos básicos na linguagem Python?
• O que é um identificador de variável? Quais são as 
regras para se criar um identificador?
• O que representa a operação de atribuição?
Operadores
• Correspondem a símbolos simples ou combinados que 
representam operações de natureza: aritmética, 
relacional ou lógica.
– Aritméticos: representam as operações aritméticas 
básicas.
– Relacionais: estabelecem relações/comparações.
– Lógicos: representam as operações básicas dadas na 
lógica matemática.
Operadores Relacionais
● Em Python, os principais operadores relacionais são:
– Igualdade: ==
– Diferença: !=
– Maior: >
– Maior ou igual: >=
– Menor: <
– Menor ou igual: <=
Operadores Lógicos
● Em Python, os principais operadores lógicos são:
– Negação: not
– Conjunção: and
– Disjunção: or
Expressões
• Expressões são compostas por:
– Operandos: a, b, x, 2, “z”, True...
– Operadores: +, -, %, !=, <, or...
– Pontuação: ( )
– Funções: sin(), cos(), sqrt(), ...
• Exemplos de expressões:
• 4
• x
• (x + y) * z + w – v
• (-b + sqrt(delta))/2*a
• x1 > x2
• dia == 25 and mes == “Dezembro”
Expressões Lógicas
• Antes de prosseguirmos, vamos fazer uma breve 
revisão sobre expressões envolvendo os três principais 
operadores lógicos.
• Álgebra booleana: álgebra onde há apenas dois 
valores válidos: false (F) e verdadeiro (V).
• Operações:
– Conjunção: and
– Disjunção: or
– Negação: not
Expressões Lógicas
• Tabela Verdade: Conjunção
X Y X and Y
F F F
F V F
V F F
V V V
Expressões Lógicas
• Tabela Verdade: Disjunção
X Y X or Y
F F F
F V V
V F V
V V V
Expressões Lógicas
• Tabela Verdade: Negação
X not X
F V
V F
Estruturas Condicionais
• Classificadas em três tipos:
– Comando condicional simples
– Comando condicional composto
– Seleção entre duas ou mais sequências de comandos
Comando Condicional 
Simples
• Permite a escolha do grupo de ações a ser executado 
quando determinada condição é satisfeita.
Comando Condicional 
Composto
• Permite a escolha entre dois grupos de ações a serem 
executados, dependendo se uma determinada 
condição é satisfeita ou não.
Comando if
• Comando da estrutura condicional em Python: if
• Todo comando if requer uma condição.
– Verdadeira ou falsa.
– Caso a condição seja verdadeira, o comando if executa 
um conjunto de instruções.
• Quando existe um outro conjunto de instruções a ser 
executado quando o valor da condição é falso, utiliza-
se o comando if-else.
Comando if
• Um conjunto de instruções dentro do comando if 
começa com o símbolo dois pontos (:).
• Todas as instruções dentro de um comando if devem 
possuir um deslocamento do texto à direita (recuo) em 
relação ao if ao qual pertencem.
• Qualquer instrução pode fazer parte de um conjunto 
de instruções, inclusive um comando if ou um 
comando if-else.
Comando if
• Sintaxe em Python:
if <expressão>:
 <conjunto de instruções>
#restante do código
• Exemplo:
num = 10
if num == 10:
print("num e igual a 10")
Exemplo Completo
num = int(input("Digite um numero: "))
if num > 10:
 print("O numero e maior do que 10")
if num == 10:
 print("O numero e igual a 10")
if num < 10:
 print("O numero e menor do que 10")
Comando if-else
• Sintaxe em Python:
if <expressão>:
 <conjunto de instruções 1>
else:
 <conjunto de instruções 2>
#restante do código
• Podemos pensar no comando else como sendo um 
complemento do comando if.
Exemplo completo
num = int(input("Digite um numero: "))
if num == 10:
 print("O numero e igual a 10")
else:
 print("O numero e diferente de 10")
Aninhamento de if
• É possível aninhar construções do tipo if-else em 
diversos níveis:
– O if aninhado é simplesmente um if dentro da 
declaração de um outro if mais externo.
– O único cuidado que devemos ter é o de saber 
exatamente a qual if um determinado else está ligado.
– Um else está ligado a um if que se encontra em seu 
mesmo alinhamento textual.
Exemplo completo
num = int(input("Digite um numero: "))
if num == 10:
 print("O numero e igual a 10")
else:
 if num > 10:
 print("O numero e maior do que 10")
 else:
 print("O numero e menor do que 10")
Encadeamento if-elif-else
Encadeamento if-elif-else
• Sintaxe em Python:
if <expressão1>:
 <conjunto de instruções 1>
elif <expressão2>:
 <conjunto de instruções 2>
elif <expressão3>:
 <conjunto de instruções 3>
else:
 <conjunto de instruções n>
#restante do código
Encadeamento if-elif-else
• No encadeamento if-elif-else apenas um dos n 
conjuntos de comandos será executado.
– O primeiro cujo teste for verdadeiro.
Exemplo completo
num = int(input("Digite um numero: "))
if num == 10:
 print("O numero e igual a 10")
elif num > 10:
 print("O numero e maior do que 10")
else:
 print("O numero e menor do que 10")
• Exemplo: escrever o nome de um dígito.
‘0’”zero”, ‘1’”um”, ‘2’”dois”, etc.
digito = input("Digite um numero [0,9]: ")
if digito == "0": print("zero")
elif digito == "1": print("um")
elif digito == "2": print("dois")
elif digito == "3": print("tres")
elif digito == "4": print("quatro")
elif digito == "5": print("cinco")
elif digito == "6": print("seis")
elif digito == "7": print("sete")
elif digito == "8": print("oito")
elif digito == "9": print("nove")
else: print("Nao e digito")
Exercício Resolvido
Escreva um programa que leia a distância em Km e a 
quantidade de litros de gasolina consumidos por um 
carro em um percurso qualquer. Calcule o consumo 
em Km/l e escreva uma mensagem de acordo com a 
relação abaixo:
Consumo (Km/l) Mensagem
Menor do que 8 Venda o carro!
Entre 8 e 14 Economico!
Maior que 14 Super economico!
Exercício Resolvido
#Programa que calcula o consumo de um automovel
distancia = float(input("Qual a distancia percorrida (Km)? "))
litros = float(input("Qual a quantidade de combustivel consumida (l)? "))
consumo = distancia / litros
if consumo < 8:
print("Venda o carro!")
elif (consumo >= 8) and (consumo <= 14):
print("Economico!")
else:
print("Super economico!")
Exercício Resolvido
#Programa que calcula o consumo de um automovel
distancia = float(input("Qual a distancia percorrida (Km)? "))
litros = float(input("Qual a quantidade de combustivel consumida (l)? "))
consumo = distancia / litros
if consumo < 8:
print("Venda o carro!")
elif 8 <= consumo <= 14:
print("Economico!")
else:
print("Super economico!")
Assim também funciona
MAS CUIDADO!!!!!
Aprenda a usar os operadores lógicos
Exercício Resolvido 2
Considere o programa a seguir que lê a categoria de 
um produto e determina o preço do mesmo pela 
tabela abaixo:
Categoria Preço (R$)
1 10,00
2 18,00
3 23,00
4 26,00
1 categoria = int(input("Digite a categoria do produto: "))
2 if categoria == 1:
3 preco = 10
4 else:
5 if categoria == 2:
6 preco = 18
7 else:
8 if categoria == 3:
9 preco = 23
10 else:
11 if categoria == 4:
12 preco = 26
13 else:
14 print("Categoria invalida!")
15 preco = 0
16 print("O preco do produto e: R$%.2f" %preco)
Exercício Resolvido 2
Exercício Resolvido 2
Quais seriam as linhas executadas do programa dado, 
considerando que a categoria digitada fosse:
Categoria Linhas executadas
1 ????
2 ????
3 ????
4 ????
outras ????
Exercício Resolvido 2
Quais seriam as linhasexecutadas do programa dado, 
considerando que a categoria digitada fosse:
Categoria Linhas executadas
1 1,2,3,16
2 1,2,4,5,6,16
3 1,2,4,5,7,8,9,16
4 1,2,4,5,7,8,10,11,12,16
outras 1,2,4,5,7,8,10,11,13,14,15,16
Atribuição Múltipla de Variáveis
● Até agora, vimos como obter do usuário um dado por 
linha do dispositivo de entrada padrão.
● Mas e se os dados fossem fornecidos em uma 
mesma linha?
● Função split(): obtém cada palavra separada (por 
espaços ou tabulações). Forma geral:
input(“...”).split()
Atribuição Múltipla de Variáveis
● Problema: descobrir se dois nomes fornecidos pelo 
usuário são iguais.
nome1, nome2 = input("Digite 2 nomes: ").split()
iguais = nome1 == nome2
if iguais:
print("Os 2 nomes sao iguais.")
else:
print("Os 2 nomes sao diferentes.")
Atribuição Múltipla de Variáveis
● Problema: descobrir se dois nomes fornecidos pelo 
usuário são iguais.
Atribuição Múltipla de Variáveis
● Problema: descobrir se dois nomes fornecidos pelo 
usuário são iguais.
nome1, nome2 = input("Digite 2 nomes: ").split()
iguais = nome1 == nome2
if iguais:
print("Os 2 nomes sao iguais.")
else:
print("Os 2 nomes sao diferentes.")
Atribuição múltipla
Atribuição Múltipla de Variáveis
● Problema: descobrir se dois nomes fornecidos pelo 
usuário são iguais.
nome1, nome2 = input("Digite 2 nomes: ").split()
iguais = nome1 == nome2
if iguais:
print("Os 2 nomes sao iguais.")
else:
print("Os 2 nomes sao diferentes.")
Variável booleana
Atribuição Múltipla de Variáveis
● Problema: descobrir se dois nomes fornecidos pelo 
usuário são iguais.
nome1, nome2 = input("Digite 2 nomes: ").split()
iguais = nome1 == nome2
if iguais:
print("Os 2 nomes sao iguais.")
else:
print("Os 2 nomes sao diferentes.")
Teste condicional com variável booleana
Atribuição Múltipla de Variáveis
● Com conversão de tipos
● Função map(): utilizada para converter as strings de 
entrada em seus tipos apropriados.
● Dois parâmetros de entrada.
● 1o: tipo do dado para o qual será feita a conversão.
● 2o: dados a serem convertidos.
Atribuição Múltipla de Variáveis
● Problema: calcular a média de dois números reais.
numero1, numero2 = map(float, input("Digite 2 numeros: ").split())
print("A media e: ", (numero1+numero2)/2)
Exercício Resolvido 3
Um terrível assassinato aconteceu na última noite, faça um 
programa para ajudar os investigadores a encontrar o culpado. 
Seu programa deve ler do dispositivo de entrada padrão o 
nome de 3 suspeitos e as respostas para cinco perguntas que 
um determinado detetive constatou em sua investigação. As 
respostas para as perguntas são apenas as palavras sim ou 
nao. Cada dado de entrada será fornecido em uma linha 
diferente.
O programa deve, ao final, exibir no dispositivo de saída 
padrão o nome do culpado pelo assassinato, segundo a regra 
a seguir: se o detetive respondeu positivamente (sim) a 
apenas duas questões, o culpado é o primeiro suspeito; entre 
3 e 4 respostas positivas, o culpado é o segundo suspeito; se 
foram 5 respostas positivas, o culpado é o terceiro suspeito; 
caso contrário, seu programa deverá exibir o nome de todos 
os suspeitos (na ordem em que foram fornecidos).
Exercício Resolvido 3
As perguntas são:
1) A vítima recebeu uma ligação a exatamente uma 
semana atrás dizendo “7 dias”?
2) A vítima possui cortes e queimaduras severas 
causadas por um sabre de luz?
3) A causa da morte da vítima foi uma severa crise de 
risos?
4) A vítima faleceu durante uma cerimônia de 
casamento realizada em um castelo medieval?
5) Partes do corpo da vítima foram encontradas dentro 
de uma frigideira?
Exercício Resolvido 3
suspeito1, suspeito2, suspeito3 = input().split()
contador_sim = 0
resposta = input()#resposta 1a. pergunta
if resposta == "sim":
contador_sim += 1
resposta = input()#resposta 2a. pergunta
if resposta == "sim":
contador_sim += 1
resposta = input()#resposta 3a. pergunta
if resposta == "sim":
contador_sim += 1
resposta = input()#resposta 4a. pergunta
if resposta == "sim":
contador_sim += 1
resposta = input()#resposta 5a. pergunta
if resposta == "sim":
contador_sim += 1
1/2
Exercício Resolvido 3
if contador_sim == 2:
print(suspeito1)
elif 3 <= contador_sim <= 4:
print(suspeito2)
elif contador_sim == 5:
print(suspeito3)
else:
print(suspeito1,suspeito2,suspeito3)
2/2
Exercícios
1. Faça um programa que leia os valores X e Y (números 
reais, um em cada linha) que representam as 
coordenadas de um ponto em um plano cartesiano. Em 
seguida faça um dos cálculos abaixo, dependendo de 
qual quadrante o ponto se encontra (conforme 
diagrama abaixo).
 
 Q2 Q1
 Q3 Q4
 
Exercícios
● Primeiro quadrante: calcule o quociente da divisão 
de X por Y.
● Segundo quadrante: calcule o produto de X por Y.
● Terceiro quadrante: calcule a soma de X e Y.
● Quarto quadrante: calcule o valor de X elevado a Y.
Obs: considere que o ponto nunca estará sobre os 
eixos do plano cartesiano.
Exercícios
2. Pedro Álvares Cabral precisa organizar as caravelas para 
carregarem os cavalos, as vacas e as galinhas necessárias 
para a viagem para as Índias. A caravela possui um limite de 
carga e você deverá calcular a quantidade máxima de cada 
tipo de animal que a caravela poderá carregar. Lembre-se 
que Cabral possui uma quantidade limitada de cada tipo de 
animal, além disso, ele também informou qual o tipo de 
animal que é prioritário e que tipo de informação ele precisa 
para poder finalizar sua tarefa. A tabela abaixo apresenta o 
peso de cada tipo de animal:
Tipo Peso
Cavalo 250
Vaca 150
Galinha 2
Exercícios
● Informações extras:
● O objetivo é colocar o mínimo de animais, dessa forma os 
animais de grande porte tem prioridade.
● Ao final do processo é necessário ter como informação a 
quantidade de cada animal que pode ser incluído na 
caravela.
● Entradas: limite de carga (inteiro); quantidade de cavalos 
disponíveis (inteiro); quantidade de vacas disponíveis 
(inteiro); quantidade de galinhas disponíveis (inteiro).
● Saída: quantidade de animais que podem ser incluídos em 
uma caravela na seguinte ordem: cavalos, vacas e galinhas.
	Slide 1
	Slide 2
	Operadores
	Operadores Relacionais
	Operadores Lógicos
	Expressões
	Slide 7
	Slide 8
	Slide 9
	Slide 10
	Estruturas Condicionais
	Comando Condicional Simples
	Comando Condicional Composto
	Comando if
	Comando if
	Comando if
	Exemplo completo
	Comando if-else
	Exemplo completo
	Aninhamento de if
	Exemplo completo
	Encadeamento if-else-if
	Encadeamento if-else-if
	Encadeamento if-else-if
	Exemplo completo
	Encadeamento if-else-if
	Exercícios
	Slide 28
	Slide 29
	Slide 30
	Slide 31
	Slide 32
	Slide 33
	Slide 34
	Slide 35
	Slide 36
	Slide 37
	Slide 38
	Slide 39
	Slide 40
	Slide 41
	Slide 42
	Slide 43
	Slide 44
	Slide 45
	Exercícios (Entregar na próxima aula)
	Slide 47
	Slide 48
	Slide 49

Outros materiais