Exercício 01 - Primeiros passos
Neste exercício usaremos a linguagem Python para criar e manipular imagens.
usando PYzo | Usando Colab |
Por favor, verifique se o Winpy está instalado no seu computador. Se não, obtenha uma copia do site oficial PYZO | Usando Colab: Crie uma conta Google e entre no COLAB |
abra o PYZO. Você terá uma tela com um prompt ">>" esperando comandos para interação. Você pode usar os ícones na barra superior para alterar o diretório de trabalho ou usar os comando no prompt. | Você tem duas opções: "código", ou "texto", use texto para comentários e códigopara partes do programa |
No editor de textos, crie um programa com as seguintes linhas:
|
Salvar e rodar o programa
usando PYzo | Usando Colab |
Agora salve seu programa em seu diretório de trabalho, por exemplo com o nome "prog001.py". Para isto, mude o nome do arquivo. Verifique se ele foi criado na pasta selecionada | Mude o nome "rename" de seu programa. Deve estar como Unttled. Renomeie para "prog001.py". Ele será armazenado em seu Google Drive |
Para rodar o programa: pode teclar "run" ou control+Shift+E. | Acionar a tecla play (triângulo) |
usando PYzo | Usando Colab |
veja a resposta na área interativa logo abaixo!
Agora, altere o valor de "a" ou de "b" e rode o programa de novo.
parte 2
Bem, parece que você já está programando algo. Vamos criar dois vetores (com numpy que serve para manipular arrays) e plotar um gráfico, usando matpotlib (biblioteca de plotagem matemática).
Passos:
- Carregar a biblioteca NUMPY: biblioteca para cálculo científico. Inclui:Manipulação de matrices n-dimensionais; Manipulação de funções, etc.
- Carregar a biblioteca MATPLOTLIB.PYPLOT: permite mostrar gráficos e figuras na tela.
- criar dosi vetores x e y.
- plotar o gráfico y=f(x). Ele é criado, mas não mostrado.
- mostrar o gráfico com show()
- se quiser, pdoe adicionar uma legenda (2da opção).
|
É muito prático ler dados de um arquivo ASCII. Vamos então escrever uma série de linhas que permitem ler dados de um arquivo no disco (pode ser seu diretório, ou no google drive.
Opção 1, usando Pyzo.
|
Opção 2, usando COLAB.
|
Está gostando? vamos juntar os conhecimentos. Crie um arquivo com duas linhas (duas variáveis) contendo a temperatura dos últimos 15 dias, pro exemplo. Leia estes dados e plote como gráfico.
Podemos combinar os valores, somar, dividir, etc., variando os elementos dos vetores.
|
Exercício 01b - Balanço hídrico simples
Considere um balanço hídrico simples, onde desejamos calcular o volume da reserva de água no solo:
Onde:
- P = precipitação em mm;
- ETR = evapotranspiração real em mm;
- EX = excedente de água (escoamento e infiltração);
- DR = variação da reserva de água utilizada pelas plantas.
Considerando que em final de setembro o reservatório estava vazio, calcule a variação da reserva de água ao longo do ano, dado...
Elabore um programa em Python que leia o arquivo de entrada contendo estes dados em 3 linhas e no final mostre um gráfico com a reserva calculada para cada mês.
mes | OUT | NOV | DEZ | JAN | FEV | MAR | ABR | MAI | JUN | JUL | AGO | SET |
evapotranspiração potencial | 114 | 99.2 | 102 | 100 | 87.6 | 93.5 | 83 | 63.9 | 59 | 55 | 75 | 80 |
Precipitação | 31.7 | 107.7 | 272.7 | 175.4 | 220.7 | 138.6 | 66.1 | 0.0 | 0.0 | 30.0 | 0.0 | 0.0 |
Excedente de água | 0 | 0 | 13.3 | 16.5 | 43.3 | 17.2 | 0 | 0 | 0 | 0 | 0 | 0 |
Passos:
|
continuando... Vamos calcular o balanço mesmo
|
tarefa
agora, vamos ler uma imagem colorida, localizada no mesmo local, e separar as três imagens das cores básicas R, G, e B. Sabemos que a imagem preto e granco pode ser obtida somando as três imagens, melhor, calculando a média, para poder armazenar em 8 bits.
Como não pode existir DR<0, por favor modifique o código para que, quando seja calculado um valor negativo de DR, o valor armazenado seja RD=0.
Também deve incluir um “alerta” e imprimir uma mensagem quando o armazenamento for maior que 300. print(‘Armazenamento’, DR[i], ‘no mês’, i)
|
Jorge Centeno: centeno@ufpr.br