SlideShare uma empresa Scribd logo
1 de 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.

Mais conteúdo relacionado

Mais procurados

Lista de exercicios algoritmos resolvida-
Lista de exercicios   algoritmos  resolvida-Lista de exercicios   algoritmos  resolvida-
Lista de exercicios algoritmos resolvida-Mauro Pereira
 
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çãoAndré Agostinho
 
Aula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e ProgramaçãoAula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e ProgramaçãoAislan Rafael
 
Lista de exercicios vetores, matrizes, registros e sub-algoritmos
Lista de exercicios   vetores, matrizes, registros e sub-algoritmosLista de exercicios   vetores, matrizes, registros e sub-algoritmos
Lista de exercicios vetores, matrizes, registros e sub-algoritmosMauro Pereira
 
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çãoBruno Quaresma
 
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
 
Algoritmos - Formas de Representação de Algoritmos
Algoritmos - Formas de Representação de AlgoritmosAlgoritmos - Formas de Representação de Algoritmos
Algoritmos - Formas de Representação de AlgoritmosElaine Cecília Gatto
 
Exercicios resolvidos visuAlg
Exercicios resolvidos visuAlgExercicios resolvidos visuAlg
Exercicios resolvidos visuAlgWillians Miyabara
 
Aula 8 - Validação - parte 1
Aula 8 - Validação - parte 1Aula 8 - Validação - parte 1
Aula 8 - Validação - parte 1Pacc UAB
 
Alguns algoritmos resolvidos
Alguns algoritmos resolvidosAlguns algoritmos resolvidos
Alguns algoritmos resolvidosjaoozinhoqi123
 
Introdução a Linguagem de Programação C
Introdução a Linguagem de Programação CIntrodução a Linguagem de Programação C
Introdução a Linguagem de Programação CGercélia Ramos
 
Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1engenhariadecomputacao
 
Algoritmos e Programação: Manipulação de strings
Algoritmos e Programação: Manipulação de stringsAlgoritmos e Programação: Manipulação de strings
Algoritmos e Programação: Manipulação de stringsAlex Camargo
 

Mais procurados (20)

Logica Programação. ...
Logica Programação. ...Logica Programação. ...
Logica Programação. ...
 
Lista de exercicios algoritmos resolvida-
Lista de exercicios   algoritmos  resolvida-Lista de exercicios   algoritmos  resolvida-
Lista de exercicios algoritmos resolvida-
 
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
 
Lógica de Programação
Lógica de ProgramaçãoLógica de Programação
Lógica de Programação
 
Aula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e ProgramaçãoAula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e Programação
 
Lista de exercicios vetores, matrizes, registros e sub-algoritmos
Lista de exercicios   vetores, matrizes, registros e sub-algoritmosLista de exercicios   vetores, matrizes, registros e sub-algoritmos
Lista de exercicios vetores, matrizes, registros e sub-algoritmos
 
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
 
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
 
Algoritmos: Tipos de Dados
Algoritmos: Tipos de DadosAlgoritmos: Tipos de Dados
Algoritmos: Tipos de Dados
 
Algoritmos - Formas de Representação de Algoritmos
Algoritmos - Formas de Representação de AlgoritmosAlgoritmos - Formas de Representação de Algoritmos
Algoritmos - Formas de Representação de Algoritmos
 
Exercicios resolvidos visuAlg
Exercicios resolvidos visuAlgExercicios resolvidos visuAlg
Exercicios resolvidos visuAlg
 
Algoritmos 05 - Estruturas de repetição
Algoritmos 05 - Estruturas de repetiçãoAlgoritmos 05 - Estruturas de repetição
Algoritmos 05 - Estruturas de repetição
 
Algoritmo 04 - Estruturas de decisão
 Algoritmo 04 - Estruturas de decisão Algoritmo 04 - Estruturas de decisão
Algoritmo 04 - Estruturas de decisão
 
Aula01 - Logica de Programação
Aula01 - Logica de ProgramaçãoAula01 - Logica de Programação
Aula01 - Logica de Programação
 
