p2_et1
5 pág.

p2_et1


DisciplinaComputação II169 materiais495 seguidores
Pré-visualização1 página
P2 de Computação 2
Data: 02/12/2011 \u2013 8h às 10h
Prof(a): Bianca Ruivo
A prova está composta por 3 questões a serem resolvidas em 2h. Cada 
aluno deverá criar uma pasta na área de trabalho do seu computador contendo 
seu nome completo e colocar nela os arquivos referentes à prova, seguindo a 
nomenclatura P2_1.py, P2_2.py e P2_3.py. Esta pasta deverá ser entregue à 
professora no término da prova.
Critérios de correção:
Os critérios de correção a serem utilizados serão os seguintes:
1. organização e clareza do código; 
2. presença de comentários em pontos do código que não 
estejam muito claros;
3. nomes de variáveis/funções significativos, objetivos e 
autoexplicativos; 
4. definição de funções separada da parte de entrada de dados 
(programa principal) e presença do \u201creturn\u201d; 
5. o programa lê os dados de entrada conforme pedido;
6. o programa faz os cálculos corretamente;
7. o programa imprime a saída conforme pedido;
8. o programa faz o tratamento de exceções corretamente;
9. o programa não aborta (não interrompe sua execução).
Caso os itens de 1 a 5 e os itens 7 e 8 não sejam realizados, será 
descontado o valor de 0.2 no valor total da questão, por item. Caso o item 6 não 
seja realizado, será descontado o valor de 0.6 no valor total da questão. Caso o 
item 9 não seja realizado, será descontado o valor de 0.8 no valor total da 
questão.
Boa Prova!
Questão 1 (valor: 3.5 pontos): Escreva um programa que leia frases contidas 
no arquivo \u201cfrases.txt\u201d (uma frase por linha) e imprima na tela uma estatística 
dos caracteres de cada frase. 
Exemplo de arquivo \u201cfrases.txt\u201d:
O EXERCICIO E FACIL
curso
fim do programa
biancA
Resultado impresso na tela:
Frase O EXERCICIO E FACIL => 'O' = 2, ' ' = 3, 'E' = 3, 'X' = 1, 'R' = 1, 'C' 
= 3, 'I' = 3, 'F' = 1, 'A' = 1, 'L' = 1.
Frase curso => 'c' = 1, 'u' = 1, 'r' = 1, 's' = 1, 'o' = 1.
Frase fim do programa => 'f' = 1, 'i' = 1, 'm' = 2, ' ' = 2, 'd' = 1, 'o' = 2, 'p' = 
1, 'r' = 2, 'g' = 1, 'a' = 2
Frase biancA => 'b' = 1, 'i' = 1, 'a' = 2, 'n' = 1, 'c' = 1
Obs: Assuma que a frase não conterá caracteres acentuados mas poderá 
conter símbolos como @, $, [, etc e estes deverão ser contabilizados. Letras 
maiúsculas e minúsculas deverão ser tratadas igualmente.
Questão 2 (valor: 3.0 pontos): Escreva um programa que leia do teclado 
números inteiros no intervalo [0,200] (até que FIM seja digitado para sair do 
programa) e grave no arquivo \u201cnumeros.txt\u201d as seguintes respostas:
\u2022 a quantidade de números pares;
\u2022 quais números são pares;
\u2022 a quantidade de números ímpares;
\u2022 quais números são ímpares;
\u2022 quais números são múltiplos de 7.
Obs1: Faça o tratamento de exceções utilizando \u201ctry/except\u201d para não 
aceitar letras, demais símbolos para os números. 
Obs2: Não aceite números < 0 e > 200. Utilize o comando \u201craise\u201d com sua 
própria classe de exceção para mapear estes casos.
Exemplo de funcionamento do programa:
Digite um número inteiro ou FIM para sair: 2
Digite um número inteiro ou FIM para sair: 13
Digite um número inteiro ou FIM para sair: 45
Digite um número inteiro ou FIM para sair: 27
Digite um número inteiro ou FIM para sair: 2034
Numero invalido.
Digite um número inteiro ou FIM para sair: teste
So aceito numeros.
Digite um número inteiro ou FIM para sair: 23
Digite um número inteiro ou FIM para sair: FIM
Fim do programa.
Arquivo de saída \u201cnumeros.txt\u201d:
Quantidade de numeros pares: 1
Numeros pares: 2
Quantidade de numeros impares: 4
Numeros impares: 13, 45, 27, 23
Numeros multiplos de 7: 0
Questão 3 (valor: 3.5 pontos): Escreva um programa que simule um jogo em 
que o usuário terá que adivinhar uma palavra que será mostrada na tela com as 
letras embaralhadas. O programa deverá ler uma lista de palavras do arquivo 
\u201cpalavras.txt\u201d (contendo uma palavra por linha) e deverá escolher 
aleatoriamente uma palavra. O jogador terá 6 tentativas para adivinhar a 
palavra. Ao final, o programa deverá mostrar na tela se o jogador ganhou ou 
perdeu o jogo e o número de tentativas feitas caso o mesmo tenha ganho. No 
caso de perda do jogo, a palavra correta deverá ser mostrada na tela.
Exemplo de arquivo de entrada \u201cpalavras.txt\u201d:
ceu
amor
lua
chuva
agasalho
carro
Exemplo de funcionamento do programa:
Adivinhe a palavra embaralhada abaixo: 
 amro
 Digite a palavra correta: roma
 Palavra errada. Tente novamente.
 Digite a palavra correta: amor
 Ganhou o jogo. Acertou em 2 tentativas. 
Fim do programa!
# nova execução do programa
 Adivinhe a palavra embaralhada abaixo: 
 cuavh
 Digite a palavra correta: vacuh
 Palavra errada. Tente novamente.
 Digite a palavra correta: havuc
 Palavra errada. Tente novamente.
 Digite a palavra correta: aucvh
 Palavra errada. Tente novamente.
 Digite a palavra correta: hacuv
 Palavra errada. Tente novamente.
 Digite a palavra correta: avuch
 Palavra errada. Tente novamente.
 Digite a palavra correta: huacv
 Perdeu o jogo. Palavra correta: chuva.
Fim do programa!
Obs1: Assuma que as palavras não serão acentuadas e só conterão 
letras minúsculas.
Obs2: Para sortear a palavra, utilize a função \u201cchoice\u201d do módulo random. 
Para embaralhar as letras da palavra, utilize a função \u201cshuffle\u201d do módulo 
random.