MINI-PROJECTO DE PROGRAMAÇÃO IMPERATIVA
1º Semestre de 2004/2005


  1. Introdução
  2. Objectivo
  3. 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).
 
cheque_exemplo



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  :-)