Exercícios propostos

Aula prática nº 5

Exercícios

  1. Uma moradia é constituída por várias divisões. Uma divisão é representada pelo seu nome, a sua dimensão e pelo andar da moradia em que ela se situa.
    • Primeiro, concretize uma função que recebe uma moradia e um número inteiro x e devolve as divisões da moradia cujo número de andar é igual a x.
    • Segundo, realize uma nova função, utilizando a anterior, que recebe uma moradia, e escreve para cada andar a área ocupada pelas divisões do andar. Na resolução deste exercício, tenha em conta que uma moradia é representada não só pelas suas divisões como também pelo número de divisões e de andares que a compõem.
  2. Concretize o tipo de dados lista de inteiros. Tendo em conta este tipo de dados, construa uma função que recebe um ponteiro para o início de uma lista de inteiros e devolve o valor médio dos inteiros guardados na lista.
  3. Considerando o mesmo tipo de dados, construa uma função iterativa que devolve o elemento maior de uma lista de inteiros recebido como argumento da função.
  4. Resolva o problema anterior utilizando uma função recursiva.
  5. Concretize uma função que insere um elemento no fim da lista. Esta função recebe o número inteiro a guardar na lista e o ponteiro para o início da lista.
  6. Concretize uma função que liberta toda a memória associada a uma lista de inteiros. Esta função recebe a lista a libertar.
  7. Realize um programa que pede ao utilizador para inserir números inteiros, os quais deverão ser guardados numa lista. A inserção de números termina quando o utilizador escrever o número -1. De seguida, o programa deve calcular e escrever no stdout a média dos valores inseridos, o maior número e de seguida libertar a memória associada à lista de inteiros. Nota: Deve utilizar as funções desenvolvidas anteriormente.
  8. Resolva o problema da alínea 2 desenvolvendo uma função recursiva.