Baixe o app para aproveitar ainda mais
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
Compartilhar