Prof. Caetano Author: djcaetano Created Date: 10/29/2019 3:34:38 PM

42
INFORMÁTICA PARA ENGENHARIA Prof. Dr. Daniel Caetano 2019 - 2 ESTRUTURA DE REPETIÇÃO

Transcript of Prof. Caetano Author: djcaetano Created Date: 10/29/2019 3:34:38 PM

Page 1: Prof. Caetano Author: djcaetano Created Date: 10/29/2019 3:34:38 PM

INFORMÁTICA PARA ENGENHARIA

Prof. Dr. Daniel Caetano

2019 - 2

ESTRUTURA DE

REPETIÇÃO

Page 2: Prof. Caetano Author: djcaetano Created Date: 10/29/2019 3:34:38 PM

Objetivos

• Entender o que é uma estrutura de repetição

• Compreender como implementar as repetições

• Capacitar para a criação de algoritmos que envolvam repetição

• Atividades Aula 11 – SAVA!

Page 3: Prof. Caetano Author: djcaetano Created Date: 10/29/2019 3:34:38 PM

Material de Estudo

Material Acesso ao Material

Notas de Aula e Apresentação

http://www.caetano.eng.br/ (Informática para Engenharia – Aula 11)

Material Didático Lógica de Programação, págs 119 a 149.

Biblioteca Virtual “Lógica de Programação – Fundamentos da Programação de Computadores”, págs 93 a 144.

Page 4: Prof. Caetano Author: djcaetano Created Date: 10/29/2019 3:34:38 PM

O QUE É ESTRUTURA DE REPETIÇÃO?

Page 5: Prof. Caetano Author: djcaetano Created Date: 10/29/2019 3:34:38 PM

O que são Estruturas de Repetição?

• Repetir continuamente um código

– Solicitação de entradas do usuário

Page 6: Prof. Caetano Author: djcaetano Created Date: 10/29/2019 3:34:38 PM

O que são Estruturas de Repetição?

• Repetir continuamente um código

– Procedimentos repetitivos

Page 7: Prof. Caetano Author: djcaetano Created Date: 10/29/2019 3:34:38 PM

O que são Estruturas de Repetição?

• Repetir continuamente um código

– Esperar que alguma coisa ocorra

Page 8: Prof. Caetano Author: djcaetano Created Date: 10/29/2019 3:34:38 PM

O que são Estruturas de Repetição?

• Repetir continuamente um código

– Esperar que alguma coisa ocorra

MUITO

USADAS!

Page 9: Prof. Caetano Author: djcaetano Created Date: 10/29/2019 3:34:38 PM

COMPREENDENDO A REPETIÇÃO

Page 10: Prof. Caetano Author: djcaetano Created Date: 10/29/2019 3:34:38 PM

Compreendendo a Repetição

• Imprimindo números de 1 a 3

aula11ex01.py

print(1) print(2) print(3)

aula11ex01a.py

x = 1 print(x) x = 2 print(x) x = 3 print(x)

Page 11: Prof. Caetano Author: djcaetano Created Date: 10/29/2019 3:34:38 PM

Compreendendo a Repetição

• Imprimindo números de 1 a 3

aula11ex01b.py

x = 1 print(x) x = x + 1 print(x) x = x + 1 print(x) x = x + 1

aula11ex01a.py

x = 1 print(x) x = 2 print(x) x = 3 print(x)

Page 12: Prof. Caetano Author: djcaetano Created Date: 10/29/2019 3:34:38 PM

Compreendendo a Repetição

• Imprimindo números de 1 a 3

aula11ex01b.py

x = 1 print(x) x = x + 1 print(x) x = x + 1 print(x) x = x + 1

aula11ex01a.py

x = 1 print(x) x = 2 print(x) x = 3 print(x)

Page 13: Prof. Caetano Author: djcaetano Created Date: 10/29/2019 3:34:38 PM

Compreendendo a Repetição

• Imprimindo números de 1 a 3

aula11ex01b.py

x = 1 print(x) x = x + 1 print(x) x = x + 1 print(x) x = x + 1

aula11ex01c.py

x = 1 while x <= 3: print(x) x = x + 1

Page 14: Prof. Caetano Author: djcaetano Created Date: 10/29/2019 3:34:38 PM

Compreendendo a Repetição

• Imprimindo números de 1 a 3

x = 1 while x <= 3: print(x) x = x + 1

Bloco do Loop

Ao chegar pela primeira vez no while, o computador verifica a condição

Ao fim do bloco, o programa volta a verificar a condição

Se a condição é verdadeira, ele sobe

no looping

Page 15: Prof. Caetano Author: djcaetano Created Date: 10/29/2019 3:34:38 PM

Compreendendo a Repetição

Início X <= 3

X

V Fim

F

• Imprime os números inteiros de 1 a 3

X = 1

