Exemplo motivador (1/3)

Documentos relacionados
Laços de repetição for, while, do-while

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: estruturas de repetição While / Do While / For

LINGUAGEM C: COMANDOS DE REPETIÇÃO

Python 3.x Estrutura de Repetição while

Estruturas de Repetição. Leonardo Murta

69) Acrescentar uma mensagem de VALOR INVÁLIDO no exercício [68], caso o segundo valor informado seja ZERO.

Estruturas Condicionais e de Repetição

Linguagem C Estruturas de Repetição

ACH5531 Introdução à Computação Estruturas de repetição

A resposta apresentada em aula, no quadro, (em Chapin e/ou Português Estruturado) está correta?

Exercícios Repetição

Lógica e Linguagem de Programação Aula 04 - Estruturas de Repetição Repetição com Teste no Final - Repita Até - GABARITO Professor: Danilo Giacobo

A resposta apresentada em aula, no quadro, (em Chapin e/ou Português Estruturado) está correta?

Estruturas de Repetição. Vanessa Braganholo

1ª LISTA DE EXERCÍCIOS

para / for (com teste numérico) enquanto / while (com teste lógico no início) repita até que / do...while (com teste lógico no fim)

UNISINOS - UNIVERSIDADE DO VALE DO RIO DOS SINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS (C6/6) Curso: Informática

Estruturas de Repetição. Vanessa Braganholo

PDA - Repetição. Estruturas de repetição. Slides adaptação de Deise Saccol

Computação 1 - Python Aula 7 - Teórica: Estrutura de Repetição com teste de parada: while 1/ 23

Computação eletrônica: Estruturas de repetição

Estrutura de decisão

Estruturas de Repetição Parte I ENQUANTO

Estruturas de Repetição. for() while() do-while() break; continue;

Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Condicionais e de Repetição

Repetição com contador. DO varcontrole = valorinicial, valorfinal, [passo] instruções END DO

Algoritmos e Programação (While Do While - Do) Prof. Me. Adelson Felipe Dias Nogueira

Introdução a programação Comandos de repetição

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA DE CIÊNCIAS E TECNOLOGIA. ECT1203 Linguagem de Programação Turma Prof.

PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95

Estruturas de Repetição Parte I ENQUANTO-FAÇA

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO MARANHÃO - CAMPUS CAXIAS. Aluno (s): 01 ATIVIDADE. Revisão de Conteúdo

Sistemas Operacionais e Introdução à Programação. Introdução à Lógica de Programação: estruturas de repetição

Estruturas de Repetição Parte I ENQUANTO-FAÇA

PROCESSAMENTO DA INFORMAÇÃO LAÇOS E REPETIÇÕES. Prof. Dr. Francisco Isidro Massetto

Universidade Federal de Ouro Preto - UFOP Departamento de Computação - DECOM Programação de Computadores I - BCC701

Python - Comandos de Repetição

AULA 2: INTRODUÇÃO A PYTHON. Luís Feliphe Silva Costa

Comandos de repetição while

ESTRUTURAS DE CONTROLE ESTRUTURAS DE REPETIÇÃO

Exercícios: Comandos de Repetição

Linguagem C++ Estruturas de controle Parte II Estruturas de repetição

Algoritmos e Programação

Linguagem C (repetição)

LINGUAGEM DE PROGRAMAÇÃO ESTRUTURADA CAPÍTULO 5 ESTRUTURAS DE REPETIÇÃO EM C#

Estruturas de Repetição WHILE e DO- WHILE

ESTRUTURAS DE REPETIÇÃO - PARTE 1

Aula 4. Comandos de Repetição. Prof. Filipe Mutz.

Parte I - Expressões lógicas e operadores

Estrutura Condicional

Estruturas de repetição

Computação 1 - Python Aula 7 - Teórica Estrutura de Repetição com Teste de Parada: while. João Carlos, Carla Delgado, Ana Luisa Duboc 1/ 18

LISTA DE ATIVIDADES ...

ESTRUTURAS DE CONTROLE ESTRUTURAS DE REPETIÇÃO

Estruturas de Repetição

Laços. - receba o dinheiro - Pergunte qual refrigerante o cliente deseja - forneça o refrigerante - devolva o troco

Lista de Exercícios Revisão conteúdo G2

Estruturas de Repetição

Lógica e Linguagem de Programação Aula 04 - Estruturas de Repetição Repetição com Teste no Início Enquanto - GABARITO Professor: Danilo Giacobo

Algoritmos e Programação

EXERCÍCIOS DE RECORDAÇÃO DE ALGORITMOS

LP II Estrutura de Dados

Lista de Exercícios Repetição Prof: Yuri Frota

Universidade Veiga de Almeida Algoritmos e Linguagem I

Estruturas de Repetição

Computação 1 - Python Aula 9 - Teórica: Interferindo no fluxo de repetição: Break e Continue Laços Aninhados

Exercícios: comandos condicionais

Algoritmos e Estruturas de Dados I

1. Uma função é um módulo (subprograma) que realiza uma tarefa específica. 3. Ao chamar uma função, passamos argumentos, no mínimo 0 e no máximo n.

INSTRUÇÕES DE REPETIÇÃO

Universidade Federal de Uberlândia Faculdade de Computação. Estruturas de repetição

Informática Aplicada I Lista: Fluxograma

Linguagem de Programação Java Terceira aula. Prof. Rogério Albuquerque de Almeida

ESTRUTURAS DE CONTROLE

EXERCÍCIOS: Estrutura Sequencial, IF (SE), ELSE (Senão)

Aula 14: Repetição (Parte 2)

Exercícios sobre repetição. 1. Escreva um método que lê via teclado 8 números e retorna a quantidade de negativos.

Programação I Aula 11 Mais sobre ciclos e iteração

Programação II. Victor Amorim dos Santos

Aula de hoje. Comandos. Comandos simples. Comandos. Comandos de controle. Bloco de comandos. SCC Introdução à Programação para Engenharias

Oficina de Introdução de Programação usando Linguagem Python Prof. Ms. Perini

1 Cada linha do triângulo é uma seqüência de fibonacci.

Computação para Informática - Prof. Adriano Joaquim de Oliveira Cruz Terceira Aula Prática - 10 de setembro de 2010

Aula 5 ESTRUTURAS DE REPETIÇÃO (WHILE)

LISTA DE EXERCÍCIOS - ro. 02

Estruturas de Controle

Introdução à Programação 2006/07. Algoritmos

Lógica e Linguagem de Programação Aula 04 - Estruturas de Repetição - GABARITO Repetição com Variável de Controle - Para Professor: Danilo Giacobo

Programação I Estruturas de Repetição

Estruturas de Repetição

MAC2166 Introdução à Computação

Working 04 : Conceitos Básicos III

Maratona de Programação

Controle de Fluxo Comandos de repetição: while e do-while

Transcrição:

Repetição

Exemplo motivador (1/3) A sensação térmica é influenciada por vários fatores climáticos, como a umidade e densidade do ar, mas principalmente pela velocidade do vento. A seguinte fórmula empírica calcula seu valor: onde T é a temperatura em graus Celsius e v é a velocidade do vento em Km/h Por exemplo, para temperatura de 5ºC e ventos de 40km/h, a sensação térmica é em torno de -9.8ºC. Faça um programa que pergunte a temperatura e a velocidade do vento ocorridas no início da manhã de um dia e mostre a sensação térmica equivalente.

Exemplo motivador (2/3) A sensação térmica é influenciada por vários fatores climáticos, como a umidade e densidade do ar, mas principalmente pela velocidade do vento. A seguinte fórmula empírica calcula seu valor: onde T é a temperatura em graus Celsius e v é a velocidade do vento em Km/h Por exemplo, para temperatura de 5ºC e ventos de 40km/h, a sensação térmica é em torno de -9.8ºC. Faça um programa que pergunte a temperatura e a velocidade do vento ocorridas no início da manhã de um dia e mostre a sensação térmica equivalente. Dados necessários? Respostas Exibidas? Como Dados Respostas?

Exemplo motivador (3/3) A sensação térmica é influenciada por vários fatores climáticos, como a umidade e densidade do ar, mas principalmente pela velocidade do vento. A seguinte fórmula empírica calcula seu valor: onde T é a temperatura em graus Celsius e v é a velocidade do vento em Km/h Por exemplo, para temperatura de 5ºC e ventos de 40km/h, a sensação térmica é em torno de -9.8ºC. Faça um programa que pergunte a temperatura e a velocidade do vento ocorridas no início da manhã de um dia e mostre a sensação térmica equivalente. Dados necessários? Temperatura e velocidade do vento Respostas Exibidas? Sensação térmica Como Dados Respostas? Fórmula no enunciado

Uma Solução para 1 horário def sensacaotermica(temp,vel): st = 33+(10*vel**0.5+10.45-vel)* ((temp-33)/22) return st temp = float(input('temperatura? ')) vel = float (input('velocidade do Vento? ')) st = sensacaotermica(temp,vel) print('sensação térmica equivalente:',st)

Problema def sensacaotermica(temp,vel): st = 33+(10*vel**0.5+10.45-vel)* ((temp-33)/22) return st temp = float(input('temperatura? ')) vel = float (input('velocidade do Vento? ')) st = sensacaotermica(temp,vel) print('sensação térmica equivalente:',st) O que deve ser feito para mostrar a sensação térmica também no início da tarde?

