INTRODUÇÃO À COMPUTAÇÃO
Para quê? (Ou, como resolver com bem menos
esforço problema típico de profissional)
TRMM – PLUVIÔMETROS UFAL
Estação automática
(Dado de Hora em hora)
Pluviômetro convencional
(Lido às 9:00 h)
200
2000
100
50
1500
0
1000
-50
-100
500
-150
-200
J
F
M
A
M
J
J
A
S
O
N
D
0
2500
plu
TRMM
150
2000
100
50
1500
0
1000
-50
-100
500
-150
-200
J
F
M
A
M
Distância entre equipamentos: X m
J
J
A
S
O
N
D
0
precipitação acumulada (mm)
150
2500
diferença de precipitação diária TRMM - pluviômetro(mm)
plu
TRMM
precipitação acumulada (mm)
diferença de precipitação diária TRMM - pluviômetro(mm)
200
ESTAÇÃO AUTOMÁTICA – PLUVIÔMETRO
CONVENCIONAL UFAL - 2009
200
diferença de precipitação diária (mm)
150
100
50
0
-50
-100
-150
-200
J
F
M
A
M
J
J
A
S
O
N
D
E AGORA?





Desprezar algum deles?
Qual?
E se o que escolhemos
desprezar tiver recebido o
mesmo tratamento das
outras estações do estudo?
Olhar os dados? Mas são
365 por estação. Olhar dado
a dado?
Solução: Ensinar o
computador a realizar o
trabalho!
PROBLEMA 1

Data fora de ordem!
VISUALIZAÇÃO DIFERENTE DA EDIÇÃO!
SINISTRO!
NO MEIO DO ARQUIVO,
DATA SEM HORA
PROBLEMA 2

Data repetida!
DATA VOLTA!
FORMATAÇÃO MUDA!
VISUALIZAÇÃO E EDIÇÃO DIFEREM!
OCULTANDO O QUE TÁ COM
OUTRA FORMATAÇÃO, DATAS SE
COMPLETAM!
PROBLEMA 3

Datas mudam a cada nova informação
DATA MUDA?!
CURIOSIDADE 1

Será que as datas problemáticas, repetidas,
aparecem no trecho dos dados no meio do
arquivo?
DIFERENTES DATAS
MESMOS DADOS
CURIOSIDADE 2

Existe falha?
FALHAS?
PREENCHIMENTO DE FALHAS?
QUAL O ESFORÇO PARA RESOLVER
PROBLEMAS/MATAR CURIOSIDADES?
function [desordem,duplicado]=dataconsist(horalidadeci)
[ordhld,iordhld]=sort(horalidadeci);
diordhld=diff(iordhld);
desordem=sum(diordhld<0)~=0; %fora da ordem?
if (desordem==1)
fp=fopen('datasdesordenadas.txt','wt');
fprintf(fp,'Linha Data\n');
fiordhld=find(diordhld<0)+1;
for i=1:length(fiordhld)
fprintf(fp,'%5i %15.2f\n',fiordhld(i),horalidadeci(iordhld(i)));
end
fclose(fp);
end
[temp,idupli] = exdupli (horalidadeci);
duplicado=~isempty(idupli);
if (duplicado==1)
fp=fopen('datasduplicadas.txt','wt');
fprintf(fp,'Linha Data\n');
for i=1:length(idupli)
fprintf(fp,'%5i %15.2f\n',idupli(i),horalidadeci(idupli(i)));
end
fclose(fp);
end
QUAL O ESFORÇO PARA RESOLVER
PROBLEMAS/MATAR CURIOSIDADES?
3-Estrutura de
condição
function [desordem,duplicado]=dataconsist(horalidadeci) 6-Funções
[ordhld,iordhld]=sort(horalidadeci);
diordhld=diff(iordhld);
desordem=sum(diordhld<0)~=0; %fora da ordem? 1if (desordem==1)
fp=fopen('datasdesordenadas.txt','wt'); Comentários
fprintf(fp,'Linha Data\n');
fiordhld=find(diordhld<0)+1;
5-Estrutura de
for i=1:length(fiordhld)
fprintf(fp,'%5i %15.2f\n',fiordhld(i),horalidadeci(iordhld(i)));
dados
end 4-Estrutura de
fclose(fp);
repetição
end
[temp,idupli] = exdupli (horalidadeci); 2duplicado=~isempty(idupli);
Modularização
if (duplicado==1)
fp=fopen('datasduplicadas.txt','wt');
7-Arquivo
fprintf(fp,'Linha Data\n');
for i=1:length(idupli)
fprintf(fp,'%5i %15.2f\n',idupli(i),horalidadeci(idupli(i)));
end
fclose(fp); 7end
Arquivo
7Arquivo
OBJETIVO

