Estruturas de Repetição. Vanessa Braganholo

Documentos relacionados
Estruturas de Repetição. Leonardo Murta

Estruturas de Repetição. Vanessa Braganholo

Estruturas de Repetição e String. Vanessa Braganholo

Estruturas de Repetição e String

Estruturas de Repe,ção e Manipulação de Texto

Fluxogramas. Vanessa Braganholo

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

Estruturas de Repe,ção e String

Universidade Federal de Ouro Preto UFOP. Instituto de Ciências Exatas e Biológicas ICEB. Departamento de Computação DECOM

Fluxogramas. Leonardo Gresta Paulino Murta.

Estrutura de controle repetitiva: Para (for)

Universidade Federal de Ouro Preto UFOP. Instituto de Ciências Exatas e Biológicas ICEB. Departamento de Computação DECOM

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

Exercícios Repetição

Algoritmos e Lógica de Programação. 6ª Lista de Exercícios Comandos de Repetição

Vetores. Vanessa Braganholo

Programação de Computadores I BCC 701 Lista de Exercícios Módulo

Listas e Tuplas. Vanessa Braganholo

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

ESTRUTURAS DE CONTROLE - LAÇOS OU MALHAS DE REPETIÇÃO

Programação II. Victor Amorim dos Santos

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

Computação 1 - Python Aula 8 - Teórica: Estrutura de Repetição : for 1/ 10

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

Linguagem C Estruturas de Repetição

ESTRUTURAS DE REPETIÇÃO - PARTE 2

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

ESTRUTURAS DE REPETIÇÃO - PARTE 1

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

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

Aula 15: Repetição (Parte 3)

Organização de programas em Python. Vanessa Braganholo

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

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

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

Exercícios: Comandos de Repetição

Lista de Exercícios Estrutura de Repetição

Linguagem C ESTRUTURA DE CONTROLE

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

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

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

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

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

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

Estruturas Condicionais e de Repetição

Estruturas de Repetição

Parte I - Expressões lógicas e operadores

Grupo B Estruturas de Repetição

LINGUAGEM C: COMANDOS DE REPETIÇÃO

Python 3.x Estrutura de Repetição while

Instituto de Computação Programação de Computadores (TCC00326)

Lista de Exercícios 1 Algoritmos, Pseudocódigo e Fluxograma

CADERNO DE EXERCÍCIOS ALGORITMOS

Algoritmos e Programação

Introdução à Ciência da Computação

Python - Comandos de Repetição

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

TCC 00308: Programação de Computadores I Operadores e Estruturas de Decisão

Universidade Estadual de Mato Grosso do Sul Ciência da Computação Algoritmos e Estruturas de Dados I (AED-I)

Curso: Técnico em Informática Integrado Disciplina: Algoritmos Carga horária: 60h (80h/a) Período: 2º Ano Professor: Edmilson Barbalho Campos Neto

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

Maratona de Programaçã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

Programação em C. Victor Amorim dos Santos

Universidade Federal de Mato Grosso do Sul. Lista de Exercícios 2

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

Seleção Múltipla Laços (while, do-while, for) AULA 05

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

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

Programação II. Victor Amorim dos Santos

Universidade Federal de Ouro Preto UFOP. Instituto de Ciências Exatas e Biológicas ICEB. Departamento de Computação DECOM

Operadores e Estruturas de Decisão. Vanessa Braganholo

Estruturas de Repetição

Programação Procedimental

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

Resolva os exercícios utilizando a linguagem de programação C

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

3ª Lista de Exercícios de Programação I

Estruturas de Repetição

Algoritmos - 5. Alexandre Diehl. Departamento de Física - UFPel

Questão 1 Exemplo de execução 1 (com N=6): Exemplo de execução 2 (com N=4):

Introdução à Programação. Estruturas de Repetição

Introdução à Computação - aulas 01 e 02 -

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

Oficina de Python Prof. Me. José Carlos Perini

Subprogramação. Vanessa Braganholo

Linguagem C. Prof.ª Márcia Jani Cícero

Estrutura de decisão

Fundamentos de programação

Oficina de Python Prof. Me. José Carlos Perini

Comandos de repetição while

Lista de exercícios estrutura de repetição FOR e While. 3. Criar um algoritmo que imprima a soma dos nu meros pares de 230 a 520..

Comandos em C (cont.)