Uma Solução (?) para 2 horários def sensacaotermica(temp,vel): st = 33+(10*vel**0.5+10.45-vel)* ((temp-33)/22) return st temp = float(input('temperatura? ')) vel = float (input('velocidade do Vento? ')) st = sensacaotermica(temp,vel) print('sensação térmica equivalente:',st) Copy/Paste

Uma Solução (?) para 2 horários def sensacaotermica(temp,vel): st = 33+(10*vel**0.5+10.45-vel)* ((temp-33)/22) return st temp = float(input('temperatura? ')) vel = float (input('velocidade do Vento? ')) st = sensacaotermica(temp,vel) print('sensação térmica equivalente: ',st) temp = float(input('temperatura? ')) vel = float (input('velocidade do Vento? ')) st = sensacaotermica(temp,vel) print('sensação térmica equivalente: ',st)

Uma Solução (?) para 2 horários def sensacaotermica(temp,vel): st = 33+(10*vel**0.5+10.45-vel)* ((temp-33)/22) return st temp = float(input('temperatura? ')) vel = float (input('velocidade do Vento? ')) st = sensacaotermica(temp,vel) print('sensação térmica equivalente: ',st) temp = float(input('temperatura? ')) vel = float (input('velocidade do Vento? ')) st = sensacaotermica(temp,vel) print('sensação térmica equivalente: ',st) E para mostrar a sensação térmica de vários horários do dia?

Uma Solução para vários horários temp = float(input('temperatura? ')) vel = float(input('velocidade do Vento? ')) st = sensacaotermica(temp,vel) print('sensação térmica equivalente: ',st) NECESSIDADE DE REPETIR UMA SEQÜÊNCIA DE INSTRUÇÕES!

Repetição para vários horários temp = float(input('temperatura? ')) vel = float(input('velocidade do Vento? ')) st = sensacaotermica(temp,vel) print('sensação térmica equivalente: ',st) NECESSIDADE DE REPETIR UMA SEQÜÊNCIA DE INSTRUÇÕES!

Estruturas de Repetição Permitem que um bloco de instruções seja executado mais de uma vez (também chamada de loop ou laço ). Bloco de instruções Problema: Como/quando parar o ciclo formado?

Controlando os tipos de repetição Quanto a quantidade de ciclos, a repetição pode ser: Determinada: A quantidade de execuções é conhecida a priori. Nadar 50 piscinas Lotação de um elevador por número de pessoas Quando parar o ciclo formado? Ao atingir a meta determinada Como controlar? Contando número de execuções, X Indeterminada: A quantidade de execuções é desconhecida Nadar até cansar Lotação de um elevador por peso máximo Quando parar o ciclo formado? a) Por determinação do usuário b) Por determinado contexto Como controlar? a) Entrada de um valor finalizador b) Avaliação de valores das variáveis

Estrutura de repetição: while Sintaxe: while condição: i 1 i 2... i n Executa a sequência de instruções enquanto certa condição for verdadeira. Quando a condição for falsa, "pula" o bloco de instruções interno e executa o resto do programa

Estrutura de repetição: while Sintaxe: while condição: i 1 i 2... i n Instruções internas (que serão repetidas) devem estar identadas Executa a sequência de instruções enquanto certa condição for verdadeira. Quando a condição for falsa, "pula" o bloco de instruções interno e executa o resto do programa

While em Funcionamento (1/4) 1.Testa a condição. início Falsa Condição? Sequência de instruções Verdadeira fim

While em Funcionamento (2/4) 1. Testa a condição. 2. Caso a condição seja falsa, sai do ciclo. Falsa Condição? início Sequência de instruções Verdadeira fim

While em Funcionamento (3/4) 1. Testa a condição. 2. Caso a condição seja falsa, sai do ciclo. 3. Caso a condição seja verdadeira, executa todas as instruções da sequência interna. Falsa Condição? início Sequência de instruções Verdadeira fim

While em Funcionamento (4/4) 1. Testa a condição. 2. Caso a condição seja falsa, sai do ciclo. 3. Caso a condição seja verdadeira, executa todas as instruções da sequência interna. 4. Depois de executar a última instrução da sequência interna ao while, retorna para o passo 1. Falsa Condição? início Sequência de instruções Verdadeira fim

Usando while para vários horários while condição: temp = float(input('temperatura? ')) vel = float(input('velocidade do Vento? ')) st = sensacaotermica(temp,vel) print('sensação térmica equivalente: ',st)

While infinito? p/ interromper o ciclo, a condição deve se tornar falsa while???????: temp = float(input('temperatura? ')) vel = float(input('velocidade do Vento? ')) st = sensacaotermica(temp,vel) print('sensação térmica equivalente: ',st)

While e condição de parada p/ interromper o ciclo, a condição deve se tornar falsa while???????: Depende do tipo de repetição temp = float(input('temperatura? ')) vel = float(input('velocidade do Vento? ')) st = sensacaotermica(temp,vel) print('sensação térmica equivalente: ',st)

Repetição Determinada Para repetir um número pré-determinado de vezes precisa-se: CONTAR quantas vezes o bloco já foi executado variável para armazenar a contagem de execuções realizadas (contador de execuções) Qual o valor inicial? Qual o valor final? Qual o incremento cada vez que a repetição é executada?

Repetição Determinada: contador de repetições 1. Valor inicial: Atribuído ANTES do laço 2. Valor final (meta): Utilizado na condição do laço. Uma condição mal construída leva a um loop infinito 3. Incremento: Determina a variação do contador, do valor inicial até o valor final.

Uma Solução: 5 horários diários Contador de repetições: jafiz Qual o valor inicial? 0 Qual o valor final (meta)? 5 Qual o incremento cada vez que a repetição é executada? +1

Código Python: 5 horários diários jafiz = 0 while jafiz < 5: temp = float(input('temperatura? ')) vel = float(input('velocidade do Vento? ')) st = sensacaotermica(temp,vel) print('sensação térmica equivalente: ',st) jafiz = jafiz +1

Chinês É uma simulação da execução de código, linha a linha, acompanhando os valores das variáveis. Útil para depurar e compreender o quê o código faz. Para rastrear um programa deve-se: escrever os nomes das variáveis seguir uma a uma as instruções atualizar e observar as variáveis

Chinês: 3 horários diários (1/22) jafiz temp vel st jafiz = 0 while jafiz < 3: temp=float(input('temp? ')) vel=float(input('vento?')) st=sensacaotermica(temp,vel) print('sensação térmica:',st) jafiz = jafiz +1

Chinês: 3 horários diários (2/22) jafiz = 0 while jafiz < 3: temp=float(input('temp? ')) vel=float(input('vento?')) jafiz temp vel st 0 0 5 0 5 30 0 5 30-11.8 st=sensacaotermica(temp,vel) print('sensação térmica:',st) jafiz = jafiz +1

Chinês: 3 horários diários (3/22) jafiz = 0 while jafiz < 3: temp=float(input('temp? ')) vel=float(input('vento?')) jafiz temp vel st 0 0 5 0 5 30 0 5 30-11.8 st=sensacaotermica(temp,vel) print('sensação térmica:',st) jafiz = jafiz +1

Chinês: 3 horários diários (4/22) jafiz = 0 while jafiz < 3: temp=float(input('temp? ')) vel=float(input('vento?')) jafiz temp vel st 0 0 5 0 5 30 0 5 30-11.8 st=sensacaotermica(temp,vel) print('sensação térmica:',st) jafiz = jafiz +1

Chinês: 3 horários diários (5/22) jafiz = 0 while jafiz < 3: temp=float(input('temp? ')) vel=float(input('vento?')) jafiz temp vel st 0 0 5 0 5 30 0 5 30-11.8 st=sensacaotermica(temp,vel) print('sensação térmica:',st) jafiz = jafiz +1

Chinês: 3 horários diários (6/22) jafiz = 0 while jafiz < 3: temp=float(input('temp? ')) vel=float(input('vento?')) jafiz temp vel st 0 0 5 0 5 30 0 5 30-11.8 st=sensacaotermica(temp,vel) print('sensação térmica:',st) jafiz = jafiz +1

Chinês: 3 horários diários (7/22) jafiz temp vel st 0 0 5 jafiz = 0 while jafiz < 3: temp=float(input('temp? ')) vel=float(input('vento?')) 0 5 30 0 5 30-11.8 st=sensacaotermica(temp,vel) print('sensação térmica:',st) jafiz = jafiz +1

Chinês: 3 horários diários (8/22) jafiz temp vel st 0 0 5 jafiz = 0 while jafiz < 3: temp=float(input('temp? ')) vel=float(input('vento?')) 0 5 30 0 5 30-11.8 1 5 30-11.8 st=sensacaotermica(temp,vel) print('sensação térmica:',st) jafiz = jafiz +1

Chinês: 3 horários diários (9/22) jafiz temp vel st 0 0 5 jafiz = 0 while jafiz < 3: temp=float(input('temp? ')) vel=float(input('vento?')) 0 5 30 0 5 30-11.8 1 5 30-11.8 st=sensacaotermica(temp,vel) print('sensação térmica:',st) jafiz = jafiz +1

