Você está na página 1de 5

1

prof. Éfren L. Souza


UFOPA – Universidade Federal do Oeste do Pará
IEG – Instituto de Engenharia e Geociências
PC – Programa de Computação
Disciplina – Programação

Lista de Exercícios V
Containers

1. Elabore um programa que leia 10 valores inteiros pelo teclado e os armazena


em uma lista. Depois disso, percorra essa lista para calcular o somatório e a
média dos seus elementos.

2. Elabore um programa que cria manualmente uma lista de 10 números reais e


a partir dela crie uma outra lista cujos elementos são os elementos da
primeira lista elevados ao quadrado. No final apresente as duas listas. Crie
uma versão com while e outra com for.

3. Elabore um programa que cria uma lista qualquer e a apresente no seguinte


formato: “a->b->c->d”. Faça uma versão utilizando repetição e outra
utilizando o operador de decomposição * (pesquise sobre ele).

4. Elabore um programa que cria uma lista com 100 números inteiros aleatórios
e a apresente no final. Faça uma versão usando while e outra usando list
comprehension.

5. Escreva um programa para preencher com valores aleatórios (valores no


intervalo 1..100, inclusive) uma lista de inteiros de comprimento 50. Para isso,
pesquise sobre a função randint() do módulo random. Depois que a lista
estiver preenchida, o programa deve apresentar a lista completa, o maior
 prof. Éfren L. Souza

valor e o menor valor. Faça uma versão usando repetição e outra usando as
funções built-in max() e min().

6. Codifique um programa de computador que cria uma lista com 100 números
aleatórios. A lista deve ser processada procurando identificar quantos
números são pares, quantos são ímpares, qual é a soma dos números pares e
qual é a soma dos números ímpares.

7. Considerando que você tem uma lista com o preço de compra de 𝑁 produtos
e outra lista com o preço de venda desses mesmos produtos na mesma
ordem. Elabore um programa que mostre a quantidade de produtos que
proporcionam:
a. Lucro menor do que 10%
b. Lucro entre 10% e 20%, inclusive
c. Lucro acima de 20%

8. Codifique um programa que cria duas listas de comprimento 25 e depois


produza uma terceira lista de comprimento 50 cujos elementos são os valores
da primeira e da segunda lista intercalados.

9. Escreva um programa que cria uma lista qualquer e crie uma outra lista com
os elementos da primeira lista, mas na ordem inversa. Faça uma versão com
laço, uma versão com fatiamento e outra versão usando a função built-in
reversed() (pesquise sobre esta função).

10. Escreva um programa que cria uma lista qualquer. Depois o programa deve
manipular essa lista para invertê-la sem criar outra lista auxiliar. Faça uma
versão usando repetição e outra usando o método de objetos do tipo list
chamado reverse() (pesquise sobre este método).

11. Codifique um programa que cria uma lista de inteiros e depois processe essa
lista para encontrar e exibir apenas os elementos que não se repetem. Por
exemplo, dado uma lista 𝑎 = [1, 3, 1, 2, 4, 2] seriam impressos como saída os

2
 prof. Éfren L. Souza

valores 3 e 4. Faça uma versão usando o else de laço e outra versão sem
usá-lo.

12. Elabore um programa que cria uma lista de inteiros e ao final exibe todos os
valores existentes nessa lista sem repeti-los. Por exemplo, dado uma lista 𝑎 =
[1, 3, 1, 2, 4, 2] seriam impressos como saída os valores 1, 3, 2 e 4.

13. Escreva um programa que cria 2 listas de inteiros e depois mostra quais são
os valores comuns às duas listas. Mesmo que os valores se repitam em ambas
as listas, eles não devem ser repetidos no resultado. Por exemplo, dada as
listas 𝑎 = [1, 2, 3, 1, 4, 2, 3] e 𝑏 = [1, 2, 1, 2, 1, 2, 4] sem impressos como
saída os valores 1, 2 e 4.

14. Na disciplina de Programação, o professor dividiu a turma em 10 equipes para


