INF1005 - PROGRAMAÇÃO 1  
LISTA DE EXERCÍCIOS 15  
1
. Escreva um programa para ler do arquivo “pauta.txt” a matricula, o nome (no máximo 80  
caracteres) e indicação de presenças ou faltas (‘F’,’f’,’V’, ‘v’) em 10 dias de cada um dos  
alunos de uma turma (no máximo 40 alunos).  
Em seguida o programa deve gravar no arquivo “pauta_final.txt” a matricula, o nome e o  
total de faltas de cada aluno.  
Após ler as informações e gerar o arquivo de pauta final, o programa deve permitir que o  
usuário faça consultas digitando a matricula do aluno, e se a mesma existir, o programa  
deve fornecer o nome do aluno e o total de presenças. As consultas terminam quando o  
usuário digitar uma matricula igual a 0.  
Exemplo de conteúdo do arquivo “pauta.txt:  
1
11  
Ana Maria  
PpppPPpPpP  
2
22  
Jose Augusto  
PfpfPfFPFP  
3
33  
Pedro Augusto  
FPfpfPfffF  
4
44  
Vanessa Carla  
PPffPpFPPf  
5
55  
Joao Vinicius  
PPppfFPPfF  
2
. Uma empresa realizou uma pesquisa de satisfação de 7 clientes de operadoras de celular  
para contabilizar quantos clientes estão satisfeitos com sua própria operadora.  
Para isso, na coleta de dados o cliente deu uma nota a todas as 4 operadoras pesquisadas.  
Estes dados, isto é, as 8 notas atribuídas às operadoras por cada cliente, estão  
armazenadas no arquivo “Notasdadas.txt”. Portanto, este arquivo tem 7 linhas, cada linha  
com 8 notas.  
O arquivo “entrevistasOper.txt” armazena nome da operadora dos 7 entrevistados, um  
por linha (na 1ª está o nome da operadora do primeiro entrevistado, na 2ª linha do  
segundo entrevistado, etc..). O nome das operadoras têm no máximo 30 caracteres.  
O arquivo “codoperadoras.txt” armazena o nome da operadora e seu código (número  
entre 1 e 8). Há quatro operadoras de celular sendo pesquisadas. O nome da operadora  
está em uma linha e o código desta operadora na linha seguinte.  
Faça um programa que mostre na tela a quantidade de pessoas satisfeitas por operadora.  
Uma pessoa está satisfeita quando atribui uma nota a sua operadora maior ou igual à nota  
média da operadora. A nota média de uma operadora é calculada pelo somatório das  
notas recebidas por ela dividida pelo número de entrevistados  
Exemplo de conteúdo dos arquivos:  
Para estes exemplos, o total de clientes satisfeitos por operadora é:  
3
. Uma prova de corrida de Fórmula PUC é realizada da seguinte forma:  
No máximo, 18 equipes participam da prova;  
O roteiro é dividido em 6 trechos e cada trecho é cronometrado (6 tempos  
parciais por equipe);  
Cada trecho terá uma equipe campeã: será a que obtiver o menor tempo de  
percurso naquele trecho;  
O tempo total de uma equipe é a soma dos tempos dos 6 trechos.  
Faça um programa que, após contabilizar os tempos de todas as equipes, imprima para  
cada trecho:  
O nome da equipe campeã;  
O ano de criação da equipe;  
O tempo no trecho (em segundos);  
O tempo total da equipe no formato horas:minutos:segundos.  
As informações sobre a corrida estão armazenadas nos arquivos EQUIPES.TXT e  
TEMPOS.TXT, descritos a seguir:  
arquivo texto EQUIPES.TXT, contendo as seguintes informações (uma por linha):  
o
o
ano de criação da equipe (inteiro);  
nome da equipe (máximo de 15 caracteres válidos);  
arquivo TEMPOS.TXT, contendo as seguintes informações (uma por linha):  
o
o
o
quantidade de tempos armazenada no arquivo (inteiro);  
nome da equipe (máximo de 15 caracteres válidos);  
tempos (em segundos) de cada trecho da prova (inteiros) em ordem:  
tempo do 1º trecho, tempo do 2º trecho, tempo do 3º trecho, e assim  
sucessivamente.  
Observações:  
A equipe que possuir menos de 6 tempos armazenados no arquivo TEMPOS.TXT,  
receberá a seguinte punição: para cada tempo não armazenado no arquivo,  
deverá ser considerado o tempo de 9999 segundos;  
Assuma que nenhuma equipe terá mais de 6 tempos no arquivo TEMPOS.TXT  
O seu programa deve implementar e utilizar as seguintes funções feitas por você:  
função busca(): implementa o algoritmo de busca sequencial;  
função le_arq_equipes(): faz a leitura dos dados do arquivo EQUIPES.TXT,  
preenchendo os vetores recebidos como parâmetros; retorna a quantidade de  
registros lidos;  
função le_arq_tempos(): uma de suas responsabilidades é fazer a leitura dos  
dados do arquivo TEMPOS.TXT, preenchendo os parâmetros recebidos;  
função converte(): recebe um inteiro representando um valor em segundos e o  
devolve separado em horas, minutos e segundos.  
Exemplo de resultado esperado na tela:  
Equipe campea do trecho 1: OLHO-DE-BOI  
Ano da criacao: 1930  
Tempo no trecho atual: 101 Tempo total da equipe: 0:44:20  
Equipe campea do trecho 2: OLHO-DE-BOI  
Ano da criacao: 1930  
Tempo no trecho atual: 101 Tempo total da equipe: 0:44:20  
Equipe campea do trecho 3: SAFIRA  
Ano da criacao: 1960  
Tempo no trecho atual: 419 Tempo total da equipe: 0:50:8  
Equipe campea do trecho 4: OLHO-DE-BOI  
Ano da criacao: 1930  
Tempo no trecho atual: 512 Tempo total da equipe: 0:44:20  
Equipe campea do trecho 5: JADE  
Ano da criacao: 1910  
Tempo no trecho atual: 612 Tempo total da equipe: 0:51:16  
Equipe campea do trecho 6: AGATA  
Ano da criacao: 1890  
Tempo no trecho atual: 911 Tempo total da equipe: 0:51:19