Chinês: 3 horários diários (10/22) jafiz temp vel st 0 0 5 jafiz = 0 while jafiz < 3: temp=float(input('temp? ')) vel=float(input('vento?')) 0 5 30 0 5 30-11.8 1 5 30-11.8 1 3 30-11.8 st=sensacaotermica(temp,vel) print('sensação térmica:',st) jafiz = jafiz +1

Chinês: 3 horários diários (11/22) jafiz temp vel st 0 0 5 jafiz = 0 while jafiz < 3: temp=float(input('temp? ')) vel=float(input('vento?')) st=sensacaotermica(temp,vel) print('sensação térmica:',st) jafiz = jafiz +1 0 5 30 0 5 30-11.8 1 5 30-11.8 1 3 30-11.8 1 3 1-11.8

Chinês: 3 horários diários (12/22) jafiz temp vel st 0 0 5 jafiz = 0 while jafiz < 3: temp=float(input('temp? ')) vel=float(input('vento?')) st=sensacaotermica(temp,vel) print('sensação térmica:',st) jafiz = jafiz +1 0 5 30 0 5 30-11.8 1 5 30-11.8 1 3 30-11.8 1 3 1 6.5

Chinês: 3 horários diários (13/22) jafiz temp vel st 0 0 5 jafiz = 0 while jafiz < 3: temp=float(input('temp? ')) vel=float(input('vento?')) st=sensacaotermica(temp,vel) print('sensação térmica:',st) jafiz = jafiz +1 0 5 30 0 5 30-11.8 1 5 30-11.8 1 3 30-11.8 1 3 1 6.5

Chinês: 3 horários diários (14/22) jafiz temp vel st 0 0 5 jafiz = 0 while jafiz < 3: temp=float(input('temp? ')) vel=float(input('vento?')) st=sensacaotermica(temp,vel) print('sensação térmica:',st) jafiz = jafiz +1 0 5 30 0 5 30-11.8 1 5 30-11.8 1 3 30-11.8 1 3 1 6.5 2 3 1 6.5

Chinês: 3 horários diários (15/22) jafiz temp vel st 0 0 5 jafiz = 0 while jafiz < 3: temp=float(input('temp? ')) vel=float(input('vento?')) st=sensacaotermica(temp,vel) print('sensação térmica:',st) jafiz = jafiz +1 0 5 30 0 5 30-11.8 1 5 30-11.8 1 3 30-11.8 1 3 1 6.5 2 3 1 6.5

Chinês: 3 horários diários (16/22) jafiz temp vel st 0 0 5 jafiz = 0 while jafiz < 3: temp=float(input('temp? ')) vel=float(input('vento?')) st=sensacaotermica(temp,vel) print('sensação térmica:',st) jafiz = jafiz +1 0 5 30 0 5 30-11.8 1 5 30-11.8 1 3 30-11.8 1 3 1 6.5 2 3 1 6.5 2 40 1 6.5

Chinês: 3 horários diários (17/22) jafiz temp vel st 0 0 5 jafiz = 0 while jafiz < 3: temp=float(input('temp? ')) vel=float(input('vento?')) st=sensacaotermica(temp,vel) print('sensação térmica:',st) jafiz = jafiz +1 0 5 30 0 5 30-11.8 1 5 30-11.8 1 3 30-11.8 1 3 1 6.5 2 3 1 6.5 2 40 1 6.5 2 40 20 6.5

Chinês: 3 horários diários (18/22) jafiz temp vel st 0 0 5 jafiz = 0 while jafiz < 3: temp=float(input('temp? ')) vel=float(input('vento?')) st=sensacaotermica(temp,vel) print('sensação térmica:',st) jafiz = jafiz +1 0 5 30 0 5 30-11.8 1 5 30-11.8 1 3 30-11.8 1 3 1 6.5 2 3 1 6.5 2 40 1 6.5 2 40 20 6.5 2 40 20 44.19

Chinês: 3 horários diários (19/22) jafiz temp vel st 0 0 5 jafiz = 0 while jafiz < 3: temp=float(input('temp? ')) vel=float(input('vento?')) st=sensacaotermica(temp,vel) print('sensação térmica:',st) jafiz = jafiz +1 0 5 30 0 5 30-11.8 1 5 30-11.8 1 3 30-11.8 1 3 1 6.5 2 3 1 6.5 2 40 1 6.5 2 40 20 6.5 2 40 20 44.19

Chinês: 3 horários diários (20/22) jafiz temp vel st 0 0 5 jafiz = 0 while jafiz < 3: temp=float(input('temp? ')) vel=float(input('vento?')) st=sensacaotermica(temp,vel) print('sensação térmica:',st) jafiz = jafiz +1 0 5 30 0 5 30-11.8 1 5 30-11.8 1 3 30-11.8 1 3 1 6.5 2 3 1 6.5 2 40 1 6.5 2 40 20 6.5 2 40 20 44.19 3 40 20 44.19

Chinês: 3 horários diários (21/22) jafiz temp vel st 0 0 5 jafiz = 0 while jafiz < 3: temp=float(input('temp? ')) vel=float(input('vento?')) st=sensacaotermica(temp,vel) print('sensação térmica:',st) jafiz = jafiz +1 0 5 30 0 5 30-11.8 1 5 30-11.8 1 3 30-11.8 1 3 1 6.5 2 3 1 6.5 2 40 1 6.5 2 40 20 6.5 2 40 20 44.19 3 40 20 44.19

Chinês: 3 horários diários (22/22) jafiz temp vel st 0 0 5 jafiz = 0 while jafiz < 3: temp=float(input('temp? ')) vel=float(input('vento?')) st=sensacaotermica(temp,vel) print('sensação térmica:',st) jafiz = jafiz +1 0 5 30 0 5 30-11.8 1 5 30-11.8 1 3 30-11.8 1 3 1 6.5 2 3 1 6.5 2 40 1 6.5 2 40 20 6.5 2 40 20 44.19 3 40 20 44.19

3 horários diários: solução #2 E agora, o que acontece? jafiz = 0 while jafiz < 3: temp=float(input('temp? ')) vel=float(input('vento?')) st=sensacaotermica(temp,vel) print('sensação térmica:',st)

Chinês solução #2 (1/10) jafiz temp vel st 0 jafiz = 0 while jafiz < 3: temp=float(input('temp? ')) vel=float(input('vento?')) st=sensacaotermica(temp,vel) print('sensação térmica:',st)...

Chinês solução #2 (2/10) jafiz = 0 while jafiz < 3: temp=float(input('temp? ')) vel=float(input('vento?')) st=sensacaotermica(temp,vel) print('sensação térmica:',st) jafiz temp vel st 0 0...

Chinês solução #2 (3/10) jafiz = 0 while jafiz < 3: temp=float(input('temp? ')) vel=float(input('vento?')) st=sensacaotermica(temp,vel) print('sensação térmica:',st) jafiz temp vel st 0 0 5 30-11.8...

Chinês solução #2 (4/10) jafiz temp vel st 0 0 5 30-11.8 jafiz = 0 while jafiz < 3: temp=float(input('temp? ')) vel=float(input('vento?')) 0 5 30-11.8 st=sensacaotermica(temp,vel) print('sensação térmica:',st)...

Chinês solução #2 (5/10) jafiz temp vel st 0 0 5 30-11.8 jafiz = 0 while jafiz < 3: temp=float(input('temp? ')) vel=float(input('vento?')) 0 5 30-11.8 0 3 1 6.5 st=sensacaotermica(temp,vel) print('sensação térmica:',st)...

Chinês solução #2 (6/10) jafiz temp vel st 0 0 5 30-11.8 jafiz = 0 while jafiz < 3: temp=float(input('temp? ')) vel=float(input('vento?')) 0 5 30-11.8 0 3 1 6.5 0 3 1 6.5 st=sensacaotermica(temp,vel) print('sensação térmica:',st)...

Chinês solução #2 (7/10) jafiz temp vel st 0 0 5 30-11.8 jafiz = 0 while jafiz < 3: temp=float(input('temp? ')) vel=float(input('vento?')) st=sensacaotermica(temp,vel) print('sensação térmica:',st) 0 5 30-11.8 0 3 30-11.8 0 5 30-11.8 0 40 20 44.19...

Chinês solução #2 (8/10) jafiz temp vel st 0 0 5 30-11.8 jafiz = 0 while jafiz < 3: temp=float(input('temp? ')) vel=float(input('vento?')) st=sensacaotermica(temp,vel) print('sensação térmica:',st) 0 5 30-11.8 0 3 1 6.5 0 3 1 6.5 0 40 20 44.19 0 40 20 44.19...

Chinês solução #2 (9/10) jafiz temp vel st 0 0 5 30-11.8 jafiz = 0 while jafiz < 3: temp=float(input('temp? ')) vel=float(input('vento?')) st=sensacaotermica(temp,vel) print('sensação térmica:',st) 0 5 30-11.8 0 3 1 6.5 0 3 1 6.5 0 40 20 44.19 0 40 20 44.19 0 25 30 20.19...

