SlideShare uma empresa Scribd logo
Estruturas de repetição:
● while
● for
2
Estruturas de repetição são usadas quando uma ou mais
instruções devem ser repetidas enquanto uma certa condição
estiver verdadeira.
Em Python existem três estruturas de repetição:
while
for
As estruturas de repetição (ciclos ou laços)
3
Uma estrutura de repetição permite ao programador especificar
que uma ação deve ser repetida enquanto alguma condição for
verdadeira.

Exemplo (em pseudocódigo):

Enquanto existirem mais itens em minha lista de compras
Comprar próximo item e excluí-lo da minha lista
descreve a repetição que acontece durante uma saída para
compras.
A condição “existirem mais itens em minha lista de compras”
pode ser verdadeira ou falsa.
Se ela for verdadeira, então a ação, “Comprar próximo item e
excluí-lo da minha lista” é executada.
Esta ação será repetidamente executada, enquanto a condição
for verdadeira (true).
A estrutura de repetição while (enquanto)
4
A estrutura de repetição while
O(s) comando(s) contidos na estrutura de repetição while
constituem o corpo do while.
O corpo da estrutura while pode ser um comando único ou um
comando composto.
Em algum momento, a condição se tornará falsa (false) (no
exemplo: quando o último item da lista de compras foi comprado
e excluído da mesma) e então a repetição termina.
Erro comum de programação
Não fornecer no corpo de uma estrutura while uma ação que
faça com que a condição se torne falsa (false).
Em algum momento resultará em um erro chamado “ciclo
infinito”, no qual a estrutura de repetição nunca termina de ser
executada.
5
A estrutura de repetição while
O formato geral da estrutura while:
initialization;
while ( condition )
{
statement;
increment;
}
onde
initialization inicializa a variável de controle do ciclo
condition é a condição de continuação do ciclo
increment incrementa a variável de controle.
condition
true
false
statement
initialization
increment;
6
A estrutura de repetição while
Exemplo 1: Achar a primeira potência de 2 maior do que 1000.
A variável int product sera inicializada com valor 2.
Quando a estrutura de repetição while a seguir terminar de ser
executada, product conterá a resposta desejada:
int product = 2;
while ( product <= 1000 ):
product = 2 * product;
product <= 1000
sim
não
product = 2 * product
product = 2
7
Formulando algoritmos: repetição controlada por
contador
Exemplo 1:
Considere o seguinte problema:
oUma turma de dez estudantes resolve um teste.
oAs notas são números inteiros no intervalo de 0 a 100.
oDetermine a média das notas da turma.
oA média é igual à soma das notas dividida pelo número de estudantes.
O algoritmo para resolver este problema deve receber como
entrada cada uma das notas, executar o cálculo da média e
imprimir o resultado.
Usamos uma repetição controlada por contador para fornecer
como entrada as notas, uma de cada vez.
Esta técnica usa uma variável chamada de contador, para
controlar o número de vezes que um conjunto de comandos
será executado.
8
Formulando algoritmos: repetição controlada por contador
Neste exemplo, a repetição termina quando o contador
exceder o número de repetições predefinido, no caso 10.
A repetição controlada por contador é chamada de repetição
definida, porque o número de repetições é conhecido antes de
o ciclo começar a ser executado.
No nosso exemplo:
–total é uma variável usada para acumular a soma de uma
série de valores.
–contador é uma variável usada para contar - neste caso,
contar o número de notas lidas.
As variáveis que são usadas para armazenar algum tipo de
dados devem ser normalmente inicializadas com zero antes de
serem usadas em um programa.
Caso contrário, a soma incluirá o valor armazenado
anteriormente na posição de memória do total
9
Formulando algoritmos: repetição controlada por contador
As ações que devem ser executadas e a ordem em que estas
ações devem ser executadas para nosso exemplo (em
pseudocódigo):
Inicialize total com zero
Inicialize contador de notas com um
Enquanto o contador de notas for menor do que ou igual a dez
Receba como entrada a próxima nota
Some a nota ao total
Some um ao contador de notas
Atribua à média da turma ao total dividido por dez
Imprima a média da turma
10
Formulando algoritmos: repetição controlada por contador
Erro comum de programação
•Não atribuir os valores iniciais corretos.
•Este é um exemplo de erro de lógica.
•No exemplo, se as variáveis contador e/ou total não
forem inicializados, os resultados do programa serão
incorretos.
11
Exemplo 2:
Considere o seguinte problema:
Desenvolva um programa que calcule a média da turma e
que processe um número arbitrário de notas cada vez que o
programa é executado.
No primeiro exemplo o número de notas (10) era conhecido
com antecedência.
Neste exemplo, nenhuma indicação é dada de quantas
notas serão digitadas.
O programa deve processar um número arbitrário de
notas.
Formulando algoritmos: repetição controlada por
sinalizador
12
Um modo de resolver este problema é usar um valor
especial, chamado de sinalizador.
Um sinalizador é um valor artificial para indicar o fim de
entrada de dados.
O usuário vai digitar todas as notas que deseja e então ele
vai digitar o valor de sinalizador para indicar o fim de entrada
de dados.
Formulando algoritmos: repetição controlada por
sinalizador
13
A repetição controlada por sinalizador é
frequentemente chamada de repetição indefinida,
porque o número de repetições não é conhecido antes
do ciclo começar a ser executado.
Naturalmente, o valor de sinalizador deve ser
escolhido de forma que não possa ser confundido com
um valor aceitável fornecido como entrada.
Como as notas de um teste normalmente são
números não-negativos, -1 é um valor de sinalizador
aceitável para este problema.
Formulando algoritmos: repetição controlada por
sinalizador
14
Erro comum de programação
Escolher um valor de sinalizador que é também um valor
de dados válido – é um erro de lógica.
Observação de engenharia de software
Muitos programas podem ser logicamente divididos em
três fases:
uma fase de inicialização, que inicializa as variáveis do programa;
uma fase de processamento, que recebe como entrada valores de
dados e ajusta as variáveis do programa de acordo;
e uma fase de finalização, que calcula e imprime os resultados finais.
Formulando algoritmos: repetição controlada por
sinalizador
15
Formulando algoritmos: repetição controlada por sinalizador
Algoritmo em pseudocódigo que usa repetição controlada por
sinalizador para resolver o problema da média da turma:
Inicializar total com zero
Inicializar contador com zero
Receba como entrada a primeira nota (possivelmente o sinalizador)
Enquanto o usuário ainda não digitou o sinalizador
Some esta nota ao total corrente
Some um ao contador de notas
Receba como entrada a próxima nota (possivelmente o sinalizador)
Se o contador não for igual a zero
Inicialize a média com o total dividido pelo contador
Imprima a média
Senão
Imprima “Nenhuma nota foi fornecida”
16
Operadores de atribuição
Dica de desempenho
•Os programadores podem escrever programas um pouco
mais rápidos e os compiladores podem compilar
programas um pouco mais rapidamente quando forem
usados os operadores de atribuição “abreviados”.
17
Operadores de atribuição
Python oferece vários operadores de atribuição para abreviar as
expressões de atribuição.
Por exemplo, o comando
c = c + 3;
pode ser abreviado com o operador “atribuição com adição” +=
como
c += 3;
O operador + soma o valor da expressão à direita do operador
ao valor da variável à esquerda do operador e armazena o
resultado na variável à esquerda do operador.
Qualquer comando da forma
variável = variável operador expressão;
onde operador é um dos operadores binários +, -, *, /, ou %, pode
ser escrito na forma
variável operador = expressão;
18
Operadores de incremento e decremento
Podemos escrever:
while ( ++counter <= 10 )
print(" n %i ", counter);
Este código economiza um comando, porque o incremento
é feito diretamente na condição do while (antes da condição
ser testada).
Além disso, este código elimina as chaves em torno do
corpo do while porque o while agora contém só um comando.
Erro comum de programação
•Como os valores em ponto flutuante podem ser
aproximados, controlar ciclos com variáveis de ponto
flutuante pode resultar em valores imprecisos do contador e
testes de término inexatos.

