SlideShare a Scribd company logo
1 of 18
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.

More Related Content

What's hot

What's hot (20)

Visualg
VisualgVisualg
Visualg
 
Curso de Python e Django
Curso de Python e DjangoCurso de Python e Django
Curso de Python e Django
 
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
 
Aula javascript
Aula  javascriptAula  javascript
Aula javascript
 
6 estruturas de dados heterogêneas
6  estruturas de dados heterogêneas6  estruturas de dados heterogêneas
6 estruturas de dados heterogêneas
 
Linguagem C - Vetores
Linguagem C - VetoresLinguagem C - Vetores
Linguagem C - Vetores
 
Lista de exercícios em portugol
Lista de exercícios em portugolLista de exercícios em portugol
Lista de exercícios em portugol
 
Algoritmo 06 - Array e Matrizes
Algoritmo 06 - Array e MatrizesAlgoritmo 06 - Array e Matrizes
Algoritmo 06 - Array e Matrizes
 
Exercicios java básico
Exercicios java básicoExercicios java básico
Exercicios java básico
 
Python - Programação funcional
Python - Programação funcionalPython - Programação funcional
Python - Programação funcional
 
Comparação Sintaxe Portugol vs Java
Comparação Sintaxe Portugol vs JavaComparação Sintaxe Portugol vs Java
Comparação Sintaxe Portugol vs Java
 
Algoritmos - Pseudocódigo
Algoritmos - PseudocódigoAlgoritmos - Pseudocódigo
Algoritmos - Pseudocódigo
 
Algoritmos - Vetores
Algoritmos - VetoresAlgoritmos - Vetores
Algoritmos - Vetores
 
Python
PythonPython
Python
 
Prova algoritmos
Prova algoritmosProva algoritmos
Prova algoritmos
 
Introdução a python
Introdução a pythonIntrodução a python
Introdução a python
 
Variáveis e portugol
Variáveis e portugolVariáveis e portugol
Variáveis e portugol
 
Exercicios de estruturas condicionais - Lógica de Programação
Exercicios de estruturas condicionais - Lógica de ProgramaçãoExercicios de estruturas condicionais - Lógica de Programação
Exercicios de estruturas condicionais - Lógica de Programação
 
Análise de Algoritmos - Método Guloso
Análise de Algoritmos - Método GulosoAnálise de Algoritmos - Método Guloso
Análise de Algoritmos - Método Guloso
 
Aula 9 - Estruturas Condicionais
Aula 9 - Estruturas CondicionaisAula 9 - Estruturas Condicionais
Aula 9 - Estruturas Condicionais
 

Similar to Estrutura de repetição

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çãoJose 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 - UPELevi Saturnino
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmosjormad
 
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
 
Apostila de algoritimos
Apostila de algoritimosApostila de algoritimos
Apostila de algoritimosCleide 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 tp1Thalles Anderson
 
ESTRUTURAS_DE_REPETICAO.ppt
ESTRUTURAS_DE_REPETICAO.pptESTRUTURAS_DE_REPETICAO.ppt
ESTRUTURAS_DE_REPETICAO.pptFabianoVilhete3
 
Algoritmos e linguagem pascal
Algoritmos e linguagem pascalAlgoritmos e linguagem pascal
Algoritmos e linguagem pascalangelicamenegassi
 
Algoritmos e linguagem pascal
Algoritmos e linguagem pascalAlgoritmos e linguagem pascal
Algoritmos e linguagem pascalangelicamenegassi
 
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.pptxaronoliveira3
 
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.pptxPaulo 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çãoEder Samaniego
 
Aula 03 - Estruturas de repetição
Aula 03 - Estruturas de repetiçãoAula 03 - Estruturas de repetição
Aula 03 - Estruturas de repetiçãoEder Samaniego
 

Similar to 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
 
Logica de Programacao
Logica de ProgramacaoLogica de Programacao
Logica de Programacao
 
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
 

More from Jailson Torquato

Elementos do Sistema Operacionais
Elementos do Sistema OperacionaisElementos do Sistema Operacionais
Elementos do Sistema OperacionaisJailson Torquato
 
Listas duplamente encadeadas
Listas duplamente encadeadasListas duplamente encadeadas
Listas duplamente encadeadasJailson Torquato
 
Apostila de sistemas_operacionais
Apostila de sistemas_operacionaisApostila de sistemas_operacionais
Apostila de sistemas_operacionaisJailson 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 camadasJailson Torquato
 

More from 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
 

Recently uploaded

Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!Centro Jacques Delors
 
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.docGUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.docPauloHenriqueGarciaM
 
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...azulassessoria9
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...azulassessoria9
 
