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

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

9 de Março de 2006Trajectória de um Projéctil1 Pedro Barahona DI/FCT/UNL Introdução aos Computadores e à Programação 2º Semestre 2005/2006.

Apresentações semelhantes


Apresentação em tema: "9 de Março de 2006Trajectória de um Projéctil1 Pedro Barahona DI/FCT/UNL Introdução aos Computadores e à Programação 2º Semestre 2005/2006."— Transcrição da apresentação:

1 9 de Março de 2006Trajectória de um Projéctil1 Pedro Barahona DI/FCT/UNL Introdução aos Computadores e à Programação 2º Semestre 2005/2006

2 9 de Março de 2006 Trajectória de um Projéctil 2 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

3 9 de Março de 2006 Trajectória de um Projéctil 3 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.

4 9 de Março de 2006 Trajectória de um Projéctil 4 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.

5 9 de Março de 2006 Trajectória de um Projéctil 5 Especificação do Problema Dada uma altura inicial (y 0 ) uma velocidade inicial (v 0 ) e um ângulo inicial de lançamento ( ), com base no modelo da trajectória apresentado e para uma dada precisão (dx), determinar a distância máxima (d max ) e a altura máxima (h max ) atingidas pelo projéctil. Algoritmo de Simulação da Trajectória de um Projéctil Entrada Altura Inicial: y 0 Velocidade Inicial: v 0 Ângulo Inicial : Precisão : dx Resultados Distância Máxima : d max Altura Máxima : h max

6 9 de Março de 2006 Trajectória de um Projéctil 6 Variáveis Utilizadas Em geral, na especificação de um algoritmo definem-se as variáveis e constantes que vão ser utilizadas, bem como o seu significado. Neste problema, apenas existe uma constante g = 9.8 : a aceleração da gravidade (na Terra) As variáveis a utilizar são, naturalmente, as seguintes y 0 : a altura inicial v 0 : a velocidade inicial : o ângulo inicial dx : a distância em x entre dois pontos consecutivos d max : a distância máxima alcançada pela trajectória h max : a altura máxima alcançada pela trajectória

7 9 de Março de 2006 Trajectória de um Projéctil 7 Estrutura do Algoritmo O algoritmo para simulação da trajectória de um projéctil pode ser decomposto em 3 componentes 1. Inicialização de Variáveis 2. Ciclo de Simulação da Trajectória 3. Apresentação de Resultados Cada uma destas componentes pode ser considerada separadamente.

8 9 de Março de 2006 Trajectória de um Projéctil 8 Inicialização de Variáveis Em qualquer algoritmo é necessário garantir 1.que as variáveis são inicializadas; e 2.as constantes são definidas antes de referidas em expressões. O valor da constante de aceleração da gravidade é conhecido inicialmente e por isso pode ser logo atribuído por uma instrução de afectação: g 9.8; Os valores da altura inicial, velocidade inicial, ângulo inicial de lançamento e distância em x entre dois pontos consecutivos são parâmetros de entrada do problema, e são pedidos ao utilizador através de instruções de entrada: Entra y 0 ;Entra v 0 ;Entra ;Entra dx; Os valores de distância e altura máximas alcançados pela trajectória são resultados que têm que ser calculados (sendo desconhecidos inicialmente) podendo ser inicializados a 0 por instruções de afectação: d max 0;h max 0;

9 9 de Março de 2006 Trajectória de um Projéctil 9 Inicialização de Variáveis 1. Inicialização de Variáveis g 9.8; % aceleração da gravidade Entra y 0 ;% altura inicial Entra v 0 ;% velocidade inicial Entra ;% ângulo inicial Entra dx;% precisão d max 0;% distância máxima da trajectória h max 0;% altura máxima da trajectória

10 9 de Março de 2006 Trajectória de um Projéctil 10 Ciclo de Simulação A parte fundamental do algoritmo é um ciclo em que se vão calculando os sucessivos valores da trajectória do projéctil para pontos espaçados em x de um valor dx. Vamos usar duas novas variáveis, x e y, para representar cada ponto da trajectória. O primeiro ponto é: (x, y) = (0,y 0 ) x 0; y y 0 ; enquanto... fazer x x + dx; y x*tan( )-(g*x^2)/(2*v 0 ^2*cos( )^2)+y 0 ; fim enquanto

11 9 de Março de 2006 Trajectória de um Projéctil 11 Condições de Entrada no Ciclo Em qualquer ciclo é necessário especificar em que condições é que o ciclo é executado. Neste caso, estamos interessados em estudar a trajectória até se atingir o solo (y = 0). A condição de controle do ciclo é pois y > 0 donde x 0; y y 0 ; enquanto y > 0 fazer x x + dx; y x*tan( )-(g*x^2)/(2*v 0 ^2*cos( )^2)+y 0 ; fim enquanto

12 9 de Março de 2006 Trajectória de um Projéctil 12 Ciclo de Simulação 2. Ciclo de Simulação x 0; y y 0 ; enquanto y > 0 fazer x x + dx; y x*tan( )-(g*x^2)/(2*v 0 ^2*cos( )^2)+y 0 ; fim enquanto

13 9 de Março de 2006 Trajectória de um Projéctil 13 Apresentação de Resultados A distância máxima da trajectória é simplesmente o valor de x no final do ciclo. Para apresentar esse valor basta: d max x; sai d max ; A altura máxima da trajectória é o maior valor de y obtido durante o ciclo. Mas no final do ciclo esse valor não está em nenhuma variável ! Temos que acrescentar uma instrução ao ciclo de simulação para actualizar h max sempre que for encontrado um valor de y maior: h max max(h max,y);

14 9 de Março de 2006 Trajectória de um Projéctil 14 Algoritmo Completo % Inicialização de Variáveis g 9.8; % aceleração da gravidade Entra y 0 ;% altura inicial Entra v 0 ;% velocidade inicial Entra ;% ângulo inicial Entra dx;% precisão d max 0;% distância máxima da trajectória h max 0;% altura máxima da trajectória % Ciclo de Simulação x 0; y y 0 ; enquanto y > 0 fazer x x + dx; y x*tan( )-(g*x^2)/(2*v 0 ^2*cos( )^2)+y 0 ; se y > hmax então hmax y; xmax x fim se fim enquanto % Apresentação de Resultados d max x; Sai d max ; Sai h max ;

15 9 de Março de 2006 Trajectória de um Projéctil 15 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; if y > hmax then hmax y; xmax x end if endwhile % Apresentação de Resultados dmax = x; disp("Distância maxima da trajectoria (m):"); disp(dmax); disp("Altura maxima da trajectoria (m):"); disp(hmax);

16 9 de Março de 2006 Trajectória de um Projéctil 16 Programa Octave O programa pode ser testado com vários valores dos parâmetros de entrada (y0, v0, tet e dx). –Os valores de y 0 e v 0 devem ser positivos (y 0 pode ser zero). –O valores de tet devem estar entre 0 e /2. –O valor de dx pode ser, em princípio, qualquer valor positivo Como é óbvio, quanto menor for o valor de dx, maior precisão se obtem na determinação do conjunto da trajectória, e em particular nos valores de xmax e ymax. –Verificar os valores determinados quando no cálculom da trajectória se utilizam vários valores de dx trajactória para vários valores de dx (por exemplo entre 0.01m e 1 m).


Carregar ppt "9 de Março de 2006Trajectória de um Projéctil1 Pedro Barahona DI/FCT/UNL Introdução aos Computadores e à Programação 2º Semestre 2005/2006."

Apresentações semelhantes


Anúncios Google