\documentclass[brazil]{article}

\usepackage[latin1]{inputenc}
\usepackage[portuguese]{babel}
\usepackage{amssymb}
\usepackage{amsmath}

\title{TP2}

\author{Prof.: Carlos Camar\~ao}

\date{Data limite para entrega: 10 de Outubro de 2009}

\addtolength\textwidth{15mm}
\setlength{\parindent}{0pt}

\pagestyle{empty}

\begin{document}

\maketitle

\begin{enumerate}

\item Escreva um programa que leia valores inteiros positivos do
dispositivo de entrada padrão e imprima, para cada valor lido, a sua
representação em notação binária.

Cada valor da saída pode estar separado do seguinte por um ou mais
espaços ou linhas.

A entrada termina quando um valor zero ou negativo for lido.

Teste o seu programa com os seguintes dados, contidos em um arquivo de
nome `dec2Bin.txt'':

1 2 3 7 8 9 15 16 17 31 32 33 34 23 24 25 63 64 65 127 128 129 130 0

Para leitura de um arquivo, redirecione a entrada padrão para esse
arquivo, usando o seguinte comando para chamar o interpretador: 

  \[ \text{{\tt  java Dec2Bin < dec2Bin.txt }} \]
onde {\tt Dec2Bin.class} é o nome do arquivo gerado pelo compilador
para o seu programa ({\tt Dec2Bin} é o nome da classe no seu programa
que contém o método {\tt main}).

\item Escreva um programa que leia um valor positivo $x$ de tipo {\tt
double} e um valor positivo $n$ de tipo {\tt int} e calcule e imprima
valores aproximados de {\tt {\it sen\/}($x$)} e {\tt {\it
cos\/}($x$)}, usando as fórmulas mostradas no exercício 11 (seção 5.5)
do livro-texto do curso, considerando $n$ como o número de parcelas a
serem usadas no somatório das fórmulas para cálculo de {\it sen\/} e
{\it cos}. 

Os valores devem ser impressos de modo a indicar que representam
respectivamente o cosseno e o seno do valor lido.

O seu programa não deve usar funções para cálculo de fatorial e
exponencial diretamente para cada parcela (pois isso é
desnecessariamente ineficiente). Ele deve calcular cada parcela a
partir de valores obtidos no cálculo da parcela anterior (quando não
há parcela anterior, o valor é um valor inicial conhecido).

\item Escreva um programa que leia, repetidamente um caractere $c$ e
em seguida valores inteiros positivos $n$ e imprima, para cada valor
$n$ lido, um triângulo de caracteres $c$ com $n$ linhas, como mostrado
a seguir para os casos em que i) {\tt $c$ = '*'} e {\tt $n$ = 6} e ii)
{\tt $c$ = '!'} e {\tt $n$ = 3}:

i):
\begin{verbatim}
     *                   
    ***
   *****
  *******
 *********
***********
\end{verbatim}

ii):
\begin{verbatim}
  !                   
 !!!
!!!!!
\end{verbatim}

A entrada de valores positivos (para um determinado caractere $c$)
deve terminar quando um valor inteiro zero ou negativo for lido.

A entrada de dados termina quando {\tt $c$} for igual a {\tt ' '} ou
{\tt '$\backslash$n'} ou {\tt '$\backslash$t'}.

\item Escreva um programa para imprimir uma tabela de conversão entre
graus Centígrados e graus Fahrenheit. 

O programa deve inicialmente perguntar se o usuário quer uma tabela de
conversão de graus Centígrados para graus Fahrenheit ou vice-versa; em
seguida deve ler o intervalo de graus e o passo desejados para
montagem da tabela. 

Por exemplo, se o usuário desejar uma tabela de conversão de graus
Fahrenheit para Centígrados, e especificar o intervalo entre 10 e 100
graus Centígrados e passo 10, a tabela gerada deve ser a seguinte:

  \begin{tabular}{ll}
   Fahrenheit & Centígrados \\
    10        & -12.22\\
    20        & -6.67 \\
    30        & -1.11 \\
    40        & 4.44  \\
    50        & 10.00 \\
    60        & 15.56 \\
    70        & 21.11 \\
    80        & 26.67 \\
    90        & 32.22 \\
   100        & 37.78
  \end{tabular}

A fórmula para conversão pode ser encontrada no Exercício 13 da seção
5.5 do livro-texto.


    



\end{enumerate}

\end{document}
