Ludwig Krippahl, 2009 Programação para as Ciências Experimentais 2008/9 Teórica 12.
Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 11.
Transcript of Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 11.
![Page 1: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 11.](https://reader036.fdocumentos.tips/reader036/viewer/2022062512/552fc102497959413d8bddab/html5/thumbnails/1.jpg)
Ludwig Krippahl, 2007
Programação para as Ciências Experimentais
2006/7
Teórica 11
![Page 2: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 11.](https://reader036.fdocumentos.tips/reader036/viewer/2022062512/552fc102497959413d8bddab/html5/thumbnails/2.jpg)
Ludwig Krippahl, 2007 2
Na aula de hoje...
Excel• Macros
• Histogramas.
• Referência dinâmica (OFFSET)
• Formatação condicional
• Cálculo condicional (SUMIF, COUNTIF)
• Strings
• Informação sobre conteúdo das células
Trabalho 2
![Page 3: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 11.](https://reader036.fdocumentos.tips/reader036/viewer/2022062512/552fc102497959413d8bddab/html5/thumbnails/3.jpg)
Ludwig Krippahl, 2007 3
Macros
«Macro-instrução»• Conjunto de instruções que é executado
como uma só (significado inicial, 1970s).
• Hoje em dia tem um significado mais geral, refere-se a qualquer programa escrito numa linguagem usada para controlar uma aplicação. No caso do Excel, Visual Basic.
![Page 4: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 11.](https://reader036.fdocumentos.tips/reader036/viewer/2022062512/552fc102497959413d8bddab/html5/thumbnails/4.jpg)
Ludwig Krippahl, 2007 4
Macros
Gravar macro:
![Page 5: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 11.](https://reader036.fdocumentos.tips/reader036/viewer/2022062512/552fc102497959413d8bddab/html5/thumbnails/5.jpg)
Ludwig Krippahl, 2007 5
Macros
Gravar macro:• Tools->Macro->Record new Macro
• Dar nome (e.g. Ordenar).
![Page 6: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 11.](https://reader036.fdocumentos.tips/reader036/viewer/2022062512/552fc102497959413d8bddab/html5/thumbnails/6.jpg)
Ludwig Krippahl, 2007 6
Macros
Gravar macro:• Tools->Macro->Record new Macro
• Dar nome (e.g. Ordenar).
• No final, carregar no stop
![Page 7: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 11.](https://reader036.fdocumentos.tips/reader036/viewer/2022062512/552fc102497959413d8bddab/html5/thumbnails/7.jpg)
Ludwig Krippahl, 2007 7
Macros
Alternativas para correr a macro:• Tools->Macro->Macros->Run
• Usar a combinação de teclas definida quando gravámos (ou definir uma em Tools->Macro->Macros->Options
• Atribuir a macro a um objecto na folha (um botão, um desenho). Para um desenho, click botão da direita e “Assign Macro”.
![Page 8: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 11.](https://reader036.fdocumentos.tips/reader036/viewer/2022062512/552fc102497959413d8bddab/html5/thumbnails/8.jpg)
Ludwig Krippahl, 2007 8
Macros
Bom para tarefas repetitivas de formatação, ordenação, reposicionar dados, etc.
![Page 9: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 11.](https://reader036.fdocumentos.tips/reader036/viewer/2022062512/552fc102497959413d8bddab/html5/thumbnails/9.jpg)
Ludwig Krippahl, 2007 9
Macros
Para ver o código:• Tools->Macro->Visual Basic Editor
• Modules
![Page 10: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 11.](https://reader036.fdocumentos.tips/reader036/viewer/2022062512/552fc102497959413d8bddab/html5/thumbnails/10.jpg)
Ludwig Krippahl, 2007 10
Macros
Sub Ordena()
Columns("A:B").Select
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End Sub
![Page 11: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 11.](https://reader036.fdocumentos.tips/reader036/viewer/2022062512/552fc102497959413d8bddab/html5/thumbnails/11.jpg)
Ludwig Krippahl, 2007 11
Histogramas
Função FREQUENCY(• Dados;
• Separadores)
É uma função que devolve um vector de dimensão igual a um mais o número de separadores, com as contagens dos elementos entre os separadores (ou maiores que o último)
![Page 12: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 11.](https://reader036.fdocumentos.tips/reader036/viewer/2022062512/552fc102497959413d8bddab/html5/thumbnails/12.jpg)
Ludwig Krippahl, 2007 12
HistogramasDados Separadores
FREQUENCY
![Page 13: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 11.](https://reader036.fdocumentos.tips/reader036/viewer/2022062512/552fc102497959413d8bddab/html5/thumbnails/13.jpg)
Ludwig Krippahl, 2007 13
Referências dinâmicas
OFFSET(• Célula de referência, a partir da qual
contamos as linhas e colunas;
• Linhas;
• Colunas;
• Altura;
• Largura) Tem que ser usada como argumento de
outra função (e.g. SUM, AVERAGE...)
![Page 14: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 11.](https://reader036.fdocumentos.tips/reader036/viewer/2022062512/552fc102497959413d8bddab/html5/thumbnails/14.jpg)
Ludwig Krippahl, 2007 14
Referências dinâmicas
Exemplo: OFFSET(A1,3,5,2,4)
• Grupo de 2x4 (altura x largura) células a começar da 3ª linha e 5ª coluna a contar da A1.
![Page 15: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 11.](https://reader036.fdocumentos.tips/reader036/viewer/2022062512/552fc102497959413d8bddab/html5/thumbnails/15.jpg)
Ludwig Krippahl, 2007 15
Referências dinâmicas
Exemplo:
![Page 16: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 11.](https://reader036.fdocumentos.tips/reader036/viewer/2022062512/552fc102497959413d8bddab/html5/thumbnails/16.jpg)
Ludwig Krippahl, 2007 16
Referências dinâmicas
É útil para fazer depender a referência de um valor calculado. Por exemplo, com COUNTA, que conta o número de células não vazias.
Exemplo• =SUM(OFFSET(A1;1;1;COUNTA(B:B)-1;1))
• Soma a coluna dos gastos, qualquer que seja o numero de entradas (o -1 desconta o cabeçalho “Gastos”).
![Page 17: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 11.](https://reader036.fdocumentos.tips/reader036/viewer/2022062512/552fc102497959413d8bddab/html5/thumbnails/17.jpg)
Ludwig Krippahl, 2007 17
Formatação Condicional
Seleccionar células Format->Conditional Formatting Especificar condições e formatação se
as condições forem preenchidas (Exemplo: a vermelho e bold se o gasto for maior que €100).
![Page 18: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 11.](https://reader036.fdocumentos.tips/reader036/viewer/2022062512/552fc102497959413d8bddab/html5/thumbnails/18.jpg)
Ludwig Krippahl, 2007 18
Formatação Condicional
Seleccionar células Format->Conditional Formatting Especificar condições e formatação se
as condições forem preenchidas (Exemplo: a vermelho e bold se o gasto for maior que €100).
![Page 19: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 11.](https://reader036.fdocumentos.tips/reader036/viewer/2022062512/552fc102497959413d8bddab/html5/thumbnails/19.jpg)
Ludwig Krippahl, 2007 19
Cálculo Condicional
COUNTIF(células, condição)• Conta quantas preenchem condição
• Condição é uma string• “>20”, “=12”
SUMIF(células, condição, células a somar)• Soma as células no último argumento que
correspondem às do primeiro que cumprem a condição.
![Page 20: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 11.](https://reader036.fdocumentos.tips/reader036/viewer/2022062512/552fc102497959413d8bddab/html5/thumbnails/20.jpg)
Ludwig Krippahl, 2007 20
Strings
LEN(string)• Comprimento.
CONCATENATE(S1;S2;...)• União das strings
LEFT(string, numero de caracteres)• Devolve os primeiros caracteres da string
RIGHT(string, numero de caracteres)
![Page 21: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 11.](https://reader036.fdocumentos.tips/reader036/viewer/2022062512/552fc102497959413d8bddab/html5/thumbnails/21.jpg)
Ludwig Krippahl, 2007 21
Informação sobre células
ISBLANK(célula)• True se está vazia
ISNA(célula)• True se é um erro do tipo #N/A
ISERR(célula)• True se qualquer erro excepto #N/A
ISNUMBER, ISTEXT, ISERROR...
![Page 22: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 11.](https://reader036.fdocumentos.tips/reader036/viewer/2022062512/552fc102497959413d8bddab/html5/thumbnails/22.jpg)
Ludwig Krippahl, 2007 22
Trabalho 2
Modelo:
![Page 23: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 11.](https://reader036.fdocumentos.tips/reader036/viewer/2022062512/552fc102497959413d8bddab/html5/thumbnails/23.jpg)
Ludwig Krippahl, 2007 23
Trabalho 2
Tem dois parâmetros mas a taxa de recuperação é 1 sobre o tempo médio de hospitalização.
![Page 24: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 11.](https://reader036.fdocumentos.tips/reader036/viewer/2022062512/552fc102497959413d8bddab/html5/thumbnails/24.jpg)
Ludwig Krippahl, 2007 24
Trabalho 2
Dados:• Doente com alta:
Ver radiografias em anexo.
Deu entrada a 4 de Maio de 2007.
Sofre de miopia
Teve alta a 10 de Maio de 2007.
![Page 25: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 11.](https://reader036.fdocumentos.tips/reader036/viewer/2022062512/552fc102497959413d8bddab/html5/thumbnails/25.jpg)
Ludwig Krippahl, 2007 25
Trabalho 2
Dados:• Data em que ficou infectado:
Ver radiografias em anexo.
Deu entrada a 4 de Maio de 2007.
Sofre de miopia
Teve alta a 10 de Maio de 2007.
![Page 26: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 11.](https://reader036.fdocumentos.tips/reader036/viewer/2022062512/552fc102497959413d8bddab/html5/thumbnails/26.jpg)
Ludwig Krippahl, 2007 26
Trabalho 2
Dados:• Data em que recuperou (já não conta como I):
Ver radiografias em anexo.
Deu entrada a 4 de Maio de 2007.
Sofre de miopia
Teve alta a 10 de Maio de 2007.
![Page 27: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 11.](https://reader036.fdocumentos.tips/reader036/viewer/2022062512/552fc102497959413d8bddab/html5/thumbnails/27.jpg)
Ludwig Krippahl, 2007 27
Trabalho 2
Dados:• Doente que ainda não teve alta (só tem data
de entrada):
Sofre de miopia
Deu entrada a 21 de Maio de 2007.
Tomou três aspirinas.
![Page 28: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 11.](https://reader036.fdocumentos.tips/reader036/viewer/2022062512/552fc102497959413d8bddab/html5/thumbnails/28.jpg)
Ludwig Krippahl, 2007 28
Trabalho 2
Dados:• Os dados são datas de entrada e saída
Modelo• O modelo é acerca do número de susceptíveis,
infectados, e recuperados
Datas• Em cada lote os dados são até ao dia da última
entrada. Não podemos saber quantos infectados há depois (quantos entram ou saem)
![Page 29: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 11.](https://reader036.fdocumentos.tips/reader036/viewer/2022062512/552fc102497959413d8bddab/html5/thumbnails/29.jpg)
Ludwig Krippahl, 2007 29
Trabalho 2
Actualizar• Substituir todos os ficheiros .txt pelos que
vêm no novo lote (pacientes sem alta podem já ter tido alta).
• Exemplo:• Maio21.zip: ficheiros 1 a 27
• Maio28.zip: ficheiros 1 a 70, para substituir os outros e adicionar mais dados
![Page 30: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 11.](https://reader036.fdocumentos.tips/reader036/viewer/2022062512/552fc102497959413d8bddab/html5/thumbnails/30.jpg)
Ludwig Krippahl, 2007 30
Trabalho 2
Ajuste do modelo• Pelos ficheiros podem obter o valor de I para
cada dia da epidemia (até à data do lote de ficheiros) e o valor da taxa de recuperação.
• Ajustem o modelo de forma a que o número de infectados no modelo corresponda o melhor possível ao número de infectados observado.
![Page 31: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 11.](https://reader036.fdocumentos.tips/reader036/viewer/2022062512/552fc102497959413d8bddab/html5/thumbnails/31.jpg)
Ludwig Krippahl, 2007 31
Trabalho 2
Resultado final• Um sistema prático e fácil de usar para se
actualizar os dados e ver no Excel a simulação, os dados, e a informação pedida (máximo de infectados ao mesmo tempo, total de afectados ao fim de 100 dias, a simulação para 100 dias, etc...)
• Deve estar explicado na folha Excel como usar o sistema.
![Page 32: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 11.](https://reader036.fdocumentos.tips/reader036/viewer/2022062512/552fc102497959413d8bddab/html5/thumbnails/32.jpg)
Ludwig Krippahl, 2007 32
Trabalho 2
Resultado final
0
100
200
300
400
500
600
700
800
900
1000
0 20 40 60 80 100
S
I
R
Dados
![Page 33: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 11.](https://reader036.fdocumentos.tips/reader036/viewer/2022062512/552fc102497959413d8bddab/html5/thumbnails/33.jpg)
Ludwig Krippahl, 2007 33
Próxima aula
Dúvidas sobre o trabalho Dicas sobre o exame
• Estrutura do enunciado
• Tipos de perguntas
• Alguns exemplos
Revisões, ou o que quiserem (enviem sugestões antecipadamente)
![Page 34: Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 11.](https://reader036.fdocumentos.tips/reader036/viewer/2022062512/552fc102497959413d8bddab/html5/thumbnails/34.jpg)
Ludwig Krippahl, 2007 34
Dúvidas