Aula 8 - Validação - parte 1
Aula 8 - Validação - parte 1Aula 8 - Validação - parte 1
Aula 8 - Validação - parte 1
 
Alguns algoritmos resolvidos
Alguns algoritmos resolvidosAlguns algoritmos resolvidos
Alguns algoritmos resolvidos
 
Introdução a Linguagem de Programação C
Introdução a Linguagem de Programação CIntrodução a Linguagem de Programação C
Introdução a Linguagem de Programação C
 
Algoritmos - Vetores
Algoritmos - VetoresAlgoritmos - Vetores
Algoritmos - Vetores
 
Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1
 
Algoritmos e Programação: Manipulação de strings
Algoritmos e Programação: Manipulação de stringsAlgoritmos e Programação: Manipulação de strings
Algoritmos e Programação: Manipulação de strings
 

Semelhante a 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
 

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
 
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
 
Visualg
VisualgVisualg
Visualg
 
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
 

Mais de 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
 

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

Aspectos históricos da educação dos surdos.pptx
Aspectos históricos da educação dos surdos.pptxAspectos históricos da educação dos surdos.pptx
Aspectos históricos da educação dos surdos.pptxprofbrunogeo95
 
Regulamento do Festival de Teatro Negro - FESTIAFRO 2024 - 10ª edição - CEI...
Regulamento do Festival de Teatro Negro -  FESTIAFRO 2024 - 10ª edição -  CEI...Regulamento do Festival de Teatro Negro -  FESTIAFRO 2024 - 10ª edição -  CEI...
Regulamento do Festival de Teatro Negro - FESTIAFRO 2024 - 10ª edição - CEI...Eró Cunha
 
Power Point sobre as etapas do Desenvolvimento infantil
Power Point sobre as etapas do Desenvolvimento infantilPower Point sobre as etapas do Desenvolvimento infantil
Power Point sobre as etapas do Desenvolvimento infantilMariaHelena293800
 
nocoes-basicas-de-hereditariedade 9º ano.ppt
nocoes-basicas-de-hereditariedade 9º ano.pptnocoes-basicas-de-hereditariedade 9º ano.ppt
nocoes-basicas-de-hereditariedade 9º ano.pptElifabio Sobreira Pereira
 
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
 
SQL Parte 1 - Criação de Banco de Dados.pdf
SQL Parte 1 - Criação de Banco de Dados.pdfSQL Parte 1 - Criação de Banco de Dados.pdf
SQL Parte 1 - Criação de Banco de Dados.pdfAndersonW5
 
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
 
425416820-Testes-7º-Ano-Leandro-Rei-Da-Heliria-Com-Solucoes.pdf
425416820-Testes-7º-Ano-Leandro-Rei-Da-Heliria-Com-Solucoes.pdf425416820-Testes-7º-Ano-Leandro-Rei-Da-Heliria-Com-Solucoes.pdf
425416820-Testes-7º-Ano-Leandro-Rei-Da-Heliria-Com-Solucoes.pdfCarinaSofiaDiasBoteq
 
Dados espaciais em R - 2023 - UFABC - Geoprocessamento
Dados espaciais em R - 2023 - UFABC - GeoprocessamentoDados espaciais em R - 2023 - UFABC - Geoprocessamento
Dados espaciais em R - 2023 - UFABC - GeoprocessamentoVitor Vieira Vasconcelos
 
QUESTÃO 4 Os estudos das competências pessoais é de extrema importância, pr...
QUESTÃO 4   Os estudos das competências pessoais é de extrema importância, pr...QUESTÃO 4   Os estudos das competências pessoais é de extrema importância, pr...
QUESTÃO 4 Os estudos das competências pessoais é de extrema importância, pr...azulassessoria9
 
