Ficha Nº5
Objectivos:
O objectivo principal desta ficha é consolidar os conhecimentos sobre manipulação de arrays em C expandindo para a manipulação de arrays multidimensionais, noemadamente as matrizes.
Exercícios:
Exercício Nº1: Gestão de Armazens
Uma empresa tem 10 armazens e precisa de um programa que leia as vendas mensais dos 10 armazens, calcule a media de vendas e produza uma listagem dos armazens com vendas superiores à média calculada.
Exercício Nº2: Contem ou Contido
Desenvolva um algoritmo e posteriormente codifique-o em C que dadas dumas matrizes de dimensões arbitrárias verifica se a primeira contem a segunda (considere que os valores armazenados nas matrizes são do tipo inteiro).
Exercício Nº3: Média dos Alunos
Cada aluno de uma licenciatura em Ciências da Computação pode ter notas correspondentes a 10 disciplinas feitas durante o ano lectivo (caso não tenha sido avaliado positivamente a uma disciplina não terá essa nota).
- Declare as estruturas de dados (o modelo) necessárias para suportar o sistema de informação: um aluno tem um número (inteiro sequencial a partir de 1), um nome (string) e uma lista de notas (reais). Pense na hipótese de encarar o número do aluno como um código alfanumérico (para permitir números em qualquer escala, ou mesmo o uso de letras) e identifique as alterações daí decorrentes.
- Inicialize a estrutura de dados: na declaração e/ou numa função de inicialização que é chamada no início da função
main()
.
- Crie as funções normais de manipulação de uma pequena base de dados:
- Inserir - de modo a manter a informação por ordem alfabética de nome. Numa 1ª versão, utilize o algoritmo por trocas directas e, numa 2ª versão, use a inserção ordenada;
- Remover - utilize a pesquisa sequencial ordenada para encontrar o registo a remover;
- Consultar - utilize a pesquisa dicotómica para encontrar o registo a consultar;
- Listar - liste todos os alunos armazenados, por ordem alfabética.
- Especifique uma função em C para calcular a média de cada aluno (faça uma função que dada a estrutura de dados principal e o identificador do aluno, produz como resultado a sua média); note que disciplinas não avaliadas não contam para a média (diferente de obter a classificação 0 numa disciplina).
- Calcule a média geral da turma.
- Calcule a média da turma em cada disciplina.
- Calcule a percentagem de faltas (ausência de nota).
--
PedroRangelHenriques - 29 de Abril, 2005