Você está na página 1de 3

Lista de exercícios em Python

Parte 1: sintaxe básica

1) [variáveis e operadores] Desenvolva um programa que calcule a distância entre dois pontos
no plano. Os valores dos pontos devem ser informados pelo usuário.

Utilize os métodos da classe math para a resolução do exercício (import math)

2) [E/S, laços,comandos de decisão] Jogo da Adivinhação. Desenvolva um programa em


Python que simule um jogo de adivinhação. Primeiramente, o programa deverá sortear
um número entre 0 e 100. Após o sorteio, inicia-se o jogo e o jogador deverá tentar
adivinhar o número sorteado. A cada tentativa, o jogo deverá informar se o “chute” do jogador
foi maior ou menor do que o número a ser adivinhado. O jogo termina após vinte tentativas
erradas ou quando o jogador acertar o número sorteado e, nesse caso, informe a
quantidades de tentativas que foram necessárias. Após o término do jogo o jogador
deverá decidir se deseja
deseja ou não iniciar um novo
novo jogo.

from random import *


A função random() retorna um float x tal que 0 <= x < 1.
A função uniform(10,20) retorna um float x tal que 10 <= x < 20.
A função randint(100,1000) retorna um inteiro x tal que 100 <= x < 1000.
A função randrange(100,1000,2) retorna um inteiro x tal que 100 <= x < 1000 e x é par (ou seja, passo 2)

3) [Strings, listas, módulos] Formatação de data - Elaborar uma função que recebe como
parâmetros o dia, mês e ano como inteiros. A função
função deverá retornar a data por extenso
extenso
conforme o exemplo abaixo:

sdata(dia, mes, ano)

Exemplo:
data=sdata(10,04,2010)
print data => imprime: 10 de abril de 2010.
4) Escrever um programa que gere valores aleatórios para uma matriz de inteiros. Após, exiba
para cada linha, o percentual de valores pares e o percentual de valores ímpares. Deve-se
pedir que o usuário informe o tamanho da matriz (número de linhas e de colunas). Modularize
o programa de forma que seja desenvolvido um método para gerar a matriz, onde as
quantidades de linhas e colunas sejam recebidas como parâmetros; outro método para
completar a matriz com valores aleatórios e um último método para exibir as porcentagens de
valores pares e ímpares para cada linha da matriz.

5) Desenvolva um programa em Java para dividir um arquivo em várias partes. O programa


deverá ler o nome do arquivo a ser dividido e qual o tamanho máximo para cada parte (em
bytes). As partes a serem geradas deverão possuir o nome original do arquivo (sem a
extensão) seguido de uma extensão seqüencial com três dígitos. Por exemplo: o arquivo a ser
dividido tem o nome de “fonte.Java” e possui 100 bytes, o usuário decidiu que quer
dividir o arquivo em partes de no máximo 30 bytes cada. O programa deve gerar os
seguintes arquivos: “fonte.001” com 30bytes; “fonte.002” com 30bytes; “fonte.003” com 30
bytes e “fonte.004” com os 10bytes restantes.

O método split() da string pode te ajudar na resolução do exercício!


Parte 2: POO

6) Desenvolva o aplicativo Dicionário Bilíngue. O modelo é formado pela classe Dicionario a


qual gerencia um conjunto de Termos que são objetos que representam uma palavra e sua
tradução. Os termos podem ser simples e especiais. No caso de termos especiais eles possuem
além da palavra e sua tradução, o significado desta palavra.

#exemplo de uso
dic=Dicionario()
t=Termo("cow","vaca")
dic.insere(t)
dic.insere(Termo("alligator","jacare"))
if not dic.contem(“rabbit”):
dic.insere(EspTermo("rabbit","coelho","animal que
simboliza a pascoa"))

print dic.get_total_termos(); >> 3


print dic.traduz("cow"); >> vaca
print dic.traduz("rabbit"); >> coelho[animal que simboliza a pascoa]
dic.salva_em_arquivo( “dicionario.dic”)

Parte 3: Interface gráfica

7) Desenvolva uma interface gráfica, utilizando os recursos do TKInter para ser utilizada em
conjunto com o projeto de classes do Dicionário Bilíngue. A interface deverá ser composta por
uma tela de menu principal com as seguintes opções:

Menu Arquivo: com as opções: abrir, salvar, exportar para XML, gerar PDF e fechar.
(implemente somente as opções em negrito)

Menu Ferramentas: com opções para inserir novo termo no dicionário e traduzir uma
determinada palavra.

Deverão ser desenvolvidas também as telas de cadastro de novo termo e de tradução.

Você também pode gostar