SlideShare une entreprise Scribd logo
1  sur  4
Télécharger pour lire hors ligne
Python:
whilewhile
Rodrigo de Toledo
(original: Claudio Esperança)
Primeiros passos em programação
• Até agora só vimos:
– Expressões, que são escritas e computadas
imediatamente
– Variáveis, que podem ser usadas para valores
temporáriostemporários
– Input, para ler informações entradas pelos usuários
– Print, para informar ao usuário a saída
– If, comando condicional para tomada de decisão
• O que veremos agora:
– Comandos de repetição (ou loop)
Primeiros passos em programação
>>> # Série de Fibonacci
... a,b = 0,1
>>> while b < 10:
... print b
... a,b = b,a+b
Comentário
Atribuição dupla
Comando de repetição
Expressão booleana
... a,b = b,a+b
...
1
1
2
3
5
8
Bloco do
comando de repetição
Expressão booleana
Resultado
Indentação
Sobre a série de Fibonacci
• Fibonacci, matemático do século XII
• Fórmula
• Série
– 1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597, ...
• Tendem à razão áurea
– 1.618033989...– 1.618033989...
– Razão da beleza
• Na natureza:
– Espiral: conchas, bromélias, orelha...
– Flores: girassol...
– Crescimento populacional dos coelhos
• Várias propriedades matemáticas
• Muito usado em aprendizado de linguagens de programação
while
• Repete uma seqüência de comandos enquanto uma dada expressão
booleana é avaliada como verdadeira
• Formato:
whilewhilewhilewhile expressão:
comando
...
comandocomando
• Exemplo:
>>> i = 10
>>> while i>8:
... print i,
... i = i-1
...
10 9
Programas armazenados
• À medida que os programas vão se tornando mais complicados, é
mais interessante guardá-los em arquivos e executá-los quando
necessário
• Arquivo fibo.py (use um editor de textos como o do IDLE):
# Série de Fibonacci:
a, b = 0, 1a, b = 0, 1
while b < 10:
print b
a, b = b, a+b
Formas de Executar
um Programa
• 4 opções:
– Digite python fibo.py no seu shell (ex: janela DOS), ou
– Clique no ícone do arquivo, ou
– De dentro do editor IDLE, selecione Run Module (F5), ou– De dentro do editor IDLE, selecione Run Module (F5), ou
– De dentro do interpretador python:
>>> execfile ("fibo.py")
Entre com um numero 5
1 1 2 3
>>>
Observações
• Existe um outro comando de repetição:
– FOR
– (o comando FOR será visto posteriormente)
• Em geral usa-se a variável i (abreviação de integer)
para contagem sequencial de inteirospara contagem sequencial de inteiros
• É possível haver loop dentro de loop
– Nesse caso recomenda-se usar variáveis diferentes para o controle do
loop (ex: i, j, k ...), para que não haja interferência
• Atenção para não criar um loop infinito
– Para interromper: ctrl+c
– Exemplo no próximo slide
Laços Infinitos
• Como em todo comando de repetição, é
importante evitar os chamados “laços
infinitos” ou “loop infinitos”
• Ex.:• Ex.:
>>> i = 10
>>> while i>8:
... print i,
... i = i+1
...
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
30 31 32 33 ...
Vamos fazer juntos...
1. Faça um programa que repita na tela 40 vezes a
frase “Aprender Python eh muito facil!”
2. Faça um programa que leia quantas vezes a frase
“Aprender Python eh muito facil!” deverá ser
repetida, imprima também o número da linha.repetida, imprima também o número da linha.
3. Faça um programa que leia 40 números
somando-os e ao final diga o total
4. Faça um programa que inicialmente pergunte
quantos números serão entrados e então calcule
o seu somatório e a média.
Exercícios (loop)
1. Faça um programa que leia um numero entre 1 e
10 e imprima a sua tabuada de 1 a 10.
2. Faça um programa que leia um número
informando a quantidade de números que serão
entrados em sequência posteriormente, entãoentrados em sequência posteriormente, então
leia os números e, ao final, imprima a média
deles
3. Faça um programa que leia uma seqüência de 10
números e, ao final, imprima o maior deles.
4. Faça um programa que imprima todas as
tabuadas de 1 a 10.
Exercícios (while)
1. Faça um programa que leia uma série de números inteiros e imprima a sua
média, o programa termina com a entrada do número 0.
2. Faça um programa que leia uma série de números positivos e diga ao final
qual é o maior (termina com um número negativo).
3. Altere o programa anterior para imprimir também qual é o segundo maior.
4. Faça um programa que leia 2 números da entrada e imprima o resto da
divisão inteira do primeiro pelo segundo usando subtrações sucessivas (ou
seja, não use comando de resto: %).
5. Altere o programa anterior para que imprima também o resultado da
divisão (não use comando de divisão: /).divisão (não use comando de divisão: /).
6. Faça um programa que calcule e imprima o CR do período para os alunos
da UFRJ (matrícula inferior ou igual a zero termina a entrada). Para cada
aluno, o programa deverá ler:
número da matrícula;
quantidade de disciplinas cursadas;
Para cada disciplina cursada:
nota da disciplina.
créditos da disciplina
Obs1: O CR é calculado segundo a média ponderada das notas.
Obs2: O programa termina com a entrada de uma matrícula negativa.
Exercício: números primos
• Fazer um programa que decida se um número
positivo dado é primo ou não
– Entrada: número inteiro positivo
– Saída: diagnóstico de primalidade do número– Saída: diagnóstico de primalidade do número
• Exemplos de execução:
– Entre com um número inteiro positivo: 169
169 é múltiplo de 13
– Entre com um número inteiro positivo: 983
983 é primo
Exercício: números primos
• Um número natural é primo se é divisível apenas
por si mesmo e pela unidade (excetuando-se o 1)
• Isto sugere o seguinte algoritmo:
– Se o número é 1, então não é primo
– Se o número é 2, então é primo– Se o número é 2, então é primo
– Caso contrário,
• Seja d um possível divisor, cujo valor é inicialmente 2
• Repetir
– Se o resto da divisão do número por d é zero, então o número
não é primo
– Caso contrário, incrementar d
– Se d é igual ou maior que o número, então terminar repetição
diagnosticando o número como primo

