Primeiro Exercício-Programa
MAC122 - Princípios de Desenvolvimento de Algoritmos
BCC - 2o. Semestre de 1998
Este primeiro exercício-programa é mais um exercício para você se acostumar
com C. Embora eu tenha dito que aceitarei programas em Java, acredito que
você deve adquirir um mínimo de familiaridade com C para que possa acompanhar
as aulas (sem conhecimento de C, tudo ficará muito obscuro a partir de um
certo ponto).
Contagem de linhas, palavras e caracteres de um arquivo
Um utilitário bem conhecido de UNIX é o wc. Este programa conta o número de
linhas, caracteres e palavras em um arquivo dado. Por simplicidade, uma
palavra é uma seqüência contígua de caracteres (entre '!' e '~', inclusive)
que não contém os caracteres '\n', ' ', e '\t' ("newline", espaço, e "TAB").
Toda linha termina com um '\n'. Exemplos:
- Arquivo de entrada: man_ascii.txt; saída do
wc: 73, 1063, 4030 (isto é, 73 linhas, 1063 palavras, e 4030 caracteres)
- Arquivo de entrada: man_ls.txt; saída do wc:
316, 1607, 12541
- Arquivo de entrada: man_wc.txt; saída do wc:
40, 205, 1433
A sua tarefa neste primeiro EP é escrever a sua própria versão do
wc!
Prazo de entrega: terça-feira, 8 de setembro de 1998, até as 18:00.
Entregue seu EP a mim, ou na secretaria do MAC, sala 256, bloco A, antes do
término do expediente naquele dia!
Observações
- O EP é estritamente individual. Exercícios semelhantes receberão nota
0.
- Exercícios atrasados não serão aceitos.
- Exercícios com erros de sintaxe receberão nota 0.
- Endente o seu programa sistematicamente. Uma má apresentação do código
resultará em nota menor.
- Coloque comentários apropriados em seu programa. Programas sem
documentação receberão nota baixa.
- Coloque o cabeçalho usual em seu programa (como em MAC110), com nome,
número USP, curso, data, nome do professor e identificação do EP (EP1). Não
esqueça de indicar que compilador que você usou (Turbo C, Quick C, gcc,
etc).
- Entregue em um envelope (preferencialmente de plástico transparente):
- Um disquete com o código do seu programa. Identifique o disquete
com uma etiqueta.
- Uma listagem do programa.
- As saídas correspondentes aos exemplos no enunciado e quaisquer
outras saídas que você achar importantes (com as respectivas entradas,
em forma eletrônica). A abrangência dos seus testes também será
considerada na nota. Saber testar bem um programa é também muito
importante.
- Guarde uma cópia de seu material até o fim do semestre.
- Importante: entregue o seu material também por correio
eletrônico para o nosso monitor Ricardo Bueno Cordeiro <rbc@ime.usp.br>, com cópias para <yoshi@ime.usp.br> e <jair@ime.usp.br>.
Linhas gerais para a correção
- Problemas com a endentação: desconto de 0.5 a 1 ponto.
- Problemas com o material entregue: desconto de 0.5 ponto por entrega
(levemente!) atrasada, e desconto de até 1 ponto se o material entregue está
incompleto.
- Desconto de 0.5 ponto por contagem incorreta de palavras, caracteres, ou
linhas. Desconto de 4 pontos se o programa não roda. Zero se o programa
não compila.
Note que o esquema acima é bastante generoso. O esquema ficará gradativamente
mais exigente ao longo do semestre.
Página principal de MAC122 (BCC - 2o. semestre de 1998).
Y. Kohayakawa
<yoshi@ime.usp.br>
Last modified: Mon Sep 21 11:34:44 EST 1998