Aula 06 Introdução à Programação com a Linguagem...

24
Gilberto Ribeiro de Queiroz Thales Sehn Körting Fabiano Morelli Aula 06 – Introdução à Programação com a Linguagem Python 27 de Março de 2019

Transcript of Aula 06 Introdução à Programação com a Linguagem...

Page 1: Aula 06 Introdução à Programação com a Linguagem Pythonser347.dpi.inpe.br/lib/exe/fetch.php?media=wiki:turma2019:aula-06... · Aula 06 –Introdução à Programação com a

Gilberto Ribeiro de QueirozThales Sehn KörtingFabiano Morelli

Aula 06 – Introdução à Programaçãocom a Linguagem Python

27 de Março de 2019

Page 2: Aula 06 Introdução à Programação com a Linguagem Pythonser347.dpi.inpe.br/lib/exe/fetch.php?media=wiki:turma2019:aula-06... · Aula 06 –Introdução à Programação com a

Tópicos

• Controlando o fluxo de um programa com estruturas de repetição.

• Laços do tipo for usando range.

• Laços do tipo while.

Page 3: Aula 06 Introdução à Programação com a Linguagem Pythonser347.dpi.inpe.br/lib/exe/fetch.php?media=wiki:turma2019:aula-06... · Aula 06 –Introdução à Programação com a

Estruturas de Repetição

Page 4: Aula 06 Introdução à Programação com a Linguagem Pythonser347.dpi.inpe.br/lib/exe/fetch.php?media=wiki:turma2019:aula-06... · Aula 06 –Introdução à Programação com a

Conversão entre Escalas de Temperatura: oF → oC• Problema: Escrever um programa para converter a

tabela abaixo de temperaturas em graus Fahrenheit na equivalente na escala Celsius.

oF oC

0 ?

20 ?

40 ?

60 ?

... ...

300 ?

temperatura inicial

temperatura final

Intervalo (20 em 20)

Page 5: Aula 06 Introdução à Programação com a Linguagem Pythonser347.dpi.inpe.br/lib/exe/fetch.php?media=wiki:turma2019:aula-06... · Aula 06 –Introdução à Programação com a

Como implementar esse programa?

Page 6: Aula 06 Introdução à Programação com a Linguagem Pythonser347.dpi.inpe.br/lib/exe/fetch.php?media=wiki:turma2019:aula-06... · Aula 06 –Introdução à Programação com a

Comandos de Repetição

• Muitas das computações que realizamos em um programa são inerentemente repetitivas.

• Nas linguagens imperativas, encontramos estruturas específicas para essa finalidade, que são chamadas de comandos de repetição ou laços (loops) ou estruturas de repetição.

• Através desses comandos, podemos realizar uma computação até que uma certa condição seja satisfeita.

Page 7: Aula 06 Introdução à Programação com a Linguagem Pythonser347.dpi.inpe.br/lib/exe/fetch.php?media=wiki:turma2019:aula-06... · Aula 06 –Introdução à Programação com a

Estrutura de Repetição: Fluxograma

TesteExpr. Lógica

Sequência Comandos

Sequência Comandos

Verdadeiro

Falso

Sequência Comandos

Laço

Page 8: Aula 06 Introdução à Programação com a Linguagem Pythonser347.dpi.inpe.br/lib/exe/fetch.php?media=wiki:turma2019:aula-06... · Aula 06 –Introdução à Programação com a

Vamos começar por um problema mais simples...

Page 9: Aula 06 Introdução à Programação com a Linguagem Pythonser347.dpi.inpe.br/lib/exe/fetch.php?media=wiki:turma2019:aula-06... · Aula 06 –Introdução à Programação com a

Escrita repetitiva na tela

• Problema: Escreva um programa para escrever os números de 1 a 100 na tela.

123…100

for i in range(1, 101):print(i)

Page 10: Aula 06 Introdução à Programação com a Linguagem Pythonser347.dpi.inpe.br/lib/exe/fetch.php?media=wiki:turma2019:aula-06... · Aula 06 –Introdução à Programação com a

Laços do tipo for

Page 11: Aula 06 Introdução à Programação com a Linguagem Pythonser347.dpi.inpe.br/lib/exe/fetch.php?media=wiki:turma2019:aula-06... · Aula 06 –Introdução à Programação com a

Iterando nos itens de um Conjunto

for variavel-it in iterável:instrução-1instrução-2...instrução-n

Esse tipo de laço é muito útil quando estamos lidando com sequências (como strings, listas, e tuplas) ou iteráveis.

Page 12: Aula 06 Introdução à Programação com a Linguagem Pythonser347.dpi.inpe.br/lib/exe/fetch.php?media=wiki:turma2019:aula-06... · Aula 06 –Introdução à Programação com a

Somatório

• Problema: Escrever um programa para computar o seguinte somatório:

=

=

5

1

i

i

i

soma = 0

for i in range(1, 6):soma = soma + i

print(f"soma: {soma}")