Contenu connexe

Tendances

Dicas para maratonas de programação
Dicas para maratonas de programaçãoDicas para maratonas de programação
Dicas para maratonas de programaçãoAnderson Araújo
 
Lógica de Programação - Unimep/Pronatec - Aula10
Lógica de Programação - Unimep/Pronatec - Aula10Lógica de Programação - Unimep/Pronatec - Aula10
Lógica de Programação - Unimep/Pronatec - Aula10André Phillip Bertoletti
 
Lógica de Programação - Unimep/Pronatec - Aula06
Lógica de Programação - Unimep/Pronatec - Aula06Lógica de Programação - Unimep/Pronatec - Aula06
Lógica de Programação - Unimep/Pronatec - Aula06André Phillip Bertoletti
 
Algoritmos - Comandos de Repetição
Algoritmos - Comandos de RepetiçãoAlgoritmos - Comandos de Repetição
Algoritmos - Comandos de RepetiçãoElaine Cecília Gatto
 
T02_LM3: Introdução à algoritmia (2013-2014)
T02_LM3: Introdução à algoritmia (2013-2014)T02_LM3: Introdução à algoritmia (2013-2014)
T02_LM3: Introdução à algoritmia (2013-2014)Carlos Santos
 
Logica Algoritmo 05 Repeticao
Logica Algoritmo 05 RepeticaoLogica Algoritmo 05 Repeticao
Logica Algoritmo 05 RepeticaoRegis Magalhães
 
Introdução à programação
Introdução à programaçãoIntrodução à programação
Introdução à programação12anogolega
 
Comandos de pascal e estrutura de repetição (para...fazer)
Comandos de pascal e estrutura de repetição (para...fazer)Comandos de pascal e estrutura de repetição (para...fazer)
Comandos de pascal e estrutura de repetição (para...fazer)111111119
 
Lógica de programação em ppt
Lógica de programação em pptLógica de programação em ppt
Lógica de programação em pptAndrei Bastos
 
Aula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e ProgramaçãoAula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e ProgramaçãoAislan Rafael
 
