Você está na página 1de 14

Lógica de Programação II com Python

Atendimento 01 – Estruturas de Repetição, Vetores e listas compressas

Professor Willison Pinto da Silva


Objetivos do atendimento

• Compreender o papel dos índices e das posições de vetores, como utilizar o fatiamento e realizar

operações (busca e preenchimento)

• Revisar os laços de repetição

• Entender o funcionamento das listas compressas e a sua equivalência com os laços de repetição

2
Acesso por
índice
• Os índices sempre iniciam por 0 (zero). Por exemplo:

numeros = [45, 34, 1, 2, 3]

Índices

0 1 2 3 4

45 34 1 2 3

Valores

print(numeros[4])
print(numeros[3])
print(numeros[13])
3
Acesso por índice
negativo
• Os índices sempre iniciam por -1. Por exemplo:

numeros = [45, 34, 1, 2, 3]

Índices positivos Índices negativos


-5 -4 -3 -2 -1

0 1 2 3 4

45 34 1 2 3

Valores

print(numeros[-8])
print(numeros[-
3]) 4
Fatiamento
• Uma list tem um tamanho associado (quantidade de valores);
• O tamanho de uma list pode ser obtido utilizando-se a função len.

Fatiamento de list
• Se quisermos usar apenas um subconjunto de uma list,
podemos usar fatiamento.

[i:f]
# i indica o índice do início do fatiamento
# f indica o índice do fim do fatiamento

5
Fatiamento

Lista = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]


>>> lista[0:5]
[1, 2, 3, 4, 5]
>>> lista[0:6]
[1, 2, 3, 4, 5, 6]
>>> lista[:6]
[1, 2, 3, 4, 5, 6]
>>> lista[1:-1]
[2, 3, 4, 5, 6, 7, 8, 9]
>>> lista[1:-2]
[2, 3, 4, 5, 6, 7, 8]

6
Exercícios

Considere um vetor A com N elementos onde A1 < ... < Ay-4 < Ay-3 < Ay-2 < Ay-1 < Ay >
Ay+1 > Ay+2 > ... > An , ou seja, está ordenado em ordem crescente até o Ay elemento, e
a partir desse elemento está ordenado em ordem
decrescente. Faça um algoritmo, onde o usuário entra com o tamanho do vetor (e o
preencha com elementos inteiros e
diferentes entre si) e a posição Y, que proponha o ordenamento deste vetor conforme
as regras propostas.

7
Laço de Repetição
• Range(início, total_de_elementos)

Ex.: Quero 10 elementos inteiros começando do zero:


range(0,10)

range(0,10)
>>> lista2 = list(range(0,10))
>>> print(lista2)

8
Laço de Repetição
• For

>>> for i in range(0,10):


>>> print(i)

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


>>> print(i)

9
Laço de Repetição
• For

>>> for i in range(0,10):


>>> print(i)

>>> for i in [“Ola”, “Mundo”, “da”, “Programacao”]:


>>> print(i)

10
Laço de Repetição
• Range(início, limite, passo)

Ex.: Quero os elementos inteiros começando do zero, de dois em dois,


menores que 10:
range(0,10, 2)

range(0,10)
>>> lista2 = list(range(0,10, 2))
>>> print(lista2)

11
Exercícios

1. Crie um algoritmo para preencher um vetor com números inteiros de 1 a 100.


2. Crie um algoritmo para preencher um vetor com os 100 primeiros números inteiros
múltiplos de 3.
3. Implemente um algoritmo para buscar um número específico em um vetor e retornar sua
posição (índice).
4. Escreva um programa que preencha um vetor com 10 números aleatórios e, em seguida,
imprima os elementos do vetor na ordem inversa, utilizando índices negativos.
5. Escreva um programa que recebe um vetor com N elementos (N deve ser um número
par), e salve em um novo vetor a soma dos elementos da primeira e da última posição, da
segunda e da penúltima posição, da terceira e da antepenúltima posição, e assim por
diante.
6. Implemente um algoritmo para contar quantas vezes um determinado caractere ocorre
em um vetor, utilizando um loop for.
7. Faça um programa que leia dois vetores de 10 elementos. Crie um vetor que seja a
interseção entre os 2 vetores anteriores, ou seja, que contém em apenas os números
que estão em ambos os vetores. N ̃ao deve conter números repetidos

12
Laço de Repetição
• While
enquanto uma condição for verdadeira.
i = variável de controle;
i++ ou i-- incremento ou decremento

i = 0
while i < 6:
i++

13
Exercícios

1. Um matemático que por volta do ano 1200 de nossa era resolveu estudar o quão
rápido os coelhos poderiam procriar,
em situações ideais. Ele supôs que um casal de coelhos recém-nascidos foi
colocado para acasalar. Os coelhos podem se
acasalar com um mês de idade e, no final do segundo mês, eles podem produzir
um novo par de coelhos. Ele supôs também
que os coelhos nunca morriam e que uma fêmea fértil sempre produzia um novo
casal (um macho e uma fêmea) todo mês,
mas só a partir do segundo mês após seu nascimento.

14

Você também pode gostar