X = X + 1

Page 16: Prof. Caetano Author: djcaetano Created Date: 10/29/2019 3:34:38 PM

Compreendendo a Repetição

• Imprimir números de 1 a 3 – Teste de Mesa?

aula11ex01c.py

x = 1 while x <= 3: print(x) x = x + 1

x Tela:

Page 17: Prof. Caetano Author: djcaetano Created Date: 10/29/2019 3:34:38 PM

Exemplo

Início

X <= 7

X

V

Fim F

• Crie um algoritmo que imprime os números inteiros de 2 a 7

X = 2

X = X + 1

Page 18: Prof. Caetano Author: djcaetano Created Date: 10/29/2019 3:34:38 PM

Exemplo • Crie um algoritmo que imprime os números

inteiros de 2 a 7

# Imprime de 2 a 7 X = 2 while X <= 7 : print(X) X = X + 1

Algoritmo “Imprime de 2 a 7” Inicio inteiro X X ← 2 enquanto X <= 7 : escreva(X) X ← X + 1 Fim

Início

X <= 7

X

V

Fim F

X = 2

X = X + 1

Page 19: Prof. Caetano Author: djcaetano Created Date: 10/29/2019 3:34:38 PM

ATIVIDADE

Page 20: Prof. Caetano Author: djcaetano Created Date: 10/29/2019 3:34:38 PM

Exercício 1 • Faça um programa que imprima 5 vezes a

mensagem “Sei programar!”

Início

X <= 5

“Sei programar!"

V

Fim F

X = X + 1

X = 1

Page 21: Prof. Caetano Author: djcaetano Created Date: 10/29/2019 3:34:38 PM

Exercício 1

• Faça um programa que imprima 5 vezes a mensagem “Sei programar!”

Início

X <= 5

“Sei programar!"

V

Fim F

X = X + 1

X = 1

# Imprime 5x “Sei Programar”

X = 1

while X <= 5 :

print(“Sei programar!”)

X = X + 1

Page 22: Prof. Caetano Author: djcaetano Created Date: 10/29/2019 3:34:38 PM

Exercício 2 • Faça um programa que imprima 1000 vezes a

mensagem “Sei programar!”

Início

X <= 1000

“Sei programar!"

V

Fim F

X = X + 1

X = 1

Page 23: Prof. Caetano Author: djcaetano Created Date: 10/29/2019 3:34:38 PM

Exercício 2

• Faça um programa que imprima 1000 vezes a mensagem “Sei programar!”

Início

X <= 1000

“Sei programar!"

V

Fim F

X = X + 1

X = 1

# Imprime 1000x“Sei Programar”

X = 1

while X <= 1000 :

print(“Sei programar!”)

X = X + 1

# Imprime 1000x“Sei Programar”

X = 0

while X < 1000 :

print(“Sei programar!”)

X = X + 1

Page 24: Prof. Caetano Author: djcaetano Created Date: 10/29/2019 3:34:38 PM

Exercício 3 • Mude o programa para imprimir o contador X

antes de imprimir o texto “Sei programar!”

Início

X <= 1000

X, “Sei programar!"

V

Fim F

X = X + 1

X = 1

Page 25: Prof. Caetano Author: djcaetano Created Date: 10/29/2019 3:34:38 PM

Exercício 3

• Mude o programa para imprimir o contador X antes de imprimir o texto “Sei programar!”

Início

X <= 1000

X, “Sei programar!"

V

Fim F

X = X + 1

X = 1

# Imprime 1000x “Sei Programar”

X = 1

while X <= 1000 :

print(X, “Sei programar!”)

X = X + 1

Page 26: Prof. Caetano Author: djcaetano Created Date: 10/29/2019 3:34:38 PM

REPETINDO CÓDIGO N VEZES

Page 27: Prof. Caetano Author: djcaetano Created Date: 10/29/2019 3:34:38 PM

Repetindo Código N Vezes • Observe:

Início

N

X <= N

X, “Oi”

V

Fim F

“Digite um Inteiro”

X = X + 1

X = 1

# Imprime Nx “Oi”

N = int(input(“Digite um inteiro:”))

X = 1

while X <= N :

print(X, “Oi”)

X = X + 1

Page 28: Prof. Caetano Author: djcaetano Created Date: 10/29/2019 3:34:38 PM

Repetindo Código N Vezes • O que muda de um caso para outro?

Início

N

X <= N

X, “Oi”

V

Fim F

“Digite um Inteiro”

X = X + 1

X = 1

Início

X

X >= 1

X, “Oi”

V

Fim F

“Digite um Inteiro”

X = X - 1

Page 29: Prof. Caetano Author: djcaetano Created Date: 10/29/2019 3:34:38 PM

Repetindo Código N Vezes • Contando de trás pra frente:

Início

X

X >= 1

X, “Oi”

V

