100 likes | 201 Views
Trabalho Computacional Mecânica de Fluidos Ambiental aula 3. Guillaume Riflet ,. Dúvidas: guillaume.riflet@ist.utl.pt Ext:3430 Página: https:// fenix.ist.utl.pt/homepage/ist146730/mecanica-dos-fluidos-ambiental-2011-2012. Sumário aula 1. subrotinas , funções ,
E N D
Trabalho Computacional Mecânica de Fluidos Ambiental aula 3 GuillaumeRiflet, • Dúvidas: guillaume.riflet@ist.utl.pt Ext:3430 • Página: https://fenix.ist.utl.pt/homepage/ist146730/mecanica-dos-fluidos-ambiental-2011-2012
Sumário aula 1 • subrotinas, funções, • argumentos, variáveis, tipos de variáveis, • arrays, • cicloswhile e for, • Alcance (Public, Private) • debug. https://fenix.ist.utl.pt/homepage/ist146730/mecanica-dos-fluidos-ambiental
Exercícios aula 1 • Criem a função de umargumento de tipo double que retorne 3x*x – 2. Criemumasubrotina que teste a função para x=4 e x=25, escrevendo o resultado numa folha de excel. • Concebamumciclofor numa subrotina que escreva numa folha de excel os resultados de 3x*x*x + 4 para todos os x que pertençamaointervalo [-30 , 50] comincrementos 2 em 2. • Casonãotenhamfeito, repitam o exercícioanteriorusandoumarray. • Repitam o exercícioanterior, mas destavez a função é 3x*x*x + 4 se o resultado for positivo e 0 (zero) casocontrário (usemumif). • Gravem a macro dumgráficocom os resultados do exercícioanterior (com x nasabscissas e os valores da funçãonasordenadas). Vejam o código que resultou da gravação da vossa macro.
Sumário aula 2 • condições (if), • Passagem de argumentosporvalor ou porreferência • Interface Excel-VBA, • Tipos • eventos, • userforms, • Gravação de macros, • Algunsobjectosnativos de VBA para excel • Apresentação da equação da difusão.
Exercícios aula 2 • Com umciclofor e comumacondiçãoif, escreva numa coluna de excel os valores da funçãoseguinte, definida no intervalo [-50,50] comincrementos de 5 unidades de intervalo: f(x) = x * Sqr(-x) se x pertence a [-50,-10], f(x) = -10 * Sqr(10) + ( x^2 – 10^2) se x pertence a ]-10,20], f(x) = 300 – Sqr(10^3) - x^3 emcasocontrário. • Concebaumasubrotina que faça o gráficoautomático da função a partir da gravaçãoduma macro. • Tente alterar a subrotina de criação de gráfico de modo a que recebaumargumentocontendo o número de linhas da coluna de excel a usar. • Repita o primeiroexercíciocomumincremento de apenas 2 unidades de intervalo. • Crie umauseformque peçaaoutilizador o intervalo e o incremento da função e que tenhaumbotão que faça o gráficocorrespondente.
Exercícios aula 2 • Escrevaumasubrotina que contenhaumavariávelinteiraainicializada a 22. Tente incrementar a variávela chamandoumasubrotina que use umargumentoByRefe chamando outra subrotina que use umargumentoByVal. Quais dassubrotinas que é incrementa de facto a variávela? (recomendação: use o debugger para ver, passo a passo, a evoluçãodasvariáveis.) • Escrevaumasubrotina que contenhaumarray de reais. Inicialize o arraycomumciclofor comvalores da função f(x) = A * exp(-x) definidos no intervalo [-3, 4] e comumincremento de 0.3. Chameumasubrotina que inverta a ordem dos valores no array. (Deve usarByRef ou ByVal?). Escreva os valores do arraynuma coluna de excel e faça o gráfico da função.. (Recomendação: use o debugger).
Conteúdo programado aula 3 • Resolução de exercícios e exemplosem VBA. • Criarumauserform. • Criaruma macro para fazerumgráfico e adaptá-la numa subrotina que levecomoargumentos o número de linhas e de colunas. • Apresentação e discretização da equação da difusão.
Exercícios aula 3 • Programe a função f que varia no espaço e no tempo: f(x,t) = x^2 * t + Sqr(Abs(x)). • Programeumarray numa subrotina que inicialize a função f(x,t0) onde x pertençaaointervalo [0 1000] comumincrementodx=50 e t0=0.0. • Escreva os resultados para vários instantes de t no interval [0.0 10.0] de f(x,t), um instante porlinha, usandoumciclofor . • Programe o gráficocomvárias séries de resultados de f(x,t), (uma série por instante). • Crie umauserform onde o utilizadorpossainserir os incrementos de espaço e de tempo, (dx e dt) e onde possadefinir o comprimento de a duração do domínio de f.
Apresentação e discretização da equação da difusão A realizar no quadro. Documento de apoio disponível na página.
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...).