São Damião, missionário entre os leprosos de Molokai, Havaí.pptx
São Damião, missionário entre os leprosos de Molokai, Havaí.pptxSão Damião, missionário entre os leprosos de Molokai, Havaí.pptx
São Damião, missionário entre os leprosos de Molokai, Havaí.pptxMartin M Flynn
 
ATIVIDADE 1 - ENF - ENFERMAGEM BASEADA EM EVIDÊNCIAS - 52_2024
ATIVIDADE 1 - ENF - ENFERMAGEM BASEADA EM EVIDÊNCIAS - 52_2024ATIVIDADE 1 - ENF - ENFERMAGEM BASEADA EM EVIDÊNCIAS - 52_2024
ATIVIDADE 1 - ENF - ENFERMAGEM BASEADA EM EVIDÊNCIAS - 52_2024azulassessoria9
 
Currículo Professor Pablo Ortellado - Universidade de São Paulo
Currículo Professor Pablo Ortellado - Universidade de São PauloCurrículo Professor Pablo Ortellado - Universidade de São Paulo
Currículo Professor Pablo Ortellado - Universidade de São Pauloririg29454
 
UFCD_10659_Ficheiros de recursos educativos_índice .pdf
UFCD_10659_Ficheiros de recursos educativos_índice .pdfUFCD_10659_Ficheiros de recursos educativos_índice .pdf
UFCD_10659_Ficheiros de recursos educativos_índice .pdfManuais Formação
 
Periodo da escravidAo O Brasil tem seu corpo na América e sua alma na África
Periodo da escravidAo O Brasil tem seu corpo na América e sua alma na ÁfricaPeriodo da escravidAo O Brasil tem seu corpo na América e sua alma na África
Periodo da escravidAo O Brasil tem seu corpo na América e sua alma na Áfricajuekfuek
 
