Trabalho Computacional Mecânica de Fluidos Ambiental aula 2 Dúvidas: [email protected] Ext:3430 Página: https://fenix.ist.utl.pt/homepage/ist146730/mecanicados-fluidos-ambiental-2011-2012 (work in progress...) Guillaume Riflet Resumo aula 1 subrotinas, funções, argumentos, variáveis, tipos de variáveis, debug. Alcance (Public, Private) [arrays] [ciclos while e for], https://fenix.ist.utl.pt/homepage/ist146730/mecanica-dosfluidos-ambiental Exercícios aula 1 Criem a função de um argumento de tipo double que retorne 3x*x – 2. Criem uma subrotina que teste a função para x=4 e x=25, escrevendo o resultado numa folha de excel. Concebam um ciclo for numa subrotina que escreva numa folha de excel os resultados de 3x*x*x + 4 para todos os x que pertençam ao intervalo [-30 , 50] com incrementos 2 em 2. Caso não tenham feito, repitam o exercício anterior usando um array. Repitam o exercício anterior, mas desta vez a função é 3x*x*x + 4 se o resultado for positivo e 0 (zero) caso contrário (usem um if). Gravem a macro dum gráfico com os resultados do exercício anterior (com x nas abscissas e os valores da função nas ordenadas). Vejam o código que resultou da gravação da vossa macro. Conteúdo programado aula 2 condições (if), Passagem de argumentos por valor ou por referência Interface Excel-VBA, Tipos eventos, userforms, Gravação de macros, Alguns objectos nativos de VBA para excel Exemplo VII - if Estruturas de decisão If...Then Select Case If anyDate < Now Then anyDate = Now Select Case Index Case 0 If anyDate < Now Then Case 1 anyDate = Now Case 2 End If If...Then...Else Case 3 If Index = 0 Then Call Sub1 Case Else Else If Index = 1 Then Call Sub2 Else If Index = 2 Then Call Sub3 Else Call Sub3 End If End Select Call Sub1 Call Sub2 Call Sub3 Call Sub4 Call Sub5 Passagem de argumentos Sub Main() Sub TestVal (ByVal b As Integer) Dim a As Integer b=b+1 a = 10 End Sub Call TestVal(a) a = 10 Call TestRef(a) Sub TestRef (ByRef b As Integer) b=b+1 a = 11 End Sub b = 11 End Sub b = 11 User defined type Private Type SystemInfo CPU As Variant Memory As Long VideoColors As Integer Cost As Currency PurchaseDate As Variant End Type CPU Memory SystemInfo Dim MySystem As SystemInfo, YourSystem As SystemInfo MySystem.CPU = "486“ YourSystem.PurchaseDate = #1/1/92# VideoColors Cost PurchaseDate Exemplo VIII - Type Exemplo IX - Userforms Exemplo IX - Userforms Exemplo IX - Userforms Gravação de Macros Botão de “record” Glossário II Macro de Excel: uma série de instruções feitas pelo Excel (e não pelo utilizador) Objectos: estructuras programáticas. Ex: os objectos de VBA para Excel (Workbooks, sheets, cells, range, charts, drawings,...). Propriedades: são os campos que compõem os objectos. Pensem no verbo “ser”. Métodos: são as rotinas dos objectos. Pensem no verbo “fazer”. Funções: são as funções dos objectos. Pensem no verbo “calcular”. Eventos: VBA é uma linguagem orientada por eventos. Controlos: Permite pôr botões e criar eventos. Userforms: Permite gerar formulário que os utilizadores podem usar para entrar dados dentro do programa. IDE: Integrated Development Environment. Configurações regionais Atenção no que toca à linguagem nativa do office. SEN (português) ou SIN (inglês). Atenção às definições de separadores de casas decimais (3.14 ou 3,14) e de formatos de data (13/05/1980 ou 1980-05-13 ou...).