You are on page 1of 3

VT de Estrutura de Dados II

1° Semestre de 2018

Este trabalho consiste em realizar um vários exercícios de programação utilizando a linguagem C.

O QUE DEVE SER ENTREGUE

 Código fonte dos programas em C (bem identado e comentado).

 Os exercícios deverão ser enviados ao professor até o dia 24/05.

 Trabalhos entregues em atraso serão aceitos, todavia a nota atribuída ao trabalho será diminuída em
10%.

APRESENTAÇÃO EM SALA DE AULA.

 Deverá ser preparada apresentação dos problemas propostos, com explicação do código (sucinta) e
alguns testes.

 Na apresentação todos os alunos deverão estar presentes, o aluno ausente terá nota zero.

 No dia da apresentação os problemas que serão apresentados pelo grupo serão sorteados pelo
professor, assim como os integrantes do grupo que mostrarão a solução dos problemas propostos.

 Cada grupo apresentará a solução de 2 exercícios e cada exercício será apresentado por um integrante do
grupo.

 Data das apresentações 23/05. A ordem de apresentação será escolhida pelo professor.

COMENTÁRIOS GERAIS:

 Comece a fazer este trabalho logo, enquanto o problema está fresco na memória e o prazo para terminá-
lo está tão longe quanto jamais poderá estar;

 Clareza, identação e comentários no programa também serão avaliados;

 O trabalho é em grupo de 3 alunos

 O código fonte deverá ser enviados por email: jesunu@gmail.com

AVALIAÇÃO:

• Apresentação: 4 pontos

• Código fonte: 6 pontos.


Lista de exercícios

1. Implementar o TAD lista usando alocação encadeada. As operações que o TAD deve contemplar:

a) inicializar lista (vista em sala)

b) Verificar lista vazia (vista em sala)

c) Inserir elemento (vista em sala)

d) Remover elemento (vista em sala)

e) Imprimir a lista (vista em sala)

f) Incluir um elemento no final de uma lista.

g) Eliminar o último elemento de uma lista.

h) Eliminar o enésimo elemento de uma lista.

i) Concatena: recebe duas listas não ordenadas L1 e L2 e retorna uma nova lista com os com os elementos
de L1 seguidos dos elementos de L2.

j) Remover ímpares: remove todas as ocorrências dos elementos ímpares da lista de entrada.

k) Copiar somente os elementos pares da Lista L1 para uma Lista L2.

l) Função para remover os n primeiros elementos da lista. A função recebe como entrada o endereço da
lista, e o valor de n (um número inteiro não negativo). Caso n seja maior que o tamanho da lista, todos os
elementos da lista são removidos e a lista resultante deve ser vazia, Caso a operação seja executada com
sucesso retorne (1), caso contrário, retorne (0).

m) Função para trocar dois elementos de posição. A função recebe como entrada o endereço da lista, e o
índice de duas posições da lista. Caso a lista exista, possua pelo menos dois elementos, e as posições sejam
válidas, os elementos das posições indicadas são trocados entre si e a função retorna sucesso (1). Caso
contrário, a função retorna insucesso (0).

n) A partir de L1 e L2, gere L3 considerando somente os elementos repetidos em ambas as listas (considere
L1 e L2 ordenadas)

o) Inverter uma lista L1.

2. Considere um cadastro de contas bancárias, com as seguintes informações para cada conta:

• Número do cliente: representado por um valor inteiro

• Número da conta: representado por um valor inteiro

• Nome: com até 50 caracteres;

• Saldo: representado por um valor real


Defina um TAD, em C, denominado ContaBancaria, que tenha os campos apropriados para guardar as
informações de uma Conta, conforme descrito acima e as seguintes operações.

• Aloca e retorna o endereço do vetor do tipo ContaBancaria

• Função que preenche uma vetor do tipo de ContaBancaria

• Função que receba o número do cliente e imprima os dados da conta.

• Função que deposita um valor qualquer em uma determinada conta.

• Função que saca um valor qualquer em uma determinada conta.