Objectivos: |
|
|
O objectivo principal desta ficha é consolidar os conhecimentos sobre manipulação de arrays em C expandindo para a manipulação
de arrays multidimensionais, nomeadamente as matrizes.
Para atingir esse fim, o aluno irá desenvolver pequenos programas em C.
|
Exercícios:
|
|
|
- Gestão de Armazens
- Contem ou Contido
- Média dos Alunos
|
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.
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).
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).
(a) 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.
(b) 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().
(c) 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.
(d) 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).
(e) Calcule a média geral da turma.
(f) Calcule a média da turma em cada disciplina.
(g) Calcule a percentagem de faltas (ausência de nota).