ludwig krippahl, 2007 programação para as ciências experimentais 2006/7 teórica 11

Post on 17-Apr-2015

104 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Ludwig Krippahl, 2007

Programação para as Ciências Experimentais

2006/7

Teórica 11

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

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.

Ludwig Krippahl, 2007 4

Macros

Gravar macro:

Ludwig Krippahl, 2007 5

Macros

Gravar macro:• Tools->Macro->Record new Macro

• Dar nome (e.g. Ordenar).

Ludwig Krippahl, 2007 6

Macros

Gravar macro:• Tools->Macro->Record new Macro

• Dar nome (e.g. Ordenar).

• No final, carregar no stop

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”.

Ludwig Krippahl, 2007 8

Macros

Bom para tarefas repetitivas de formatação, ordenação, reposicionar dados, etc.

Ludwig Krippahl, 2007 9

Macros

Para ver o código:• Tools->Macro->Visual Basic Editor

• Modules

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

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)

Ludwig Krippahl, 2007 12

HistogramasDados Separadores

FREQUENCY

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...)

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.

Ludwig Krippahl, 2007 15

Referências dinâmicas

Exemplo:

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”).

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).

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).

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.

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)

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...

Ludwig Krippahl, 2007 22

Trabalho 2

Modelo:

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.

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.

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.

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.

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.

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)

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

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.

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.

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

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)

Ludwig Krippahl, 2007 34

Dúvidas

top related