Aula 04 estruturas de repetição
Aula 04   estruturas de repetiçãoAula 04   estruturas de repetição
Aula 04 estruturas de repetiçãoTácito Graça
 
ICC - Aula 04 - Expressões literais, comando de atribuição e de entrada/saída
ICC - Aula 04 - Expressões literais, comando de atribuição e de entrada/saídaICC - Aula 04 - Expressões literais, comando de atribuição e de entrada/saída
ICC - Aula 04 - Expressões literais, comando de atribuição e de entrada/saídaFelipe J. R. Vieira
 
Lógica de programação pascal
Lógica de programação   pascalLógica de programação   pascal
Lógica de programação pascalJocelma Rios
 
Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)Gercélia Ramos
 
Lógica de Programação - Estrutura de repetição
Lógica de Programação - Estrutura de repetiçãoLógica de Programação - Estrutura de repetição
Lógica de Programação - Estrutura de repetiçãoWesley R. Bezerra
 
Lógica de Programação e Algoritmos
Lógica de Programação e AlgoritmosLógica de Programação e Algoritmos
Lógica de Programação e AlgoritmosMario Jorge Pereira
 
Algoritmos e Programação: Estruturas de repetição
Algoritmos e Programação: Estruturas de repetiçãoAlgoritmos e Programação: Estruturas de repetição
Algoritmos e Programação: Estruturas de repetiçãoAlex Camargo
 

Tendances (20)

Dicas para maratonas de programação
Dicas para maratonas de programaçãoDicas para maratonas de programação
Dicas para maratonas de programação
 
Lógica de Programação - Unimep/Pronatec - Aula10
Lógica de Programação - Unimep/Pronatec - Aula10Lógica de Programação - Unimep/Pronatec - Aula10
Lógica de Programação - Unimep/Pronatec - Aula10
 
Python + algoritmo
Python + algoritmoPython + algoritmo
Python + algoritmo
 
Aula python
Aula pythonAula python
Aula python
 
Lógica de Programação - Unimep/Pronatec - Aula06
Lógica de Programação - Unimep/Pronatec - Aula06Lógica de Programação - Unimep/Pronatec - Aula06
Lógica de Programação - Unimep/Pronatec - Aula06
 
Algoritmos - Comandos de Repetição
Algoritmos - Comandos de RepetiçãoAlgoritmos - Comandos de Repetição
Algoritmos - Comandos de Repetição
 
T02_LM3: Introdução à algoritmia (2013-2014)
T02_LM3: Introdução à algoritmia (2013-2014)T02_LM3: Introdução à algoritmia (2013-2014)
T02_LM3: Introdução à algoritmia (2013-2014)
 
Logica Algoritmo 05 Repeticao
Logica Algoritmo 05 RepeticaoLogica Algoritmo 05 Repeticao
Logica Algoritmo 05 Repeticao
 
Introdução à programação
Introdução à programaçãoIntrodução à programação
Introdução à programação
 
Algoritmos - Aula 13 A - Lacos em C
Algoritmos - Aula 13 A - Lacos em CAlgoritmos - Aula 13 A - Lacos em C
Algoritmos - Aula 13 A - Lacos em C
 
Comandos de pascal e estrutura de repetição (para...fazer)
Comandos de pascal e estrutura de repetição (para...fazer)Comandos de pascal e estrutura de repetição (para...fazer)
Comandos de pascal e estrutura de repetição (para...fazer)
 
Lógica de programação em ppt
Lógica de programação em pptLógica de programação em ppt
Lógica de programação em ppt
 
Aula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e ProgramaçãoAula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e Programação
 
Aula 04 estruturas de repetição
Aula 04   estruturas de repetiçãoAula 04   estruturas de repetição
Aula 04 estruturas de repetição
 
ICC - Aula 04 - Expressões literais, comando de atribuição e de entrada/saída
ICC - Aula 04 - Expressões literais, comando de atribuição e de entrada/saídaICC - Aula 04 - Expressões literais, comando de atribuição e de entrada/saída
ICC - Aula 04 - Expressões literais, comando de atribuição e de entrada/saída
 
Lógica de programação pascal
Lógica de programação   pascalLógica de programação   pascal
Lógica de programação pascal
 
Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)
 