fazer um trabalho. Cada equipe deve ficar com uma questão diferente, então
o professor elaborou 10 questões distintas e atribuiu uma para cada equipe.
Entretanto, os alunos acharam que essa atribuição não foi justa, uma vez que
algumas questões são bem mais difíceis do que outras. A turma exigiu que
fosse feito um sorteio. Ajude o professor criando um programa que atribui
aleatoriamente uma questão para cada equipe. Um exemplo de saída seria:
Equipe 1 fica com a Questão 4
Equipe 2 fica com a Questão 10
Equipe 3 fica com a Questão 6
Equipe 4 fica com a Questão 1
Equipe 5 fica com a Questão 7
Equipe 6 fica com a Questão 2
Equipe 7 fica com a Questão 5
Equipe 8 fica com a Questão 3
Equipe 9 fica com a Questão 8
Equipe 10 fica com a Questão 9

15. Escreva um programa que leia uma palavra como entrada e depois apresenta
essa palavra invertida e diz se essa palavra é ou não um palíndromo (palavras

3
 prof. Éfren L. Souza

que podem ser lidas, indiferentemente, da esquerda para a direita ou vice-


versa). Faça uma versão que usa o recurso de fatiamento e outra que não usa.

16. Elabore um programa para ler uma data no formato dia/mês/ano e depois
mostre essa data no formato ano/mês/dia. A quantidade de dígitos nos
elementos da data podem variar, por exemplo o mês pode ser dado como 02
ou apenas como 2, o ano pode ser dado como 2020 ou apenas 20. Crie uma
versão usando o método split() e outra sem o split().

17. Escreva um programa que conta a quantidade de vogais e a quantidade de


palavras em uma dada frase. Considere que a frase pode ter espaços em
branco repetidos antes e/ou depois de quaisquer palavras. Crie uma versão
usando o método split() e outra sem o split().

18. Escreva um programa que leia 𝑛 dígitos e com eles forme um número inteiro
formado por esses números na mesma ordem em que foram lidos. Por
exemplo, se forem lidos os dígitos 2, 3, 4 e 5, o programa deve gerar o inteiro
2345. Imprima o número e o seu tipo usando a função type()). A leitura
dos dígitos termina quando for lido um número negativo. Implemente uma
verão usando concatenação de string e outra versão sem concatenação.

19. Escreva um programa que leia dois números 𝑟 e 𝑐 que serão respectivamente
a quantidade de linhas e colunas de uma matriz. Crie essa matriz e a preencha
com valores aleatórios. Imprima essa matriz da maneira como as matrizes são
representadas na matemática (uma linha acima da outra).

20. Na matemática, a matriz identidade é uma matriz diagonal 𝐴𝑛×𝑛 , cujos


elementos na diagonal principal são todos iguais a 1 e os outros elementos
são iguais a 0. Escreva um programa que diga se uma dada matriz qualquer
(inclusive de qualquer dimensão) é identidade ou não. Você pode gerar a
matriz manualmente.

4
 prof. Éfren L. Souza

21. Dizemos que uma matriz 𝐴𝑛×𝑛 é de permutação se em cada linha e em cada
coluna houver 𝑛 − 1 elementos nulos e um único elemento igual a 1. Escreva
um programa que diga se uma matriz qualquer é ou não de permutação.

22. O produto das matrizes 𝐴𝑚×𝑝 e 𝐵𝑝×𝑛 é a matriz 𝐶𝑚×𝑛 em que cada elemento
𝑐𝑖𝑗 é obtido por meio da soma dos produtos dos elementos correspondentes
da 𝑖-ésima linha de 𝐴 pelos elementos da 𝑗-ésima coluna 𝐵. Escreva um
programa que crie as matrizes 𝐴 e 𝐵, as multiplica e depois mostra o
resultado.

23. Escreva um programa que gere os 𝑁 primeiros termos da sequência de


Fibonacci utilizando uma lista para armazená-los. 𝑁 ≥ 2 deve ser lido pelo
teclado. Apresente a lista no final.

24. Escreva um programa que permaneça em laço lendo números inteiros


enquanto os valores digitados forem não negativos. Cada valor digitado deve
ser adicionado a uma lista de forma que eles fiquem ordenados em ordem
crescente. Note que a lista sempre deve estar ordenada após a inserção de
cada elemento. Exiba a lista após a inserção de cada elemento. Pesquise sobre
o método insert() da classe list.

25. Escreva um programa que gere uma lista 𝐴 de comprimento 15 e a preencha


com valores aleatórios do intervalo [−50, 50]. O programa deve separar os
valores de A em outras duas listas 𝑁 e 𝑃: a primeira contendo somente os
valores negativos e a segunda contendo os valores positivos e zero.
Apresentar na tela as listas 𝐴, 𝑁 e 𝑃.

5

Você também pode gostar