Ferramentas Pessoais
Você está aqui: Página Inicial » Cursos » Algoritmos e Programação » 3a Lista de Exercícios

3a Lista de Exercícios

Document Actions
  1. Suponha que a Python não dispusesse da função sqrt ou do operador de exponenciação. Então, uma maneira de obter a raiz quadrada seria através de busca binária. Assuma que a raiz quadrada de x está entre 0 e x. Então, se quisermos saber se um palpite y é a raiz quadrada de x, basta testar se y*y é igual a x ou, pelo menos, se está próximo dentro de uma tolerância. Caso contrário, podemos restringir a busca entre 0 e y ou entre y e x. Escreva uma função raiz(x) que implemente este algoritmo.
  2. Crie uma classe Data para implementar datas. 
    • O construtor deve ser flexível e aceitar datas com anos com 2 dígitos ou 4, meses em forma numérica ou alfabética. Deve também testar se a data é válida.
    • Deve ser possível comparar datas com os operadores ==, !=, <, >, <=, >=, que são implementados pelos métodos __eq__, __ne____lt__, __gt__, __le__, __ge__
    • Duas datas devem poder ser subtraídas resultando no número de dias entre elas.
    • Escreva um método __repr__ para escrever datas.
  3. Estenda a classe Data escrevendo uma classe Instante que represente tempo medido em milésimos de segundo. Em particular, dois instantes também podem ser comparados ou subtraídos (o resultado é dado em milésimos de segundo).
  4. Escreva uma classe chamada FuncaoAmostrada que representa uma função de uma variável definida a partir de pares (x,y). Então, se fa é um objeto dessa classe, 
    1. fa[x]=y # acrescenta uma amostra ao objeto
    2. y = fa[x] # avalia a função em x
    3. fa.dominio() # retorna o domínio da função como uma tupla (xmin, xmax), ou seja, os valores de x para os quais a função está definida
  5. Escreva uma função recursiva que dê uma solução para o problema das oito rainhas: como colocar nove rainhas num tabuleiro de xadrez de tal forma que nenhuma rainha possa ser atacada por nenhuma outra. Lembre que uma rainha é uma peça do jogo de xadrez capaz de se mover horizontalmente, verticalmente e diagonalmente um número qualquer de casas.
« Julho 2006 »
Do Se Te Qu Qu Se Sa
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31          
12-07-2006
13:30-15:00 Illustrative Scientific Visualization
Próximos Eventos
 
 

Powered by Plone

Este site está em conformidade com os seguintes padrões: