Baixe o app para aproveitar ainda mais
Prévia do material em texto
Universidade Federal do Rio de Janeiro Turma EP1 3ª Prova de Computação I 30 de junho de 2017 Questão 1: Conta palavras (peso 1.0) Escreva uma função chamada contaPalavras(frase) que recebe uma string como parâmetro e retorna o número de palavras na string. Uma palavra é uma sequência de um mais caracteres diferentes de espaço (o caractere ' '). Por exemplo, a chamada contaPalavras('Olá, como vai você?') deveria retornar 4, e a chamada contaPalavras('Socorram-me! Subi no ônibus em Marrocos!') deveria retornar 6. Restrições: Você não pode usar em sua solução o método split() da classe String. Questão 2: Círculo saltante (peso 1.0) Escreva um programa Tkinter que tenha a funcionalidade descrita a seguir: Aparência inicial: Crie um canvas de dimensões 500x400 com um fundo lightyellow. Quando o programa rodar, desenhe no canvas cinco quadrados brancos de lado aleatório, no intervalo [20px, 100px]. A posição dos quadrados no canvas é também aleatória com a restrição de que todos os quadrados devem ser inteiramente visíveis no canvas. Não se preocupe se houver quadrados superpostos. A figura a seguir mostra um exemplo de execução do programa, mas a cada vez que você executá-lo obterá resultados diferentes. Movimento do mouse: Se o usuário mover o mouse no interior de um dos quadrados, um círculo vermelho deve ser desenhado inscrito nesse quadrado. Se o usuário mover o mouse novamente para fora do quadrado, o círculo deve ser apagado. O seguinte trecho de código deve deixar clara sua tarefa: from Tkinter import * from random import * LARGURA = 500 ALTURA = 400 def moveu(e): # seu código aqui... canvas = Canvas(bg = 'lightyellow', width=LARGURA, height=ALTURA) canvas.pack() # seu código aqui... canvas.bind("<Motion>", moveu) mainloop() Questão 3: Começa e termina (peso 1.0) Escreva uma função comeca_e_termina_com(ch) que recebe como parâmetro um caractere ch e, repetidamente, pede ao usuário para que digite novas palavras até que o usuário digite duas palavras seguidas que comecem e terminem com o caractere ch. Por exemplo, a palavra "santos" começa e termina com a letra 's'. Ao final do processamento, antes de retornar, a função deve imprimir uma mensagem indicando o fim do algoritmo. Seu código não deve distinguir letras maiúsculas de minúsculas; por exemplo, se o caractere passado for a letra minúscula 's', você deve considerar como um teste positivo palavras que comecem por um 'S' e terminem por um 's'. Se o usuário fornecer uma palavra de uma única letra, você deve considerar esta palavra como começando e terminando com a mesma letra. Por exemplo, a palavra "A" começa e termina com o caractere 'a' (provavelmente seu algoritmo dará conta disso sem você ter de incluir nenhum processamento adicional). A saída a seguir mostra uma possível execução do programa. As entradas digitadas pelo usuário são mostradas em itálico. Digite uma palavra: Eu Digite uma palavra: amo Digite uma palavra: Computacao Digite uma palavra: sacos Digite uma palavra: PROGRAMAS Digite uma palavra: TESOURAS Digite uma palavra: melancia Digite uma palavra: canetas Digite uma palavra: Q Digite uma palavra: sacolas Digite uma palavra: SOS Fim Hipóteses: Você pode assumir que o parâmetro passado para a função é uma letra minúscula. Você pode ainda assumir que, cada vez que solicitado, o usuário digitará uma única palavra contendo pelo menos uma letra. Observação: Apesar de termos combinado não usar os comandos print e raw_input em funções, você pode fazê-lo aqui.
Compartilhar