A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

16 Dezembro 2005Folha de Cálculo - Conclusão1 Folha da Cálculo - Conclusão Jorge Cruz DI/FCT/UNL Programação para as Ciências Experimentais 1º Semestre.

Apresentações semelhantes


Apresentação em tema: "16 Dezembro 2005Folha de Cálculo - Conclusão1 Folha da Cálculo - Conclusão Jorge Cruz DI/FCT/UNL Programação para as Ciências Experimentais 1º Semestre."— Transcrição da apresentação:

1 16 Dezembro 2005Folha de Cálculo - Conclusão1 Folha da Cálculo - Conclusão Jorge Cruz DI/FCT/UNL Programação para as Ciências Experimentais 1º Semestre 2005/2006

2 16 Dezembro 2005 Folha de Cálculo - Conclusão 2 Ciclos de Simulação – Trajectória de um Projéctil A técnica usada no exemplo da simulação da trajectória de um projéctil pode ser adaptada para uma folha de cálculo. Em geral, é necessário –Utilizar uma coluna (ou linha) para as variáveis que estão a ser simuladas –Inicializar as linhas de cima com as constantes do modelo e com os valores iniciais das variáveis –Na linha seguinte obter os valores das variáveis a partir dos valores anteriores (i.e. da linha anterior) e das constantes. –Tendo em atenção as referências relativas e/ou absolutas (constantes), copiar a 2ª linha para as linhas seguintes. –Copiar tantas linhas quantas as necessárias

3 16 Dezembro 2005 Folha de Cálculo - Conclusão 3 Apresentação do Problema Um projéctil é lançado de uma altura de y 0 metros, com um ângulo inicial de lançamento de radianos e com uma velocidade inicial de v 0 metros por segundo. A trajectória do projéctil em coordenadas (x,y) pode ser modelada através da seguinte equação: v0v0 (0,0) x y y0y0 a f(a)f(a) Problema: determinar a distância máxima (d max ) e a altura máxima (h max ) atingidas pelo projéctil. d max h max

4 16 Dezembro 2005 Folha de Cálculo - Conclusão 4 Resolução Informal Problema: determinar a distância máxima (d max ) e a altura máxima (h max ) atingidas pelo projéctil. Pode-se simular a trajectória do projéctil usando a função f para calcular o valor de y correspondente a cada valor de x. –Considera-se o ponto inicial da trajectória x 0 =0: (x 0,y 0 ) –Considera-se uma sequência de valores de x (x 1,x 2,…) para os quais se calcula o respectivo valor de y usando a função f: (x 1,f(x 1 )), (x 2,f(x 2 )), … –Termina-se o cálculo quando aparecer o primeiro ponto da trajectória com o valor de y negativo. Os valores da distância máxima e da altura máxima podem ser aproximados respectivamente pelos valores maximos de x e y obtidos nos pontos calculados da trajectória.

5 16 Dezembro 2005 Folha de Cálculo - Conclusão 5 Resolução Informal Graficamente a simulação da trajectória do projéctil corresponde a: O último ponto considerado é o x 11 uma vez que é o primeiro a aparecer com y negativo: f(x 11 )<0 A distância máxima (d max ) é aproximada pelo maior valor de x: d max x 11 A altura máxima (h max ) é aproximada pelo maior valor de y: h max f(x 6 ) (x0,y0)(x0,y0) x y (x 1,f(x 1 )) (x 2,f(x 2 )) (x 11,f(x 11 )) (x 6,f(x 6 )) h max ^ d max ^ A precisão das aproximações depende dos pontos da trajectória calculados: se a distância (em x) entre cada dois pontos consecutivos for dx então, em geral, a precisão aumenta quando dx diminui.

6 16 Dezembro 2005 Folha de Cálculo - Conclusão 6 Programa Octave % Inicialização de Variáveis g = 9.8; % aceleração da gravidade y0 = input(" Qual a altura inicial (m)? "); v0 = input(" Qual a velocidade inicial (m/s)? "); tet = input(" Qual o angulo inicial (rad)? "); dx = input(" Qual a precisao (m)? "); dmax = 0;% distância máxima da trajectória hmax = 0;% altura máxima da trajectória % Ciclo de Simulação x = 0; y = y0; while y > 0 x = x + dx; y = x*tan(tet)-(g*x^2)/(2*v0^2*cos(tet)^2)+y0; hmax = max(hmax,y); endwhile % Apresentação de Resultados dmax = x; disp("Distância maxima da trajectoria (m):"); disp(dmax); disp("Altura maxima da trajectoria (m):"); disp(hmax);