01

0203

04

Page 13: Aula 06 Introdução à Programação com a Linguagem Pythonser347.dpi.inpe.br/lib/exe/fetch.php?media=wiki:turma2019:aula-06... · Aula 06 –Introdução à Programação com a

Voltando ao nosso problema...

Page 14: Aula 06 Introdução à Programação com a Linguagem Pythonser347.dpi.inpe.br/lib/exe/fetch.php?media=wiki:turma2019:aula-06... · Aula 06 –Introdução à Programação com a

Conversão entre Escalas de Temperatura: oF → oC• Problema: Escrever um programa para converter a

tabela abaixo de temperaturas em graus Fahrenheit na equivalente na escala Celsius.

oF oC

0 ?

20 ?

40 ?

60 ?

... ...

300 ?

temperatura inicial

temperatura final

Intervalo (20 em 20)

Page 15: Aula 06 Introdução à Programação com a Linguagem Pythonser347.dpi.inpe.br/lib/exe/fetch.php?media=wiki:turma2019:aula-06... · Aula 06 –Introdução à Programação com a

for fahr in range(0, 320, 20):celsius = 5 * (fahr - 32) / 9

print(fahr, celsius)

0102

03

oF oC

0 ?

20 ?

40 ?

60 ?

... ...

300 ?

temperatura inicial

temperatura final

Intervalo (20 em 20)

Page 16: Aula 06 Introdução à Programação com a Linguagem Pythonser347.dpi.inpe.br/lib/exe/fetch.php?media=wiki:turma2019:aula-06... · Aula 06 –Introdução à Programação com a

Laços do tipo while

Page 17: Aula 06 Introdução à Programação com a Linguagem Pythonser347.dpi.inpe.br/lib/exe/fetch.php?media=wiki:turma2019:aula-06... · Aula 06 –Introdução à Programação com a

Laços com Interrupção no Iníciowhile <condição>:

instrução-1instrução-2...instrução-n

Nesse tipo de laço, se a expressão lógica ou condição de repetição no início do laço for verdadeira, os comandos (ou instruções) dentro da estrutura de repetição são executados de maneira sequencial.

Ao final da execução dos comandos, internos ao laço, o fluxo de controle do programa volta ao início, para nova avaliação da expressão lógica.

Se a expressão for satisfeita novamente (verdadeira), o corpo do laço é novamente executado, até que a repetição seja interrompida quando a expressão resultar em um valor falso.

Page 18: Aula 06 Introdução à Programação com a Linguagem Pythonser347.dpi.inpe.br/lib/exe/fetch.php?media=wiki:turma2019:aula-06... · Aula 06 –Introdução à Programação com a

Exemplo: soma dos 10=

=

5

1

i

i

i

i = 1soma = 0

while i <= 5:soma = soma + iprint(i, soma)i = i + 1

print("Soma Final:", soma)print("Valor final de i:", i)

0102

03040506

0708

Page 19: Aula 06 Introdução à Programação com a Linguagem Pythonser347.dpi.inpe.br/lib/exe/fetch.php?media=wiki:turma2019:aula-06... · Aula 06 –Introdução à Programação com a
Page 20: Aula 06 Introdução à Programação com a Linguagem Pythonser347.dpi.inpe.br/lib/exe/fetch.php?media=wiki:turma2019:aula-06... · Aula 06 –Introdução à Programação com a

Considerações Finais

Page 21: Aula 06 Introdução à Programação com a Linguagem Pythonser347.dpi.inpe.br/lib/exe/fetch.php?media=wiki:turma2019:aula-06... · Aula 06 –Introdução à Programação com a

Considerações Finais

• O tipo lógico e as expressões lógicas são muito utilizadas na construção de programas.

• As estruturas condicionais e de repetição são importante para controlar o fluxo de execução de um programa.

• Laços do tipo for são indicados quando termos que iterar(acessar ou atravessar) por uma coleção de objetos (ouitens). Veremos esse tópico mais adiante no curso.

• Laços do tipo while são indicados quando temos uma condição a ser verificada a cada iteração.

Page 22: Aula 06 Introdução à Programação com a Linguagem Pythonser347.dpi.inpe.br/lib/exe/fetch.php?media=wiki:turma2019:aula-06... · Aula 06 –Introdução à Programação com a

Considerações Finais

• Veremos que podemos modificar o fluxo de um laço através dos comandos break e continue.

• Nas próximas aulas iremos reforçar o uso das estruturas condicionais e de repetição.

Page 23: Aula 06 Introdução à Programação com a Linguagem Pythonser347.dpi.inpe.br/lib/exe/fetch.php?media=wiki:turma2019:aula-06... · Aula 06 –Introdução à Programação com a

Referências Bibliográficas

Page 24: Aula 06 Introdução à Programação com a Linguagem Pythonser347.dpi.inpe.br/lib/exe/fetch.php?media=wiki:turma2019:aula-06... · Aula 06 –Introdução à Programação com a

Exercícios