Introdução à programação e aos algoritmos

João Araujo Ribeiro · Capítulo 46 de 103

Páginas do PDF

Introdução à programação e aos algoritmos

3.6 Laços Contados

 

Podemos também ter laços contados, ou seja, laços que têm definidos um número predeterminado de vezes em que será executado. Nesses laços podemos usar uma variável de controle do laço que acompanhará a contagem de vezes em que as instruções internas serão executadas. Como exemplo, ele pode ter a seguinte estrutura:

Para i igual a valor inicial,..,valor final faça

execute comandos

Neste tipo de estrutura, a variável i vai assumir os valores valor inicial até valor final consecutivamente. Cada vez que assumir um desses valores, os comandos dentro do bloco serão executados.

Em Python, o comando para realizar esta estrutura é o “for”. Sua sintaxe é um pouco diferente da maioria das linguagens, então é bom dedicarmos um tempo para entender melhor seu funcionamento.

O comando “for” em Python segue a sintaxe:

for variável in conjunto:

comandos

A primeira linha diz que a variável vai assumir cada valor que esteja disponível em conjunto. Após isso, os comandos dentro do laço serão executados usando o valor atribuído à variável.

Um exemplo disso (sem entrar ainda em detalhes sobre listas em Python):

for i in [“Vermelho”, “Verde”, “Azul”]:

print (i)

 

■ Programa 3.14: cores.py.

A execução deste programa fornece:

Vermelho

Verde

Azul

O que aconteceu? O comando for atribuiu à variável i

sequencialmente os valores que estavam no conjunto usado no comando. Cada vez que print foi invocado, este possuía um valor diferente, e assim imprimiu os valores do momento.

Para fazer um laço contado com números vamos usar o

comando range de Python. Exemplo:

for i in range(1,10):

print (i, end=’ ‘)

 

■ Programa 3.15: contagem.py.

 

Executando, obtemos:

1 2 3 4 5 6 7 8 9

O comando end ao final do print simplesmente diz que o

comando vai terminar sua impressão com um espaço em branco em vez de uma nova linha. Com isso conseguimos imprimir todos os números em uma única linha.

Mas o importante aqui é o comando range(1,10). Este

comando cria um conjunto com valores dentro da faixa especificada. Neste programa seria como se escrevêssemos:

for i in [1,2,3,4,5,6,7,8,9]:

print (i, end=’ ‘)

 

■ Programa 3.16: contagem2.py.

 

Sempre que tivermos um laço contado podemos usar o comando

range(valor_inicial, valor_final) , bastando lembrar que este irá criar um conjunto com valores entre o valor_inicial e valor_final menos 1.

 

Fato 3.4 – Sintaxe do comando range.

O comando range em Python pode ser usado de diversas maneiras para gerar uma

sequência de números:

1. range (valor): gera números entre zero e valor - 1.

range(10) gera 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.

2. range (valor inicial, valor final): gera

números entre valor inicial e valor - 1. range(4,10) gera 4, 5, 6, 7, 8, 9.

3. range(valor inicial, valor final, passo):

gera números entre valor inicial e valor - 1 com incrementos de passo. range(4,10) gera 4, 6, 8.

 

Podemos usar o comando for para fazer um programa que calcule o fatorial de um número. O fatorial de n é o resultado da multiplicação de todos os números entre 1 e n. Assim, o fatorial de 5 é igual a 5 × 4 × 3 × 2 × 1 = 120.

Vamos ao programa:

n = int(input(‘Qual o número para calcular o fatoria l? ‘))

fat = 1

for i in range(1,n+1):

fat = fat * i

print (‘O fatorial de ‘, n, ‘é’, fat)

 

■ Programa 3.17: fatorial.py.

Perceba que, para calcular fatorial de n, temos de fazer

range(1,n+1). Teste esse programa com alguns valores. Enquanto muitas linguagens de programação seriam limitadas pelo maior inteiro possível da máquina no qual o programa for executado, em Python podemos usar valores bem altos para n. Se chamarmos o programa com n igual a 100, o resultado é:

Qual o número para calcular o fatorial? 100

O fatorial de 100 é 93326215443944152681699238856266

7004907159682643816214685929638952175999932299156089

4146397615651828625369792082722375825118521091686400

0000000000000000000000

 

EXERCÍCIO 3.13

 

Reescreva o Exercício 3.11 usando o comando for.

 

EXERCÍCIO 3.14

 

Escreva um programa que calcule a temperatura equivalente em Fahrenheit para

os graus Celsius entre 0 e 100 com intervalos de 10 graus.

 

EXERCÍCIO 3.15

 

Escreva um programa que gere o seguinte padrão usando laços encaixados:

*

* *

* * *

* * * *

* * * * *

* * * *

* * *

* *

*