Prévia do material em texto
UNIVERSIDADE FEDERAL DO RIO DE JANEIRO - UFRJ PROVA Final Computação (Python) - Turma 7001 2013-1 Aluno:_________________________________________________ Matrícula DRE:______________________ LEIA ATENTAMENTE O ENUNCIADO DAS QUESTÕES E RESPONDA AO QUE SE PEDE 1) (2,5 pontos) Faça um programa que, dado um número ou uma string como entrada, verifique se ele é palíndromo. Palíndromos são aqueles que são iguais se lidos normalmente ou de forma inversa (de trás pra frente). Por exemplo: O número 8008, a string "salas" , a string "sopapos", a string "O galo no lago" etc. 2) (2,5 pontos) Faça uma função de nome NumVogais para determinar quantas vogais existem em uma string que foi passada como parâmetro, retornando um número inteiro como valor (a quantidade de vogais existentes). Considere que o texto sempre terá entrada letras minúsculas. 3) (3,5 pontos) Dois arquivos tipo texto em disco contêm séries de números reais, todos menores do que dez elevado a sexta, separados pelo caracter de fim de linha (\n) e ordenados em ordem crescente. Chame o primeiro arquivo de "alfa.txt" e o segundo de "beta.txt". Faça um programa que, sem alterar alfa e beta, crie e grave no disco um novo arquivo(chame- o de "zeta.txt") que contenha, também ordenada, o conjunto de números formado pela junção da série contida em alfa com a série em beta. Repetições não são admitidas! Por exemplo: alfa beta zeta 3.0 2.0 2.0 4.0 4.05 3.0 4.1 4.1 4.0 5.8 79.5 4.05 79.4 92.5 4.1 85.2 109.3 5.8 230.5 79.4 403.2 79.5 85.2 92.5 109.3 230.5 403.2 Seu programa deve ainda colocar na tela do computador duas mensagens: a primeira, "Iniciando junção dos arquivos...", ao iniciar o processamento , e a segunda, "Novo arquivo criado.", ao terminar. 4) (1,5 pontos) O que o programa abaixo faz? m1 = [ [1, 2, 3, 0], [4, 5, 6, 0], [7, 8, 9, 0] ] m2 = [ [2, 4, 6, 0], [1, 3, 5, 0], [0, -1, -2, 0] ] m3= [ 4*[0] , 4*[0], 4*[0] ] for i in range(3): for j in range(4): m3[i][j]= m1[i][j]+m2[i][j]