FSC1004-LISTA-02
Author
Hans Rogério Zimermann
Last Updated
6 years ago
License
LaTeX Project Public License 1.3c
Abstract
Lista de exercícios para disciplina de computação básica para física - Fortran na UFSM
Lista de exercícios para disciplina de computação básica para física - Fortran na UFSM
\documentclass[a4paper,12pt]{article}
\usepackage{geometry}
\geometry{
a4paper,
total={170mm,257mm},
left=20mm,
top=20mm,
}
\usepackage{verbatim}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{gensymb}
\usepackage{verbatim} % env for block comment
\usepackage{ragged2e} % para usar flusleft
\usepackage[brazilian]{babel}
\usepackage{minted}
\usemintedstyle{tango}
\begin{document}
\begin{center}
FSC1004 - Comp. Básica para Física - Fortran\\
Lista Final de exercícios\\
Física Licenciatura - Diurno\\
2018-01\\ %\hline
\end{center}
\begin{comment}
Este é um comentário de múltiplas linhas.
Com certeza útil para esconder partes grandes de texto ainda não revisadas.
Ou para encontrar um problema do seu código LaTeX que não compila.
{\Large 1 Comandos do Linux}\\
1) Baixe no seu computador do "site" do curso o arquivo denominado $"exemplo1-1.txt"$.\\
a) Qual é o tamanho do arquivo?\\
b) Em que data foi criado?\\
c) Qual são as permissões do arquivo?\\
d) Crie um diretório com o seu nome e guarde/copie o arquivo para esse diretório;\\
e) Crie um arquivo $tar.gz$ do diretório anteriormente criado.\\
2) Crie um diretório chamado $"exemplo2"$.\\
a) Entre no diretório.\\
b) Crie um arquivo contendo o seguinte texto:\\
\textit{... O primeiro esforco de Newton direcionado a entender o movimento dos corpos celestes foi direcionado para entender o movimento da lua. Newton sabia que se nenhuma forca atuava sobre a lua, esta deveria de se mover em linha reta com velocidade constante. Contudo, vista desde a Terra a Lua segue uma trajetória quase circular. Assim, deve existir uma aceleracao na direcao à Terra e uma forca que origine esta aceleracao...}\\
c) Quem é o dono do arquivo e o grupo\\
d) Mude as permisões para que somente o dono possa ler\\
e) crie um arquivo tar.gz do diretório anteriormente criado\\
{\Large 2 Programação em Fortran 90}\\
\end{comment}
\noindent
1) Escreva um programa que leia 10 números a partir do teclado e encontre a sua soma. Teste o programa com vários valores incluindo:\\
1; 5, 17,3; -23,714; 12,947; 0,0005; -2.974; 3951, 44899 e -10000\\
\noindent
2) O seguinte programa troca os valores armazenados nas variáveis \textbf{var1} e \textbf{var2}:\\
\begin{comment}
\begin{listing}[ht]
\inputminted{octave}{BitXorMatrix.m}
\caption{Example from external file}
\label{listing:3}
\end{listing}
\end{comment}
\begin{minted}{fortran}
program troca
implicit none
real :: Var1 = 33.33, Var2 = 99.99
! Troca valores
Var2 = Var1
Var1 = Var2
!Imprime/mostra na tela os valores trocados
print*, Var1, Var2
end program troca
\end{minted}
\noindent O programa tem um erro. Identifique e corrija-o, para que o programa funcione
adequadamente.\\
\noindent
3) Escreva um programa que leia $x$ e imprima:
\begin{align}\label{eq_tres}
x - 1\\
x + 1\\
x^{2} + x - 2
\end{align}
\\
\noindent
4) A massa reduzida de uma molécula diatômica é dada pela expressão
\begin{align}\label{eq_quatro}
\mu = \frac{m_{a} m_{b}}{m_{a}+m_{b}}
\end{align}
Escreva um programa que calcule $\mu $, uma vez que forem fornecidos valores para $m_{a}$ e $m_{b}$.\\
\noindent 5) Quando visitantes iam à casa de Bohr em Copenhague, a esposa dele sempre fazia um pastel de maçã. Para quatro pessoas este pastel precisa de:\\
675 g de maçã;\\
75 g de manteiga;\\
150 g de açúcar;\\
100 g de migalhas de pão;\\
150 ml de creme de leite.\\
\noindent Escreva um programa que pergunte pelo número de pessoas que vão comer na casa de Bohr e informe a quantidade de cada ingrediente requerido para fazer o pastel de maçã.\\
\noindent 6) A equação de um círculo pode ser escrita como:
\begin{align}\label{q_seis}
(x - x_{0})^{2} + (y-y_{0})^{2} = r^{2}
\end{align}
Onde ($x_{0}$, $y_{0}$) são as coordenadas do centro do círculo.\\
Escreva um programa que pergunte as coordenadas do centro de um círculo e um ponto na sua circunferência para assim calcular o raio do círculo. Finalmente, o programa deve imprimir os coeficientes da equação que define o círculo na forma:
\begin{align}\label{q_seis_dois}
ax^{2} + by^{2}+ cx + dy + e = 0
\end{align}\\
\noindent 7) Um corpo que experimenta uma aceleração uniforme a durante um tempo t se desloca uma distância $s$, segundo a equação:
\begin{align}\label{q_sete}
s = \frac{1}{2}at^{2}+vt
\end{align}
onde $v$ é a velocidade inicial. No caso de um corpo caindo livremente, a aceleração que este experimenta é de $a = g = 9,8\,ms^{-2}$.
Escreva um programa que pergunte a velocidade inicial (em $ms^{-1}$) o tempo de queda (em segundos). O programa deve calcular e imprimir a altura desde a qual o corpo cai.\\
\noindent 8) O potencial produzido por um corpo com carga $Ze$ no ponto $P$ está dado por:
\begin{align}\label{q_oito}
\phi(r) = \frac{1}{4\pi \varepsilon_{0}} \frac{Ze}{r}
\end{align}
onde $e$ é a carga de um elétron, $e = 1,6\times 10^{-19}\,C$, $\varepsilon_{0} = 8,98\times 10^{9}\,Nm^{2}C^{-2}$, $\pi = 3,1416$
e $r$ é a separação entre o corpo e o ponto $P$.
Escreva um programa que calcule o potencial, dada a separação e a carga do corpo em unidades da carga do elétron ($Z$ é um numero inteiro).\\
\noindent 9) Uma ferragem vende três tipos de fios elétricos. O fio A suporta correntes de até 5A, o fio B suporta correntes de até 13A e o fio do tipo C suporta corrente de até 30A. Sabendo que a seguinte equação:
\begin{align}\label{q_nove}
P = IV
\end{align}
relaciona a corrente elétrica $I$ que passa por um eletrodoméstico, a diferença de potencial $V$ ou voltagem a que é submetido o eletrodoméstico e a potência $P$ que este consome. Escreva um programa que pergunte ao usuário pela potência consumida e a voltagem utilizada. A partir disso, indique que tipo de cabo deve ser utilizado para ligar o eletrodoméstico.\\
\noindent 10) O brilho de uma estrela é cíclico, com período de $6,4$ dias. Em cada período o brilho varia segundo a Tabela \ref{tab01}:
\begin{table}[!ht]
\caption{Período de brilho}
\centering
\label{tab01}
\begin{tabular}{lll}
\hline
$t_{inicio}(dias)$ & $t_{fim}$(dias) & brilho \parbox{6cm}. \\ \hline \hline
0 & 0,9 & 2,5 \\ %\hline
0,9 & 2,3 & \parbox{4.6cm}{\begin{equation*} 3,355 - ln{\left\lbrace 1,352 +cos \left[\left(\frac{t-0,9}{0,7}\right)\pi \right] \right\rbrace} \end{equation*}} \\ %\hline
2,3 & 4,4 & 2,5 \\ %\hline
4,4 & 5,2 & \parbox{4.6cm}{\begin{equation*} 3,598 - ln{\left\lbrace 1,998 +cos\left[\left(\frac{t-4,4}{0,4}\right)\pi \right]\right\rbrace} \end{equation*}} \\ %\hline
5,2 & 6,4 & 2,5 \\ \hline
\end{tabular}
\end{table}\\
\noindent Escreva um programa o qual leia o tempo $t$ e imprima o brilho da estrela naquele
momento.\\
\noindent 11) O cometa Halley é visível da terra, aproximadamente, a cada 76 anos. Sua última aparição foi em 1986. Escreva um programa que imprima as próximas 10 aparições do cometa Halley.\\
\noindent 12) O tamanho do padrão internacional das folhas de papel, tais como o A4, é definido segundo a equação:
\begin{align}\label{q_do}
(2^{1/4 -n/2} \times 2^{-1/4-n/2}) \;metros^2
\end{align}
onde $n$ é o número seguido da letra A (por exemplo $n = 4$ no caso do papel A4). Implemente, em Fortran, um algorítimo para um programa que escreva o tamanho do papel internacional, desde A0 até A10.\\
\noindent 13) A porcentagem de uma reação química, depois de $t$ segundos a uma temperatura de $T^{\circ}C $, é dada pela equação:
\begin{align}\label{q_trez}
P = 1 - e^{-kt}\\
k = e^{-q}\\
q = \frac{2000}{T + 273,15}
\end{align}
Escreva um programa que permita ao usuário fornecer a temperatura, $T$, e assim imprimir a porcentagem de reação minuto a minuto até a reação atingir $95\%$.\\
\noindent 14) O comprimento, $L$, de uma barra de metal à temperatura $T$ é dada pela equação:
\begin{align}\label{q_quatorz}
L = L_{0} + \alpha T L_{0}
\end{align}
em que a temperatura é medida em graus Celsius, $L_{0}$ é o comprimento da barra a $0^{\circ}C $, e $\alpha$ é o coeficiente de expansão térmica do metal. Escreva um programa que crie um conjunto de dados mostrando o comprimento da barra para diversas temperaturas (por exemplo de $T_{ini} = 0^{\circ}C$ até $T_{fim} = 50^{\circ}C$, com um $\Delta T = 0.5^{\circ}C$. O programa deve solicitar como dado de entrada o valor do coeficiente térmico da barra, $\alpha$, mas deve assumir que todas as barras terão um comprimento de $L = 1m$ quando $T = 20^{\circ}C$. Os dados resultantes deverão ser armazenados num arquivo de nome \textbf{T\_vs\_T.txt}. Crie um gráfico no Planilhas do Google, ou outro software de seu gosto.\\
\noindent 15) A função de distribuição normal se define como:
\begin{align}\label{q_quinz}
\phi(x) = \frac{1}{\sqrt[]{2\pi}} e^{\frac{-x^{2}}{2}}
\end{align}
Escreva um programa para avaliar $\phi(x)$ e armazenar numa matriz os valores entre $x = -3,0$ e $x = 3,0$, com intervalo de $\Delta x = 0,2$. Imprima o resultado num arquivo tal que por linha sejam escritos 5 valores.\\
\noindent 16) Os ônibus da rota SMA/Júlio de Castilhos, realiza seu percurso em 1 hora. Aos sábados e domingo o intervalo entre os ônibus é de 30 minutos entre às 7h30min e as 24h0min. De segunda a sexta o intervalo entre às 6h0min e 18h0min horas é de 20 minutos e de 1 hora e 30 minutos das 18h0min às 23h0min. Escreva um programa que imprima o itinerário dos ônibus, indicando a hora de saída de Santa Maria e chegada a Júlio de Castilhos, para todos os dias da semana. Escreva o resultado em um arquivo de nome \textbf{itinerario.txt}.\\
\noindent 17) Seja $N(t)$ o número de indivíduos de uma determinada espécie. Um modelo simples que descreve a evolução do número de indivíduos de uma determinada espécie, assume que não há migrações e que os termos de nascimento e morte são proporcionais ao número total de indivíduos $N(t)$, ou seja quanto mais indivíduos existem num instante $t$, mais indivíduos nascem, e, também, mais indivíduos morrem. Com essa hipóteses, a equação que descreve o sistema é:
\begin{align}\label{q_dezessete}
\frac{N(t)}{dt} = nN(t) - mN(t) = rN(t)
\end{align}
a solução dessa equação, para diferencias finitas, é:
\begin{align}\label{q_dezessete_dois}
N(t) = N(0)\left[1+\frac{rj}{j}\right]^{j}
\end{align}
Crie um programa que a partir do fornecimento do valor para a população inicial $N(0)$, calcule qual será a população no tempo $t$, ou seja a $N(t)$. A solução procurada será tal que
\begin{align}\label{q_dezessete_tres}
\frac{N(t)_{j-1}}{N(t)_{j}} < 0,05.
\end{align}
Crie um gráfico no Planilhas do Google, ou outro software de seu gosto, do número de indivíduos em função do tempo.\\
\noindent 18) Considerando o valor $x=3,2$ implemente um código em Fortran para determinar o valor das seguintes funções:\\
a) $f(x) = \frac{x^2}{3}+\frac{x^3}{2}-\frac{x}{10}$\\ \\
b) $f(x) = \frac{1}{5x^2}-\frac{10}{x}$\\
c) $f(x) = (x-2)^2(2x-3)$\\
d) $f(x) = \frac{x}{2\sqrt{x}}$\\
e) $f(x) = e^{-5x}$\\
f) $f(x) = -12 + \frac{3}{7}(e^{-x} - 1)$\\
g) $f(x) = \frac{1}{3}\sin(3x)$\\
h) $f(x) = 3\sin(\frac{5\pi}{3}x+\frac{\pi}{10})$\\
i) $f(x) = \ln(x+1)$\\
j) $f(x) = \ln(\ln(x))$\\
\noindent 19) Sabemos que a velocidade de um objeto pode ser expressa pela derivada da posição em relação ao tempo. Computacionalmente falando, podemos calcular a derivada de uma função $r(t)$, usando o seguinte:
\begin{align}\label{q_dezoit}
\frac{dr(t)}{dt} = \lim_{\Delta t \to 0} \frac{\Delta r}{\Delta t} = \lim_{\Delta t \to 0} \frac{r_{f} - r_{i}}{\Delta t}
\end{align}
onde o limite indica que o valor no incremento em t deve ser suficientemente pequeno para assegurar a convergência. Assim uma equação diferencial (que é uma equação que considera derivadas) tal como (que descreve o movimento de um corpo num fluido viscoso)
\begin{align}\label{q_dezoit}
\frac{dv}{dt} = a - \eta \upsilon
\end{align}
pode ser escrita como:
\begin{align}\label{q_dezoit}
\frac{\upsilon_{f} - \upsilon_{i}}{\Delta t} = a - \eta \upsilon_{i}
\end{align}
com $\Delta t$ pequeno. Crie um programa que calcule a velocidade $\upsilon$ de um corpo que se move num fluido viscoso, sabendo qual é a sua velocidade inicial ao tempo $t = 0$ e sabendo que $a = g = 9,8\,ms^{-2}$. Assuma que $\upsilon = 1$.\\
\noindent 20) Sabemos do calculo que a integral definida de uma função $F(x)$ esta dada por:
\begin{align}\label{q_dezen}
W(x) = \int_{x_{i}}^{x_{f}} F(x) dx = \lim_{\Delta x \to 0} \sum_{x_{i}+\Delta x/2}^{x_{f}+\Delta x/2} F(x_{i})\Delta x
\end{align}
o que geometricamente nos diz que uma integral é a soma de uma série de retângulos de largura infinitesimal $\Delta x$. Crie um programa que avalie as integrais\\
a)$\int_{1}^{3} x^{2} dx$\\
b)$\int_{0}^{3} e^{-2x}dx$\\
c)$\int_{0}^{\pi} \sin \theta d\theta $\\
\bibliographystyle{abbrv}
\begin{thebibliography}{9}
%... items da bibliografia aqui
\bibitem{evy} Torres, E. A. S.,
\emph{Notas de Aula}, Universidade Federal de Santa Catarina., Disponível em <http://www.pbx-brasil.com>.,
Acesso em 11/06/2018.
\end{thebibliography}
\end{document}