Você está na página 1de 5

Curso: Bacharelado em Ciência da Computação

Disciplina: ED2C4 – Estruturas de Dados II


Professor: Marcelo Roberto Zorzan

Trabalho Final da Disciplina

Objetivo
O objetivo deste trabalho é criar uma aplicação usando a linguagem de programação C
que seja capaz de simular funcionalidades de um EDITOR DE TEXTO (com interface DOS),
utilizando uma estrutura de dados para armazenamento das informações digitadas pelo usuário.
Incluindo o código fonte do sistema, deve ser apresentada a estrutura de dados utilizada
e as justificavas acerca de seu uso.

Formato de Desenvolvimento
Cada aluno deverá desenvolver o trabalho de forma individual.

Observações para implementação


O programa deve ser implementado em Linguagem C;
Crie funções em cada um dos exercícios de forma a utilizar passagem de parâmetro por
valor e/ou por referência, de acordo com a necessidade do exercício;
Não é permitido o uso de variáveis globais.

Detalhamento da Estrutura de Dados e Justificativa:


1. Características básicas:
• O texto com a estrutura de dados e a justificativa deve conter a descrição detalhada do
projeto, com preferencialmente 3 (três) parágrafos, contendo:
1) Uma introdução explicando o problema de forma geral;
2) Um parágrafo (com uma ilustração) descrevendo a estrutura de dados utilizada;
3) Um (ou mais) parágrafo(s) com a justificativa do uso da estrutura de dados
utilizada.
• O texto deve conter entre 500 e 2000 palavras.

Codificação:
2. Características básicas:
1) Ser implementado em linguagem C (com extensão de arquivo(s) .c ou .h):

1
Curso: Bacharelado em Ciência da Computação
Disciplina: ED2C4 – Estruturas de Dados II
Professor: Marcelo Roberto Zorzan

a. Nota: Arquivos com extensão .cpp são da linguagem C++ e, portanto, não
serão aceitos;
b. O texto digitado deve respeitar os limites laterais da tela, como acontece no
prompt de comando (não PODE ser como no Bloco de Notas do Windows
que não tem limitação). Trabalhos entregues que não fizerem este
tratamento terão a nota zerada.
2) Possuir as seguintes funcionalidades ao clicar nas teclas:
a. Letras, números e símbolos: Exibir na tela e inserir na estrutura de dados
na posição correspondente do cursor;
b. F1: Exibir um texto (estático padrão descrevendo as funcionalidades do
sistema) com as informações que estão contidas num arquivo de ajuda
armazenado em disco, arquivo este que deve estar localizado no mesmo
diretório que a aplicação está sendo executada e lido após a tecla ser
pressionada;
c. F2: Salvar as informações contidas na estrutura de dados em um arquivo do
tipo texto (arquivo:
NomeSobrenome1_NomeSobrenome2_NomeSobrenome3_texto.txt);
d. F10: Ler as informações de um arquivo texto previamente salvo,
preenchendo a estrutura de dados com estas informações e exibindo o
texto na tela para o usuário;
e. F12: Exibir uma tela com as informações de prontuário, nome do aluno,
curso e ano de ingresso (essa informação não deverá estar armazenada na
estrutura de dados);
f. Esc: A tecla de Esc deverá possuir as seguintes funcionalidades:
i. Ser utilizada para sair da aplicação, podendo o usuário salvar em
arquivo as alterações realizadas antes do fechamento da aplicação;
ii. Caso o usuário esteja visualizando o arquivo de ajuda (após pressionar
F1) ou as informações dos participantes (após pressionar F12), a
aplicação deverá retornar para a tela que a chamou, ou seja, a tela com
o texto que o usuário estava digitando.
g. Setas: Deverá ser implementada as funcionalidades de seta, permitindo
assim a navegação pelo texto (Nota: Atentar aos finais das frases);
h. Insert: No momento que a tecla de Insert for pressionada deverá ser
permitido sobrescrever o texto anteriormente digitado onde o cursor

2
Curso: Bacharelado em Ciência da Computação
Disciplina: ED2C4 – Estruturas de Dados II
Professor: Marcelo Roberto Zorzan

