trabalho computacional mecânica de fluidos ambiental aula 3

10
Trabalho Computacional Mecânica de Fluidos Ambiental aula 3 Guillaume Riflet, Dúvidas: [email protected] Ext:3430 Página: https://fenix.ist.utl.pt/homepage/ist14673 0/mecanica-dos-fluidos-ambiental

Upload: brick

Post on 13-Feb-2016

29 views

Category:

Documents


0 download

DESCRIPTION

Trabalho Computacional Mecânica de Fluidos Ambiental aula 3. Guillaume Riflet ,. Dúvidas: [email protected] Ext:3430 Página: https://fenix.ist.utl.pt/homepage/ist146730/mecanica-dos-fluidos-ambiental. Sumário aula 1. subrotinas , funções , - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Trabalho Computacional Mecânica de Fluidos Ambiental aula  3

Trabalho Computacional Mecânica de Fluidos Ambiental aula 3

Guillaume Riflet,

Dúvidas: [email protected] Ext:3430Página: https://fenix.ist.utl.pt/homepage/ist146730/mecanica-dos-fluidos-ambiental

Page 2: Trabalho Computacional Mecânica de Fluidos Ambiental aula  3

Sumário aula 1

subrotinas, funções, argumentos, variáveis, tipos de variáveis, arrays, ciclos while e for, Alcance (Public, Private) debug.

https://fenix.ist.utl.pt/homepage/ist146730/mecanica-dos-fluidos-ambiental

Page 3: Trabalho Computacional Mecânica de Fluidos Ambiental aula  3

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.

Page 4: Trabalho Computacional Mecânica de Fluidos Ambiental aula  3

Sumário 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 Apresentação da equação da difusão.

Page 5: Trabalho Computacional Mecânica de Fluidos Ambiental aula  3

Exercícios aula 2

Com um ciclo for e com uma condição if, escreva numa coluna de excel os valores da função seguinte, definida no intervalo [-50,50] com incrementos 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 em caso contrário.

Conceba uma subrotina que faça o gráfico automático da função a partir da gravação duma macro.

Tente alterar a subrotina de criação de gráfico de modo a que receba um argumento contendo o número de linhas da coluna de excel a usar.

Repita o primeiro exercício com um incremento de apenas 2 unidades de intervalo.

Crie uma useform que peça ao utilizador o intervalo e o incremento da função e que tenha um botão que faça o gráfico correspondente.

Page 6: Trabalho Computacional Mecânica de Fluidos Ambiental aula  3

Exercícios aula 2

Escreva uma subrotina que contenha uma variável inteira a inicializada a 22. Tente incrementar a variável a chamando uma subrotina que use um argumento ByRef e chamando outra subrotina que use um argumento ByVal. Quais das subrotinas que é incrementa de facto a variável a? (recomendação: use o debugger para ver, passo a passo, a evolução das variáveis.)

Escreva uma subrotina que contenha um array de reais. Inicialize o array com um ciclo for com valores da função f(x) = A * exp(-x) definidos no intervalo [-3, 4] e com um incremento de 0.3. Chame uma subrotina que inverta a ordem dos valores no array. (Deve usar ByRef ou ByVal?). Escreva os valores do array numa coluna de excel e faça o gráfico da função.. (Recomendação: use o debugger).

Page 7: Trabalho Computacional Mecânica de Fluidos Ambiental aula  3

Conteúdo programado aula 3

Resolução de exercícios e exemplos em VBA. Criar uma userform. Criar uma macro para fazer um gráfico e adaptá-la

numa subrotina que leve como argumentos o número de linhas e de colunas.

Apresentação e discretização da equação da difusão.

Page 8: Trabalho Computacional Mecânica de Fluidos Ambiental aula  3

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

Programe um array numa subrotina que inicialize a função f(x,t0) onde x pertença ao intervalo [0 1000] com um incremento dx=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 por linha, usando um ciclo for .

Programe o gráfico com várias séries de resultados de f(x,t), (uma série por instante).

Crie uma userform onde o utilizador possa inserir os incrementos de espaço e de tempo, (dx e dt) e onde possa definir o comprimento de a duração do domínio de f.

Page 10: Trabalho Computacional Mecânica de Fluidos Ambiental aula  3

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