Buscar

lista revisão - Python Computação II - Engenharia Mecânica UFRJ

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 6 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 6 páginas

Prévia do material em texto

Lista extra de exercícios – Revisão de Computação I
1 - Faça o programa do jogo: “Acerte os números”. 
• Inicialmente, leia diversos números inteiros entrados pelo dono da casa de aposta, guardando 
numa lista. 
• A entrada dos números termina quando for digitado um número negativo. 
• Em seguida o apostador poderá entrar com vários números para verificar o seu acerto.
• Caso ele acerte um dos números da lista, informe do acerto e diga quantos números faltam 
acertar.
• O programa termina caso o apostador erre 10 vezes ou até ele acertar todos os números.
• A seguir, altere o programa para guardar os números sem que haja repetição, ou seja, caso o 
dono da casa de apostas tenha digitado um número que já exista, ignore-o.
2 - Faça um programa que mantenha o estoque de um hortifruti. Apresente um menu com as seguintes 
opções:
(a) inserir novos produtos
(b) acrescentar no estoque
(c) baixar do estoque
(d) listar produtos com estoque baixo
(e) listar estoque de todos os produtos
(f) sair!
• Para cada produto inserido, leia nome, código e quantidade inicial.
• Para acrescentar ou baixar do estoque, leia o código e a quantidade
• Quando der baixa no estoque, verifique se não está negativo, nesse caso, avisar ao usuário que 
serão baixados apenas a quantidade atual no estoque (zerando esse produto)
• “Estoque baixo” significa que há apenas 5 ou menos produtos
3 - Faça um programa para cadastrar os alunos de uma turma. O programa deverá apresentar um menu 
de opções ao usuário contendo:
a. inclusão
b. exclusão
c. listagem geral
d. listagem acima nota
e. listar aluno
f. trocar de nota
g. fim
• Para cadastrar um aluno, deverá ser realizada a leitura de sua matrícula e sua nota.
• Para excluir um aluno, apenas sua matrícula deverá ser pedida.
• A listagem geral deverá listar todos os alunos matriculados.
• A listagem por nota deverá listar todos os alunos acima de uma determinada nota.
• Listar um aluno significa mostrar a nota de um aluno.
• Para trocar a nota de um aluno, é necessário apenas a sua matricula e sua nova nota.
• A listagem deverá ser mantida sempre ordenada 
4 - Faça um programa que leia uma série de nomes completos (termina quando for inserido um nome 
vazio). Em seguida, o programa deverá dizer para cada primeiro nome diferente, quantas vezes ele 
apareceu. 
Ex:
Entrada:
OTAVIO HENRIQUE OLIVEIRA
PAULO EDUARDO ANDRADE RODRIGUES DA SILVA
PAULO FELIPE NUNES DE LIMA
OTAVIO SECKLER MACHADO
MATHEUS SOARES DA SILVA
OCTAVIO LACERDA DE ALMEIDA
PAULA ALVES PESSOA
PAULO RICARDO MORAIS SHOR
MATHEUS GALLUZZI MALAFAIA
Saída:
MATHEUS 2
NICOLAS 1
OCTAVIO 1
OTAVIO 2
PAULA 1
PAULO 3
5 - Faça um programa que gere um jogo do tipo "caça-palavras". O programa deverá inicializar uma 
matriz 6x6 com letras minúsculas em ordem alfabética por coluna (tabela 1) (caso não haja mais letras 
minúsculas para preencher a matriz, deve- se voltar à letra ‘a’). A seguir o programa deverá ler o 
conjunto de informações para montar o caça-palavras composto por:
• Uma palavra de até 6 caracteres
• A linha inicial
• A coluna inicial
• O sentido (1=p/ cima; 2=p/ baixo; 3=diagonal p/Nordeste; 4=diagonal p/Suldeste; 5=p/
esquerda; 6=p/direita, 7=diagonal p/Noroeste, 8= diagonal p/Sudoeste)
• A leitura das palavras termina com uma palavra vazia. 
Para cada palavra lida, o programa deverá colocá-la na matriz de acordo com o sentido. Caso a 
palavra não caiba na posição e direção definida, esta deverá ser ignorada e uma mensagem de 
erro deverá ser emitida. (crie uma função para cada sentido)
Exemplo:
6 - Uma 
editora quer saber o relacionamento entre seus autores. Faça um programa que:
• Dado o total de livros da editora (lido no início), leia para cada livro da editora, o nome dos 
autores.
• Cada livro pode ter mais de um autor. Para facilitar, basta guardar o primeiro nome
• A lista é terminada por linha vazia
• Não precisa ler o nome do livro
• Mantenha uma lista de autores e quantidade de livros escritos.
• Mantenha uma matriz de inteiros com a relação de autorias. Observe que essa matriz é 
simétrica e sua diagonal é igual a lista do item anterior.
• Ao final, imprima:
◦ Quais autores escreveram mais livros juntos
◦ Dado um autor, com quais autores ele nunca escreveu
7 - Faça um programa que leia 100 valores reais da entrada e identifique o valor mais próximo da 
média. 
Exemplo supondo quatro valores
>>> Digite os valores de entrada: 2.5 7.5 10.0 4.0
(média = 6.0 (não deve ser impresso))
>>> Valor mais próximo da média = 7.5 
8 - Faça um programa que leia diversos votos para 10 candidatos (votos entre 1 e 10) e ao final diga 
qual foi o candidato vencedor (considere que não há empate). Os votos terminam com um número 
inválido (negativo ou maior que 99). 
Obs: Altere o programa de modo a considerar a possibilidade de empates. 
Exiba as porcentagens de votos para cada candidato em uma tabela. 
9 - Uma grande emissora de televisão quer fazer uma enquete entre os seus telespectadores para saber 
qual o melhor jogador após cada jogo. Para isto, faz-se necessário o desenvolvimento de um programa, 
que será utilizado pelas telefonistas, para a computação dos votos. 
• Para computar cada voto, a telefonista digitará um número, entre 1 e 23, correspondente ao 
número da camisa do jogador. 
• Um número de jogador igual zero, indica que a votação foi encerrada. 
• Se um número inválido for digitado, o programa deve ignorá-lo, mostrando uma breve 
mensagem de aviso, e voltando a pedir outro número. 
• Após o final da votação, o programa deverá exibir:
a. O total de votos computados;
b. Os númeos e respectivos votos de todos os jogadores que receberam votos;
c. O percentual de votos de cada um destes jogadores;
d. O número do jogador escolhido como o melhor jogador da partida, juntamente com o 
número de votos e o percentual de votos dados a ele.
• Observe que os votos inválidos e o zero final não devem ser computados como votos. O 
resultado aparece ordenado pelo número do jogador. 
• O programa deve fazer uso de listas.
• O programa deverá executar o cálculo do percentual de cada jogador através de uma função. 
Esta função receberá dois parâmetros: o número de votos de um jogador e o total de votos. A 
função calculará o percentual e retornará o valor calculado. 
Abaixo segue uma tela de exemplo. O disposição das informações deve ser o mais próxima possível ao 
exemplo. Os dados são fictícios e podem mudar a cada execução do programa. 
Enquete: Quem foi o melhor jogador?
Número do jogador (0=fim): 9
Número do jogador (0=fim): 10
Número do jogador (0=fim): 9
Número do jogador (0=fim): 10
Número do jogador (0=fim): 11
Número do jogador (0=fim): 10
Número do jogador (0=fim): 50
Informe um valor entre 1 e 23 ou 0 para sair!
Número do jogador (0=fim): 9
Número do jogador (0=fim): 9
Número do jogador (0=fim): 0
Resultado da votação:
Foram computados 8 votos.
Jogador Votos %
9 4 50,0%
10 3 37,5%
11 1 12,5%
O melhor jogador foi o número 9, com 4 votos, correspondendo a 50% do total de votos.
10 - Jogo de Forca. Desenvolva um jogo da forca. O programa terá uma lista de palavras lidas de um 
arquivo texto e escolherá uma aleatoriamente. O jogador poderá errar 6 vezes antes de ser enforcado.
Digite uma letra: A
-> Você errou pela 1ª vez. Tente de novo!
Digite uma letra: O
A palavra é: _ _ _ _ O
Digite uma letra: E
A palavra é: _ E _ _ O
Digite uma letra: S
-> Você errou pela 2ª vez. Tente de novo!
11 - Valida e corrige número de telefone. Faça um programa que leia um número de telefone, e corrija o 
número no caso deste conter somente 7 dígitos, acrescentando o '3' na frente. O usuário pode informar 
o número com ou sem o traço separador.
e.Valida e corrige número de telefone
Telefone: 461-0133
Telefone possui 7 dígitos. Vou acrescentar o digito três na frente.
Telefone corrigido sem formatação: 34610133
Telefone corrigido com formatação: 3461-0133
12 - Jogo da palavra embaralhada. Desenvolva um jogo em que o usuário tenha que adivinhar uma 
palavra que será mostrada com as letras embaralhadas. O programa terá uma lista de palavras lidas de 
um arquivo texto e escolherá uma aleatoriamente. O jogador terá seis tentativas para adivinhar a 
palavra. Ao final a palavra deve ser mostrada na tela, informando se o usuário ganhou ou perdeu o 
jogo.
13 - Leet spek generator. Leet é uma forma de se escrever o alfabeto latino usando outros símbolos em 
lugar das letras, como números por exemplo. A própria palavra leet admite muitas variações, como l33t 
ou 1337. O uso do leet reflete uma subcultura relacionada ao mundo dos jogos de computador e 
internet, sendo muito usada para confundir os iniciantes e afirmar-se como parte de um grupo. Pesquise 
sobre as principais formas de traduzir as letras. Depois, faça um programa que peça uma texto e 
transforme-o para a grafia leet speak.
14 – Escreva uma função que recebe duas strings e retorna a primeira posição em que a menor string 
aparece dentro da menor string. Caso a menor string não esteja contida dentro da maior, seu programa 
deve dar essa informação ao usuário. 
15 – Modifique o programa anterior para retornar todos os índices em que a menor string aparece 
dentro da primeira.
16 – Escreva um programa que tem como entrada 3 strings. O programa deve substituir a segunda 
string pela terceira string, dentro da primeira string. Caso a segunda string não esteja contida na 
primeira, o programa deve informar ao usuário.
Ex. 
>>> Digite a frase principal: A minha senha é 123456, repetindo, 123456
>>> Digite a segunda string: 123456
>>> Digite a terceira string: ******
>>> A minha senha é ******, repetindo, ******
17 – Escreva um programa que conta a quantidade de palavras que existem em uma frase. Seu 
programa deve considerar que as palavras podem estar separadas por espaços ou sinais de pontuação. 
18 – Escreva uma função que recebe duas strings e decide se ambas são palíndromas mútuas, ou seja, 
se uma igual a outra, se escrita de trás para frente. 
Exs. amor e roma
19 – Escreva um programa que converte em uma frase letras maiúsculas para minúsculas e vice-versa.
20 – Escreva um programa que imprime os caracteres de uma string que estão em posições pares. 
21 – Escreva um programa que conta a quantidade de vogais em um texto e armazena tal quantidade 
em um dicionário, onde a chave é a vogal considerada. 
22 - Uma pista de Kart permite 10 voltas para cada um de 6 corredores. Faça um programa que leia 
todos os tempos em segundos e guarde as informacões de cada corredor em um dicionário. Ao final 
diga: 
De quem foi a melhor volta da prova e em que volta
Classificação final em ordem (1º o campeão)
Qual foi o piloto mais regular?
Qual foi a volta com a média mais rápida?

Outros materiais