estiver posicionado. Ao pressionar novamente, deverá ser permitida a


inserção de novos caracteres e assim sucessivamente (Nota: As
modificações devem ser refletidas na estrutura de dados no momento da
digitação);
i. Page Up e Page Down: Page Up deve permitir trocar para a página acima e
Page Down permitir trocar para a página abaixo (Dica: pesquisar sobre
comando gotoxy);
j. Home e End: A tecla Home deve posicionar o cursor no início da linha ao
qual ele está posicionado e End ao final desta linha;
k. Delete: Deve apagar o conteúdo onde o cursor está posicionado
(removendo também da estrutura);
l. Backspace: Deve remover o elemento anterior ao posicionamento do cursor
(removendo também da estrutura);
m. Enter: Deve retornar o cursor ao início da próxima linha. Caso tenha texto à
frente do cursor, este deve ser repassado para a nova linha inserida. Caso
haja texto na linha abaixo, deve-se inserir uma linha em branco. Todas as
alterações devem ser refletidas na estrutura.
3) Características extras (que serão usadas na avaliação):
a. Comentários no código facilitando o entendimento;
b. Formatação de código;
c. Validação de entrada de dados;
d. Boas práticas de programação.

Prazos para entrega:


• Prazo para entrega do projeto final (Estrutura de Dados e Justificativa + Codificação):
17/11/2023

Avaliação:
A avaliação do trabalho será feita de duas formas:
1) Avaliação da estrutura de dados e justificativa
2) Avaliação do código fonte

• A avaliação da estrutura de dados e justificativa poderá assumir até 1 ponto.

3
Curso: Bacharelado em Ciência da Computação
Disciplina: ED2C4 – Estruturas de Dados II
Professor: Marcelo Roberto Zorzan

• A avaliação do código fonte poderá assumir até 9 pontos.


• Serão realizadas, no mínimo, 2 avaliações parciais, para verificar o desenvolvimento do
projeto.
• Poderão ocorrer entrevistas aos alunos para explanação do código fonte desenvolvido.
• A Nota Final poderá assumir até 10 pontos (peso 4,0 – Critério A2 do SUAP, em
substituição a Prova Escrita e Individual prevista inicialmente);

Entrega do trabalho:
➢ Via Moodle:
o O projeto deverá ser entregue pelo Moodle em um único arquivo compactado (RAR
ou ZIP), nomeado da seguinte forma NomeSobrenome, contendo:
▪ O arquivo contendo os códigos fontes do programa (arquivos .c), nomeados
da seguinte forma:
• NomeSobrenome.c
e/ou
• NomeSobrenome.h
▪ O arquivo contendo o texto de ajuda, nomeado da seguinte forma:
• NomeSobrenome_ajuda.txt
▪ O arquivo contendo o texto gerado após utilizar a aplicação, nomeado da
seguinte forma:
• NomeSobrenome_texto.txt
▪ O detalhamento da estrutura de dados e a justificativa contendo:
• Capa (formatação ABNT) incluindo título do projeto e
nome/prontuário do aluno;
• Texto com a descrição detalhada da estrutura de dados e
justificativa;
• Os dois itens anteriores em um único arquivo .doc, nomeado da
seguinte forma:
o NomeSobrenome.doc
➢ Via impresso:
o O relatório que foi entregue via Moodle deverá ser entregue impresso na aula
subsequente ao envio do arquivo mencionado anteriormente.
➢ Observações:

4
Curso: Bacharelado em Ciência da Computação
Disciplina: ED2C4 – Estruturas de Dados II
Professor: Marcelo Roberto Zorzan

o TODOS os trabalhos em formato digital serão recebidos SOMENTE via Moodle


dentro do prazo pré-estabelecido.
o Arquivos com problema são de inteira responsabilidade do aluno. O professor
corrigirá o arquivo que for enviado.
o Se não for enviado o código fonte, o aluno automaticamente receberá a nota zero.
o Casos de flagrantes de cópias de trabalhos ocasionarão nota zero para todos os
trabalhos semelhantes.
o Reforçando, o aluno poderá ser entrevistado pelo professor individualmente, de
acordo com a necessidade, em datas e horários a serem definidos.

Você também pode gostar