Lista de Exercícios de Programação Orientada a Objetos

Estruturas de repetição. Objetivos: - Compreender diversos tipos de comandos de repetições disponíveis na linguagem C.

PÓS-GRADUAÇÃO EM MATEMÁTICA COMPUTACIONAL INFORMÁTICA INSTRUMENTAL

Aula 4 Oficina de Programação Algoritmos - Parte 3. Profa. Elaine Faria UFU

Transcrição:

Estruturas de Repetição Vanessa Braganholo vanessa@ic.uff.br

Estruturas de Repetição } Permitem que um bloco de comandos seja executado diversas vezes } Repetição condicional: executa um bloco de código enquanto uma condição lógica for verdadeira } while } Repetição contável: executa um bloco de código um número predeterminado de vezes } for 2

Repetição condicional Pseudocódigo... enquanto CONDIÇÃO faça INSTRUÇÃO 1;... INSTRUÇÃO 2;... INSTRUÇÃO N; Phyton... while CONDIÇÃO: INSTRUÇÃO 1; INSTRUÇÃO 2;... INSTRUÇÃO N;... 3

Repetição condicional } Executa o bloco de instruções enquanto a condição for verdadeira } A condição é uma expressão booleana que pode fazer uso de quaisquer operadores } O bloco de instruções pode conter um ou mais comandos } O início e o fim do bloco são definidos de acordo com a endentação 4

Repetição Condicional } Executa o bloco de instruções enquanto a condição for verdadeira } A condição é uma expressão booleana que pode fazer uso de quaisquer operadores } O bloco de instruções pode conter um ou mais comandos } O início e o fim do bloco são definidos de acordo com a endentação 5 Nenhuma novidade: igual ao if!!!

Repetição Condicional } A estrutura de repetição é chamada de loop porque continua-se voltando ao início da instrução até que a condição se torne falsa } Deve haver algum processo dentro do bloco de comandos que torne a condição falsa para que a repetição seja encerrada } Quando a condição se torna falsa, a próxima instrução após o bloco do while é executada } Se a condição do while for falsa desde o início, o bloco de instruções nunca é executado. 6

Exemplo 1 numero = eval(input('digite um numero: ')) while numero > 0: numero = numero - 1 print(numero) print('boom!!') 7

Exemplo 2 Fatorial de um número numero = eval(input('digite um número inteiro positivo: ')) fatorial = 1 while numero > 0: fatorial = fatorial * numero numero = numero 1 print('o fatorial desse número é ', fatorial) 8

Exemplo 3 Contador } Programa que imprime a quantidade de números pares de 100 até 200, incluindo-os 9

Exemplo 3 Contador } Programa que imprime a quantidade de números pares de 100 até 200, incluindo-os num = 100 contadorpares = 0 while num <= 200: if num % 2 == 0: contadorpares = contadorpares + 1 num = num + 1 print(contadorpares) 10

Desafio } Como fazer para contar a quantidade de números pares entre dois números quaisquer? 11

Desafio } Como fazer para contar a quantidade de números pares entre dois números quaisquer? num1 = eval(input('entre com o valor inicial: ')) num2 = eval(input('entre com o valor final: ')) contadorpares = 0 while num1 <= num2: if num1 % 2 == 0: contadorpares = contadorpares + 1 num1 = num1 + 1 print(contadorpares) 12

Exemplo 4 - Acumulador } Programa que imprime a soma de todos os números pares entre dois números quaisquer, incluindo-os num1 = eval(input('entre com o valor inicial: ')) num2 = eval(input('entre com o valor final: ')) soma = 0 while num1 <= num2: if num1 % 2 == 0: soma = soma + num1 num1 = num1 + 1 print('a soma eh', soma) 13

Exemplo 5 } Qual a saída do programa abaixo? i = 1 while i > 0: i = i + 1 print(i) 14

Exemplo 5 } Qual a saída do programa abaixo? i = 1 while i > 0: i = i + 1 print(i) Evitem forçar loops infinitos sempre que possível! 15

Exercício } Faça um programa que gere números aleatórios entre 1 e 10 e calcule a soma desses números, até que seja gerado um número num que foi informado pelo usuário anteriormente. } Dica 1: antes de mais nada, peça para o usuário digitar um número entre 1 e 10 e guarde o valor em num } Dica2: use a função randint(inicio, fim) do módulo random para gerar um número aleatório entre 1 e 10 16