atividade para 3ª serie do ensino medi sobrw biotecnologia( transgenicos, clo...
atividade para 3ª serie do ensino medi sobrw biotecnologia( transgenicos, clo...atividade para 3ª serie do ensino medi sobrw biotecnologia( transgenicos, clo...
atividade para 3ª serie do ensino medi sobrw biotecnologia( transgenicos, clo...WelitaDiaz1
 
Pré-História do Brasil, Luzia e Serra da Capivara
Pré-História do Brasil, Luzia e Serra da CapivaraPré-História do Brasil, Luzia e Serra da Capivara
Pré-História do Brasil, Luzia e Serra da Capivararambomarcos
 
Quiz | Dia da Europa 2024 (comemoração)
Quiz | Dia da Europa 2024  (comemoração)Quiz | Dia da Europa 2024  (comemoração)
Quiz | Dia da Europa 2024 (comemoração)Centro Jacques Delors
 
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
 

Último (20)

Aspectos históricos da educação dos surdos.pptx
Aspectos históricos da educação dos surdos.pptxAspectos históricos da educação dos surdos.pptx
Aspectos históricos da educação dos surdos.pptx
 
Regulamento do Festival de Teatro Negro - FESTIAFRO 2024 - 10ª edição - CEI...
Regulamento do Festival de Teatro Negro -  FESTIAFRO 2024 - 10ª edição -  CEI...Regulamento do Festival de Teatro Negro -  FESTIAFRO 2024 - 10ª edição -  CEI...
Regulamento do Festival de Teatro Negro - FESTIAFRO 2024 - 10ª edição - CEI...
 
Power Point sobre as etapas do Desenvolvimento infantil
Power Point sobre as etapas do Desenvolvimento infantilPower Point sobre as etapas do Desenvolvimento infantil
Power Point sobre as etapas do Desenvolvimento infantil
 
nocoes-basicas-de-hereditariedade 9º ano.ppt
nocoes-basicas-de-hereditariedade 9º ano.pptnocoes-basicas-de-hereditariedade 9º ano.ppt
nocoes-basicas-de-hereditariedade 9º ano.ppt
 
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
 
SQL Parte 1 - Criação de Banco de Dados.pdf
SQL Parte 1 - Criação de Banco de Dados.pdfSQL Parte 1 - Criação de Banco de Dados.pdf
SQL Parte 1 - Criação de Banco de Dados.pdf
 
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)
 
425416820-Testes-7º-Ano-Leandro-Rei-Da-Heliria-Com-Solucoes.pdf
425416820-Testes-7º-Ano-Leandro-Rei-Da-Heliria-Com-Solucoes.pdf425416820-Testes-7º-Ano-Leandro-Rei-Da-Heliria-Com-Solucoes.pdf
425416820-Testes-7º-Ano-Leandro-Rei-Da-Heliria-Com-Solucoes.pdf
 
Dados espaciais em R - 2023 - UFABC - Geoprocessamento
Dados espaciais em R - 2023 - UFABC - GeoprocessamentoDados espaciais em R - 2023 - UFABC - Geoprocessamento
Dados espaciais em R - 2023 - UFABC - Geoprocessamento
 
QUESTÃO 4 Os estudos das competências pessoais é de extrema importância, pr...
QUESTÃO 4   Os estudos das competências pessoais é de extrema importância, pr...QUESTÃO 4   Os estudos das competências pessoais é de extrema importância, pr...
QUESTÃO 4 Os estudos das competências pessoais é de extrema importância, pr...
 
São Damião, missionário entre os leprosos de Molokai, Havaí.pptx
São Damião, missionário entre os leprosos de Molokai, Havaí.pptxSão Damião, missionário entre os leprosos de Molokai, Havaí.pptx
São Damião, missionário entre os leprosos de Molokai, Havaí.pptx
 
ATIVIDADE 1 - ENF - ENFERMAGEM BASEADA EM EVIDÊNCIAS - 52_2024
ATIVIDADE 1 - ENF - ENFERMAGEM BASEADA EM EVIDÊNCIAS - 52_2024ATIVIDADE 1 - ENF - ENFERMAGEM BASEADA EM EVIDÊNCIAS - 52_2024
ATIVIDADE 1 - ENF - ENFERMAGEM BASEADA EM EVIDÊNCIAS - 52_2024
 
Currículo Professor Pablo Ortellado - Universidade de São Paulo
Currículo Professor Pablo Ortellado - Universidade de São PauloCurrículo Professor Pablo Ortellado - Universidade de São Paulo
Currículo Professor Pablo Ortellado - Universidade de São Paulo
 
Poema - Aedes Aegypt.
Poema - Aedes Aegypt.Poema - Aedes Aegypt.
Poema - Aedes Aegypt.
 
UFCD_10659_Ficheiros de recursos educativos_índice .pdf
UFCD_10659_Ficheiros de recursos educativos_índice .pdfUFCD_10659_Ficheiros de recursos educativos_índice .pdf
UFCD_10659_Ficheiros de recursos educativos_índice .pdf
 
Periodo da escravidAo O Brasil tem seu corpo na América e sua alma na África
Periodo da escravidAo O Brasil tem seu corpo na América e sua alma na ÁfricaPeriodo da escravidAo O Brasil tem seu corpo na América e sua alma na África
Periodo da escravidAo O Brasil tem seu corpo na América e sua alma na África
 
atividade para 3ª serie do ensino medi sobrw biotecnologia( transgenicos, clo...
atividade para 3ª serie do ensino medi sobrw biotecnologia( transgenicos, clo...atividade para 3ª serie do ensino medi sobrw biotecnologia( transgenicos, clo...
atividade para 3ª serie do ensino medi sobrw biotecnologia( transgenicos, clo...
 
Pré-História do Brasil, Luzia e Serra da Capivara
Pré-História do Brasil, Luzia e Serra da CapivaraPré-História do Brasil, Luzia e Serra da Capivara
Pré-História do Brasil, Luzia e Serra da Capivara
 
Quiz | Dia da Europa 2024 (comemoração)
Quiz | Dia da Europa 2024  (comemoração)Quiz | Dia da Europa 2024  (comemoração)
Quiz | Dia da Europa 2024 (comemoração)
 
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.