Lógica de Programação - Estrutura de repetição
Lógica de Programação - Estrutura de repetiçãoLógica de Programação - Estrutura de repetição
Lógica de Programação - Estrutura de repetição
 
Lógica de Programação e Algoritmos
Lógica de Programação e AlgoritmosLógica de Programação e Algoritmos
Lógica de Programação e Algoritmos
 
Algoritmos e Programação: Estruturas de repetição
Algoritmos e Programação: Estruturas de repetiçãoAlgoritmos e Programação: Estruturas de repetição
Algoritmos e Programação: Estruturas de repetição
 

En vedette

004 programando em python - listas
004   programando em python - listas004   programando em python - listas
004 programando em python - listasLeandro Barbosa
 
006 programando em python - dicionarios
006   programando em python - dicionarios006   programando em python - dicionarios
006 programando em python - dicionariosLeandro Barbosa
 
005 programando em python - tuplas e strings
005   programando em python - tuplas e strings005   programando em python - tuplas e strings
005 programando em python - tuplas e stringsLeandro Barbosa
 
013 programando em python - arquivos
013   programando em python - arquivos013   programando em python - arquivos
013 programando em python - arquivosLeandro Barbosa
 
007 programando em python - funcoes
007   programando em python - funcoes007   programando em python - funcoes
007 programando em python - funcoesLeandro Barbosa
 
Ideias para programar
Ideias para programarIdeias para programar
Ideias para programarrobinhoct
 

En vedette (8)

004 programando em python - listas
004   programando em python - listas004   programando em python - listas
004 programando em python - listas
 
05 listas
05 listas05 listas
05 listas
 
006 programando em python - dicionarios
006   programando em python - dicionarios006   programando em python - dicionarios
006 programando em python - dicionarios
 
005 programando em python - tuplas e strings
005   programando em python - tuplas e strings005   programando em python - tuplas e strings
005 programando em python - tuplas e strings
 
013 programando em python - arquivos
013   programando em python - arquivos013   programando em python - arquivos
013 programando em python - arquivos
 
007 programando em python - funcoes
007   programando em python - funcoes007   programando em python - funcoes
007 programando em python - funcoes
 
Ideias para programar
Ideias para programarIdeias para programar
Ideias para programar
 
Aula02
Aula02Aula02
Aula02
 

Similaire à 02 while

03 programando em python - comandos basicos
 03   programando em python - comandos basicos 03   programando em python - comandos basicos
03 programando em python - comandos basicosVictor Marcelino
 
Introducao a Lógica de Programação
Introducao a Lógica de ProgramaçãoIntroducao a Lógica de Programação
Introducao a Lógica de ProgramaçãoMarcelo Rodrigues
 
Curso de python capítulo 1 - introdução
Curso de python   capítulo 1 - introduçãoCurso de python   capítulo 1 - introdução
Curso de python capítulo 1 - introduçãoRicardo Fahham
 
Curso De Algoritmo Aula 9
Curso De Algoritmo   Aula 9Curso De Algoritmo   Aula 9
Curso De Algoritmo Aula 9Felipe Santos
 
Aula 03 - Condicionais e Loops em Python.pptx
Aula 03 - Condicionais e Loops em Python.pptxAula 03 - Condicionais e Loops em Python.pptx
Aula 03 - Condicionais e Loops em Python.pptxCristiano Marçal Toniolo
 
Lógica de Programação
Lógica de ProgramaçãoLógica de Programação
Lógica de ProgramaçãoAdao Chiavelli
 
8a. aula -_estrutura_de_controle_de_repeticao_-_while_java
8a. aula -_estrutura_de_controle_de_repeticao_-_while_java8a. aula -_estrutura_de_controle_de_repeticao_-_while_java
8a. aula -_estrutura_de_controle_de_repeticao_-_while_javaMirlem Pereira
 
Conceito de funçao e modularizaçao
Conceito de funçao e modularizaçaoConceito de funçao e modularizaçao
Conceito de funçao e modularizaçaossuserc6132d
 
Trabalho de Paradigmas Da Linguagem De Programação - Python
Trabalho de Paradigmas Da Linguagem De Programação - PythonTrabalho de Paradigmas Da Linguagem De Programação - Python
Trabalho de Paradigmas Da Linguagem De Programação - PythonJanderson Campêlo
 