Solução do Exercício from random import randint num = eval(input('digite um numero entre 1 e 10: ')) soma = 0 numerosorteado = randint(1,10) print(numerosorteado) while num!= numerosorteado: soma = soma + numerosorteado numerosorteado = randint(1,10) print(numerosorteado) print('a soma eh', soma) 17

Solução do Exercício from random import randint num = eval(input('digite um numero entre 1 e 10: ')) soma = 0 numerosorteado = randint(1,10) print(numerosorteado) while num!= numerosorteado: soma = soma + numerosorteado numerosorteado = randint(1,10) print(numerosorteado) print('a soma eh', soma) 18 Quantas vezes acontecerá essa repetição?

Solução do Exercício from random import randint num = eval(input('digite um numero entre 1 e 10: ')) soma = 0 numerosorteado = randint(1,10) print(numerosorteado) while num!= numerosorteado: soma = soma + numerosorteado numerosorteado = randint(1,10) print(numerosorteado) print('a soma eh', soma) 19 Quantas vezes acontecerá essa repetição? - Não é possível determinar de antemão

Repetição Contável } E se o enunciado fosse Faça um programa que soma X números gerados aleatoriamente no intervalo de 1 a 5, onde X é informado pelo usuário?? 20

Repetição Contável from random import randint X = eval(input('digite um numero: ')) soma = 0 contador = 0 while contador < X: numerosorteado = randint(1,10) print(numerosorteado) soma = soma + numerosorteado contador = contador + 1 print('a soma eh', soma) 21

Repetição Contável from random import randint X = eval(input('digite um numero: ')) soma = 0 contador = 0 while contador < X: numerosorteado = randint(1,10) print(numerosorteado) soma = soma + numerosorteado contador = contador + 1 print('a soma eh', soma) Número de repetições é fixo! 22

Repetição Contável Pseudocódigo... para VARIÁVEL variando de VALOR INICIAL a VALOR FINAL com passo INCREMENTO... INSTRUÇÃO 1 INSTRUÇÃO 2... INSTRUÇÃO N Python... for VARIÁVEL in (faixade-valores):... INSTRUÇÃO 1 INSTRUÇÃO 2... INSTRUÇÃO N 23

Faixa de Valores } Os valores podem ser listados explicitamente } Exemplo: for x in (0,1,2,3,4): print(x) 24

Faixa de Valores } Os valores podem ser listados explicitamente } Exemplo: for x in (0,1,2,3,4): print(x) print(x) será repetido 5 vezes, uma para cada valor especificado entre parênteses no comando for 25

Faixa de Valores } Os valores podem ser especificados como um intervalo com início, fim e incremento, usando range } Exemplo: for x in range(0,5,1): print(x) início (opcional) quando omitido, início = 0 fim (obrigatório) incremento (opcional) quando omitido, incremento = 1 26

Exemplo de Range for variavel in range(6): print(variavel) >>> 0 1 2 3 4 5

Exemplo de Range for variavel in range(1,6): print(variavel) >>> 1 2 3 4 5

Exemplo de Range for variavel in range(2,10,2): print(variavel) >>> 2 4 6 8

Exemplo de Range for variavel in range(10,0,-2): print(variavel) >>> 10 8 6 4 2

Retomando o Exemplo de Soma de Números Aleatórios } Faça um programa que soma X números gerados aleatoriamente no intervalo de 1 a 5, onde X é informado pelo usuário 31

Soma de Números Aleatórios com while from random import randint X = eval(input('digite um numero: ')) soma = 0 contador = 0 while contador < X: numerosorteado = randint(1,10) print(numerosorteado) soma = soma + numerosorteado contador = contador + 1 print('a soma eh', soma) 32

Soma de Números Aleatórios com while from random import randint X = eval(input('digite um numero: ')) soma = 0 contador = 0 while contador < X: numerosorteado = randint(1,10) print(numerosorteado) soma = soma + numerosorteado contador = contador + 1 print('a soma eh', soma) 33 Vamos substituir por um for e eliminar a necessidade de controlar o contador

Soma de Números Aleatórios com for from random import randint X = eval(input('digite um numero: ')) soma = 0 for contador in range(x): numerosorteado = randint(1,10) print(numerosorteado) soma = soma + numerosorteado print('a soma eh', soma) 34

