![Page 1: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/1.jpg)
IEC037Introdução à Programação de
ComputadoresAula 10 – Estruturas de Repetição por
Condição em PythonTurma: Professor: Sala:E-mail:Página:Ambiente virtual:
![Page 2: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/2.jpg)
Resolução de Problemas Algorítmicos
Definir as entradas e as saídas
Fim
Identificar o problema
Início
Converter o algoritmo em declarações da linguagem de
programação
Projetar o algoritmoDecompor
Refinarpasso a passo
Testar o programa resultante
1
2
3
4
5
![Page 3: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/3.jpg)
Conteúdo
Estruturas de Repetição por Condição
Problemas Comuns
Repetições Aninhadas
![Page 4: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/4.jpg)
Conteúdo
Estruturas de Repetição por Condição
Problemas Comuns
Repetições Aninhadas
![Page 5: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/5.jpg)
Estruturas de Programação
Qualquer programa de computador pode ser escrito combinando-se os três tipos básicos de estruturas de programação:
Sequencial Condicional Repetição
![Page 6: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/6.jpg)
Estruturas de Repetição
Permitem executar mais de uma vez um comando ou um bloco de comandos.
O trecho do algoritmo em repetição é também chamado de laço (ou loop).
O número de repetições (ou iterações) deve ser conhecido e ser sempre finito.
![Page 7: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/7.jpg)
Não confunda
Iteração• Repetição de um ato
Interação• Atualização da influência recíproca
de organismos inter-relacionados
![Page 8: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/8.jpg)
Repetição por condição:: Comando while
Permite que um trecho de código seja executado enquanto certa condição for verdadeira.
Quando a condição for falsa, o bloco de comandos interno deixa de ser repetido e continuamos executando o resto do programa.
while <condição> : <comandos_a_repetir>
Comandos a serem repetidos devem estar indentados
![Page 9: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/9.jpg)
Repetição por condição (while):: Funcionamento
1. Testar a condição.2. Se a condição for falsa,
então sair do laço.3. Se a condição for
verdadeira, então executar cada um dos comandos do interior do laço.
4. Após executar o último comando do laço while, voltar ao passo 1.
condiçãoF
V
Comando 1
Comando N
![Page 10: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/10.jpg)
Repetição por condição (while):: Exemplo
A condição do comando while é construída da mesma forma que a condição do if.
No comando while, enquanto a condição for verdadeira, repetimos as linhas do bloco interno.
x = 1while (x <= 5): print(x) x = x + 1
![Page 11: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/11.jpg)
Comando while × if
if• Condição
determina se o trecho de código indentado vai ser executado ou não
while• Condição
determina quantas vezes o trecho de código indentado vai ser executado
![Page 12: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/12.jpg)
Exercício 1
Modifique o script anterior para exibir números de 1 a 100.
x = 1while (x <= 5): print(x) x = x + 1
x = 1while (x <= 100): print(x) x = x + 1
![Page 13: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/13.jpg)
Exercício 2
Modifique o script anterior para exibir números de 50 a 100.
x = 1while (x <= 5): print(x) x = x + 1
x = 50while (x <= 100): print(x) x = x + 1
![Page 14: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/14.jpg)
Exercício 3
Modifique o script anterior para fazer uma contagem regressiva:
10, 9, 8, ..., 1, 0
x = 1while (x <= 5): print(x) x = x + 1
x = 10while (x >= 0): print(x) x = x - 1
![Page 15: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/15.jpg)
Exercício 4
Modifique o script anterior para exibir números pares de 0 a 100.
x = 1while (x <= 5): print(x) x = x + 1
x = 0while (x <= 100): print(x) x = x + 2
![Page 16: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/16.jpg)
Contador de laço
Nos exercícios anteriores, a variável x foi usada para controlar o número de repetições do laço.
Todo contador de laço deve ajustar os seguintes parâmetros:valor inicialvalor finalpasso (ou incremento)
x = 1while (x <= 5): print(x) x = x + 1
123
12
3
![Page 17: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/17.jpg)
Contador de laço:: Parâmetros
valor inicial• Deve ser ajustado fora do laço.
valor final• Ajustado na condição do laço. Uma condição mal
elaborada pode fazer com que o laço seja executado infinitas vezes (loop infinito).
passo (ou incremento)• Determina a taxa de crescimento ou decrescimento do
contador, desde o valor inicial até o valor final.
![Page 18: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/18.jpg)
Problema 1
Uma quantia inicial de R$ 20 mil é aplicada a uma taxa de de juros ao ano.
Qual o valor do saldo após 5 anos de aplicação?
![Page 19: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/19.jpg)
Problema 12 – Definir entradas e saídas
Grandeza Unidade de medida Faixa de valores
Entradas
Saídas
Grandeza Unidade de medida Faixa de valores
Entradas
Taxa de juros % 12
Quantia inicial (q) R$ 20 mil
Tempo anos 5
Saídas Saldo R$ [0, +∞[
![Page 20: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/20.jpg)
Problema 13 – Projetar algoritmo
Saldo a cada ano: Variável Contadora:
Novo saldo
Saldo anterior
Rendi-mento
Rendi-mento
Saldo anterior Juros/100
ano
Valor inicial: 1
Valor final:
Incremento:
5
1
![Page 21: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/21.jpg)
Problema 14 – Codificar em Python
# Entrada de dados e definicao de constantesqi = 20000.00juros = 12.0saldo = qi
# Valor inicialt = 1
# Atualizacao de saldowhile (t <= 5): rend = saldo * juros/100 saldo = saldo + rend t = t + 1
# Exibicao de resultadosprint("Saldo: R$", round(saldo, 2))
030
![Page 22: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/22.jpg)
Problema 2
Uma quantia inicial de R$ 10 mil é aplicada a uma taxa de de juros ao ano.
Quantos anos são necessários para que o saldo dobre em relação ao valor inicial?
![Page 23: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/23.jpg)
Problema 22 – Definir entradas e saídas
Grandeza Unidade de medida Faixa de valores
Entradas
Saídas
Grandeza Unidade de medida Faixa de valores
Entradas
Taxa de juros % [0; 100]
Quantia inicial (q) R$ 10 mil
Saldo R$ 2 * q
Saídas Tempo anos [0, +∞[
![Page 24: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/24.jpg)
Problema 23 – Projetar algoritmo
Saldo a cada ano: Variável Contadora:
Novo saldo
Saldo anterior
Rendi-mento
Rendi-mento
Saldo anterior Juros/100
ano
Valor inicial: 0
Valor final:
Incremento:
?
1
![Page 25: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/25.jpg)
Problema 24 – Codificar em Python
# Entrada de dados e definicao de constantesqi = 10000.00juros = 5.0saldo = qi
# Valor inicialt = 0
# Atualizacao de saldowhile (saldo < 2 * qi): rend = saldo * juros/100 saldo = saldo + rend t = t + 1
# Exibicao de resultadosprint("Tempo de investimento:", t, "anos")
031
![Page 26: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/26.jpg)
Contador de laço × Variável acumuladora
Contador de laço
• Auxilia a execução do laço de repetição.
• Valor somado a cada iteração é constante.
Variável acumuladora
• Auxiliam o cômputo de grandezas relacionadas ao problema.
• Valor somado a cada iteração é variável.
![Page 27: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/27.jpg)
Rastreamento
É uma simulação de execução de código em que você percorre as instruções, uma linha de cada vez, e acompanha os valores das variáveis .
Quando você rastreia um programa: escreve os nomes das variáveis em uma folha de papel executa mentalmente cada passo do código atualiza as variáveis
![Page 28: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/28.jpg)
Rastreamento:: Exemplo 1
No código abaixo, quais são os valores das variáveis i e total em cada iteração do laço while?
i = 0total = 0while (total < 10): i = i + 1 total = total + i print(i, total)
![Page 29: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/29.jpg)
Rastreamento:: Exemplo 1
i total0 ?
i = 0total = 0while (total < 10): i = i + 1 total = total + i print(i, total)
![Page 30: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/30.jpg)
Rastreamento:: Exemplo 1
i total0 ?0 0
i = 0total = 0while (total < 10): i = i + 1 total = total + i print(i, total)
![Page 31: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/31.jpg)
Rastreamento:: Exemplo 1
i total0 ?0 01 0
i = 0total = 0while (total < 10): i = i + 1 total = total + i print(i, total)
![Page 32: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/32.jpg)
Rastreamento:: Exemplo 1
i total0 ?0 01 01 1
i = 0total = 0while (total < 10): i = i + 1 total = total + i print(i, total)
![Page 33: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/33.jpg)
Rastreamento:: Exemplo 1
i total0 ?0 01 01 12 1
i = 0total = 0while (total < 10): i = i + 1 total = total + i print(i, total)
![Page 34: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/34.jpg)
Rastreamento:: Exemplo 1
i total0 ?0 01 01 12 12 3
i = 0total = 0while (total < 10): i = i + 1 total = total + i print(i, total)
![Page 35: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/35.jpg)
Rastreamento:: Exemplo 1
i total0 ?0 01 01 12 12 33 6
i = 0total = 0while (total < 10): i = i + 1 total = total + i print(i, total)
![Page 36: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/36.jpg)
Rastreamento:: Exemplo 1
i total0 ?0 01 01 12 12 33 64 10
i = 0total = 0while (total < 10): i = i + 1 total = total + i print(i, total)
![Page 37: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/37.jpg)
Rastreamento:: Exemplo 2
Se a condição for mal projetada, o laço poderá ser repetido indefinidamente.
Chamamos essa situação de loop infinito.
i total
1 -12 -23 -34 -4
.....
0 0
![Page 38: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/38.jpg)
Rastreamento:: Exemplo 3
Em outras situações, a condição pode não ser satisfeita na primeira tentativa.
Nesse caso, o laço não será executado.
(Nada mostrado na tela)
![Page 39: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/39.jpg)
Atenção
Embora permitidas pelo Python, NÃO serão aceitas as seguintes práticas: Comando else como
alternativa ao while. Comando break. Comando continue.
![Page 40: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/40.jpg)
Conteúdo
Estruturas de Repetição por Condição
Problemas Comuns
Repetições Aninhadas
![Page 41: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/41.jpg)
Problemas Comuns
Soma e média Contar padrões Verificar padrão Soma de séries Frações contínuas Máximo Divisor Comum (MDC)
![Page 42: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/42.jpg)
Problema 3:: Soma e média
Uma professora dá aula para uma turma de N alunos e precisa saber a média de notas, que variam de 0 a 10.
Escreva um script que leia nota por nota e, ao final, exiba a média da turma na tela.
![Page 43: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/43.jpg)
Problema 32 – Definir entradas e saídas
Grandeza Unidade de medida Faixa de valores
Entradas
Saídas
Grandeza Unidade de medida Faixa de valores
EntradasNúmero de alunos --- > 0
Notas --- [0, 10]
Saídas Média --- [0, 10]
![Page 44: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/44.jpg)
Problema 33 – Projetar algoritmo
Qual a condição para repetição? Enquanto o contador não atingir N (= número de
alunos da classe)
O que deve ser atualizado a cada repetição? Soma das notas inseridas até o momento Contador do laço
![Page 45: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/45.jpg)
Problema 34 – Codificar em Python
# Pede o numero de alunosnum_alunos = int(input("Digite o no. de alunos: "))
i = 1 # Variavel contadorasoma = 0 # Variavel acumuladora
while (i <= num_alunos): print("Digite a nota do aluno", i, ":") nota = float(input()) # Le nota soma = soma + nota # Acumula nota i = i + 1 # Atualiza contador
print("Media:", round(soma/num_alunos, 2))
032
![Page 46: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/46.jpg)
Problema 4:: Soma e média
Agora, a professora não sabe exatamente a quantidade de notas.
Escreva um script que leia nota por nota, via teclado, até que seja digitado -1, indicando que a inserção terminou. Ao final, a média da turma deve ser exibida na tela.
![Page 47: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/47.jpg)
Problema 42 – Definir entradas e saídas
Grandeza Unidade de medida Faixa de valores
Entradas
Saídas
Grandeza Unidade de medida Faixa de valores
Entradas Notas --- [0, 10]
Saídas Média --- [0, 10]
![Page 48: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/48.jpg)
Problema 43 – Projetar algoritmo
Qual a condição para repetição? Enquanto a nota for diferente de -1
O que deve ser atualizado a cada repetição? Soma das notas inseridas até o momento Quantidade de notas inseridas
![Page 49: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/49.jpg)
Problema 44 – Codificar em Python
i = 1 # Variavel contadorasoma = 0 # Variavel acumuladoranota = float(input()) # Le nota
while (nota != -1): i = i + 1 # Atualiza no. de notas soma = soma + nota # Acumula nota print("Digite a nota do aluno", i, ":") nota = float(input()) # Le nota
print("Media:", round(soma/(i - 1), 2))
033
Como o laço conta o -1 como nota, deve-se descontar uma unidade do contador antes do cálculo da média.
![Page 50: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/50.jpg)
Problema 5:: Contar padrões
Um o dado de seis faces é lançado N vezes.
Contar número de ocorrências de cada face.
![Page 51: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/51.jpg)
Problema 52 – Definir entradas e saídas
Grandeza Unidade de medida Faixa de valores
Entradas
Saídas
Grandeza Unidade de medida Faixa de valores
Entradas N --- [0, +∞[
Saídas Nº de ocorrências(f1, f2, f3, f4, f5, f6) --- [0, N]
![Page 52: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/52.jpg)
Problema 53 – Projetar algoritmo
1. Ler N (número de lançamentos do dado)2. Zerar os contadores das faces ci3. Lançar o dado4. Se der a face i, atualizar contador ci5. Repetir passos 2 e 3 até N lançamentos do dado,
atualizando o contador6. Imprimir resultados
![Page 53: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/53.jpg)
Problema 54 – Codificar em Python
# Valores iniciaisN = int(input("No. de lancamentos:"))i = 0f1 = 0f2 = 0f3 = 0f4 = 0f5 = 0f6 = 0
# Importando biblioteca de nos. aleatoriosfrom random import *
![Page 54: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/54.jpg)
Problema 54 – Codificar em Python
# Laco de contagem das faces do dadowhile (i < N): face = randint(1,6) if (face == 1): f1 = f1 + 1 elif (face == 2): f2 = f2 + 1 ... else: f6 = f6 + 1 i = i + 1
# Impressao de resultadosprint(f1, f2, f3, f4, f5, f6)
034
![Page 55: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/55.jpg)
Problema 6:: Verificar padrão
Dado um número N, inteiro e positivo, verificar se N é primo, ou seja, se N tem apenas dois divisores: ele mesmo e a unidade.
Dica: Para verificar se um número N é primo, pode-se limitar o teste de divisibilidade até o valor de .
![Page 56: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/56.jpg)
Problema 62 – Definir entradas e saídas
Grandeza Unidade de medida Faixa de valores
Entradas
Saídas
Grandeza Unidade de medida Faixa de valores
Entradas N --- [0, +∞[
Saídas Mensagem --- {Primo, não-primo}
![Page 57: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/57.jpg)
Problema 63 – Projetar algoritmo
1. Ler N (número a ser verificado)2. Testar se N é divisível por 2, 3, 4, 5, ..., 3. Caso positivo, terminar laço e imprimir
mensagem
Condições de repetição: Divisor (contador) não atingir , E Número N não ser divisível pelo contador.
![Page 58: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/58.jpg)
Problema 64 – Codificar em Python
# Valores iniciaisN = int(input("Digite um numero:"))i = 2
from math import *
# Repete enquanto nao alcancar raiz de N ou# nao encontrar divisor de Nwhile (i <= floor(sqrt(N)) and N % i != 0): i = i + 1
# Testou todos os numeros ateh raiz de N?if (i > floor(sqrt(N))): print("Eh primo")# Se nao testou todos, entao encontrou divisor (resto 0)else: print("Nao eh primo")
035
![Page 59: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/59.jpg)
Problema 7:: Soma de séries
Escreva um script Python para encontrar o valor da soma dos 10 primeiros termos da seguinte sequência:
1+2+4+8+16+…
![Page 60: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/60.jpg)
Problema 73 – Projetar algoritmo
Determinar, por indução, o termo geral da série:
Variável contadora (i) Valor inicial: Valor final: Incremento:
20 21 22 23 24
091
1+2+4+8+16+… ∑𝑖=0
9
2𝑖
![Page 61: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/61.jpg)
Problema 74 – Codificar em Python
# Valores iniciaissoma = 0 # Variavel acumuladorai = 0 # Variavel contadorafim = 9 # Final da contagem
# Laco de acumulacaowhile (i <= fim): soma = soma + 2**i i = i + 1
# Impressao de resultadosprint("Soma dos termos:", soma)
036
![Page 62: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/62.jpg)
Problema 8:: Soma de séries
Escreva um script Python para encontrar o valor de .
75
2
9
2
6
2
3
2 2532
S
![Page 63: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/63.jpg)
Problema 83 – Projetar algoritmo
Determinar, por indução, o termo geral da série:
Variável contadora (i) Valor inicial: Valor final: Incremento:
75
2
9
2
6
2
3
2 2532
S1
3 1∙ 3 2∙ 3 3∙ 3 25∙
25
1 3
2
i
i
iS
125
1
![Page 64: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/64.jpg)
Problema 84 – Codificar em Python
# Valores iniciaissoma = 0 # Variavel acumuladorai = 1 # Variavel contadorafim = 25 # Final da contagem
# Laco de acumulacaowhile (i <= fim): soma = soma + 2**i/(3 * i) i = i + 1
# Impressao de resultadosprint("Soma dos termos:", soma)
037
![Page 65: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/65.jpg)
Problema 9:: Soma de séries
Calcular o valor de π com os 1000 primeiros termos da seguinte série numérica:
𝑆=1−1
33+1
53−1
73+…
𝜋=3√𝑆⋅ 32
![Page 66: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/66.jpg)
Problema 93 – Projetar algoritmo – versão 1
Determinar o termo geral da série
Variável contadora (i) Valor inicial: Valor final: Incremento:
_1³
333 7
1
5
1
3
11S
sinal alterna
bases ímpares
n
i
i
iS
0312
11
0999
1
![Page 67: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/67.jpg)
Problema 94 – Codificar em Python – versão 1
# Valores iniciaissoma = 0 # Variavel acumuladorai = 0 # Variavel contadorafim = 999 # Final da contagem
# Laco de acumulacaowhile (i <= fim): soma = soma + (-1)**i / (2 * i + 1)**3 i = i + 1
meu_pi = (32 * soma)**(1/3)
# Impressao de resultadosprint("Valor aprox. de pi:", meu_pi)
038
![Page 68: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/68.jpg)
Problema 93 – Projetar algoritmo – versão 2
Determinar o termo geral da série
Variável contadora (j = 2*i) Valor inicial: Valor final: Incremento:
_1³
333 7
1
5
1
3
11S
sinal alterna
bases ímpares
n
i
i
iS
0312
11
01998
2
![Page 69: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/69.jpg)
Problema 94 – Codificar em Python – versão 2
# Valores iniciaissoma = 0 # Variavel acumuladoraj = 0 # Variavel contadorafim = 1998 # Final da contagem
# Laco de acumulacaowhile (j <= fim): soma = soma + (-1)**j / (j + 1)**3 j = j + 2
meu_pi = (32 * soma)**(1/3)
# Impressao de resultadosprint("Valor aprox. de pi:", meu_pi)
039
![Page 70: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/70.jpg)
Problema 10:: Frações contínuas
Determine o valor de com base na expansão em frações contínuas.
√2=1+ 1
2+1
2+ 1
2+ 1⋯
![Page 71: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/71.jpg)
O que são frações contínuas?
Uma fração contínua é um número irracional que pode ser expresso através da seguinte forma:
onde são coeficientes quaisquer. Note que a expressão acima é infinita. Como um algoritmo deve ser executado em tempo
finito, devemos impor um limite à sequência.
𝑓 =𝑎0+𝑏1
𝑎1+𝑏2
𝑎2+𝑏3
𝑎3+𝑏4…
![Page 72: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/72.jpg)
Frações contínuas
Na expressão acima, é o ponto de partida (semente) no cômputo da fração contínua.
O valor da fração deve ser calculado iterativamente de baixo para cima.
Para um grande número de iterações, o valor da semente torna-se desprezível.
𝑎0+𝑏1
𝑎1+𝑏2
𝑎2+¿ ¿ ⋱ ¿ ¿+𝑏𝑛
𝑎𝑛
![Page 73: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/73.jpg)
Problema 103 – Projetar algoritmo – termo geral
√2=1+ 1
2+1
2+ 1
2+ 1⋯Não se repete
O que se repete?1
2+¿¿
![Page 74: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/74.jpg)
Problema 103 – Projetar algoritmo
1. Iniciar a semente2. Iniciar o contador de laço3. Atualizar o termo geral4. Repetir passo 3 enquanto contador não atinge
um número de repetições considerado grande (1000 seria um bom chute?)
5. Imprimir valor aproximado de
![Page 75: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/75.jpg)
Problema 104 – Codificar em Python
# Sementex = 2
# Contadorcont = 1
# Parte repetitiva da fracao continuawhile (cont < 1000): x = 1 / (2 + x) cont = cont + 1
# Soma parte repetitiva com parcela constanteprint(x + 1)
# Comparacao com valor real de raiz de 2print(2**0.5) 040
![Page 76: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/76.jpg)
Problema 11:: Frações contínuas
Determine o valor da constante de Euler com base na expansão em frações contínuas.
𝑒=2+1
1+1
2+ 2
3+ 3⋯
![Page 77: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/77.jpg)
Problema 113 – Projetar algoritmo – termo geral
Não se repete
O que se repete? 𝑘+𝑘
𝑒=2+1
1+1
2+ 2
3+ 3⋯
![Page 78: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/78.jpg)
Problema 113 – Projetar algoritmo
1. Iniciar a semente2. Iniciar o contador de laço3. Atualizar o termo geral4. Repetir passo 3 enquanto contador não atinge
um número de repetições considerado grande (1000 seria um bom chute?)
5. Imprimir valor aproximado de
![Page 79: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/79.jpg)
Problema 114 – Codificar em Python
# Sementex = 2
# Contadork = 30
# Parte repetitiva da fracao continuawhile (k > 0): x = k + k / x k = k - 1
# Soma parte repetitiva com parcela constanteprint(2 + 1/x)
# Comparacao com valor real da constantefrom math import *print(e)
041
![Page 80: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/80.jpg)
Frações contínuas
Teste os algoritmos anteriores com outras sementes.
Contraste resultados para valores pequenos e valores grandes do contador de laço.
Exercite com outras expansões:
𝜋=3+1
6+9
6+ 25
6+ 49
6+ 81⋯
4𝜋
=1+1
2+9
2+ 25
2+ 49
2+ 81⋯
√12=3+ 1
2+1
6+ 1
2+ 1
6+ 1⋯
![Page 81: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/81.jpg)
Problema 12:: Máximo Divisor Comum (MDC)
Dados dois números inteiros positivos, diferentes de 0, calcular o Máximo Divisor Comum (MDC) deles, pelo método de Euclides.
![Page 82: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/82.jpg)
Método de Euclides
1. Calcular o resto da divisão do maior número pelo menor.
2. Se o resto for zero, o MDC é o 2º número.3. Senão:
1. substituir o 1º número pelo 2º2. substituir o 2º número pelo resto3. calcular um novo resto (passo 1)
![Page 83: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/83.jpg)
Método de Euclides:: Exemplo
Exemplo: 44 e 12
44 12 8 48
3
4
1
0
2
MDC
![Page 84: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/84.jpg)
Problema 123 – Projetar algoritmo
1. Ler n1 e n22. Calcular resto (n1 % n2)3. Enquanto resto não for zero, aplicar método de
Euclides:1. n1 ← n22. n2 ← resto (anterior)3. resto ← n1 % n2
4. Imprimir n2 (valor do mdc)
![Page 85: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/85.jpg)
Problema 122 – Definir entradas e saídas
Grandeza Unidade de medida Faixa de valores
Entradas
Saídas
Grandeza Unidade de medida Faixa de valores
Entradasn1 --- [1, +∞[
n2 --- [1, +∞[, n2 <= n1
Saídas MDC --- [1, +∞[
![Page 86: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/86.jpg)
Problema 124 – Codificar em Python
# Entrada de variaveisn1 = int(input())n2 = int(input())
# Valor inicial do restoresto = n1 % n2
# Metodo de Euclideswhile (resto != 0): n1 = n2 n2 = resto resto = n1 % n2
# Impressao do MDCprint(n2)
042
![Page 87: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/87.jpg)
Conteúdo
Estruturas de Repetição por Condição
Problemas Comuns
Repetições Aninhadas
![Page 88: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/88.jpg)
Repetições Aninhadas
Um comando while pode ser utilizado dentro de outro comando while.
Cuidados devem ser tomados para não aumentar o tempo de execução do algoritmo.
Variáveis de controle de cada laço while devem ser diferentes.
![Page 89: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/89.jpg)
Problema 13
Crie uma listagem dos valores das 52 cartas do baralho comum.
1 2
3 4
1 – 11 – 2
...1 – 111 – 121 – 13
2 – 12 – 2
...4 – 114 – 124 – 13
![Page 90: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/90.jpg)
Problema 133 – Projetar algoritmo
contadoresn Controla
os naipes 1 – 4
c Controla as cartas 1 – 13
![Page 91: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/91.jpg)
Problema 134 – Codificar em Python
# Valor inicial do contador do 1o. laco (naipes)n = 1
# Controla contagem dos naipeswhile (n <= 4): # Valor inicial do contador do 2o. laco c = 1 # Controla contagem das cartas while (c <= 13): print(n,"-",c) c = c + 1
n = n + 1
043
![Page 92: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/92.jpg)
Problema 14
Crie uma listagem dos valores das 28 peças do jogo de dominó:
0 – 00 – 10 – 20 – 30 – 40 – 5
0 – 61 – 11 – 2...5 – 66 – 6
![Page 93: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/93.jpg)
Problema 143 – Projetar algoritmo
Um laço controla a 1ª metade da peça (m1)
Um laço controla a 2ª metade da peça (m2)
![Page 94: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/94.jpg)
Problema 143 – Projetar algoritmo
Deve-se ter atenção com a condição de parada do segundo laço, pois a ordem dos números não influencia no tipo de peça:
![Page 95: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/95.jpg)
Problema 144 – Codificar em Python
# Valor inicial do contador do 1o. lacom1 = 0
# Controla 1a. metade do dominohwhile (m1 <= 6): # Valor inicial do contador do 2o. laco m2 = 0 # Controla 2a. metade do dominoh while (m2 <= m1): print(m1,"-",m2) m2 = m2 + 1 m1 = m1 + 1
044
Contador do 2º laço não é mais constante. Passa a ser o
contador do 1º laço.
![Page 96: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/96.jpg)
Problema 15:: Arte ASCII
Escreva um script para imprimir vários caracteres asterisco para formar o padrão ao lado. Três linhas de 04
asteriscos.
![Page 97: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/97.jpg)
Problema 153 – Projetar algoritmo
1. Iniciar contador de linhas2. Repetir impressão de asteriscos dispostos em
uma mesma linha3. Repetir passo 2 para cada linha
![Page 98: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/98.jpg)
Problema 154 – Codificar em Python
# Contador do 1o. lacoi = 1
while (i <= 3): # Contador do 2o. laco j = 1 while (j <= 4): print("*", end="") j = j + 1 print() i = i + 1
045
Por padrão, o comando print() do Python pula de linha ao terminar. Se
você não deseja isso, use o parâmetro end para indicar o que vocês deseja
que apareça ao fim da impressão.
![Page 99: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/99.jpg)
Problema 16:: Arte ASCII
Escreva um script para imprimir vários caracteres asterisco para formar o padrão ao lado: Quatro linhas de 3
asteriscos.
![Page 100: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/100.jpg)
Problema 163 – Projetar algoritmo
1. Iniciar contador de linhas2. Repetir impressão de asteriscos dispostos em
uma mesma linha3. Repetir passo 2 para cada linha
![Page 101: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/101.jpg)
Problema 164 – Codificar em Python
# Contador do 1o. lacoi = 1
while (i <= 4): # Contador do 2o. laco j = 1 while (j <= 3): print("*", end="") j = j + 1 print() i = i + 1
046
![Page 102: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/102.jpg)
Problema 17:: Arte ASCII
Escreva um script para imprimir vários caracteres asterisco para formar o padrão ao lado.
![Page 103: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/103.jpg)
Problema 173 – Projetar algoritmo
1. Iniciar contador de linhas i2. Para cada linha, imprimir i asteriscos3. Repetir passo 1 até atingir o número de iterações
![Page 104: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/104.jpg)
Problema 174 – Codificar em Python
# Contador do 1o. lacoi = 1fim = 4
while (i <= fim): j = 1 while (j <= i): print("*", end="") j = j + 1 print() i = i + 1
047
Contador do 2º laço não é mais constante. Passa a ser o
contador do 1º laço.
![Page 105: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/105.jpg)
Arte ASCII
Como imprimir os seguintes padrões?
*******************************************************
******************************
************** ******* ***** *** ** *** ***** ******* **************
![Page 106: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/106.jpg)
Referências bibliográficas
Menezes, Nilo Ney Coutinho (2010). Introdução à Programação com Python. Editora Novatec.
HETLAND, Magnus Lie (2008). Beginning Python: From Novice to Professional. Springer eBooks, 2ª edição. Disponível em: http://dx.doi.org/10.1007/978-1-4302-0634-7.
Horstmann, Cay & Necaise, Rance D. (2013). Python for Everyone. John Wiley & Sons.
![Page 107: IEC037 Introdução à Programação de Computadores Aula 10 – Estruturas de Repetição por Condição em Python Turma: Professor: Sala: E-mail: Página: Ambiente](https://reader035.vdocuments.net/reader035/viewer/2022081419/552fc143497959413d8dfee3/html5/thumbnails/107.jpg)
Dúvidas?