Mais conteúdo relacionado

Mais procurados

Introdução a linguagem c karen lowhany
Introdução a linguagem c   karen lowhanyIntrodução a linguagem c   karen lowhany
Introdução a linguagem c karen lowhany
Karen Costa
 
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
Wesley R. Bezerra
 
Algoritmos - Pseudocódigo
Algoritmos - PseudocódigoAlgoritmos - Pseudocódigo
Algoritmos - Pseudocódigo
Elaine Cecília Gatto
 
Guia prático para criar algoritmos
Guia prático para criar algoritmosGuia prático para criar algoritmos
Guia prático para criar algoritmos
Mauro Pereira
 
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
 
Apostila UML
Apostila UMLApostila UML
Apostila UML
Ricardo Terra
 
Variáveis e portugol
Variáveis e portugolVariáveis e portugol
Variáveis e portugol
Carlos Wagner Costa
 
Algoritmos e lp parte 4-vetores matrizes e registros
Algoritmos e lp parte 4-vetores matrizes e registrosAlgoritmos e lp parte 4-vetores matrizes e registros
Algoritmos e lp parte 4-vetores matrizes e registros
Mauro Pereira
 
Aula sobre matrizes - Linguagem C
Aula sobre matrizes - Linguagem CAula sobre matrizes - Linguagem C
Aula sobre matrizes - Linguagem C
profjr
 
Apresentação python fábio jr alves
Apresentação python   fábio jr alvesApresentação python   fábio jr alves
Apresentação python fábio jr alves
Grupython Ufla
 
Algoritmos em portugol
Algoritmos em portugolAlgoritmos em portugol
Algoritmos em portugol
Evonaldo Gonçalves Vanny
 
Algoritmo aula 01-f
Algoritmo   aula 01-fAlgoritmo   aula 01-f
Algoritmo aula 01-f
Professor Samuel Ribeiro
 
Linguagem Java - Conceitos e Técnicas
Linguagem Java - Conceitos e TécnicasLinguagem Java - Conceitos e Técnicas
Linguagem Java - Conceitos e Técnicas
Breno Vitorino
 
Lista de exercícios em portugol
Lista de exercícios em portugolLista de exercícios em portugol
Lista de exercícios em portugol
Gabriel Faustino
 
