TRABALHO 2 CI067 1o. Semestre 2012 Entregar os programas correspondentes aos exercícios abaixo. Os programas devem ser desenvolvidos e entregues até o dia 10/05/2012. A avaliação consistirá na análise do programa pelo professor durante as aulas e após a entrega. A entrega dos programas deve ser feita durante a aula do dia 10/05/2012, obedecendo às orientações da sessão ENTREGA DE TRABALHOS na página da disciplina: http://www.inf.ufpr.br/nicolui/grad/ci067/1-2012/ A entrega do trabalho é individual. Códigos iguais em 85% serão considerados plágios e as notas refletirão esta condição. A correção do trabalho levará em conta a clareza do código, eficiência e a existência de bons comentários no código. E, claro, o programa deve funcionar bem B-). Programas que apresentarem erros de compilação terão nota 0 (zero). Programas que apresentarem falhas de segmentação sem que qualquer resultado possa ser verificado terão nota 0 (zero). Mensagens de "warning" durante a compilação que se refiram ao uso de ponteiros serão consideradas indícios de falhas no programa e poderão diminuir a nota do trabalho. ATENÇÃO: Alunos que se ausentarem sem justificativa à aula do dia ======= 10/05/2012 terão nota 0 (zero). Somente terão direito à 2a.-chamada justificativas previstas no artigo 106, Seção V, Res. 37/97-CEPE. Agradecimentos ============== A concepção deste trabalho foi resultado das atividades do aluno de Mestrado Rafael P. Canteri, bolsista do Programa REUNI, com adaptações feitas pelo Prof. Armando. EXERCÍCIOS: =========== 1. Um funcionário possui, em um arquivo, os valores gastos em R$ de produtos que ele comprou no mês. Então ele tem a brilhante de ideia de multiplicar por um determinado fator inteiro N (0 < N) cada valor lido do arquivo, desde que a soma total dos custos não ultrapasse um certo limite LIM (100 <= LIM <= 2000), que representa o orçamento disponível para o mês. Faça um programa que leia um arquivo contendo o orçamento do mês e diversos números reais representando os valores gastos no mês, encontre o maior fator N que permita chegar o mais perto possível do orçamento do mês, e grave em um outro arquivo o fator calculado, e os novos valores corrigidos pelo fator. Os dados de entrada estão em texto, mas os dados gravados NÃO DEVEM SER ARMAZENADOS EM FORMATO TEXTO. A quantidade de valores gastos no mês que são lidos do arquivo de entrada não deve ser superior a 500. Os nomes dos arquivos de entrada e saída devem ser fornecidos na linha de comando. 2. Um professor possui duas turmas de uma mesma disciplina com os nomes dos alunos armazenados em um arquivo diferente para cada turma. Os nomes dos alunos não estão ordenados, porque é início de semestre. Sem aviso prévio, a direção determinou que as turmas fossem agrupadas em uma só e, portanto, o professor precisa de uma lista única de nomes de alunos. Escreva um programa que leia nomes completos de alunos de dois arquivos "ArqA" e "ArqB", e grave-os, ordenados alfabeticamente, em um arquivo "ArqC". O tamanho máximo de cada nome é de 100 caracteres. Cada turma possui um máximo de 70 alunos. Os nomes dos arquivos "ArqA", "ArqB", "ArqC" são fornecidos na linha de comando, ou lidos da entrada padrão caso o programa seja executado sem argumentos. O conteúdo de "ArqC" também deve ser mostrado na saída padrão, com pausa durante a exibição a cada 15 nomes.