Fim F

“Digite Um Inteiro”

X = X - 1

# Imprime Nx “Oi”

X = int(input(“Digite um inteiro:”))

while X >= 1 :

print(X, “Oi”)

X = X - 1

Page 30: Prof. Caetano Author: djcaetano Created Date: 10/29/2019 3:34:38 PM

Repetindo Código N Vezes 1. Digite Este Programa

2. Experimente executá-lo com diferentes valores. Exemplo: 5, 1, 0, -10 3. Experimente modificar o while para que a condição seja X >= 0 . 4. O que aconteceu / mudou em cada caso?

# Imprime Nx “Oi”

X = int(input(“Digite um inteiro:”))

while X >= 1 :

print(X, “Oi”)

X = X - 1

Page 31: Prof. Caetano Author: djcaetano Created Date: 10/29/2019 3:34:38 PM

Repetindo Código N Vezes

# Imprime Nx “Oi”

X = int(input(“Digite um inteiro:”))

while X >= 1 :

print(X, “Oi”)

X = X - 1

ATENÇÃO 1. Cuidado ao construir as proposições de repetição! 2. É responsabilidade do programador garantir que a condição de finalização seja atendida! 2.1. Experimente modificar a atualização para X = X + 1

Page 32: Prof. Caetano Author: djcaetano Created Date: 10/29/2019 3:34:38 PM

A ESTRUTURA DE REPETIÇÃO FOR

Page 33: Prof. Caetano Author: djcaetano Created Date: 10/29/2019 3:34:38 PM

O que é a estrutura for • Forma simples de repetir operações

– Para uma lista de valores

aula11ex05.py

# Repetição em um conjunto de valores

for X in [1, 2, 3]: print(X)

Page 34: Prof. Caetano Author: djcaetano Created Date: 10/29/2019 3:34:38 PM

O que é a estrutura for • Não precisam ser

– Valores contínuos

– Estar em ordem

• Pode ser usado para letras de um texto

# Repetição em um conjunto de valores

for X in [1, 3, 10, 25, -8]:

print(X)

# Repetição nas letras de um texto

for X in “Abacaxi”:

print(X)

Page 35: Prof. Caetano Author: djcaetano Created Date: 10/29/2019 3:34:38 PM

O que é a estrutura for • Se for em uma faixa contínua: range

# Repetição em uma faixa de 0 a 9

for X in range(10):

print(X)

# Repetição em uma faixa de 1 a 9

for X in range(1, 10):

print(X)

# Repetição de 1 a 9, de 2 em 2

for X in range(1, 10, 2):

print(X)

Número de Elementos

Inicial (inclusive) e final (não incluído)

Inicial (inclusive) e final (não incluído), passo

Page 36: Prof. Caetano Author: djcaetano Created Date: 10/29/2019 3:34:38 PM

CONCLUSÕES

Page 37: Prof. Caetano Author: djcaetano Created Date: 10/29/2019 3:34:38 PM

Resumo

• Repetição: Amplia a utilidade do computador

• Decisão: Verifica “se continua repetindo”.

• Não deixe de praticar!

• TAREFA: Atividade Aula 11!

• Aprofundando repetição e o comando break

• Revendo/Aprofundando: construindo funções

• Exercitar a repetição!

Page 38: Prof. Caetano Author: djcaetano Created Date: 10/29/2019 3:34:38 PM

PERGUNTAS?

Page 39: Prof. Caetano Author: djcaetano Created Date: 10/29/2019 3:34:38 PM

EXERCÍCIO EXTRA

Page 40: Prof. Caetano Author: djcaetano Created Date: 10/29/2019 3:34:38 PM

Exercício 4 • Faça um programa que

a) Leia dois números N1 e N2

b) Imprima, N1 vezes, o valor de N2.

Início

N1, N2

N1 >= 1

N2

V

Fim F

N1 = N1 - 1

Page 41: Prof. Caetano Author: djcaetano Created Date: 10/29/2019 3:34:38 PM

Exercício 4 • Faça um programa que

a) Leia dois números N1 e N2

b) Imprima N1 vezes o

valor de N2.

Início

N1, N2

N1 >= 1

N2

V

Fim F

N1 = N1 - 1

# Mostra N1x o valor de N2

N1 = int(input(“Quantas vezes? ”))

N2 = int(input(“Qual valor? ”))

while N1 >= 1 :

print(N2)

N1 = N1 - 1

Page 42: Prof. Caetano Author: djcaetano Created Date: 10/29/2019 3:34:38 PM

Exercício 4 - Variação • Experimente mudar a linha do print por essa:

# O que esse programa faz?

N1 = int(input(“Quantas vezes? ”))

N2 = int(input(“Qual valor? ”))

while N1 >= 1 :

print(N1, “*”, N2, “=“, N1*N2 )

N1 = N1 - 1