Chinês solução #2 (10/10) jafiz temp vel st 0 0 5 30-11.8 jafiz = 0 while jafiz < 3: temp=float(input('temp? ')) vel=float(input('vento?')) st=sensacaotermica(temp,vel) print('sensação térmica:',st) 0 5 30-11.8 0 3 1 6.5 0 3 1 6.5 0 40 20 44.19 0 40 20 44.19 0 25 30 20.19 0 25 30 20.19... loop infinito!!!.

3 horários diários: solução #3 Tentativa de corrigir a solução #2 para interromper repetição! jafiz = 0 while jafiz < 3: temp=float(input('temp? ')) vel=float(input('vento?')) st=sensacaotermica(temp,vel) print('sensação térmica:',st) jafiz = jafiz - 1

Chinês solução #3 (1/14) jafiz temp vel st 0 jafiz = 0 while jafiz < 3: temp=float(input('temp? ')) vel=float(input('vento?')) st=sensacaotermica(temp,vel) print('sensação térmica:',st) jafiz = jafiz - 1...

Chinês solução #3 (2/14) jafiz = 0 while jafiz < 3: temp=float(input('temp? ')) vel=float(input('vento?')) st=sensacaotermica(temp,vel) print('sensação térmica:',st) jafiz = jafiz - 1 jafiz temp vel st 0 0...

Chinês solução #3 (3/14) jafiz = 0 while jafiz < 3: temp=float(input('temp? ')) vel=float(input('vento?')) st=sensacaotermica(temp,vel) print('sensação térmica:',st) jafiz = jafiz - 1 jafiz temp vel st 0 0 5 30-11.8...

Chinês solução #3 (4/14) jafiz temp vel st 0 0 5 30-11.8 jafiz = 0 while jafiz < 3: temp=float(input('temp? ')) vel=float(input('vento?')) -1 5 30-11.8 st=sensacaotermica(temp,vel) print('sensação térmica:',st) jafiz = jafiz - 1...

Chinês solução #3 (5/14) jafiz temp vel st 0 0 5 30-11.8 jafiz = 0 while jafiz < 3: temp=float(input('temp? ')) vel=float(input('vento?')) -1 5 30-11.8 st=sensacaotermica(temp,vel) print('sensação térmica:',st) jafiz = jafiz - 1...

Chinês solução #3 (6/14) jafiz temp vel st 0 0 5 30-11.8 jafiz = 0 while jafiz < 3: temp=float(input('temp? ')) vel=float(input('vento?')) -1 5 30-11.8-1 3 1 6.5 st=sensacaotermica(temp,vel) print('sensação térmica:',st) jafiz = jafiz - 1...

Chinês solução #3 (7/14) jafiz temp vel st 0 0 5 30-11.8 jafiz = 0 while jafiz < 3: temp=float(input('temp? ')) vel=float(input('vento?')) -1 5 30-11.8-1 3 1 6.5-2 3 1 6.5 st=sensacaotermica(temp,vel) print('sensação térmica:',st) jafiz = jafiz - 1...

Chinês solução #3 (8/14) jafiz temp vel st 0 0 5 30-11.8 jafiz = 0 while jafiz < 3: temp=float(input('temp? ')) vel=float(input('vento?')) -1 5 30-11.8-1 3 1 6.5-2 3 1 6.5 st=sensacaotermica(temp,vel) print('sensação térmica:',st) jafiz = jafiz - 1...

Chinês solução #3 (9/14) jafiz temp vel st 0 0 5 30-11.8 jafiz = 0 while jafiz < 3: temp=float(input('temp? ')) vel=float(input('vento?')) st=sensacaotermica(temp,vel) print('sensação térmica:',st) jafiz = jafiz - 1-1 5 30-11.8-1 3 1 6.5-2 3 1 6.5-2 40 20 44.19...

Chinês solução #3 (10/14) jafiz temp vel st 0 0 5 30-11.8 jafiz = 0 while jafiz < 3: temp=float(input('temp? ')) vel=float(input('vento?')) st=sensacaotermica(temp,vel) print('sensação térmica:',st) jafiz = jafiz - 1-1 5 30-11.8-1 3 1 6.5-2 3 1 6.5-2 40 20 44.19-3 40 20 44.19...

Chinês solução #3 (11/14) jafiz temp vel st 0 0 5 30-11.8 jafiz = 0 while jafiz < 3: temp=float(input('temp? ')) vel=float(input('vento?')) st=sensacaotermica(temp,vel) print('sensação térmica:',st) jafiz = jafiz - 1-1 5 30-11.8-1 3 1 6.5-2 3 1 6.5-2 40 20 44.19-3 40 20 44.19...

Chinês solução #3 (12/14) jafiz temp vel st 0 0 5 30-11.8 jafiz = 0 while jafiz < 3: temp=float(input('temp? ')) vel=float(input('vento?')) st=sensacaotermica(temp,vel) print('sensação térmica:',st) jafiz = jafiz - 1-1 5 30-11.8-1 3 1 6.5-2 3 1 6.5-2 40 20 44.19-3 40 20 44.19-3 25 30 20.19...

Chinês solução #3 (13/14) jafiz temp vel st 0 0 5 30-11.8 jafiz = 0 while jafiz < 3: temp=float(input('temp? ')) vel=float(input('vento?')) st=sensacaotermica(temp,vel) print('sensação térmica:',st) jafiz = jafiz - 1-1 5 30-11.8-1 3 1 6.5-2 3 1 6.5-2 40 20 44.19-3 40 20 44.19-3 25 30 20.19-4 25 30 20.19

Chinês solução #3 (14/14) jafiz temp vel st 0 0 5 30-11.8 jafiz = 0 while jafiz < 3: temp=float(input('temp? ')) vel=float(input('vento?')) st=sensacaotermica(temp,vel) print('sensação térmica:',st) jafiz = jafiz - 1 loop infinito de novo!!!. -1 5 30-11.8-1 3 1 6.5-2 3 1 6.5-2 40 20 44.19-3 40 20 44.19-3 25 30 20.19-4 25 30 20.19-4 25 30 20.19...

Problema #1 O que muda se houvesse 1 medição por hora diariamente? jafiz = 0 while jafiz < 5: temp = float(input('temperatura? ')) vel = float(input('velocidade do Vento? ')) st = sensacaotermica(temp,vel) print('sensação térmica equivalente: ',st) jafiz = jafiz +1

Repetição Determinada Constante jafiz = 0 while jafiz < 24: temp = float(input('temperatura? ')) vel = float(input('velocidade do Vento? ')) st = sensacaotermica(temp,vel) print('sensação térmica equivalente: ',st) jafiz = jafiz +1

Problema #2 jafiz = 0 while jafiz < 24: E se a quantidade de medições dependesse do dia e o usuário sabe qual é? temp = float(input('temperatura? ')) vel = float(input('velocidade do Vento? ')) st = sensacaotermica(temp,vel) print('sensação térmica equivalente: ',st) jafiz = jafiz +1

Repetição Determinada não constante jafiz = 0 while jafiz < n: Valor variável fornecido pelo usuário temp = float(input('temperatura? ')) vel = float(input('velocidade do Vento? ')) st = sensacaotermica(temp,vel) print('sensação térmica equivalente: ',st) jafiz = jafiz +1

Uma Solução para n (informado) medições n = int(input('quantas medições foram realizadas?')) jafiz = 0 while jafiz < n: temp = float(input('temperatura? ')) vel = float(input('velocidade do Vento? ')) st = sensacaotermica(temp,vel) print('sensação térmica equivalente: ',st) jafiz = jafiz +1

Mãos na massa: doses de água! Um professor, sabendo que a dose diária de água é individual, resolveu calcular a quantidade mínima de litros de água que deve ser ingerida por cada um dos seus n (lido) alunos de uma turma. Esta medida é calculada por: litros de água/dia = 35ml de água * peso corporal/1000 Faça um programa que inicialmente obtenha a quantidade de alunos da turma (n). A seguir, para cada um dos alunos, obtenha o peso e mostre a quantidade mínima de litros que o aluno deve consumir. Exemplo: Entrada Saída Quantos alunos?3 Peso do aluno 1: 75 Aluno 1 - Peso: 75.00 - Litros de água: 2.62 Peso do aluno 2: 50 Aluno 2 - Peso: 50.00 - Litros de água: 1.75 Peso do aluno 3: 90 Aluno 3 - Peso: 90.00 - Litros de água: 3.15

Desenvolvendo doses de água Um professor, sabendo que a dose diária de água é individual, resolveu calcular a quantidade mínima de litros de água que deve ser ingerida por cada um dos seus n (lido) alunos de uma turma. Esta medida é calculada por: litros de água/dia = 35ml de água * peso corporal/1000 Faça um programa que inicialmente obtenha a quantidade de alunos da turma (n). A seguir, para cada um dos alunos, obtenha o peso e mostre a quantidade mínima de litros que o aluno deve consumir. Dados: nº de alunos (n) Dados 1aluno : peso n vezes Respostas 1aluno : litros de água

Doses de água: uma Solução def AguaIndiv(peso): return peso*35/1000 n=int(input("quantos alunos?")) jafiz=0 while jafiz < n: peso = float(input("peso do aluno " + str(jafiz+1))) lagua = AguaIndiv(peso) print('aluno %d-peso:%6.2f-litros de água:%6.2f' %(jafiz+1,peso,lagua)) jafiz=jafiz+1