Introdução à Lógica de Programação
Introdução à Lógica de ProgramaçãoIntrodução à Lógica de Programação
Introdução à Lógica de Programação
André Agostinho
 
Aula01 - Logica de Programação
Aula01 - Logica de ProgramaçãoAula01 - Logica de Programação
Aula01 - Logica de Programação
Jorge Ávila Miranda
 
Python - Introdução
Python - IntroduçãoPython - Introdução
Python - Introdução
fabiocerqueira
 
Lista de exercicios algoritmos resolvida-
Lista de exercicios   algoritmos  resolvida-Lista de exercicios   algoritmos  resolvida-
Lista de exercicios algoritmos resolvida-
Mauro Pereira
 
Algoritmos
AlgoritmosAlgoritmos
Logica de Programacao
Logica de ProgramacaoLogica de Programacao
Logica de Programacao
Rogério Fernandes da Costa
 

Mais procurados (20)

Introdução a linguagem c karen lowhany
Introdução a linguagem c   karen lowhanyIntrodução a linguagem c   karen lowhany
Introdução a linguagem c karen lowhany
 
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
 
Algoritmos - Pseudocódigo
Algoritmos - PseudocódigoAlgoritmos - Pseudocódigo
Algoritmos - Pseudocódigo
 
Guia prático para criar algoritmos
Guia prático para criar algoritmosGuia prático para criar algoritmos
Guia prático para criar algoritmos
 
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)
 
Apostila UML
Apostila UMLApostila UML
Apostila UML
 
Variáveis e portugol
Variáveis e portugolVariáveis e portugol
Variáveis e portugol
 
Algoritmos e lp parte 4-vetores matrizes e registros
Algoritmos e lp parte 4-vetores matrizes e registrosAlgoritmos e lp parte 4-vetores matrizes e registros
Algoritmos e lp parte 4-vetores matrizes e registros
 
Aula sobre matrizes - Linguagem C
Aula sobre matrizes - Linguagem CAula sobre matrizes - Linguagem C
Aula sobre matrizes - Linguagem C
 
Apresentação python fábio jr alves
Apresentação python   fábio jr alvesApresentação python   fábio jr alves
Apresentação python fábio jr alves
 
Algoritmos em portugol
Algoritmos em portugolAlgoritmos em portugol
Algoritmos em portugol
 
Algoritmo aula 01-f
Algoritmo   aula 01-fAlgoritmo   aula 01-f
Algoritmo aula 01-f
 
Linguagem Java - Conceitos e Técnicas
Linguagem Java - Conceitos e TécnicasLinguagem Java - Conceitos e Técnicas
Linguagem Java - Conceitos e Técnicas
 
Lista de exercícios em portugol
Lista de exercícios em portugolLista de exercícios em portugol
Lista de exercícios em portugol
 
Introdução à Lógica de Programação
Introdução à Lógica de ProgramaçãoIntrodução à Lógica de Programação
Introdução à Lógica de Programação
 
Aula01 - Logica de Programação
Aula01 - Logica de ProgramaçãoAula01 - Logica de Programação
Aula01 - Logica de Programação
 
Python - Introdução
Python - IntroduçãoPython - Introdução
Python - Introdução
 
Lista de exercicios algoritmos resolvida-
Lista de exercicios   algoritmos  resolvida-Lista de exercicios   algoritmos  resolvida-
Lista de exercicios algoritmos resolvida-
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Logica de Programacao
Logica de ProgramacaoLogica de Programacao
Logica de Programacao
 

Semelhante a Estrutura de repetição

Algoritmos Aula 08
Algoritmos Aula 08Algoritmos Aula 08
Algoritmos Aula 08
IBTA Turma de TI 2009
 
Algoritmos e Lógica de Programação
Algoritmos e Lógica de ProgramaçãoAlgoritmos e Lógica de Programação
Algoritmos e Lógica de Programação
Jose Augusto Cintra
 
Google android p/ Noobs - SUPER 2014 - UPE
Google android p/ Noobs - SUPER 2014 - UPEGoogle android p/ Noobs - SUPER 2014 - UPE
Google android p/ Noobs - SUPER 2014 - UPE
Levi Saturnino
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
jormad
 
Algoritmos - Aula 07 A - Lacos
Algoritmos - Aula 07 A - LacosAlgoritmos - Aula 07 A - Lacos
Algoritmos - Aula 07 A - Lacos
Rodrigo Kiyoshi Saito
 
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
Ricardo Fahham
 
Apostila de algoritimos
Apostila de algoritimosApostila de algoritimos
Apostila de algoritimos
Cleide Soares
 
Algoritmia (Conceitos)
Algoritmia (Conceitos)Algoritmia (Conceitos)
Algoritmia (Conceitos)
Sandro Lopes
 
Alg aula 03 - construcao algoritmos2 tp1
Alg   aula 03 - construcao algoritmos2 tp1Alg   aula 03 - construcao algoritmos2 tp1
Alg aula 03 - construcao algoritmos2 tp1
Thalles Anderson
 
ESTRUTURAS_DE_REPETICAO.ppt
ESTRUTURAS_DE_REPETICAO.pptESTRUTURAS_DE_REPETICAO.ppt
ESTRUTURAS_DE_REPETICAO.ppt
FabianoVilhete3
 
