Buscar

P3 simulado 03

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Pontifícia Universidade Católica do Rio de Janeiro 
Disciplina: Programação I (INF1005) 
Simulado P3 – 21/11/2013 
 
Nome do aluno: _____________________________________________________________________ 
Turma: 33J Num. Computador: ___________ Matrícula: _______________ 
 
Instruções para a realização da avaliação prática 
 
1. A prova terá duração de 105 minutos (1 horas e 45 minutos). 
2. É responsabilidade do aluno salvar periodicamente o seu trabalho!!!!. 
3. O nome do seu projeto e do seu programa-fonte devem ser iguais ao código da sua turma mais o número da 
sua matrícula e mais o seu primeiro nome. Exemplo: 33J-1012983-maria. 
4. No início do seu programa-fonte, coloque, como comentários, o seu nome completo, sua matrícula e o nome 
do seu professor. 
5. Todos os arquivos mencionados no texto abaixo estão armazenados e/ou devem ser criados no diretório 
especificado pelo professor no início da prova. 
6. Não é permitido destacar as folhas que compõem a prova (2 folhas). 
7. Antes de perguntar, leia atentamente o que está sendo pedido. 
8. Quando terminar a prova, não desligue o computador, permaneça sentado e chame um professor ou um 
fiscal. 
9. A nota da prova será entregue na data divulgada pelo seu professor. 
10. O arquivo de saída não deverá ser entregue. 
 
QUESTÃO ÚNICA 
 
A eleição para presidente da Ilha de Brasilândia terminou ontem à noite, sem incidentes. Tanto os eleitores que 
moram na ilha quanto os que moram no exterior já votaram em um dos 6 candidatos à presidência. 
 
As informações sobre a eleição estão distribuídas em 2 arquivos: 
 
• CANDIDATOS.TXT: arquivo texto contendo os códigos e os nomes dos candidatos à presidência, contendo 
uma informação por linha: código candidato (inteiro) e nome do candidato (máximo de 20 caracteres válidos). 
Considere que o arquivo contém exatamente 6 linhas (uma linha para cada candidato). 
• VOTOS.TXT: arquivo texto com os votos dos eleitores, sendo uma linha para cada eleitor, contendo: código 
candidato (inteiro), local da residência do eleitor (0 – é morador da ilha; 1 – mora no exterior). É necessário 
validar apenas o código do candidato lido (se código for inválido, o voto não é computado para ninguém), 
suponha que as demais informações estão corretas. Note que a princípio não se sabe a quantidade de votos 
existentes no arquivo. 
 
Considere que as informações em ambos os arquivos são separadas pelo caracter ‘|’ (barra vertical). 
 
Faça um programa que imprima um relatório (na tela) baseado nas informações dos arquivos fornecidos e com a 
saída esperada (vide seção RESULTADO ESPERADO). Para facilitar, assuma que não haverá empate no 
resultado. 
 
O seu programa deverá utilizar as seguintes funções feitas por você (não necessariamente nesta ordem): 
 
a) Função busca: recebe um vetor de inteiros, a quantidade de elementos no vetor, e o elemento 
procurado (inteiro), retornando a posição do elemento buscado no vetor. Retorna -1 caso não 
encontrado. 
b) Função le_dados_candidatos: recebe um vetor de strings e um vetor de inteiros como parâmetros; e 
preenche os vetores com os dados lidos do arquivo CANDIDATOS.TXT. 
c) Função le_votos: recebe o vetor de código de candidatos (já carregado pela função do item B) e a 
matriz de votação, preenchendo-a de acordo com os dados no arquivo VOTOS.TXT. 
d) Função gera_relatorio: recebe como parâmetros todas as informações necessárias para gerar o 
relatório, conforme exibido na seção RESULTADO ESPERADO. A saída dos dados é feita na tela. 
e) Função descobre_eleito: recebe a matriz com as quantidades de votos como parâmetro e retorna o 
número da linha da matriz referente ao candidato eleito (maior quantidade de votos). 
 
 
 
 
 
 
 
Nota 
 
 
 
 
 
RESULTADO ESPERADO (saída na tela) 
Obs: Este é apenas um exemplo de resultado! Não é obrigatório manter os espaçamentos na tela. 
 
 
Nome Total Votos Locais Total Votos Exterior Total de Votos 
Monica 15 5 20 
Cebolinha 23 2 25 
Magali 13 4 17 
Cascao 3 0 3 
Chico Bento 9 1 10 
Rosinha 16 3 19 
 
*** Presidente Eleito: Cebolinha com 25 votos ***

Outros materiais