Aula 01 - Introducao a C (3).pptx
Aula 01 - Introducao a C (3).pptxAula 01 - Introducao a C (3).pptx
Aula 01 - Introducao a C (3).pptxAbdulSacur2
 

Similaire à 02 while (20)

01 variaveis io if
01 variaveis io if01 variaveis io if
01 variaveis io if
 
LP1 P01 - Python.pdf
LP1 P01 - Python.pdfLP1 P01 - Python.pdf
LP1 P01 - Python.pdf
 
Algoritmos - Aula 07 A - Lacos
Algoritmos - Aula 07 A - LacosAlgoritmos - Aula 07 A - Lacos
Algoritmos - Aula 07 A - Lacos
 
Algoritmos - Pascal
Algoritmos - PascalAlgoritmos - Pascal
Algoritmos - Pascal
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Hardware
HardwareHardware
Hardware
 
03 programando em python - comandos basicos
 03   programando em python - comandos basicos 03   programando em python - comandos basicos
03 programando em python - comandos basicos
 
Módulo 2 pascal
Módulo 2  pascalMódulo 2  pascal
Módulo 2 pascal
 
Introducao a Lógica de Programação
Introducao a Lógica de ProgramaçãoIntroducao a Lógica de Programação
Introducao a Lógica de Programação
 
Python for zombies (very basic level)
Python for zombies (very basic level)Python for zombies (very basic level)
Python for zombies (very basic level)
 
Algop - aula 06
Algop - aula 06Algop - aula 06
Algop - aula 06
 
Curso de python capítulo 1 - introdução
Curso de python   capítulo 1 - introduçãoCurso de python   capítulo 1 - introdução
Curso de python capítulo 1 - introdução
 
Curso De Algoritmo Aula 9
Curso De Algoritmo   Aula 9Curso De Algoritmo   Aula 9
Curso De Algoritmo Aula 9
 
Aula 03 - Condicionais e Loops em Python.pptx
Aula 03 - Condicionais e Loops em Python.pptxAula 03 - Condicionais e Loops em Python.pptx
Aula 03 - Condicionais e Loops em Python.pptx
 
Lógica de Programação
Lógica de ProgramaçãoLógica de Programação
Lógica de Programação
 
8a. aula -_estrutura_de_controle_de_repeticao_-_while_java
8a. aula -_estrutura_de_controle_de_repeticao_-_while_java8a. aula -_estrutura_de_controle_de_repeticao_-_while_java
8a. aula -_estrutura_de_controle_de_repeticao_-_while_java
 
Conceito de funçao e modularizaçao
Conceito de funçao e modularizaçaoConceito de funçao e modularizaçao
Conceito de funçao e modularizaçao
 
Trabalho de Paradigmas Da Linguagem De Programação - Python
Trabalho de Paradigmas Da Linguagem De Programação - PythonTrabalho de Paradigmas Da Linguagem De Programação - Python
Trabalho de Paradigmas Da Linguagem De Programação - Python
 
Aula 01 - Introducao a C (3).pptx
Aula 01 - Introducao a C (3).pptxAula 01 - Introducao a C (3).pptx
Aula 01 - Introducao a C (3).pptx
 
Laços de Repetição
Laços de RepetiçãoLaços de Repetição
Laços de Repetição
 

Plus de Leandro Barbosa

Plus de Leandro Barbosa (6)

011 programando em python - conjuntos
011   programando em python - conjuntos011   programando em python - conjuntos
011 programando em python - conjuntos
 
05 biomassa
05 biomassa05 biomassa
05 biomassa
 
python
pythonpython
python
 
python.tipos
python.tipospython.tipos
python.tipos
 
Estrutura cristalina
Estrutura cristalinaEstrutura cristalina
Estrutura cristalina
 
Lista de integração
Lista de integraçãoLista de integração
Lista de integração
 

Dernier

aula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptaula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptssuser2b53fe
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...azulassessoria9
 
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...HELENO FAVACHO
 
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxSlides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxLuizHenriquedeAlmeid6
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...IsabelPereira2010
 
apostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médioapostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médiorosenilrucks
 
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdfLeloIurk1
 
Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxTailsonSantos1
 
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIAPROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIAHELENO FAVACHO
 
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfApresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfcomercial400681
 
Historia da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdfHistoria da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdfEmanuel Pio
 
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdfReta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdfWagnerCamposCEA
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfTutor de matemática Ícaro
 
Apresentação em Powerpoint do Bioma Catinga.pptx
Apresentação em Powerpoint do Bioma Catinga.pptxApresentação em Powerpoint do Bioma Catinga.pptx
Apresentação em Powerpoint do Bioma Catinga.pptxLusGlissonGud
 
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdfGEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdfRavenaSales1
 
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdfPROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdfHELENO FAVACHO
 
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfFrancisco Márcio Bezerra Oliveira
 
matematica aula didatica prática e tecni
matematica aula didatica prática e tecnimatematica aula didatica prática e tecni
matematica aula didatica prática e tecniCleidianeCarvalhoPer
 
Slide - EBD ADEB 2024 Licao 02 2Trim.pptx
Slide - EBD ADEB 2024 Licao 02 2Trim.pptxSlide - EBD ADEB 2024 Licao 02 2Trim.pptx
Slide - EBD ADEB 2024 Licao 02 2Trim.pptxedelon1
 

Dernier (20)

aula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptaula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.ppt
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
 
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxSlides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
 
Aula sobre o Imperialismo Europeu no século XIX
Aula sobre o Imperialismo Europeu no século XIXAula sobre o Imperialismo Europeu no século XIX
Aula sobre o Imperialismo Europeu no século XIX
 
apostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médioapostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médio
 
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
 
Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptx
 
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIAPROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
 
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfApresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
 
Historia da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdfHistoria da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdf
 
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdfReta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
 
Apresentação em Powerpoint do Bioma Catinga.pptx
Apresentação em Powerpoint do Bioma Catinga.pptxApresentação em Powerpoint do Bioma Catinga.pptx
Apresentação em Powerpoint do Bioma Catinga.pptx
 
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdfGEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
 
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdfPROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
 
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
 
matematica aula didatica prática e tecni
matematica aula didatica prática e tecnimatematica aula didatica prática e tecni
matematica aula didatica prática e tecni
 
Slide - EBD ADEB 2024 Licao 02 2Trim.pptx
Slide - EBD ADEB 2024 Licao 02 2Trim.pptxSlide - EBD ADEB 2024 Licao 02 2Trim.pptx
Slide - EBD ADEB 2024 Licao 02 2Trim.pptx
 

