\documentclass[brazil]{article}

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

\title{Prova de Programa\c{c}\~ao de Computadores}

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

\date{13 de Dezembro de 2005}

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

\pagestyle{empty}

\begin{document}

\maketitle

Em todas as quest\~oes, voc\^e pode supor a exist\^encia de m\'etodos
est\'aticos de entrada de valores de tipos básicos, definidos em uma
classe {\tt EntradaPadr\~ao}. Por exemplo, para ler inteiros, voc\^e
pode usar {\tt EntradaPadr\~ao.l\^eInteiro()}. Esse método lê um
inteiro do dispositivo de entrada padrão e retorna o valor lido, de
tipo {\tt int}. 

\begin{enumerate}

\item (6 pontos) Escreva um programa que leia um valor inteiro
$n$ e calcule o valor de $\sum_{i=1}^n (-i+1)/(i*i)$, e imprima esse
valor, se $n>0$, e $0$ caso contrário.

O programa deve tratar a exceção que ocorre quando a cadeia de
caracteres lida não representa um n\'umero inteiro, informando o
usuário com uma mensagem apropriada e realizando a operação de leitura
novamente.

\item (7 pontos) Escreva em Java um programa que leia dois valores inteiros
positivos $n$ e $m$, que representam respectivamente o número de
questões de uma prova de múltipla escolha e o número de alunos de uma
turma. Em seguida, o programa deve ler, para cada um dos $m$ alunos,
$n$ valores inteiros não-negativos, que representam as respostas de
cada aluno para cada questão da prova. Depois disso, o programa deve
ler, para cada uma das questões, um valor inteiro que indica a
resposta correta de cada questão. O programa deve imprimir, para cada
aluno, o seu número (de 1 a $m$), e o número de respostas corretas
dadas por esse aluno.

\item (7 pontos) Madame Zen \'e uma figura m\'{\i}stica que, al\'em de
prever o futuro lendo a m\~ao das pessoas, acredita que a frequ\^encia
de ocorr\^encia dos d\'{\i}igitos na representa\c{c}\~ao decimal dos
fatoriais de n\'umeros naturais est\'a relacionada ao futuro das
pessoas. Ela decidiu vender seus servi\c{c}os, fazendo previs\~oes
sobre a vida de seus fregueses, baseadas nessas freq\"u\^encias, e
pediu voc\^e para ajud\'a-la, determinando esses valores para ela.

Ela espera usar dados de entrada como os dias da semana, do m\^es e do
ano como valores de entrada, que s\~ao valores positivos menores ou
iguais a 365, e voc\^e deve ent\~ao fazer um programa que leia uma
lista de n\'umeros naturais e imprima, para cada um, o n\'umero de
ocorr\^encias de cada d\'{\i}gito decimal na representa\c{c}\~ao
decimal do fatorial desse n\'umero. O programa deve terminar quando o
n\'umero lido for maior do que 365 ou menor ou igual a zero.

Por exemplo, para a entrada:

\begin{tabular}{l}
3\\
8\\
100\\
0
\end{tabular}

o programa deve imprimir uma tabela como a seguinte (3!=6, 8!=40310, 
10!=3628800):

\begin{tabular}{ll}
3!   & \\
     & (0)    0    (1)    0    (2)    0    (3)    0    (4)    0\\
     & (5)    0    (6)    1    (7)    0    (8)    0    (9)    0\\
8!   & \\
     & (0)    2    (1)    0    (2)    1    (3)    1    (4)    1\\
     & (5)    0    (6)    0    (7)    0    (8)    0    (9)    0\\
10! & \\
     & (0)    2    (1)    0    (2)    1    (3)    1    (4)    0\\
     & (5)    0    (6)    1    (7)    0    (8)    2    (9)    0
\end{tabular}

Os dados devem ser lidos do dispositivo de entrada padr\~ao.

\end{enumerate}

\end{document}