7 16 Dezembro 2005 Folha de Cálculo - Conclusão 7 Folha de Cálculo

8 16 Dezembro 2005 Folha de Cálculo - Conclusão 8 Gráficos da Simulação Uma vez obtidas as tabelas de simulação, podem obter-se gráficos, seleccionando as colunas apropriadas e inserindo um gráfico (insert graph) com base nessa tabela.

9 16 Dezembro 2005 Folha de Cálculo - Conclusão 9 Variante c/ Modelo Diferencial Um projéctil é lançado de uma altura de y 0 metros, com um ângulo inicial de lançamento de radianos e com uma velocidade inicial de v 0 metros por segundo. A trajectória do projéctil pode ser modelada através do seguinte sistema de equações diferenciais: v0v0 (0,0) x y y0y0 a f(a)f(a) onde: v x e v y são as componentes horizontal e vertical da velocidade; a x e a y são as componentes horizontal e vertical da aceleração; Se considerarmos o atrito então: a x =-kv x e a y =-kv y -g d max h max

10 16 Dezembro 2005 Folha de Cálculo - Conclusão 10 Folha de Cálculo

11 16 Dezembro 2005 Folha de Cálculo - Conclusão 11 Ajuste de Parâmetros Em geral, se forem dados os parâmetros de um modelo físico pode ser simulado o seu comportamento. Mas se se pretender determinar os parâmetros que conduzem a um certo comportamento a situação não é em geral simples. Em muitos casos, a melhor solução é tentar as várias alternativas (em um ou mais ciclos encadeados) e verificar qual a adequada. Por exemplo o maior alcance pode ser tentado variando o ângulo, a velocidade inicial e a altura inicial. Nestas situações uma folha de cálculo não é muito adequada para resolver o problema pois exige que o utilizador tente (manualmente) os vários parâmetros. No caso do alcance podem existir 30 ângulos para testar (entre 31º e 60º com passo 1), 20 velocidades iniciais (de 11 a 20 com passo 0.5) e 10 alturas iniciais (de 0 a 10 com passo 1) o que dá um total de 30*20*10 = 6000 possibilidades!!!

12 16 Dezembro 2005 Folha de Cálculo - Conclusão 12 Tratamento de Dados O tratamento de dados numéricos, nomeadamente por regressão linear entre duas variáveis X e Y, pode ser feito através da folha de cálculo. Para esse efeito deverão ser utilizadas duas colunas (uma para a variável) onde se guardam os valores X e Y observados Para se obter os parâmetros da recta que melhor aproxima os pontos observados podem calcular-se esses valores utilizando as funções slope e intercept. Pode depois construir-se uma nova coluna, com os valores dos Y esperados, baseados nos valores dos X e dos parâmetros da recta. Finalmente pode obter-se o gráfico dos valores dos Xs e Ys observados e dos Ys esperados.

13 16 Dezembro 2005 Folha de Cálculo - Conclusão 13 Tratamento de Dados Nota: O Excel permite obter uma ideia qualitativa da recta através da utilização da tendência no desenho do gráfico (opção add trendline).

14 16 Dezembro 2005 Folha de Cálculo - Conclusão 14 Tratamento da Informação A informação não numérica ou mista, como a que se pode organizar em tabelas (listas de estruturas), pode igualmente ser tratada por folhas de cálculo. Por exemplo, para cada elemento da tabela podem fazer-se cálculos a partir dos dados individuais (eventualmente através de fórmulas condicionais) ou obterem-se medidas de agregação (totais, médias, etc.). Podem ainda encontrar-se os valores máximos e mínimos de vectores e tabelas. Para todas estas operações podem ser utilizadas funções predefinidas das folhas de cálculo, algumas das quais condicionais.