02 while

  • 1. Python: whilewhile Rodrigo de Toledo (original: Claudio Esperança) Primeiros passos em programação • Até agora só vimos: – Expressões, que são escritas e computadas imediatamente – Variáveis, que podem ser usadas para valores temporáriostemporários – Input, para ler informações entradas pelos usuários – Print, para informar ao usuário a saída – If, comando condicional para tomada de decisão • O que veremos agora: – Comandos de repetição (ou loop) Primeiros passos em programação >>> # Série de Fibonacci ... a,b = 0,1 >>> while b < 10: ... print b ... a,b = b,a+b Comentário Atribuição dupla Comando de repetição Expressão booleana ... a,b = b,a+b ... 1 1 2 3 5 8 Bloco do comando de repetição Expressão booleana Resultado Indentação Sobre a série de Fibonacci • Fibonacci, matemático do século XII • Fórmula • Série – 1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597, ... • Tendem à razão áurea – 1.618033989...– 1.618033989... – Razão da beleza • Na natureza: – Espiral: conchas, bromélias, orelha... – Flores: girassol... – Crescimento populacional dos coelhos • Várias propriedades matemáticas • Muito usado em aprendizado de linguagens de programação
  • 2. while • Repete uma seqüência de comandos enquanto uma dada expressão booleana é avaliada como verdadeira • Formato: whilewhilewhilewhile expressão: comando ... comandocomando • Exemplo: >>> i = 10 >>> while i>8: ... print i, ... i = i-1 ... 10 9 Programas armazenados • À medida que os programas vão se tornando mais complicados, é mais interessante guardá-los em arquivos e executá-los quando necessário • Arquivo fibo.py (use um editor de textos como o do IDLE): # Série de Fibonacci: a, b = 0, 1a, b = 0, 1 while b < 10: print b a, b = b, a+b Formas de Executar um Programa • 4 opções: – Digite python fibo.py no seu shell (ex: janela DOS), ou – Clique no ícone do arquivo, ou – De dentro do editor IDLE, selecione Run Module (F5), ou– De dentro do editor IDLE, selecione Run Module (F5), ou – De dentro do interpretador python: >>> execfile ("fibo.py") Entre com um numero 5 1 1 2 3 >>> Observações • Existe um outro comando de repetição: – FOR – (o comando FOR será visto posteriormente) • Em geral usa-se a variável i (abreviação de integer) para contagem sequencial de inteirospara contagem sequencial de inteiros • É possível haver loop dentro de loop – Nesse caso recomenda-se usar variáveis diferentes para o controle do loop (ex: i, j, k ...), para que não haja interferência • Atenção para não criar um loop infinito – Para interromper: ctrl+c – Exemplo no próximo slide
  • 3. Laços Infinitos • Como em todo comando de repetição, é importante evitar os chamados “laços infinitos” ou “loop infinitos” • Ex.:• Ex.: >>> i = 10 >>> while i>8: ... print i, ... i = i+1 ... 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 ... Vamos fazer juntos... 1. Faça um programa que repita na tela 40 vezes a frase “Aprender Python eh muito facil!” 2. Faça um programa que leia quantas vezes a frase “Aprender Python eh muito facil!” deverá ser repetida, imprima também o número da linha.repetida, imprima também o número da linha. 3. Faça um programa que leia 40 números somando-os e ao final diga o total 4. Faça um programa que inicialmente pergunte quantos números serão entrados e então calcule o seu somatório e a média. Exercícios (loop) 1. Faça um programa que leia um numero entre 1 e 10 e imprima a sua tabuada de 1 a 10. 2. Faça um programa que leia um número informando a quantidade de números que serão entrados em sequência posteriormente, entãoentrados em sequência posteriormente, então leia os números e, ao final, imprima a média deles 3. Faça um programa que leia uma seqüência de 10 números e, ao final, imprima o maior deles. 4. Faça um programa que imprima todas as tabuadas de 1 a 10. Exercícios (while) 1. Faça um programa que leia uma série de números inteiros e imprima a sua média, o programa termina com a entrada do número 0. 2. Faça um programa que leia uma série de números positivos e diga ao final qual é o maior (termina com um número negativo). 3. Altere o programa anterior para imprimir também qual é o segundo maior. 4. Faça um programa que leia 2 números da entrada e imprima o resto da divisão inteira do primeiro pelo segundo usando subtrações sucessivas (ou seja, não use comando de resto: %). 5. Altere o programa anterior para que imprima também o resultado da divisão (não use comando de divisão: /).divisão (não use comando de divisão: /). 6. Faça um programa que calcule e imprima o CR do período para os alunos da UFRJ (matrícula inferior ou igual a zero termina a entrada). Para cada aluno, o programa deverá ler: número da matrícula; quantidade de disciplinas cursadas; Para cada disciplina cursada: nota da disciplina. créditos da disciplina Obs1: O CR é calculado segundo a média ponderada das notas. Obs2: O programa termina com a entrada de uma matrícula negativa.
  • 4. Exercício: números primos • Fazer um programa que decida se um número positivo dado é primo ou não – Entrada: número inteiro positivo – Saída: diagnóstico de primalidade do número– Saída: diagnóstico de primalidade do número • Exemplos de execução: – Entre com um número inteiro positivo: 169 169 é múltiplo de 13 – Entre com um número inteiro positivo: 983 983 é primo Exercício: números primos • Um número natural é primo se é divisível apenas por si mesmo e pela unidade (excetuando-se o 1) • Isto sugere o seguinte algoritmo: – Se o número é 1, então não é primo – Se o número é 2, então é primo– Se o número é 2, então é primo – Caso contrário, • Seja d um possível divisor, cujo valor é inicialmente 2 • Repetir – Se o resto da divisão do número por d é zero, então o número não é primo – Caso contrário, incrementar d – Se d é igual ou maior que o número, então terminar repetição diagnosticando o número como primo