Esta disciplina objetiva facilitar ao aluno o
aprendizado necessário para que desenvolva seus
próprios programas de computador para o curso
de engenharia e sua vida profissional.
EMENTA



Introdução à organização dos computadores:
Arquitetura, Sistemas Operacionais e
Compiladores;
Algoritmos Estruturados e Estruturas de Dados;
Linguagens de Programação: Teoria e Prática em
Laboratório.
PROGRAMAÇÃO
Conteúdo
Aulas Itens
Apresentação do curso; Lógica e Algoritmos, História da
computação e da programação (bônus: estrutura típica
de aplicativos e programas web) e introdução ao
Python.
Operações básicas, tipos de dados, atribuição de valor
a variável, atualização e troca de valores de variáveis,
convenção de código, scripts, comentários e
modularização.
Introdução
4
Tópicos
Preliminares
3
Funções
3
Declarando e executando funções, help, comandos de
entrada e saída de dados, blocos e bibliotecas.
Estruturas de
controle
6
Condição (if, else, elif, aninhadas), Repetição (while,
for, aninhadas, acumuladores, uso de índices).
Estruturas de
dados
5
Homogêneo (vetores e matrizes) e Heterogêneo
(registros).
Arquivos
3
Abertura (tipos de acesso), escrita, encerramento e
leitura.
POR QUE USAR PYTHON?

Qualidade de Software;
Legibilidade;
 Permite abordagens procedural, funcional e POO.


Produtividade;


Portabilidade do programa;


Execução em diferentes plataformas sem necessidade de
alteração do código.
Bibliotecas de suporte;


Menos digitação, menos depuração e menos
manutenção.
A biblioteca do Python pode ser estendida com
bibliotecas de terceiros.
Gratuito.
O QUE VOCÊ PODE FAZER COM PYTHON

Programação de sistemas;


GUIs;


Os programas em Python podem pesquisar arquivos e
árvores de diretórios, chamar outros programas,
realizar processamentos em paralelo etc.
É simples e rápida a programação de interface gráfica
com o usuário.
Programação para Internet;

Há um grande conjunto de ferramentas para fazer
programação para a internet em Python.
O QUE VOCÊ PODE FAZER COM PYTHON

Programação de Bancos de Dados;

Interface Python para Sysbase, Oracle, Informix,
ODBC, MySql, SqLite...

Programação Numérica;

Jogos, imagens e muito mais.
MATERIAL
Introdução à programação com
Python (Menezes, Nilo Ney Coutinho)


Aprendendo Python (Luiz, Mark)
MATERIAL
Python para desenvolvedores(formato web):
http://ricardoduarte.github.io/python-paradesenvolvedores/

Python 3.4:
https://www.python.org/downloads/
 Notepad++:
http://notepad-plus-plus.org/download/v6.7.5.html
 Outras referências e listas de exercícios em:
www.ctec.ufal.br/professor/cfs

APLICATIVOS

Light Bot

Python Programming

Docs for Python

Dive Into Python

Qpython3
O MESMO CÓDIGO EM DIFERENTES
LINGUAGENS DE PROGRAMAÇÃO:
Python
O MESMO CÓDIGO EM DIFERENTES
LINGUAGENS DE PROGRAMAÇÃO:
Matlab
O MESMO CÓDIGO EM DIFERENTES
LINGUAGENS DE PROGRAMAÇÃO:
C
O MESMO CÓDIGO EM DIFERENTES
LINGUAGENS DE PROGRAMAÇÃO:
Java
CRITÉRIOS DE AVALIAÇÃO