15 16 Dezembro 2005 Folha de Cálculo - Conclusão 15 Tratamento da Informação A tabela abaixo calcula a nota final dos alunos, obtida por 2 testes e um exame: –Um aluno tem frequência se a soma dos testes for maior ou igual a 9.5. A nota de frequência é a média dos testes. –A nota final é obtida pela média ponderada da nota de frequência (peso 5) e do exame (peso 15). São ainda calculados os alunos com notas positivas e as médias da turma e dos alunos com nota positiva.

16 16 Dezembro 2005 Folha de Cálculo - Conclusão 16 Tratamento da Informação As tabelas podem ser ordenadas por alguns dos campos (pelo nome dos alunos, pelo número dos alunos, pela nota, etc...). A mesma tabela anterior, ordenada por ordem (crescente) do nome dos alunos é mostrada abaixo. É igualmente determinada a nota máxima e nota mínima.

17 16 Dezembro 2005 Folha de Cálculo - Conclusão 17 Tratamento da Informação Existem outras operações que envolvem operações de selecção e que não são tão fáceis de implementar com uma folha de cálculo. Por exemplo, escrever uma tabela apenas com os alunos passados. Numa folha de cálculo podem ordenar-se por notas, mas a selecção tem de ser feita manualmente.

18 16 Dezembro 2005 Folha de Cálculo - Conclusão 18 Tratamento da Informação Operações deste tipo podem ser executadas através de programas apropriados, que leiam os ficheiros de entrada e produzam os ficheiros de saída. Em situações mais complexas, a informação pode estar distribuída por várias tabelas e os programas podem tornar-se muito complexos. É para estes casos que são criados os sistemas de bases de dados (relacionais), em que –Se estabelecem metodologias para organizar os dados em tabelas (normalização) –Se utilizam linguagens de acesso (ex. SQL) para tornar as questões (queries) mais simples.

19 16 Dezembro 2005 Folha de Cálculo - Conclusão 19 Algoritmos e Complexidade Os modernos sistemas informáticos (folhas de cálculo, bases de dados) e linguagens de programação (funções e classes pré- definidas), disponibilizam facilidades em que procuram acomodar as necessidades mais comuns dos utilizadores. Outras necessidades específicas, requerem o desenvolvimento de algoritmos (em programas, funções, etc.) especializados (special-purpose). Ao desenvolver um algoritmo, e não obstante a rapidez dos modernos computadores, há que ter em atenção a sua complexidade, que mede os recursos (tempo e espaço) requeridos pelo algoritmo para terminar. Informalmente os algoritmos podem ser divididos em duas grandes classes: polinomiais ou exponenciais.

20 16 Dezembro 2005 Folha de Cálculo - Conclusão 20 Algoritmos Exponenciais Um algoritmo que para n variáveis com d valores procure um valor adequado, pode no pior caso ter de ser implementado com ciclos encadeados: para X1 de 1 a d para X2 de 1 a d para X3 de 1 a d... para Xn de 1 a d testar (X1, X2, X3,..., Xn) fimpara;... fimpara; Como é fácil de calcular, o teste é executado d*d* *d = d n vezes, pelo que um algoritmo deste tipo é exponencial em n (número de variáveis).

21 16 Dezembro 2005 Folha de Cálculo - Conclusão 21 Algoritmos Polinomiais Muitos outros algoritmos são polinomiais. Tal é o caso da ordenação de um vector V com n valores, pelo método da bolha (bubble sort). O número de trocas máximo é de (n-1)+(n-2)+...+1 = (n-1) ((n-1)+1)/2 ½ n 2 pelo que o algoritmo é polinomial (quadrático) na dimensão, n, do vector.

22 16 Dezembro 2005 Folha de Cálculo - Conclusão 22 Comparação da Complexidade A diferença qualitativa entre estes algoritmos é importante. Se assumirmos que cada operação básica leva 1μs, podemos escrever a seguinte tabela... o que justifica que a maioria das funções predefinidas (tais como ordenações, máximo, etc.) sejam do tipo polinomial!


Carregar ppt "16 Dezembro 2005Folha de Cálculo - Conclusão1 Folha da Cálculo - Conclusão Jorge Cruz DI/FCT/UNL Programação para as Ciências Experimentais 1º Semestre."

Apresentações semelhantes


Anúncios Google