Aula 1 2
Aula 1 2Aula 1 2
Aula 1 2
Aparicio Junior
 
Cap07
Cap07Cap07
Cap07
mvbahamut
 
Cap07
Cap07Cap07
Cap07
mvbahamut
 
Algoritmos e linguagem pascal
Algoritmos e linguagem pascalAlgoritmos e linguagem pascal
Algoritmos e linguagem pascal
angelicamenegassi
 
Algoritmos e linguagem pascal
Algoritmos e linguagem pascalAlgoritmos e linguagem pascal
Algoritmos e linguagem pascal
angelicamenegassi
 
Aula02_Vars_Ident_Ent_Saida_Algoritmos.pptx
Aula02_Vars_Ident_Ent_Saida_Algoritmos.pptxAula02_Vars_Ident_Ent_Saida_Algoritmos.pptx
Aula02_Vars_Ident_Ent_Saida_Algoritmos.pptx
aronoliveira3
 
Introdução aos algoritmos e à algoritmia.pptx
Introdução aos algoritmos e à algoritmia.pptxIntrodução aos algoritmos e à algoritmia.pptx
Introdução aos algoritmos e à algoritmia.pptx
Paulo Cardoso
 
Algoritmos 01 - Semana 08 - Estruturas de repetição
Algoritmos 01 - Semana 08 - Estruturas de repetiçãoAlgoritmos 01 - Semana 08 - Estruturas de repetição
Algoritmos 01 - Semana 08 - Estruturas de repetição
Eder Samaniego
 
Aula 03 - Estruturas de repetição
Aula 03 - Estruturas de repetiçãoAula 03 - Estruturas de repetição
Aula 03 - Estruturas de repetição
Eder Samaniego
 
Estruturas de repetição (parte 01)
Estruturas de repetição (parte 01)Estruturas de repetição (parte 01)
Estruturas de repetição (parte 01)
Eder Samaniego
 

Semelhante a Estrutura de repetição (20)

Algoritmos Aula 08
Algoritmos Aula 08Algoritmos Aula 08
Algoritmos Aula 08
 
Algoritmos e Lógica de Programação
Algoritmos e Lógica de ProgramaçãoAlgoritmos e Lógica de Programação
Algoritmos e Lógica de Programação
 
Google android p/ Noobs - SUPER 2014 - UPE
Google android p/ Noobs - SUPER 2014 - UPEGoogle android p/ Noobs - SUPER 2014 - UPE
Google android p/ Noobs - SUPER 2014 - UPE
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Algoritmos - Aula 07 A - Lacos
Algoritmos - Aula 07 A - LacosAlgoritmos - Aula 07 A - Lacos
Algoritmos - Aula 07 A - Lacos
 
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
 
Apostila de algoritimos
Apostila de algoritimosApostila de algoritimos
Apostila de algoritimos
 
Algoritmia (Conceitos)
Algoritmia (Conceitos)Algoritmia (Conceitos)
Algoritmia (Conceitos)
 
Alg aula 03 - construcao algoritmos2 tp1
Alg   aula 03 - construcao algoritmos2 tp1Alg   aula 03 - construcao algoritmos2 tp1
Alg aula 03 - construcao algoritmos2 tp1
 
ESTRUTURAS_DE_REPETICAO.ppt
ESTRUTURAS_DE_REPETICAO.pptESTRUTURAS_DE_REPETICAO.ppt
ESTRUTURAS_DE_REPETICAO.ppt
 
Aula 1 2
Aula 1 2Aula 1 2
Aula 1 2
 
Cap07
Cap07Cap07
Cap07
 
Cap07
Cap07Cap07
Cap07
 
Algoritmos e linguagem pascal
Algoritmos e linguagem pascalAlgoritmos e linguagem pascal
Algoritmos e linguagem pascal
 
Algoritmos e linguagem pascal
Algoritmos e linguagem pascalAlgoritmos e linguagem pascal
Algoritmos e linguagem pascal
 
Aula02_Vars_Ident_Ent_Saida_Algoritmos.pptx
Aula02_Vars_Ident_Ent_Saida_Algoritmos.pptxAula02_Vars_Ident_Ent_Saida_Algoritmos.pptx
Aula02_Vars_Ident_Ent_Saida_Algoritmos.pptx
 
Introdução aos algoritmos e à algoritmia.pptx
Introdução aos algoritmos e à algoritmia.pptxIntrodução aos algoritmos e à algoritmia.pptx
Introdução aos algoritmos e à algoritmia.pptx
 
Algoritmos 01 - Semana 08 - Estruturas de repetição
Algoritmos 01 - Semana 08 - Estruturas de repetiçãoAlgoritmos 01 - Semana 08 - Estruturas de repetição
Algoritmos 01 - Semana 08 - Estruturas de repetição
 
Aula 03 - Estruturas de repetição
Aula 03 - Estruturas de repetiçãoAula 03 - Estruturas de repetição
Aula 03 - Estruturas de repetição
 
Estruturas de repetição (parte 01)
Estruturas de repetição (parte 01)Estruturas de repetição (parte 01)
Estruturas de repetição (parte 01)
 

Mais de Jailson Torquato

