Lista de Exercícios

Lista de Exercícios semanais


Enunciado Exercício 1:

  1. Se registrar no Adessowiki e criar a sua página de diário do curso -
  2. Estudar o Python (primer ou tutorial) http://docs.python.org/tutorial -
  3. Estudar o NumPy (tutorial, para entender arrays e pequenos truques de processamento de imagem). http://www.scipy.org/Tentative_NumPy_Tutorial -
  4. Fazer um exercício que mostre os principais conceitos aprendidos. Procure fazer exercícios com matriz numérica de tamanho reduzido.
  5. Estudar formas de gerar uma imagem xadrez e implementar algumas de sua preferência. Veja em:

Resolução:

  1. Registro na Adessowiki realizado com sucesso.

2. O site http://docs.python.org/tutorial/ disponibiliza uma vasta explicação dos comandos iniciais para começar a estudar python, além disso, há explicações das principais funções com vários exemplos didáticos, basta ir acessando qual assunto está procurando. O glossário do site é bem amplo o que torna mais rápida a procura por determinado item. O site http://www.pythonbrasil.com.br, há explicação de como instalar o software em alguns sistemas operacionais, além disso, já há links para realizar download do software e um “passo a passo” para instalar o phyton.

  1. Já no site http://www.scipy.org/Tentative_NumPy_Tutorial, assim com no primeiro, esse oferece um vasto glossário das funções e disponibiliza também vários exemplos de como utilizar determinada função ou variável.

  2. Conceitos aprendidos na primeira aula.

    Na aula passada foram apresentados conceitos de programação em Phyton para começarmos a disponibilizar as soluções dos problemas proposto na disciplina, sendo assim, será realizada uma pequena explicação de alguns comandos necessários para solucionar o primeiro exercício.

    • zeros tem a função de preparar o array para receber resultados.
    • range quando coloca-se um único argumento nessa função, ele servirá para especificar o tamanho do array, porém vale lembrar que a contagem começa de zero (0) e vai até o número especificado menos um (1). Quando colocam-se dois argumentos, o primeiro será o número inicial, e o segundo será a número final menos um (1), além disso, há um terceiro argumento, nesse caso, o range funcionará da seguinte maneira:

    O primeiro argumento, será o número inicial, o segundo o número final menos um (1), e o terceiro argumento será para informar os “pulos” no array, por exemplo, range (1,10,2) o resultado será: 1, 3, 5, 7, 9.

    • print usado para imprimir o resultado em um dispositivo de saída, no caso, monitor.

Função apresentada na sala de aula.


 1 # w  width (largura) nesse caso refere-se ao número de colunas
 2 # h  heigh (altura) nesse caso refere-se ao número de linhas
 3 
 4 w,h = 15,10
 5 
 6 # Criar array vazio pronto para receber resultado.
 7 M = zeros( (h,w) )
 8 
 9 # quando colocamos só um argumento, a contagem começa do zero e vai até o numero dado  menos um.
10 for i in range(0,h):
11   for j in range(0,w):
12     M[i,j] = (i+j) % 2
13 
14 # Mostra o resultado no dispositivo de saída.
15 print M
[[ 0.  1.  0.  1.  0.  1.  0.  1.  0.  1.  0.  1.  0.  1.  0.]
 [ 1.  0.  1.  0.  1.  0.  1.  0.  1.  0.  1.  0.  1.  0.  1.]
 [ 0.  1.  0.  1.  0.  1.  0.  1.  0.  1.  0.  1.  0.  1.  0.]
 [ 1.  0.  1.  0.  1.  0.  1.  0.  1.  0.  1.  0.  1.  0.  1.]
 [ 0.  1.  0.  1.  0.  1.  0.  1.  0.  1.  0.  1.  0.  1.  0.]
 [ 1.  0.  1.  0.  1.  0.  1.  0.  1.  0.  1.  0.  1.  0.  1.]
 [ 0.  1.  0.  1.  0.  1.  0.  1.  0.  1.  0.  1.  0.  1.  0.]
 [ 1.  0.  1.  0.  1.  0.  1.  0.  1.  0.  1.  0.  1.  0.  1.]
 [ 0.  1.  0.  1.  0.  1.  0.  1.  0.  1.  0.  1.  0.  1.  0.]
 [ 1.  0.  1.  0.  1.  0.  1.  0.  1.  0.  1.  0.  1.  0.  1.]]

 1 def chessboard(linha, coluna, tamanho):
 2 
 3     image = numpy.zeros([linha * tamanho, coluna * tamanho])
 4     for i in range(0, linha * tamanho):
 5         for j in range (0, coluna * tamanho):
 6             image[i, j] = (i / tamanho + j / tamanho) % 2
 7 
 8     # Mostrando tabuleiro
 9     mmshow(image, title='Tabuleiro.');
10 
11 chessboard(8, 8, 30)

Tabuleiro.