Questionamentos possíveis 1. Quantos alunos devem ingerir mais de 2l ou menos de 2l ou exatamente 2l? 2. Qual a quantidade total de litros de água será consumida pela turma? 3. Qual a média consumida por aluno? 4. Qual a maior/menor quantidade consumida individualmente? De qual aluno ou quantos alunos a consomem?

Questionamento 1 Quantos alunos devem consumir mais que 2l? Contador de alunos com quantidade superior a 2l: qtsup2l Qual o valor inicial? Qual o valor final? Incremento? Quando incrementar o contador? Quando exibir?

Solução do questionamento 1 Quantos alunos devem consumir mais que 2l? Contador de alunos com quantidade superior a 2l: qtsup2l Qual o valor inicial? 0 Qual o valor final? Calculado pelo programa Incremento? +1 Quando incrementar o contador? Quando litros calculados > 2 Quando exibir? Após processar toda a turma

Questionamento 1: python def AguaIndiv(peso): return peso*35/1000 n=int(input("quantos alunos?")) qtsup2l=0 jafiz=0 while jafiz < n: peso = float(input("peso do aluno " + str(jafiz+1))) lagua = AguaIndiv(peso) if lagua>2: qtsup2l=qtsup2l+1 print('aluno %d-peso:%6.2f-litros de água:%6.2f' %(jafiz+1,peso,lagua)) jafiz=jafiz+1 print(qtsup2l,'alunos devem ingerir diariamente mais de 2l')

Questionamento 2 Total de litros consumidos pela turma? Total de litros consumidos pela turma = litros de cada aluno Variável para armazenar de litros de cada aluno Acumulador de litros: totlit Qual o valor inicial? Qual o valor final? Valor a somar? Quando atualizar o acumulador? Quando exibir?

Solução do questionamento 2 Total de litros consumidos pela turma? Total de litros consumidos pela turma = litros de cada aluno Variável para armazenar de litros de cada aluno Acumulador de litros: totlit Qual o valor inicial? 0 Qual o valor final? Calculado pelo programa Valor a somar? +litros do aluno Quando atualizar o acumulador? Em cada repetição Quando exibir? Após processar toda a turma

Questionamento 2: Python def AguaIndiv(peso): return peso*35/1000 n=int(input("quantos alunos?")) qtsup2l=0 totlit=0 jafiz=0 while jafiz < n: peso = float(input("peso do aluno " + str(jafiz+1))) lagua = AguaIndiv(peso) if lagua>2: qtsup2l=qtsup2l+1 totlit+=lagua print('aluno %d-peso:%6.2f-litros de água:%6.2f' %(jafiz+1,peso,lagua)) jafiz=jafiz+1 print(qtsup2l,'alunos devem ingerir diariamente mais de 2l') print('consumo total da turma: ',totlit)

Questionamento 3 Qual o consumo médio por aluno? Consumo médio = litros por aluno / nº de alunos Quando calcular e exibir?

Solução do questionamento 3 Qual o consumo médio por aluno? Consumo médio = litros por aluno / nº de alunos Quando calcular e exibir? Após processar toda a turma

Questionamento 3: Python def AguaIndiv(peso): return peso*35/1000 n=int(input("quantos alunos?")) qtsup2l=0 totlit=0 jafiz=0 while jafiz < n: peso = float(input("peso do aluno " + str(jafiz+1))) lagua = AguaIndiv(peso) if lagua>2: qtsup2l=qtsup2l+1 totlit+=lagua print('aluno %d-peso:%6.2f-litros de água:%6.2f' %(jafiz+1,peso,lagua)) jafiz=jafiz+1 print(qtsup2l,'alunos devem ingerir diariamente mais de 2l') print('consumo total da turma: ',totlit) print('consumo médio por aluno: ',totlit/n)

N turmas com M alunos? def AguaIndiv(peso): return peso*35/1000 n=int(input("quantos alunos?")) qtsup2l=0 totlit=0 jafiz=0 while jafiz < n: Como processar as 5 turmas do professor com quantidade diferente de alunos? peso = float(input("peso do aluno " + str(jafiz+1))) lagua = AguaIndiv(peso) if lagua>2: qtsup2l=qtsup2l+1 totlit+=lagua print('aluno %d-peso:%6.2f-litros de água:%6.2f' %(jafiz+1,peso,lagua)) jafiz=jafiz+1 print(qtsup2l,'alunos devem ingerir diariamente mais de 2l') print('consumo total da turma: ',totlit) print('consumo médio por aluno: ',totlit/n)

1 turma com M alunos! 5 X n=int(input("quantos alunos?")) qtsup2l=0 totlit=0 jafiz=0 maiorqt = -1 while jafiz < n: peso = float(input("peso aluno " + str(jafiz+1))) lagua = AguaIndiv(peso) if lagua>2: qtsup2l=qtsup2l+1 1 turma if lagua>maiorqt: maiorqt=lagua totlit+=lagua print('aluno %d-peso:%6.2f-litros de água:%6.2f' %(jafiz+1,peso,lagua)) jafiz=jafiz+1 print(qtsup2l,'alunos devem ingerir + de 2l/dia') print('consumo total da turma: ',totlit) print('consumo médio por aluno: ',totlit/n) print('maior consumo individual', maiorqt)

Repetições Aninhadas Uma estrutura de repetição pode ser utilizada dentro de outra estrutura de repetição Cada laço while têm sua própria variável de controle

Ideia: N turmas com M alunos Processando 5 turmas Contador de repetições de turmas: nturmas Qual o valor inicial? Qual o valor final (meta)? Qual o incremento cada vez que a repetição é executada?

Resolvendo com 5 turmas Processando 5 turmas Contador de repetições de turmas: nturmas Qual o valor inicial? 0 Qual o valor final (meta)? 5 Qual o incremento cada vez que a repetição é executada? +1

Uma Solução para 1 turma def procturma(n): qtsup2l=0 totlit=0 jafiz=0 while jafiz < n: peso = float(input("peso do aluno " + str(jafiz+1))) lagua = AguaIndiv(peso) if lagua>2: qtsup2l=qtsup2l+1 totlit+=lagua print('aluno %d-peso:%6.2f-litros de água:%6.2f' %(jafiz+1,peso,lagua)) jafiz=jafiz+1 print(qtsup2l, 'alunos devem ingerir + de 2l/dia') print('consumo total da turma: ',totlit) print('consumo médio por aluno: ',totlit/n) return

Uma Solução para 5 turmas nturmas = 0 while(nturmas<5): print('\nturma ',nturmas+1) n=int(input("quantos alunos?")) procturma(n) nturmas=nturmas+1 DESAFIO: Exibir no final o total de litros consumido pelas 5 turmas

Qual a maior quantidade consumida individualmente? Há problemas que solicitam como saída o melhor, o maior, o mais, o menor, o pior, o menor, o menos... A solução deve "separar" o valor calculado mais adequado de acordo com um critério Variável para armazenar a maior quantidade consumida Qual o valor inicial? Qual o valor final? Quando atualizar o acumulador? Quando exibir?

Uma Solução em Python def procturma(n): qtsup2l=0 totlit=0 jafiz=0 maiorqt = -1 while jafiz < n: peso = float(input("peso do aluno " + str(jafiz+1))) lagua = AguaIndiv(peso) if lagua>2: qtsup2l=qtsup2l+1 if lagua>maiorqt: maiorqt=lagua totlit+=lagua print('aluno %d-peso:%6.2f-litros de água:%6.2f' %(jafiz+1,peso,lagua)) jafiz=jafiz+1 print(qtsup2l,'alunos devem ingerir + de 2l/dia') print('consumo total da turma: ',totlit) print('consumo médio por aluno: ',totlit/n) print('maior consumo individual', maiorqt)

Exercícios com Repetições (1/3) 1. Faça um programa que receba para cada uma das n (fornecidos pelo usuário) partidas de uma rodada do campeonato municipal de futebol, o nome e o número de gols feitos por um dos times e o nome e o número de gols feitos pelo outro time da partida, mostrando, para cada partida, o nome do time vencedor ou a mensagem "empate". No final seu programa exibir a quantidade de jogos empatados, o total de gols e a quantidade média de gols por partida e o jogo (time1 x time2) com maior quantidade de gols 2. Crie uma função que recebe uma string e troque n vezes um caractere sorteado por '*'. n = metade de seu comprimento. Utilize a função randint() para sortear a posição do caractere a ser alterado. Exemplos: abacate n=3 supondo 4,1,2 sorteados a**c*te abacate n=3 supondo 2,1,2 sorteados a**cate DESAFIO: caso o mesmo caractere seja sorteado, não contabilize como uma nova alteração

Exercícios com Repetições (2/3) 3. Com o slogan "dinheiro puxa dinheiro" uma financeira realiza a seguinte promoção: A taxa de juros cresce 0,2% a cada 3 meses e 2% a cada 12 meses Sempre que o valor aplicado for múltiplo de 13, há um prêmio, incorporado à aplicação, de 1000,00 Faça uma função que receba o valor inicial aplicado, a taxa de juros inicial e a quantidade de meses a aplicar, mostrando, mês a mês, a taxa de juros utilizada e o montante reajustado. Caso ocorra a incorporação do prêmio, deve ser enviado uma mensagem.

Exercícios com Repetições (3/3) 4. O número 3025 possui a seguinte característica: 30 + 25 = 55 e 55 2 = 3025. Faça uma função para mostrar todos os números de 4 algarismos com a mesma característica do número 3025. 5. Faça uma função que receba dois números (entre 10 e 99) e exiba na tela todos os números (inteiros e positivos) tais que: Não terminem em zero; Se o dígito da direita for removido, o número restante é divisor do número original. Exemplos: 39: 3 é divisor de 39 48: 4 é divisor de 48 N X N!

Exercício da Tabuada 1. Crie a função Tabuada que recebe um número e exibe a tabuada deste número de 1 a 10 Exemplo: numero recebido 5: 1 x 5 = 5 2 x 5 = 10 3 x 5 = 15 4 x 5 = 20 5 x 5 = 25 6 x 5 = 30 7 x 5 = 35 8 x 5 = 40 9 x 5 = 45 10 x 5 = 50 2. Faça um programa que mostra na tela as tabuadas de todos os números entre 1 a 10.

Tabuada: uma Solução def tabuada(n): mult=1 while mult<=10: print('\t%2d x %2d = %d'%(mult,n,mult*n)) mult=mult+1 return num=1 While num<=10: print('\n Tabuada do ',num) tabuada(num) num=num+1

Tabuada: números do usuário? def tabuada(n): mult=1 while mult<=10: print('\t%2d x %2d = %d'%(mult,n,mult*n)) mult=mult+1 return num=1 while num<=10: print('\n Tabuada do ',num) tabuada(num) num=num+1 Como modificar o programa para exibir a tabuada de números escolhidos pelo usuário?