Somatório da médias:
≥14 pontos: Aprovado
 10 pontos e < 14: Final


Média = 0,6 ∗
𝑚é𝑑𝑖𝑎𝑠 𝑏𝑖𝑚𝑒𝑠𝑡𝑟𝑎𝑖𝑠
+
2
0,4* final
Média ≥ 5,5: Aprovado
 Média < 5,5: Reprovado por média



< 10 Pontos: Reprovado por média
Observações:

Os Alunos terão direito a 25% de faltas da carga horária total
(aulas e provas) da disciplina (60 horas x 25% = 15horas).
Ultrapassando esse limite, o aluno será Reprovado por falta,
independentemente de suas notas
AVALIAÇÕES
2 Avaliações Bimestrais (Abs)
 Composição de cada Ab:

Prova Prática 1 = 40%
 Prova Prática 2 = 40%
 Mini-testes = 20%


1 Reavaliação da AB de média mais baixa e
inferior a 7,0 (sete)


Entrega de Listas de exercícios levará à final se precisar de até
1,0 em alguma AB e se listas correspondentes forem entregues
com resolução completa e no prazo
1 Prova Final, escrita, se necessário
34
PROVAS PRÁTICAS

Turma dividida em grupos de 3 ou 4 (entregue na
3a semana)

Ex: 1-Abel, 2-Alda, 3-Olga, 4-Rui
Individual (Questão 1) ou dupla (Todas) em cada
prova a critério dos alunos
 Professor anuncia duplas na hora da prova



Exemplos: Ímpares (1 e 3, 2 e 4), extremos (1 e 4, 2 e 3)
ou menores (1 e 2, 3 e 4)
Se alguém da dupla estiver atrasado, os dois membros
da dupla fazem individualmente
Tempo: 50 minutos
 Dica: formar grupo por afinidade para que cada
membro ajude no estimulo/cobrança ao estudo

35
APOIO

Monitores
A definir
 Apoio complementar:

PET-Eng.Ambiental
 Orientados de Iniciação Científica – Clebson Carvalho e
Ewerton Amorim

36
VER CRONOGRAMA NO SITE

www.ctec.ufal.br/professor/cfs

Ou adicione à sua agenda do google:
IC-Turma_A
 IC-Turma_D

37
MOTIVAÇÃO
38
MOTIVAÇÃO

Porque alunos de Engenharia Ambiental devem
ser bons em programação?
Economia de tempo e esforço para a realização de
tarefas repetitivas
 Evolução da informática e relação com diferentes
campos de atuação

Caracterização de ambientes
 Simulação de processos
 Previsão de comportamentos

