Buscar

03_-_Estruturas_de_controle_if_if-else_

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

Estruturas de Controle
Linguagem de Programação I - Cátia Khouri & Fábio Moura
1
Estruturas de Controle
Estrutura seqüencial
Estruturas de seleção
if
if-else
if-elif-else, pass
2/10/2009
2
Linguagem de Programação I - Estruturas de Controle
2
Algoritmo
2/10/2009
Linguagem de Programação I - Estruturas de Controle
3
Procedimento para resolver um problema em termos
das ações que devem ser executadas; e
da seqüência em que estas ações devem ser executadas
Exemplo: troca de pneu
Qual a seqüência de ações?
3
Algoritmo de troca de pneu
2/10/2009
Linguagem de Programação I - Estruturas de Controle
4
Apanhe o macaco;
Posicione o macaco sob o carro;
Folgue as porcas do pneu;
Levante o carro com o macaco;
Retire o pneu;
Coloque o estepe;
Coloque os parafusos;
Baixe o carro;
Aperte os parafusos;
Guarde o pneu retirado e o macaco.
E se o estepe estiver furado/vazio?
E se as porcas estiverem aluídas?
4
Estruturas de controle
2/10/2009
Linguagem de Programação I - Estruturas de Controle
5
Execução seqüencial
Transferência de controle
 goto
Problema – transferência de controle indiscriminada
 Programação estruturada
5
2/10/2009
Linguagem de Programação I - Estruturas de Controle
6
02/09/2008
Aula nº 03 - Estruturas de Controle
6 /24
Apanhe o macaco;
Posicione o macaco sob o carro;
Folgue as porcas do pneu;
Levante o carro com o macaco;
Retire o pneu;
Se o estepe estiver vazio goto 13;
Coloque o estepe;
Coloque os parafusos;
Baixe o carro;
Aperte os parafusos;
Guarde o pneu retirado e o macaco.
goto 15;
Leve o pneu furado ao borracheiro e retorne com o pneu cheio;
goto 7;
Fim.
6
Estruturas de controle (cont.)
2/10/2009
Linguagem de Programação I - Estruturas de Controle
7
Bohm e Jacopini – 1970 – afirmam que é possível escrever programas sem goto;
Todos os programas podem ser escritos em termos de apenas 3 estruturas:
Estrutura de seqüência
Estrutura de seleção
Estrutura de repetição
7
Fluxograma
2/10/2009
Linguagem de Programação I - Estruturas de Controle
8
Representação de algoritmos
Símbolos
Linhas de fluxo
conectores
linhas 
de fluxo
retângulos
indicam ação
Estrutura de sequência
some x a y
imprima y
print y;
8
Fluxograma (cont.)
2/10/2009
Linguagem de Programação I - Estruturas de Controle
9
some x a y
imprima y
início
fim
...
...
COMPLETO
some x a y
imprima y
UM TRECHO
9
Estruturas de controle
2/10/2009
Linguagem de Programação I - Estruturas de Controle
10
Seqüência
Estruturas de Seleção
if
if/else
if/elif/else
Estruturas de Repetição
while
for
10
Estruturas de controle
2/10/2009
Linguagem de Programação I - Estruturas de Controle
11
Os programas em Python são construídos apenas com essas estruturas de controle (blocos de construção)
Empilhamento
Aninhamento
Cada estrutura só tem uma entrada e uma saída
11
Estrutura de seleção if
2/10/2009
Linguagem de Programação I - Estruturas de Controle
12
Usada para escolher curso de ação alternativo
 Se a nota do estudante for maior que ou igual a 7, 
		 Imprima “Aprovado”
			...
			if (nota >= 7):
				print “Aprovado”;
			...
12
Estrutura de seleção if (cont.)
2/10/2009
Linguagem de Programação I - Estruturas de Controle
13
if (nota >= 7):
	 print “Aprovado”;
nota>=7
imprime “Aprovado”
true
false
Em Python
Se o valor da expressão for 0 False
Se o valor da expressão não for 0 True
13
Estrutura de seleção if (cont.)
2/10/2009
Linguagem de Programação I - Estruturas de Controle
14
nota >= 7
imprime “Aprovado”
True
False
fim
início
Entre com a
nota do aluno
14
Exemplo 03-01
2/10/2009
Linguagem de Programação I - Estruturas de Controle
15
1:	# Exemplo 03-01: aprovado???
2:	nota = raw_input('Digite a nota do aluno: ')
3:	if int(nota) >= 7:
4:	 print "Aprovado!"
15
Estrutura if/else
2/10/2009
Linguagem de Programação I - Estruturas de Controle
16
Permite indicar uma ação para executar se a condição é True e outra ação se condição é False
Se a nota do estudante for maior que ou igual a 7
	Imprima “Aprovado”
senão
	Imprima “Reprovado”
if int(nota) >= 7:
 print "Aprovado!"
else:
 print "Reprovado!"
16
Estrutura if/else (cont.)
2/10/2009
Linguagem de Programação I - Estruturas de Controle
17
if int(nota) >= 7:
 print "Aprovado!"
else:
 print "Reprovado!"
nota >= 7.0
False
imprime 
“Reprovado”
imprime 
“Aprovado”
True
17
ifs aninhados
2/10/2009
Linguagem de Programação I - Estruturas de Controle
18
Se a nota for maior ou igual a 90
	 imprima “A”
senão
	 Se a nota for maior ou igual a 80
	 imprima “B”
	 senão
	 Se a nota for maior ou igual a 70
		 imprima “C”
	 senão
		 Se a nota for maior ou igual a 60
			imprima “D”
		 senão
			imprima “R”
18
ifs aninhados
2/10/2009
Linguagem de Programação I - Estruturas de Controle
19
if int(nota) >= 90:
 print "A"
elif int(nota) >= 80:
 print "B"
elif int(nota) >= 70:
 print "C"
elif int(nota) >= 60:
 print "D"
else:
 print "R"
Se a nota for maior ou igual a 90
 imprima “A”
Senão
 Se a nota for maior ou igual a 80
 imprima “B”
 senão
 Se a nota for maior ou igual a 70
 imprima “C”
 senão
 Se a nota for maior ou igual a 60
 imprima “D”
 senão
 imprima “R”
19
Comandos compostos
2/10/2009
Linguagem de Programação I - Estruturas de Controle
20
nota = raw_input('Digite a nota do aluno: ')
if int(nota) >= 60:
 print "Aprovado!"
 print "Boa sorte no proximo curso."
else:
 print "Reprovado!"
 print "Repita este curso."
20
Exercícios em trio
2/10/2009
Linguagem de Programação I - Estruturas de Controle
21
Desenvolva programas em Python para:
Ler dois números inteiros, x e y, e imprimir o quociente e o resto da divisão inteira entre eles
Ler dois números inteiros correspondentes ao numerador e denominador, respectivamente, de uma fração e imprima se a fração é própria ou imprópria
Ler dois números inteiros correspondentes ao numerador e denominador, respectivamente, de uma fração e imprima:
Se a fração é aparente, (numerador múltiplo do denominador)
Se a fração é própria (numerador < denominador)
Se a fração é imprópria (numerador > denominador)
21

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Continue navegando