Elementos do Sistema Operacionais
Elementos do Sistema OperacionaisElementos do Sistema Operacionais
Elementos do Sistema Operacionais
Jailson Torquato
 
Estrutura de dados
Estrutura de dadosEstrutura de dados
Estrutura de dados
Jailson Torquato
 
Apostila de hardware
Apostila de hardwareApostila de hardware
Apostila de hardware
Jailson Torquato
 
Listas duplamente encadeadas
Listas duplamente encadeadasListas duplamente encadeadas
Listas duplamente encadeadas
Jailson Torquato
 
Apostila de sistemas_operacionais
Apostila de sistemas_operacionaisApostila de sistemas_operacionais
Apostila de sistemas_operacionais
Jailson Torquato
 
O modelo osi e suas 7 camadas
O modelo osi e suas 7 camadasO modelo osi e suas 7 camadas
O modelo osi e suas 7 camadas
Jailson Torquato
 

Mais de Jailson Torquato (6)

Elementos do Sistema Operacionais
Elementos do Sistema OperacionaisElementos do Sistema Operacionais
Elementos do Sistema Operacionais
 
Estrutura de dados
Estrutura de dadosEstrutura de dados
Estrutura de dados
 
Apostila de hardware
Apostila de hardwareApostila de hardware
Apostila de hardware
 
Listas duplamente encadeadas
Listas duplamente encadeadasListas duplamente encadeadas
Listas duplamente encadeadas
 
Apostila de sistemas_operacionais
Apostila de sistemas_operacionaisApostila de sistemas_operacionais
Apostila de sistemas_operacionais
 
O modelo osi e suas 7 camadas
O modelo osi e suas 7 camadasO modelo osi e suas 7 camadas
O modelo osi e suas 7 camadas
 

Último

Sinais de pontuação
Sinais de pontuaçãoSinais de pontuação
Sinais de pontuação
Mary Alvarenga
 
Especialidade - Animais Ameaçados de Extinção(1).pdf
Especialidade - Animais Ameaçados de Extinção(1).pdfEspecialidade - Animais Ameaçados de Extinção(1).pdf
Especialidade - Animais Ameaçados de Extinção(1).pdf
DanielCastro80471
 
OS elementos de uma boa Redação para o ENEM.pdf
OS elementos de uma boa Redação para o ENEM.pdfOS elementos de uma boa Redação para o ENEM.pdf
OS elementos de uma boa Redação para o ENEM.pdf
AmiltonAparecido1
 
PowerPoint Newton gostava de Ler - Saber em Gel.pdf
PowerPoint Newton gostava de Ler - Saber em Gel.pdfPowerPoint Newton gostava de Ler - Saber em Gel.pdf
PowerPoint Newton gostava de Ler - Saber em Gel.pdf
1000a
 
Slides Lição 11, Central Gospel, Os Mortos Em CRISTO, 2Tr24.pptx
Slides Lição 11, Central Gospel, Os Mortos Em CRISTO, 2Tr24.pptxSlides Lição 11, Central Gospel, Os Mortos Em CRISTO, 2Tr24.pptx
Slides Lição 11, Central Gospel, Os Mortos Em CRISTO, 2Tr24.pptx
LuizHenriquedeAlmeid6
 
CADERNO DE CONCEITOS E ORIENTAÇÕES DO CENSO ESCOLAR 2024.pdf
CADERNO DE CONCEITOS E ORIENTAÇÕES DO CENSO ESCOLAR 2024.pdfCADERNO DE CONCEITOS E ORIENTAÇÕES DO CENSO ESCOLAR 2024.pdf
CADERNO DE CONCEITOS E ORIENTAÇÕES DO CENSO ESCOLAR 2024.pdf
NatySousa3
 
apresentação sobre Clarice Lispector .pptx
apresentação sobre Clarice Lispector .pptxapresentação sobre Clarice Lispector .pptx
apresentação sobre Clarice Lispector .pptx
JuliaMachado73
 
Slides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptx
Slides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptxSlides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptx
Slides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptx
LuizHenriquedeAlmeid6
 
347018542-PAULINA-CHIZIANE-Balada-de-Amor-ao-Vento-pdf.pdf
347018542-PAULINA-CHIZIANE-Balada-de-Amor-ao-Vento-pdf.pdf347018542-PAULINA-CHIZIANE-Balada-de-Amor-ao-Vento-pdf.pdf
347018542-PAULINA-CHIZIANE-Balada-de-Amor-ao-Vento-pdf.pdf
AntnioManuelAgdoma
 
atividade 8º ano entrevista - com tirinha
atividade 8º ano entrevista - com tirinhaatividade 8º ano entrevista - com tirinha
atividade 8º ano entrevista - com tirinha
Suzy De Abreu Santana
 
Estrutura Pedagógica - Laboratório de Educação a Distância.ppt
Estrutura Pedagógica - Laboratório de Educação a Distância.pptEstrutura Pedagógica - Laboratório de Educação a Distância.ppt
Estrutura Pedagógica - Laboratório de Educação a Distância.ppt
livrosjovert
 
0002_matematica_6ano livro de matemática
0002_matematica_6ano livro de matemática0002_matematica_6ano livro de matemática
0002_matematica_6ano livro de matemática
Giovana Gomes da Silva
 