Exemplo } Programa que imprime a soma de todos os números pares entre dois números quaisquer, incluindo-os num1 = eval(input('entre com o valor inicial: ')) num2 = eval(input('entre com o valor final: ')) soma = 0 for i in range(num1, num2 + 1): if i % 2 == 0: soma = soma + i print('a soma eh', soma) 35

Fatorial } Programa para calcular fatorial de um número: numero = eval(input( Digite um inteiro positivo: ')) fatorial = 1 for i in range(1, numero + 1): fatorial = fatorial * i print('o fatorial desse número é ', fatorial) 36

Exercícios 1. Faça um programa para montar a tabela de multiplicação de números de 1 a 10 (ex.: 1 x 1 = 1, 1 x 2 = 2, etc.) 2. Faça um programa para determinar o número de dígitos de um número inteiro positivo informado 3. Faça um programa para calcular a série de Fibonacci para um número informado pelo usuário, sendo F(0) = 0, F(1) = 1 e F(n)= F(n-1)+F(n-2) } Por exemplo, caso o usuário informe o número 9, o resultado seria: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34 37

Exercícios 4. Faça um programa para listar todos os divisores de um número ou dizer que o número é primo caso não existam divisores } Ao final, verifique se o usuário deseja analisar outro número 38

Exercícios 5. Faça um programa que calcule o retorno de um investimento financeiro fazendo as contas mês a mês, sem usar a fórmula de juros compostos } O usuário deve informar quanto será investido por mês e qual será a taxa de juros mensal } O programa deve informar o saldo do investimento após um ano (soma das aplicações mês a mês considerando os juros compostos), e perguntar ao usuário se ele deseja que seja calculado o ano seguinte, sucessivamente } Por exemplo, caso o usuário deseje investir R$ 100,00 por mês, e tenha uma taxa de juros de 1% ao mês, o programa forneceria a seguinte saída: Saldo do investimento após 1 ano: 1280.9328043328942 Deseja processar mais um ano? (S/N) 39

Exercícios 6. Escreva um programa que imprime na tela os n primeiros números perfeitos. Um número perfeito é aquele que é igual à soma dos seus divisores. Por exemplo, 6 = 1 + 2 + 3. 7. Um número inteiro é considerado triangular se este for o produto de 3 números inteiros consecutivos, como, por exemplo, 120 = 4 x 5 x 6. Elabore um programa que, após ler um número n do teclado, verifique se n é triangular 40

Exercícios 8. Elabore um programa que leia n valores e mostre a soma de seus quadrados. 9. Faça um programa que leia dois valores x e y, e calcula o valor de x dividido por y, além do resto da divisão. Não é permitido usar as operações de divisão e resto de divisão do Python (use apenas soma e subtração). 41

Exercícios 10. Faça um programa que calcule o número de dias corridos entre duas datas, para vários pares de datas, considerando a possibilidade de ocorrência de anos bissextos, sendo que: } A primeira data é sempre a mais antiga } O ano é fornecido com 4 dígitos } A data fornecida com ZERO dias é o sinal para encerrar a entrada de dados 42

Exercícios 11. Foi realizada uma pesquisa em Niterói, com um número desconhecido de pessoas. De cada entrevistado foram colhidos os seguintes dados: } Qual o seu clube de futebol de preferência (1 Flamengo, 2 Vasco, 3 Fluminense, 4 Botafogo, 5 Outros) } Qual o seu salário } Qual a sua cidade natal (1 Niterói, 2 Outra) Escreva um programa que informe: 1. Número de torcedores por clube 2. Média salaria dos torcedores de cada time 3. Número de pessoas nascidas em Niterói e que não torcem para nenhum dos principais clubes do Rio 4. Número de pessoas entrevistadas 43

Exercícios 12. Faça um programa em Python que calcule o valor de Pi, utilizando a fórmula de Leibniz π/4 = 1 1/3 + 1/5 1/7 + 1/9 1/11 + 1/13 -... Adicione parcelas no cálculo até que a diferença de uma interação para a seguinte seja menor do que um valor de erro aceitável x informado pelo usuário. 44

Referências } Slides baseados nas aulas de Leonardo Murta e Aline Paes 45

Estruturas de Repetição Vanessa Braganholo vanessa@ic.uff.br