Sopa de letras | Dia da Europa 2024 (nível 1)
Sopa de letras | Dia da Europa 2024 (nível 1)Sopa de letras | Dia da Europa 2024 (nível 1)
Sopa de letras | Dia da Europa 2024 (nível 1)Centro Jacques Delors
 
Pesquisa Ação René Barbier Livro acadêmico
Pesquisa Ação René Barbier Livro  acadêmicoPesquisa Ação René Barbier Livro  acadêmico
Pesquisa Ação René Barbier Livro acadêmicolourivalcaburite
 
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...MariaCristinaSouzaLe1
 
Acessibilidade, inclusão e valorização da diversidade
Acessibilidade, inclusão e valorização da diversidadeAcessibilidade, inclusão e valorização da diversidade
Acessibilidade, inclusão e valorização da diversidadeLEONIDES PEREIRA DE SOUZA
 
AULÃO de Língua Portuguesa para o Saepe 2022
AULÃO de Língua Portuguesa para o Saepe 2022AULÃO de Língua Portuguesa para o Saepe 2022
AULÃO de Língua Portuguesa para o Saepe 2022LeandroSilva126216
 
aprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubelaprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubeladrianaguedesbatista
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...azulassessoria9
 
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM POLÍGON...
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM  POLÍGON...Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM  POLÍGON...
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM POLÍGON...marcelafinkler
 
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...PatriciaCaetano18
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024azulassessoria9
 
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...marcelafinkler
 
tensoes-etnicas-na-europa-template-1.pptx
tensoes-etnicas-na-europa-template-1.pptxtensoes-etnicas-na-europa-template-1.pptx
tensoes-etnicas-na-europa-template-1.pptxgia0123
 
O que é arte. Definição de arte. História da arte.
O que é arte. Definição de arte. História da arte.O que é arte. Definição de arte. História da arte.
O que é arte. Definição de arte. História da arte.denisecompasso2
 
Slides Lição 06, Central Gospel, O Anticristo, 1Tr24.pptx
Slides Lição 06, Central Gospel, O Anticristo, 1Tr24.pptxSlides Lição 06, Central Gospel, O Anticristo, 1Tr24.pptx
Slides Lição 06, Central Gospel, O Anticristo, 1Tr24.pptxLuizHenriquedeAlmeid6
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024azulassessoria9
 
Apresentação | Símbolos e Valores da União Europeia
Apresentação | Símbolos e Valores da União EuropeiaApresentação | Símbolos e Valores da União Europeia
Apresentação | Símbolos e Valores da União EuropeiaCentro Jacques Delors
 

Recently uploaded (20)

Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
 
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.docGUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
 
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
 
Sopa de letras | Dia da Europa 2024 (nível 1)
Sopa de letras | Dia da Europa 2024 (nível 1)Sopa de letras | Dia da Europa 2024 (nível 1)
Sopa de letras | Dia da Europa 2024 (nível 1)
 
Pesquisa Ação René Barbier Livro acadêmico
Pesquisa Ação René Barbier Livro  acadêmicoPesquisa Ação René Barbier Livro  acadêmico
Pesquisa Ação René Barbier Livro acadêmico
 
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
 
Acessibilidade, inclusão e valorização da diversidade
Acessibilidade, inclusão e valorização da diversidadeAcessibilidade, inclusão e valorização da diversidade
Acessibilidade, inclusão e valorização da diversidade
 
AULÃO de Língua Portuguesa para o Saepe 2022
AULÃO de Língua Portuguesa para o Saepe 2022AULÃO de Língua Portuguesa para o Saepe 2022
AULÃO de Língua Portuguesa para o Saepe 2022
 
aprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubelaprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubel
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
 
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM POLÍGON...
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM  POLÍGON...Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM  POLÍGON...
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM POLÍGON...
 
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
 
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
 
tensoes-etnicas-na-europa-template-1.pptx
tensoes-etnicas-na-europa-template-1.pptxtensoes-etnicas-na-europa-template-1.pptx
tensoes-etnicas-na-europa-template-1.pptx
 
O que é arte. Definição de arte. História da arte.
O que é arte. Definição de arte. História da arte.O que é arte. Definição de arte. História da arte.
O que é arte. Definição de arte. História da arte.
 
Slides Lição 06, Central Gospel, O Anticristo, 1Tr24.pptx
Slides Lição 06, Central Gospel, O Anticristo, 1Tr24.pptxSlides Lição 06, Central Gospel, O Anticristo, 1Tr24.pptx
Slides Lição 06, Central Gospel, O Anticristo, 1Tr24.pptx
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
 
Apresentação | Símbolos e Valores da União Europeia
Apresentação | Símbolos e Valores da União EuropeiaApresentação | Símbolos e Valores da União Europeia
Apresentação | Símbolos e Valores da União Europeia
 

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.