Leonardo da Vinci .pptx
Leonardo da Vinci                  .pptxLeonardo da Vinci                  .pptx
Leonardo da Vinci .pptx
TomasSousa7
 
Folheto | Centro de Informação Europeia Jacques Delors (junho/2024)
Folheto | Centro de Informação Europeia Jacques Delors (junho/2024)Folheto | Centro de Informação Europeia Jacques Delors (junho/2024)
Folheto | Centro de Informação Europeia Jacques Delors (junho/2024)
Centro Jacques Delors
 
- TEMPLATE DA PRATICA - Psicomotricidade.pptx
- TEMPLATE DA PRATICA - Psicomotricidade.pptx- TEMPLATE DA PRATICA - Psicomotricidade.pptx
- TEMPLATE DA PRATICA - Psicomotricidade.pptx
LucianaCristina58
 
05-os-pre-socraticos sociologia-28-slides.pptx
05-os-pre-socraticos sociologia-28-slides.pptx05-os-pre-socraticos sociologia-28-slides.pptx
05-os-pre-socraticos sociologia-28-slides.pptx
ValdineyRodriguesBez1
 
Educação trabalho HQ em sala de aula uma excelente ideia
Educação  trabalho HQ em sala de aula uma excelente  ideiaEducação  trabalho HQ em sala de aula uma excelente  ideia
Educação trabalho HQ em sala de aula uma excelente ideia
joseanesouza36
 
Funções e Progressões - Livro completo prisma
Funções e Progressões - Livro completo prismaFunções e Progressões - Livro completo prisma
Funções e Progressões - Livro completo prisma
djincognito
 
Treinamento NR 38 - CORPO PRINCIPAL da NORMA.pptx
Treinamento NR 38 - CORPO PRINCIPAL da NORMA.pptxTreinamento NR 38 - CORPO PRINCIPAL da NORMA.pptx
Treinamento NR 38 - CORPO PRINCIPAL da NORMA.pptx
MarcosPaulo777883
 
Slides Lição 10, Central Gospel, A Batalha Do Armagedom, 1Tr24.pptx
Slides Lição 10, Central Gospel, A Batalha Do Armagedom, 1Tr24.pptxSlides Lição 10, Central Gospel, A Batalha Do Armagedom, 1Tr24.pptx
Slides Lição 10, Central Gospel, A Batalha Do Armagedom, 1Tr24.pptx
LuizHenriquedeAlmeid6
 

Último (20)

Sinais de pontuação
Sinais de pontuaçãoSinais de pontuação
Sinais de pontuação
 
Especialidade - Animais Ameaçados de Extinção(1).pdf
Especialidade - Animais Ameaçados de Extinção(1).pdfEspecialidade - Animais Ameaçados de Extinção(1).pdf
Especialidade - Animais Ameaçados de Extinção(1).pdf
 
OS elementos de uma boa Redação para o ENEM.pdf
OS elementos de uma boa Redação para o ENEM.pdfOS elementos de uma boa Redação para o ENEM.pdf
OS elementos de uma boa Redação para o ENEM.pdf
 
PowerPoint Newton gostava de Ler - Saber em Gel.pdf
PowerPoint Newton gostava de Ler - Saber em Gel.pdfPowerPoint Newton gostava de Ler - Saber em Gel.pdf
PowerPoint Newton gostava de Ler - Saber em Gel.pdf
 
Slides Lição 11, Central Gospel, Os Mortos Em CRISTO, 2Tr24.pptx
Slides Lição 11, Central Gospel, Os Mortos Em CRISTO, 2Tr24.pptxSlides Lição 11, Central Gospel, Os Mortos Em CRISTO, 2Tr24.pptx
Slides Lição 11, Central Gospel, Os Mortos Em CRISTO, 2Tr24.pptx
 
CADERNO DE CONCEITOS E ORIENTAÇÕES DO CENSO ESCOLAR 2024.pdf
CADERNO DE CONCEITOS E ORIENTAÇÕES DO CENSO ESCOLAR 2024.pdfCADERNO DE CONCEITOS E ORIENTAÇÕES DO CENSO ESCOLAR 2024.pdf
CADERNO DE CONCEITOS E ORIENTAÇÕES DO CENSO ESCOLAR 2024.pdf
 
apresentação sobre Clarice Lispector .pptx
apresentação sobre Clarice Lispector .pptxapresentação sobre Clarice Lispector .pptx
apresentação sobre Clarice Lispector .pptx
 
Slides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptx
Slides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptxSlides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptx
Slides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptx
 
347018542-PAULINA-CHIZIANE-Balada-de-Amor-ao-Vento-pdf.pdf
347018542-PAULINA-CHIZIANE-Balada-de-Amor-ao-Vento-pdf.pdf347018542-PAULINA-CHIZIANE-Balada-de-Amor-ao-Vento-pdf.pdf
347018542-PAULINA-CHIZIANE-Balada-de-Amor-ao-Vento-pdf.pdf
 
atividade 8º ano entrevista - com tirinha
atividade 8º ano entrevista - com tirinhaatividade 8º ano entrevista - com tirinha
atividade 8º ano entrevista - com tirinha
 
Estrutura Pedagógica - Laboratório de Educação a Distância.ppt
Estrutura Pedagógica - Laboratório de Educação a Distância.pptEstrutura Pedagógica - Laboratório de Educação a Distância.ppt
Estrutura Pedagógica - Laboratório de Educação a Distância.ppt
 
0002_matematica_6ano livro de matemática
0002_matematica_6ano livro de matemática0002_matematica_6ano livro de matemática
0002_matematica_6ano livro de matemática
 
Leonardo da Vinci .pptx
Leonardo da Vinci                  .pptxLeonardo da Vinci                  .pptx
Leonardo da Vinci .pptx
 
Folheto | Centro de Informação Europeia Jacques Delors (junho/2024)
Folheto | Centro de Informação Europeia Jacques Delors (junho/2024)Folheto | Centro de Informação Europeia Jacques Delors (junho/2024)
Folheto | Centro de Informação Europeia Jacques Delors (junho/2024)
 
- TEMPLATE DA PRATICA - Psicomotricidade.pptx
- TEMPLATE DA PRATICA - Psicomotricidade.pptx- TEMPLATE DA PRATICA - Psicomotricidade.pptx
- TEMPLATE DA PRATICA - Psicomotricidade.pptx
 
05-os-pre-socraticos sociologia-28-slides.pptx
05-os-pre-socraticos sociologia-28-slides.pptx05-os-pre-socraticos sociologia-28-slides.pptx
05-os-pre-socraticos sociologia-28-slides.pptx
 
Educação trabalho HQ em sala de aula uma excelente ideia
Educação  trabalho HQ em sala de aula uma excelente  ideiaEducação  trabalho HQ em sala de aula uma excelente  ideia
Educação trabalho HQ em sala de aula uma excelente ideia
 
Funções e Progressões - Livro completo prisma
Funções e Progressões - Livro completo prismaFunções e Progressões - Livro completo prisma
Funções e Progressões - Livro completo prisma
 
Treinamento NR 38 - CORPO PRINCIPAL da NORMA.pptx
Treinamento NR 38 - CORPO PRINCIPAL da NORMA.pptxTreinamento NR 38 - CORPO PRINCIPAL da NORMA.pptx
Treinamento NR 38 - CORPO PRINCIPAL da NORMA.pptx
 
Slides Lição 10, Central Gospel, A Batalha Do Armagedom, 1Tr24.pptx
Slides Lição 10, Central Gospel, A Batalha Do Armagedom, 1Tr24.pptxSlides Lição 10, Central Gospel, A Batalha Do Armagedom, 1Tr24.pptx
Slides Lição 10, Central Gospel, A Batalha Do Armagedom, 1Tr24.pptx
 

