MINI-PROJECTO
DE PROGRAMAÇÃO IMPERATIVA
1º Semestre de 2004/2005
-
Introdução
-
Objectivo
-
Normas a cumprir
1. INTRODUÇÃO
As instituições de crédito disponibilizam
presentemente
aos seus clientes um conjunto de meios electrónicos de pagamento
que lhes garantem uma forma rápida segura e económica de
efectuar os mais variados pagamentos: transferências,
débitos
directos, pagamentos com cartões, etc. Até ao
aparecimento
destes meios, o cheque era o meio de pagamento que melhor aliava
segurança
e facilidade de utilização a uma elevada
aceitação,
embora não fosse tão rápido e garantido como por
vezes
se supunha. Não obstante a utilização de cheques
estar
gradualmente a ser substituída por meios de pagamento
electrónicos,
é uma forma de pagamento que continua a ter forte
utilização
quer por particulares quer por empresas. Obviamente, o seu uso
generalizado
não teria sido possível sem a existência de um
regime
jurídico composto por diplomas nacionais e internacionais que
disciplinam
o seu preenchimento e regulam a sua utilização. Ao
contrário
do que muita gente supõe, nem todos os espaços em branco
dos cheques são de preenchimento obrigatório. Por
exemplo,
o local de emissão, a indicação da entidade a
favor
de quem o cheque é passado e a indicação, por
extenso,
do valor a pagar não são de preenchimento
obrigatório.
No entanto é conveniente que quem passe o cheque preencha esses
espaços protegendo-se, dessa forma, de eventuais
utilizações
abusivas (ver recomendações que se seguem).
2. OBJECTIVO
A necessidade de escrever por extenso um determinado valor
numérico
é uma tarefa comum de particulares ou empresas para evitar a
utilização
abusiva de documentos como, por exemplo, cheques, notas de
crédito,
facturas ou recibos. O objectivo deste trabalho é fazer um
programa
que faça o preenchimento automático do valor por extenso,
contribuindo dessa forma para evitar esse tipo de fraudes.
O que se pretende?
Um programa que possa ser chamado da linha de comando do sistema
operativo,
que receba do standard input
(no momento em que é chamado) um valor numérico em euros
e apresente via standard output
uma linha de texto com o respectivo valor por extenso.
Exemplo: Supondo que se
trata
do mini-projecto dos alunos 12345 e 23456.
prompt:
>
prompt: > pi_12345_23456
623.49
Seiscentos e vinte e
três
euros e quarenta e nove cêntimos
prompt: > |
3. NORMAS A CUMPRIR
Na elaboração
O trabalho é para ser feito em grupos de 2 (dois) alunos.
Consiste
num programa feito em linguagem C subordinado à norma ANSI, que
corresponda ao objectivo apresentado no ponto 2. O código deve
compilar
sem erros no compilador gcc
da GNU e gerar um executável em Linux. O ficheiro com o
código
fonte deverá ser baptizado com o seguinte nome:
pi_nums_alunos.c
em que nums_alunos
são os números dos alunos que integram o grupo, escritos
por ordem crescente e separados pelo caracter underscore.
Exemplo de um nome:
pi_12345_23456.c
O ficheiro com o código fonte deverá conter em
cabeçalho
a identificação dos seus autores escrita nas primeiras
linhas,
com alinhamento à esquerda e no seguinte formato:
/* autor: curso numero nome apelido */
em que curso é uma das seguintes siglas conforme o
curso:
EI, ESI ou I; numero é o número de aluno; nome
é o seu nome próprio; apelido o seu sobrenome de
família.
Exemplo de assinatura para um grupo em que cada aluno pertence a um
curso:
/* autor: I 12345 Fernando Pessoa
*/
/* autor: ESI 23456 Alvaro de Campos */
Na entrega
Deverão ser entregues aos respectivos docentes das aulas
práticas
um (e só um) ficheiro com o código fonte e uma listagem
em
papel.
O código fonte poderá ser entregue electronicamente
(por attachment
em email ou secure copy). Atenção: A entrega por email
deverá
ser feita a partir da conta pessoal de webmail da universidade.
Não
enviar o executável uma vez que a compilação
será
feita pelo docente.
A listagem poderá ser entregue nas aulas ou depositada no
cacifo
do docente.
Atenção: Não fazer capas nem
encadernações
especiais. O cabeçalho da listagem serve para identificar os
autores.
A clareza do código (boas práticas de
programação)
será valorizada.
O prazo de entrega termina na última semana de aulas,
Quinta-Feira,
dia 16 de Dezembro de 2004 às 23:59 horas.
Quem copiar ou deixar copiar o trabalho chumba logo à
disciplina
e pode levar um processo no conselho pedagógico.
Bom trabalho :-)