Repetição indeterminada Como exibir a tabuada de números escolhidos pelo usuário? while o usuário quiser : num = int(input('número? ') print('\n Tabuada do ',num) tabuada(num) COMO PARAR?

Repetição indeterminada: parada? O usuário deve "dizer" ao programa quando parar!!! Como? introduzindo um valor (via entrada de dados) Qual valor? um valor pré-estabelecido, reconhecido pelo código do programa como sinalizador do fim (flag) Faça um programa que mostra na tela a tabuada de números fornecidos pelo usuário. O término da entrada de dados ocorre quando o usuário digitar 0 como valor do número

Ideia da Solução Faça um programa que mostra na tela a tabuada de números fornecidos pelo usuário. O término da entrada de dados ocorre quando o usuário digitar 0 como valor do número while num!= 0 o usuário quiser: Bloco de Comandos print('\n Tabuada do ',num) tabuada(num)

Desenvolvendo a Solução Faça um programa que mostra na tela a tabuada de números fornecidos pelo usuário. O término da entrada de dados ocorre quando o usuário digitar 0 como valor do número Preenchido pelo usuário while num!= 0 o usuário quiser: Bloco de Comandos print('\n Tabuada do ',num) tabuada(num)

Rascunho da Solução em Python Faça um programa que mostra na tela a tabuada de números fornecidos pelo usuário. O término da entrada de dados ocorre quando o usuário digitar 0 como valor do número num = int(input('número? ')#obtém 1º número while num!= 0: print('\n Tabuada do ',num) tabuada(num)

Solução em Python: números? Faça um programa que mostra na tela a tabuada de números fornecidos pelo usuário. O término da entrada de dados ocorre quando o usuário digitar 0 como valor do número num = int(input('número? ')#obtém 1º número while num!= 0: print('\n Tabuada do ',num) tabuada(num) e o próximo número?

Números fora e dentro da repetição Faça um programa que mostra na tela a tabuada de números fornecidos pelo usuário. O término da entrada de dados ocorre quando o usuário digitar 0 como valor do número num = int(input('número? ')#obtém 1º número while num!= 0: print('\n Tabuada do ',num) tabuada(num) num = int(input('número? ') #obtém próx

Chinês da tabuada (1/12) num num = int(input('número? ') #1º while num!= 0: print('\n Tabuada do ',num) tabuada(num) num = int(input('número? ') #próximos

Chinês da tabuada (2/12) num 6 num = int(input('número? ') #1º while num!= 0: print('\n Tabuada do ',num) tabuada(num) num = int(input('número? ') #próximos

Chinês da tabuada (3/12) num 6 num = int(input('número? ') #1º while num!= 0: print('\n Tabuada do ',num) tabuada(num) num = int(input('número? ') #próximos

Chinês da tabuada (4/12) num 6 num = int(input('número? ') #1º while num!= 0: print('\n Tabuada do ',num) tabuada(num) num = int(input('número? ') #próximos

Chinês da tabuada (5/12) num 6 num = int(input('número? ') #1º while num!= 0: print('\n Tabuada do ',num) tabuada(num) num = int(input('número? ') #próximos

Chinês da tabuada (6/12) num 6 2 num = int(input('número? ') #1º while num!= 0: print('\n Tabuada do ',num) tabuada(num) num = int(input('número? ') #próximos

Chinês da tabuada (7/12) num 6 2 num = int(input('número? ') #1º while num!= 0: print('\n Tabuada do ',num) tabuada(num) num = int(input('número? ') #próximos

Chinês da tabuada (8/12) num 6 2 num = int(input('número? ') #1º while num!= 0: print('\n Tabuada do ',num) tabuada(num) num = int(input('número? ') #próximos

Chinês da tabuada (9/12) num 6 2 num = int(input('número? ') #1º while num!= 0: print('\n Tabuada do ',num) tabuada(num) num = int(input('número? ') #próximos

Chinês da tabuada (10/12) num 6 2 0 num = int(input('número? ') #1º while num!= 0: print('\n Tabuada do ',num) tabuada(num) num = int(input('número? ') #próximos

Chinês da tabuada (11/12) num 6 2 0 num = int(input('número? ') #1º while num!= 0: print('\n Tabuada do ',num) tabuada(num) num = int(input('número? ') #próximos

Chinês da tabuada (12/12) num 6 2 0 num = int(input('número? ') #1º while num!= 0: print('\n Tabuada do ',num) tabuada(num) num = int(input('número? ') #próximos

Tabuada: erros possíveis (1/12) while num!= 0: print('\n Tabuada do ',num) tabuada(num) num = int(input('número? ') #próximos NameError: name 'num' is not defined

Tabuada: erros possíveis (2/12) num 6 num = int(input('número? ') #1º while num!= 0: print('\n Tabuada do ',num) tabuada(num)

Tabuada: erros possíveis (3/12) num 6 num = int(input('número? ') #1º while num!= 0: print('\n Tabuada do ',num) tabuada(num)

Tabuada: erros possíveis (4/12) num 6 num = int(input('número? ') #1º while num!= 0: print('\n Tabuada do ',num) tabuada(num)

Tabuada: erros possíveis (5/12) num 6 num = int(input('número? ') #1º while num!= 0: print('\n Tabuada do ',num) tabuada(num)

Tabuada: erros possíveis (6/12) num 6 num = int(input('número? ') #1º while num!= 0: print('\n Tabuada do ',num) tabuada(num)

Tabuada: erros possíveis (7/12) num 6 num = int(input('número? ') #1º while num!= 0: print('\n Tabuada do ',num) tabuada(num)

Tabuada: erros possíveis (8/12) num 6 num = int(input('número? ') #1º while num!= 0: print('\n Tabuada do ',num) tabuada(num)

Tabuada: erros possíveis (9/12) num 6 num = int(input('número? ') #1º while num!= 0: print('\n Tabuada do ',num) tabuada(num)

Tabuada: erros possíveis (10/12) num 6 num = int(input('número? ') #1º while num!= 0: print('\n Tabuada do ',num) tabuada(num)

Tabuada: erros possíveis (11/12) num 6 num = int(input('número? ') #1º while num!= 0: print('\n Tabuada do ',num) tabuada(num)

Tabuada: erros possíveis (12/12) num 6 num = int(input('número? ') #1º while num!= 0: print('\n Tabuada do ',num) tabuada(num) loop infinito!!!.

Mão na massa: Frascos de essência Um artesão deseja dividir aproximadamente ao meio o que sobrou de um frasco de essência com uma pipeta de 10ml. Cada vez que ele transfere do frasco original (frasco1) para o novo frasco (frasco 2), 0.35% da essência do frasco original evapora enquanto a evaporação do novo frasco é de 0.12%. Faça uma função que receba a quantidade inicial do frasco de essência (40<=qt <230) e mostre a quantidade final em cada um dos frascos. Exemplo:

Frascos de essência: ideia Um artesão deseja dividir aproximadamente ao meio o que sobrou de um frasco de essência com uma pipeta de 10ml. Cada vez que ele transfere do frasco original (frasco1) para o novo frasco (frasco 2), 0.35% da essência do frasco original evapora enquanto a evaporação do novo frasco é de 0.12%. Faça uma função que receba a quantidade inicial do frasco de essência (40<=qt <230) e mostre a quantidade final em cada um dos frascos. Dados necessários? Respostas Exibidas? Como Dados Respostas?

Frascos de essência: solução Um artesão deseja dividir aproximadamente ao meio o que sobrou de um frasco de essência com uma pipeta de 10ml. Cada vez que ele transfere do frasco original (frasco1) para o novo frasco (frasco 2), 0.35% da essência do frasco original evapora enquanto a evaporação do novo frasco é de 0.12%. Faça uma função que receba a quantidade inicial do frasco de essência (40<=qt <230) e mostre a quantidade final em cada um dos frascos. Dados necessários? Quantidade inicial do frasco1 Respostas Exibidas? Quantidade final do frasco1 Quantidade inicial do frasco2 Como Dados Respostas? Transferir frasco1 frasco 2 de 10 em 10 ml

Frascos: Desenvolvendo a Solução Tira 10 ml do frasco 1 Coloca 10 ml no frasco 2 Atualiza as quantidades em função da evaporação QUANDO PARAR?

Frascos: repetição indeterminada while os frascos não estiverem em equilíbrio : Tira 10 ml do frasco 1 Coloca 10 ml no frasco 2 Atualiza as quantidades em função da evaporação

Frascos: condição de parada A diferença entre eles ser inferior a 10ml while os frascos não estiverem em equilíbrio : Tira 10 ml do frasco 1 Coloca 10 ml no frasco 2 Atualiza as quantidades em função da evaporação

Frascos: código Python def transfere(frasco1): print("%15s %15s %15s %15s %15s %15s %15s %15s"% ("Qt Orig","Qt Novo", "Orig antes Evap", "Novo antes Evap", "Evap Orig","Evap Novo", "Nova Qt Orig","Nova Qt Novo")) frasco2=0 while(frasco1-frasco2>10): print("%15.2f %15.2f"%(frasco1,frasco2),end=' ') frasco2+=10 frasco1-=10 print("%15.2f %15.2f"%(frasco1,frasco2),end=' ') evaf1=frasco1*0.035 evaf2=frasco2*0.012 frasco1-=evaf1 frasco2-=evaf2 print("%15.2f %15.2f %15.2f %15.2f" %(evaf1,evaf2,frasco1,frasco2)) return

Frascos: observações no código Python def transfere(frasco1): print("%15s %15s %15s %15s %15s %15s %15s %15s %("Qt Orig","Qt Novo", "Orig antes Evap", "Novo antes Evap", "Evap Orig","Evap Novo", "Nova Qt Orig","Nova Qt Novo")) frasco2=0 while(frasco1-frasco2>10): print("%15.2f %15.2f"%(frasco1,frasco2),end=' ') frasco2+=10 frasco1-=10 print("%15.2f %15.2f"%(frasco1,frasco2),end=' ') evaf1=frasco1*0.035 evaf2=frasco2*0.012 frasco1-=evaf1 frasco2-=evaf2 print("%15.2f %15.2f %15.2f %15.2f" %(evaf1,evaf2,frasco1,frasco2)) return OBSERVAÇÃO a= a+x; a += x; a= a-x; a -= x; a= a*x; a*= x; a= a/x; a /=x; a= a%x; a %=x; O padrão do comando print() é mudar para uma nova linha quando termina. Para "quebrar" este padrão, use o parâmetro end

Frascos: função Transfere Chamada da função transfere frasco1 = float(input( Ml no frasco original? ")) transfere(frasco1) Faça uma função que receba a quantidade inicial do frasco de essência (40<=qt <230)...

Transfere: validando dados Chamada da função transfere frasco1 = float(input( Ml no frasco original? ")) transfere(frasco1) Qualquer valor digitado pode ser aceito como quantidade? Faça uma função que receba a quantidade inicial do frasco de essência (40<=qt <230)...

Frascos: entrada de dados validada Chamada da função transfere def qtvalida(): qt = float(input("quantidade no frasco original? ")) while(qt<40 or qt >=230): # Enqto não digitar valor correto print('qt inválida.digite um valor entre 40 e 230') qt = float(input("quantidade frasco original?")) return qt frasco1 = qtvalida() transfere(frasco1)

Exercício: média de uma turma Faça um programa que obtenha a matrícula, a nota da prova e a média dos trabalhos dos alunos de uma turma, mostrando a média final de cada um. O término da entrada de dados ocorre quando for introduzido 0 como número de matrícula. A média de um aluno é calculada da seguinte forma: 0.85*nota da prova+ 0.15*média dos trabalhos????? Dados 1Aluno : Respostas 1Aluno : matr, média matr, nota Prova e média Trabalhos

Média: ideias Faça um programa que obtenha a matrícula, a nota da prova e a média dos trabalhos dos alunos de uma turma, mostrando a média final de cada um. O término da entrada de dados ocorre quando for introduzido 0 como número de matrícula. A média de um aluno é calculada da seguinte forma: 0.85*nota da prova+ 0.15*média dos trabalhos????? Dados 1Aluno : Respostas 1Aluno : matr, média matr, nota Prova e média Trabalhos matr 0

Média: uma solução def mediapond( npr, mtr): return npr*0.85 + mtr*0.15 matr = int(input("\tmatrícula? 0 finaliza ")) while matr!=0: npr = float(input('\t\tnota da Prova?')) mtr = float(input('\t\tmédia de Trabalhos?')) med = mediapond(npr,mtr) print("matricula: %d - Media: %.1f"%(matr,med)) matr = int(input("\tmatrícula? 0 finaliza "))

Média: valor da nota! def mediapond( npr, mtr): Qualquer valor digitado pode ser aceito return npr*0.85 + mtr*0.15 como nota? matr = int(input("\tmatrícula? 0 finaliza ")) while matr!=0: npr = float(input('\t\tnota da Prova?')) mtr = float(input('\t\tmédia de Trabalhos?')) med = mediapond(npr,mtr) print("matricula: %d - Media: %.1f"%(matr,med)) matr = int(input("\tmatrícula? 0 finaliza "))

Média: ler somente notas válidas def mediapond( npr, mtr): return npr*0.85 + mtr*0.15 def NotaValida(mensTipoNota): nota = float(input('\t\t' + menstiponota)) while(nota<0 or nota > 10): # Enqto não digitar valor correto print('nota inválida.digite valor entre 0 e 10') nota = float(input('\t\t' + menstiponota)) return nota matr = int(input("\tmatrícula? 0 finaliza ")) while matr!=0: npr = NotaValida('Nota da Prova?') mtr = NotaValida('Média de Trabalhos?') med = mediapond(npr,mtr) print("matricula: %d - Media: %.1f"%(matr,med)) matr = int(input("\tmatrícula? 0 finaliza "))

Média: modificações def mediapond( npr, mtr): return npr*0.85 + mtr*0.15 def NotaValida(mensTipoNota): nota = float(input('\t\t' + menstiponota)) while(nota<0 or nota > 10): # Enqto não digitar valor correto print('nota inválida.digite um valor entre 0 e 10') nota = float(input('\t\t' + menstiponota)) return nota matr = int(input("\tmatrícula? 0 finaliza ")) while matr!=0: npr = NotaValida('Nota da Prova?') mtr = NotaValida('Média de Trabalhos?') med = mediapond(npr,mtr) CALCULAR A MÉDIA DA TURMA! print("matricula: %d - Media: %.1f"%(matr,med)) matr = int(input("\tmatrícula? 0 finaliza ")) QUAL FOI A MAIOR MÉDIA DA TURMA?

Exercício de revisão Faça um programa que, utilizando a função randint para gerar valores entre -100 e 100, mostre: a) Para cada número, se ele é positivo, negativo ou zero b) Para os números múltiplos de 3 e 4, mostrar todos os números pares entre 0 e estes múltiplos c) A quantidade de zeros gerada d) A soma dos números pares e) O menor número negativo gerado f) O maior número positivo gerado g) A média dos números Término da entrada de valores: quando o valor gerado for 5

Par ou ímpar Construa um programa para o usuário jogar par ou ímpar com o computador. Inicialmente o programa deve perguntar ao usuário a quantidade de partidas. Para cada partida devem ser mostrados os números escolhidos e quem venceu. No final, o programa deve mostrar quantas partidas o usuário venceu, quantas partidas o computador venceu e quem venceu o jogo. Obs: O usuário sempre será par e deve-se usar as funções abaixo função chutejog( ): pergunta ao usuário um número, retornando-o. Só aceita números entre 0 e10 função vencpartida(njog,ncomp): recebe os números da partida, verifica e exibe quem venceu, retornando 1 se o jogador venceu ou 0 caso contrário. função vencjogo(vjog,vcomp): recebe a quantidade de vitórias do jogador e do computador, exibindo quem venceu o jogo ou deu empate.

Par ou ímpar: uma Solução import random def chutejog(): num = int(input('\t\t Jogador, escolha um número inteiro: ')) while(num<0 or num > 10): print('número inválido. Valor deve estar entre 0 e 10') num = int(input('\t\tjogador, escolha um número: ')) return num def vencpartida(njog,ncomp): tot = njog+ncomp print('jogador: %d x Computador: %d'%(njog,ncomp)) if tot%2 == 0: # par? print('\t\t Par - Jogador venceu') return 1 else: print('\t\t Ímpar - Computador venceu') return 0

Par ou ímpar: continuação def vencjogo(vjog,vcomp): print('vitórias Jogador: %d x Vitórias Computador: %d %(vjog,vcomp)) if vjog >vcomp: print('\t\t Jogador venceu o jogo') elif vjog <vcomp: print('\t\t Computador venceu o jogo') else: print('\t\t Empate') return npart = int(input('\t\tjogador,quantas partidas?')) cont=0 vjog=0 while(cont< npart): njog = chutejog() ncomp = random.randint(0,10) vjog += vencpartida(njog,ncomp) cont = cont+1 vencjogo(vjog,npart-vjog)

Par ou ímpar: Sempre deve-se def vencjogo(vjog,vcomp): jogar n partidas? print('vitórias Jogador: %d x Vitórias Computador: %d %(vjog,vcomp)) if vjog >vcomp: print('\t\t Jogador venceu o jogo') elif vjog <vcomp: print('\t\t Computador venceu o jogo') else: print('\t\t Empate') return npart = int(input('\t\tjogador,quantas partidas?')) cont=0 vjog=0 while(cont< npart): njog = chutejog() ncomp = random.randint(0,10) vjog += vencpartida(njog,ncomp) cont = cont+1 vencjogo(vjog,npart-vjog)

Par ou ímpar para N partidas Total de Repetições: no máximo n. Parar quando um dos jogadores venceu metade+1 das partidas npart = int(input('\t\tjogador,quantas partidas?')) cont=0 vjog=0 while(cont< npart): njog = chutejog() ncomp = random.randint(0,10) vjog += vencpartida(njog,ncomp) cont = cont+1 vencjogo(vjog,npart-vjog)

Finalizando loops com break Em algumas situações, é útil forçar a interrupção da iteração. A instrução break força a saída do while sem testar a condição de controle do loop.

Par ou ímpar: com break npart = int(input('\t\tjogador,quantas partidas?')) cont=0 vjog=0 meio =npart//2 while cont< npart : cont = cont+1 njog = chutejog() ncomp = random.randint(0,10) vjog += vencpartida(njog,ncomp) if vjog > meio or cont-vjog > meio: # se alguém venceu break #interrompe o jogo vencjogo(vjog, cont-vjog)

Exercícios diversos: repetição 1. O vencedor do sorteio de um carro do dia por um supermercado será o primeiro consumidor cujo número de itens comprados seja múltiplo de 93. Caso não haja vencedor neste dia, o carro será doado ao estado. Faça um programa que leia o número de itens dos participantes e verifique se houve um vencedor. Término da entrada de dados: nº de itens ==0 2. Escreva uma função que receba strings x e s e devolva o índice da posição a partir da qual x ocorre em s ou False se não ocorrer 3. Faça uma função que exiba os números gerados pela função randint(), até que um número múltiplo de 13 seja gerado, considerando que: Múltiplos de 3 e 5, pares, não são somados e quando ocorrerem, um novo número deve ser gerado. Caso este seja múltiplo de 3 ou 5 o ciclo deve ser interrompido, senão é utilizado pelo programa. Obs: No final, seu programa deve exibir a soma dos números gerados

Duas Soluções Possíveis Ex. 1 nitens = int(input('qtos itens? ')) while nitens > 0 : if nitens%93 == 0: print("\nuau!!o carro é seu") break else: print("\nnão foi desta vez!!!!!") nitens = int(input('qtos itens?')) if nitens <=0: print( "\ncarro doado ao estado") nitens = int(input('qtos itens? ')) while nitens > 0 and nitens%93!= 0 : print("\nnão foi desta vez!!!!!") nitens = int(input('qtos itens?')) if nitens <=0: print( "\ncarro doado ao estado") else: print("\nuau!!!o carro é seu")

Uma Solução Ex. 2 def mostra(x,s): tam=len(s) ult=len(x)-tam+1 #+1 para incluir a última fatia i=0 while i<ult: if x[i:i+tam]==s: return i i=i+1 return False print(mostra('abacate','ate')) print(mostra('abacate','cot'))

Uma Solução Ex. 3 import random def soma(): tot=0 num=random.randint(1,300) while (num%13)!=0: if(num%3==0) and(num%5==0) and (num%2==0): print(num,' desconsiderado') num=random.randint(1,300) if(num%3==0) or(num%5==0): break print(num) tot+=num num=random.randint(1,300) print(num) return tot print(soma())

Exercício Numéro Mágico I. Faça um programa que sorteie um número aleatório entre 0 e 500 e pergunte ao usuário qual é o "número mágico". O programa deverá indicar se a tentativa efetuada pelo usuário é maior ou menor que o número mágico e contar o número de tentativas. Quando o usuário conseguir acertar o número o programa deverá classificar o usuário como: De 1 a 3 tentativas: muito sortudo De 4 a 6 tentativas: sortudo De 7 a 10 tentativas: normal > 10 tentativas: tá mal...

Exercício Raiz Quadrada II. Uma das maneiras de se conseguir a raiz quadrada de um número é subtrair do número, os ímpares consecutivos a partir de 1, até que o resultado da subtração seja menor ou igual a zero. O número de vezes que se conseguir fazer a subtração é a raiz quadrada exata (resultado 0) ou aproximada do número (resultado negativo). Exemplo: Raiz de 16 16-1 = 15-3 = 12-5 = 7-7 = 0 A raiz de 16 é 4.

Exercício: Memória III. Usando as funções fornecidas e completando as demais, crie um programa que desafia a memória de um usuário. O jogo deve gerar um número de 0 a 9 e apresentá-lo ao jogador durante alguns segundos. Em seguida, ele deve pedir ao jogador o número exibido. Na segunda rodada, o computador deve concatenar à direita do número, outro algarismo entre 0 e 9, repetindo o procedimento de exibição e teste de memorização. O programa deve continuar adicionando algarismos ao número (casas adicionadas ao final do número) até que o jogador não consiga mais memorizá-lo perfeitamente. No final, o programa deve informar o último número gerado e quantas casas foram memorizadas ao total. Dica: armazene a sequência de algarismos como string Obs: x=screen.textinput(string,prompt), abre janela para entrada de dados import turtle import random def numero(n): #acrescenta um dígito ao n e retorna def mostra(pat,n): # Mostra o número n, espera e apaga pat.write(n) pat.up() pat.fd(300) pat.undo() pat.undo() pat.undo() return pat = turtle.turtle() jan = turtle.screen()...

Memória: uma solução import turtle import random def numero(n): alg = random.randint(0,9) n=n+str(alg) return n def mostra(pat,n): pat.write(n) pat.up() pat.fd(200) pat.undo() pat.undo() pat.undo() return pat = turtle.turtle() jan = turtle.screen() pat.width(20) pat.pensize(20) n='' i=0 acertos=0 while i<10 and acertos == i: n=numero(n) mostra(pat,n) pat.speed('slowest') x=jan.textinput(str(i+1) + 'algarismos','entre o valor') if(x==n): acertos=acertos+1 i=i+1 return

Exercício: quadrados perfeitos IV. Se você somar 1 ao produto de quatro números inteiros consecutivos, o resultado sempre será um quadrado perfeito, isto é, um número inteiro elevado ao quadrado. Faça uma função que receba dois valores a e b e mostre os quadrados perfeitos que estão no intervalo [a,b]

Exercício estádio da escola V. Os alunos criaram o "Dia da Contribuição" para financiar a construção do estádio da escola. Neste dia, todos os alunos da escola depositam um valor qualquer numa caixa colocada no portão da escola. Por segurança, toda vez que tiver mais de R$300,00 na caixa (um lote), o valor é transferido para o cofre da escola e a contribuição média dos participantes deste lote é exibida no mural de avisos. Faça um programa com funções, que capture o valor contribuído por cada aluno. O programa deve mostrar na tela a contribuição média dos participantes para cada lote transferido para o cofre. No final, deve ser exibido o montante total arrecadado. O término da entrada de dados ocorre quando for introduzido 0 como valor de contribuição Obs: Não é preciso validar valor contribuído

Exercício: eleições presidenciais VI. Escreva um programa para analisar as intenções de voto em 2 candidatos à presidência (candidato A e candidato B). As pessoas deram uma nota (número inteiro) de 0 a 5 a cada um dos 2 candidatos. O programa deverá ler para cada entrevistado a sua nota para o candidato A e a sua nota para o candidato B e exibir: A soma das notas obtidas pelo candidato A A soma das notas obtidas pelo candidato B; Total de entrevistados que deram nota 0 (zero) aos 2 candidatos. (Término da entrada de dados: nota do 1º candidato <0) Modifique a entrada de dados para que permita apenas notas válidas.

Exercício: jogo do dominó VII. Crie uma função para mostrar os valores das 28 peças do jogo de dominó: 0 0 0 1 0 2 0 3 0 4 0 5 0 6 1 1 1 2... 5 6 6 6

Dominó: ideia da solução Um laço controla a 1ª metade da peça (m1) Um laço controla a 2ª metade da peça (m2) Problema: 0 0 0 1 0 2 0 3 0 4 0 5 0 6 1 0 1 1 1 2 1 3 1 4 1 5 1 6 2 0 2 1 2 2 2 3 2 4 2 5 2 6 3 0 3 1 3 2 3 3 3 4 3 5 3 6 4 0 4 1 4 2 4 3 4 4 4 5 4 6 5 0 5 1 5 2 5 3 5 4 5 5 5 6 6 0 6 1 6 2 6 3 6 4 6 5 6 6