39
CARACTERIZAÇÃO
DE AMBIENTES
40
3)66360000
4)66370000
5)66470000
6)66650000
7)66710000
8)66750000
365
365
365
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
327
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
334
291
365
264
77
0
88
0
0
92
92
0
0
0
122
123
0
181
12
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
120
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
366
365
334
151
366
270
0
0
33
19
0
0
0
0
0
0
0
10
184
12
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
306
14
0
0
0
0
21
0
0
0
0
0
0
61
197
12
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
291
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
184
366
365
365
365
366
181
0
0
0
30
61
24
0
0
0
0
0
65
12
12
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
17
0
0
0
0
0
0
0
0
0
0
0
0
0
9
76
91
334
365
366
365
365
156
208
151
47
0
0
0
104
139
91
0
12
0
94
263
12
12
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
227
39
0
0
0
0
306
121
63
184
12
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
323
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
306
358
243
153
0
0
0
0
0
0
0
0
0
0
0
0
0
12
12
50's
60's
70's
80's
90's
00-07
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
300
0
0
0
0
0
0
0
0
0
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
234
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
184
365
120
0
57
365
365
365
31
0
12
12
12
12
12
12
12
12
12
12
12
12
12
12
19)67100000
2)66340000
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
334
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
337
90
0
0
0
0
244
213
153
30
0
0
0
0
0
0
0
0
0
0
0
92
12
18)66895000
1)66280000
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
299
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
365
0
0
0
0
0
306
365
0
147
153
9
22
0
0
0
0
0
0
0
0
0
0
11
12
17)66810000
i)66910000
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
306
365
31
61
153
31
2
0
0
0
0
0
0
0
120
0
0
0
12
16)66800000
h)66945000
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
166
32
0
0
0
366
365
214
365
366
365
365
365
366
324
164
12
12
12
12
12
12
12
12
12
12
12
12
12
15)66120000
g)66886000
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
0
0
0
0
0
0
0
0
0
0
1
19
0
0
0
0
0
0
0
0
0
31
366
129
365
151
61
153
31
0
0
0
0
0
0
0
0
0
0
22
0
8
14)66090000
f)66870000
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
346
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
84
0
31
0
0
0
30
2
0
92
13)66920000
e)66070004
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
333
0
0
1
0
0
0
1
0
0
0
1
0
0
31
0
0
0
334
274
31
0
0
10
77
0
104
366
33
0
0
0
0
122
0
0
0
6
1
0
16
0
12
12)66950000
d)66072000
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
358
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
366
365
365
365
261
0
0
23
0
0
0
0
0
0
0
0
0
1
0
92
11)66890000
c)66600000
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
295
0
0
0
365
0
0
0
0
0
0
0
0
0
0
0
54
0
0
155
365
365
346
145
125
0
20
0
5
1
0
0
0
0
0
31
9
184
12
10)66885000
b)66460000
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9)66880000
a)66260001
365
40's
Station
DE AMBIENTES (DADOS)
39
CARACTERIZAÇÃO
365
365
365
365
365
365
365
365
0
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
330
0
0
0
0
0
48
117
0
273
0
214
92
59
306
365
366
334
344
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
311
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
275
346
0
184
366
365
365
365
120
282
0
31
131
0
0
0
0
0
0
0
0
0
122
12
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
274
0
0
0
0
0
0
0
0
0
0
0
59
26
56
96
113
163
0
103
268
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
354
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
126
336
0
0
0
0
43
0
0
0
0
61
0
22
21
12
12
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
351
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
243
62
171
366
365
365
365
366
365
215
0
0
0
0
0
0
157
16
0
176
172
12
12
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
319
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
365
0
26
366
365
188
71
0
0
0
0
0
0
0
0
0
0
0
12
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
316
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
139
292
365
336
70
31
0
0
0
0
0
0
0
31
0
92
92
12
12
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
365
365
365
366
143
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
332
366
365
365
365
154
59
91
197
4
0
0
17
0
33
0
0
0
122
12
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
241
275
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
365
0
21
0
92
41
CARACTERIZAÇÃO DE AMBIENTES
(EXTRAVASAMENTO NOS RIOS CUIABÁ, SÃO LOURENÇO E
AQUIDAUANA)
42
SIMULAÇÃO DE PROCESSOS
IPH4Plan – Paz et al. 2006
43
http://mtc-m17.sid.inpe.br/col/sid.inpe.br/mtc-m17@80/2006/12.11.16.47/doc/p50.pdf
SIMULAÇÃO DE PROCESSOS
Equações de St. Venánt
44
SIMULAÇÃO DE PROCESSOS
IPH4Plan – Paz et al. 2006
http://mtc-m17.sid.inpe.br/col/sid.inpe.br/mtc-m17@80/2006/12.11.16.47/doc/p50.pdf
45
PREVISÃO DE COMPORTAMENTOS
http://galileu.iph.ufrgs.br/collischonn/ClimaRH/softwares/IPH-TRIM3D-
46
PRÉVIA DA DISCIPLINA
Lógica e Algoritmo
 História do computador e da programação
 Linguagem
 Aplicação

Download

Python