Ficha Nº6: Arrays e Estruturas
Objectivos:
O objectivo principal desta ficha é familiarizar o aluno com a utilização de algoritmos mais avançados de busca e ordenação sobre Arrays. No fim, porpõem-se alguns exercícos envolvendo estruturas.
Exercícios:
Exercício Nº1: Estrutura Ligada
Voltando ao exercício da última ficha em que se geriam alunos e respectivas notas, considere a hipótese de utilizar uma ligação lógica entre os elementos como forma de os manter ordenados(como discutido na aula teórica de 01-04-2004) e implemente as seguintes funções:
- Incialização do modelo de dados: lembre-se que também será necessário gerir as posições livres.
- Listar: esta função produz uma listagem ordenada da informação de todos os alunos.
- Consulta: esta função imprime no écran toda a informação referente a um determinado aluno.
- Inserir: esta função insere o novo aluno na primeira posição livre e actualiza as ligações de forma a manter a informação logicamente ordenada.
- Remover: esta função remove o aluno em causa e coloca a respectiva posição na lista de posições livres (garbage collector).
Este problema pode ser dividido em três fases:
Exercício Nº2: Estrutura ou Produto Cartesiano
Considere de novo o problema do exercício anterior e resolva as seguintes alíneas:
- Defina um tipo de dados Aluno como sendo uma estrutura (
struct
) onde é guardada a informação do aluno.
- Defina um tipo de dados Turma como sendo uma lista de Aluno.
- Declare variáveis do tipo Aluno e do tipo Turma.
- Adapte as funções desenvolvidas no exercício anterior para trabalhar com estes novos tipos de dados.