Programação de Computadores I
UFOP
DECOM
2013–2
Aula prática 10
Funções: Primeira Parte
Resumo
As atividades propostas nesta prática visam explorar as primeiras noções sobre funções
definidas pelo própio programador para o desenvolvimento de suas aplicações.
1 Exercícios
Tarefa 1: Força gravitacional
A força gravitacional F entre dois corpos com massas m1 e m2 é dada pela equação
F=
Gm1 m2
r2
onde G é a constante gravitacional (6, 672 × 10 −11 N m2 /Kg 2 ), m1 e m2 são as massas
dos corpos em quilogramas e r é a distância entre os dois corpos.
Escreva uma função para calcular a força gravitacional entre dois corpos dadas as
suas massas e a distância entre eles.
Para testar sua função faça um programa principal para determinar a força sobre um
satélite de 800kg em órbita a 38000km da superfície da Terra. A massa da Terra é de
5, 98 × 1024 kg.
Exemplo de execução da aplicação
força gravitacional: 2.21045e+08 N
Solução:
clear; clc;
// função para calcular a força gravitacional
function F = forcaGravitacional(m1, m2, r)
G = 6.672E-11;
F = G * m1 * m2 / r^2;
endfunction
// programa principal
massaSatelite = 800;
massaTerra = 5.98E24;
distancia = 38000;
forca = forcaGravitacional(massaSatelite, massaTerra, distancia);
printf("força gravitacional: %g N\n", forca);
1
Tarefa 2: Funções hiperbólicas
Escreva três funções para calcular o seno, o cosseno e a tangente hiperbólicas, dadas
pelas equações:
ex − e− x
2
ex + e− x
cossenoh(x) =
2
ex − e− x
tangenteh(x) = x
e + e− x
senoh(x) =
Utilize suas funções para desenhar a forma das funções seno, cosseno e tangente
hiperbólicas.
Exemplo de execução do programa:
Solução:
clear; clc; clf;
// funções hiperbólicas
function y = senoh(x)
y = (exp(x) - exp(-x))/2;
endfunction
function y = cossenoh(x)
y = (exp(x) + exp(-x))/2;
endfunction
function y = tangenteh(x)
y = (exp(x) - exp(-x))/(exp(x) + exp(-x));
endfunction
// programa principal
x = [-5:5];
plot(x, senoh(x), x, cossenoh(x), x, tangenteh(x));
title("Funções hiperbólicas");
xlabel("x");
ylabel("y");
legend("sinh", "cosh", "tanh");
set(gca(), "grid", [1 1]);
2
Download

P11. Funções: primeira parte — Soluções - Decom