Estrutura de repetição

  • 2. 2 Estruturas de repetição são usadas quando uma ou mais instruções devem ser repetidas enquanto uma certa condição estiver verdadeira. Em Python existem três estruturas de repetição: while for As estruturas de repetição (ciclos ou laços)
  • 3. 3 Uma estrutura de repetição permite ao programador especificar que uma ação deve ser repetida enquanto alguma condição for verdadeira.  Exemplo (em pseudocódigo):  Enquanto existirem mais itens em minha lista de compras Comprar próximo item e excluí-lo da minha lista descreve a repetição que acontece durante uma saída para compras. A condição “existirem mais itens em minha lista de compras” pode ser verdadeira ou falsa. Se ela for verdadeira, então a ação, “Comprar próximo item e excluí-lo da minha lista” é executada. Esta ação será repetidamente executada, enquanto a condição for verdadeira (true). A estrutura de repetição while (enquanto)
  • 4. 4 A estrutura de repetição while O(s) comando(s) contidos na estrutura de repetição while constituem o corpo do while. O corpo da estrutura while pode ser um comando único ou um comando composto. Em algum momento, a condição se tornará falsa (false) (no exemplo: quando o último item da lista de compras foi comprado e excluído da mesma) e então a repetição termina. Erro comum de programação Não fornecer no corpo de uma estrutura while uma ação que faça com que a condição se torne falsa (false). Em algum momento resultará em um erro chamado “ciclo infinito”, no qual a estrutura de repetição nunca termina de ser executada.
  • 5. 5 A estrutura de repetição while O formato geral da estrutura while: initialization; while ( condition ) { statement; increment; } onde initialization inicializa a variável de controle do ciclo condition é a condição de continuação do ciclo increment incrementa a variável de controle. condition true false statement initialization increment;
  • 6. 6 A estrutura de repetição while Exemplo 1: Achar a primeira potência de 2 maior do que 1000. A variável int product sera inicializada com valor 2. Quando a estrutura de repetição while a seguir terminar de ser executada, product conterá a resposta desejada: int product = 2; while ( product <= 1000 ): product = 2 * product; product <= 1000 sim não product = 2 * product product = 2
  • 7. 7 Formulando algoritmos: repetição controlada por contador Exemplo 1: Considere o seguinte problema: oUma turma de dez estudantes resolve um teste. oAs notas são números inteiros no intervalo de 0 a 100. oDetermine a média das notas da turma. oA média é igual à soma das notas dividida pelo número de estudantes. O algoritmo para resolver este problema deve receber como entrada cada uma das notas, executar o cálculo da média e imprimir o resultado. Usamos uma repetição controlada por contador para fornecer como entrada as notas, uma de cada vez. Esta técnica usa uma variável chamada de contador, para controlar o número de vezes que um conjunto de comandos será executado.
  • 8. 8 Formulando algoritmos: repetição controlada por contador Neste exemplo, a repetição termina quando o contador exceder o número de repetições predefinido, no caso 10. A repetição controlada por contador é chamada de repetição definida, porque o número de repetições é conhecido antes de o ciclo começar a ser executado. No nosso exemplo: –total é uma variável usada para acumular a soma de uma série de valores. –contador é uma variável usada para contar - neste caso, contar o número de notas lidas. As variáveis que são usadas para armazenar algum tipo de dados devem ser normalmente inicializadas com zero antes de serem usadas em um programa. Caso contrário, a soma incluirá o valor armazenado anteriormente na posição de memória do total
  • 9. 9 Formulando algoritmos: repetição controlada por contador As ações que devem ser executadas e a ordem em que estas ações devem ser executadas para nosso exemplo (em pseudocódigo): Inicialize total com zero Inicialize contador de notas com um Enquanto o contador de notas for menor do que ou igual a dez Receba como entrada a próxima nota Some a nota ao total Some um ao contador de notas Atribua à média da turma ao total dividido por dez Imprima a média da turma
  • 10. 10 Formulando algoritmos: repetição controlada por contador Erro comum de programação •Não atribuir os valores iniciais corretos. •Este é um exemplo de erro de lógica. •No exemplo, se as variáveis contador e/ou total não forem inicializados, os resultados do programa serão incorretos.
  • 11. 11 Exemplo 2: Considere o seguinte problema: Desenvolva um programa que calcule a média da turma e que processe um número arbitrário de notas cada vez que o programa é executado. No primeiro exemplo o número de notas (10) era conhecido com antecedência. Neste exemplo, nenhuma indicação é dada de quantas notas serão digitadas. O programa deve processar um número arbitrário de notas. Formulando algoritmos: repetição controlada por sinalizador
  • 12. 12 Um modo de resolver este problema é usar um valor especial, chamado de sinalizador. Um sinalizador é um valor artificial para indicar o fim de entrada de dados. O usuário vai digitar todas as notas que deseja e então ele vai digitar o valor de sinalizador para indicar o fim de entrada de dados. Formulando algoritmos: repetição controlada por sinalizador
  • 13. 13 A repetição controlada por sinalizador é frequentemente chamada de repetição indefinida, porque o número de repetições não é conhecido antes do ciclo começar a ser executado. Naturalmente, o valor de sinalizador deve ser escolhido de forma que não possa ser confundido com um valor aceitável fornecido como entrada. Como as notas de um teste normalmente são números não-negativos, -1 é um valor de sinalizador aceitável para este problema. Formulando algoritmos: repetição controlada por sinalizador
  • 14. 14 Erro comum de programação Escolher um valor de sinalizador que é também um valor de dados válido – é um erro de lógica. Observação de engenharia de software Muitos programas podem ser logicamente divididos em três fases: uma fase de inicialização, que inicializa as variáveis do programa; uma fase de processamento, que recebe como entrada valores de dados e ajusta as variáveis do programa de acordo; e uma fase de finalização, que calcula e imprime os resultados finais. Formulando algoritmos: repetição controlada por sinalizador
  • 15. 15 Formulando algoritmos: repetição controlada por sinalizador Algoritmo em pseudocódigo que usa repetição controlada por sinalizador para resolver o problema da média da turma: Inicializar total com zero Inicializar contador com zero Receba como entrada a primeira nota (possivelmente o sinalizador) Enquanto o usuário ainda não digitou o sinalizador Some esta nota ao total corrente Some um ao contador de notas Receba como entrada a próxima nota (possivelmente o sinalizador) Se o contador não for igual a zero Inicialize a média com o total dividido pelo contador Imprima a média Senão Imprima “Nenhuma nota foi fornecida”
  • 16. 16 Operadores de atribuição Dica de desempenho •Os programadores podem escrever programas um pouco mais rápidos e os compiladores podem compilar programas um pouco mais rapidamente quando forem usados os operadores de atribuição “abreviados”.
  • 17. 17 Operadores de atribuição Python oferece vários operadores de atribuição para abreviar as expressões de atribuição. Por exemplo, o comando c = c + 3; pode ser abreviado com o operador “atribuição com adição” += como c += 3; O operador + soma o valor da expressão à direita do operador ao valor da variável à esquerda do operador e armazena o resultado na variável à esquerda do operador. Qualquer comando da forma variável = variável operador expressão; onde operador é um dos operadores binários +, -, *, /, ou %, pode ser escrito na forma variável operador = expressão;
  • 18. 18 Operadores de incremento e decremento Podemos escrever: while ( ++counter <= 10 ) print(" n %i ", counter); Este código economiza um comando, porque o incremento é feito diretamente na condição do while (antes da condição ser testada). Além disso, este código elimina as chaves em torno do corpo do while porque o while agora contém só um comando. Erro comum de programação •Como os valores em ponto flutuante podem ser aproximados, controlar ciclos com variáveis de ponto flutuante pode resultar em valores imprecisos do contador e testes de término inexatos.