Introdução à Programação B (2017/2018)

Lista de exercícios

Artur Miguel Dias



Prática 10 (Semana de 23/out/2017-2)

Sumário: Problemas sobre vetores. Exercício 35 e começar a resolver o exercício 36.


Nesta aula, vamos começar a trabalhar com vetores. Para servir de inspiração, eis um exemplo copiado da teórica 5.
  • 35 - Escreva as duas seguintes funções sobre vetores de inteiros: Nota: Não se esqueça de que uma função sobre vetores deve estar preparada para receber um vetor de qualquer tamanho. Daí a necessidade de adicionar um parâmetro inteiro para indicar o tamanho do vetor. Analise o cabeçalho da função media, do exemplo inicial.

    Integre as duas funções num programa completo. A função main é oferecida:


  • N : 36 - Escreva um programa que permita ao utilizador fazer experiência com vetores de inteiros. O programa deve funcionar da forma que se descreve neste enunciado. O programa é para desenvolver ao longo de duas aulas práticas.

    Existe um ponto de partida para começar a trabalhar: vetores.c. [Abra o link e copie todo o texto para um ficheiro no seu projeto MinGW - já agora, o comando CTRL-A permite selecionar o texto todo duma forma muito prática]. Oferecemos-lhe o programa já meio escrito. Apesar do programa estar incompleto, já compila sem erros e pode ser executado.

    Já foram escritas e não precisam de ser alteradas as seguintes funções: "main", "interpretador", "ler_vetor", "escrever_vetor", "copiar_vetor". Você tem condições de perceber o código destas funções, exceto no caso da função "ler_vetor", que usa matéria ainda não estudada.

    Falta escrever o corpo das funções que implementam a maioria dos comandos. Comece pelos comandos mais simples. A seguinte ordem é aconselhada: 's', 'x', 'g', 'q', 'r', 'm', 'i', 'h', 'p', 'l'. Implemente um comando de cada vez e teste esse comando até ficar satisfeito.

    Funcionamento do programa

    O programa guarda internamente dois vetores de inteiros que são conhecidos como vetores A e B. O programa está constantemente a mostrar os vetores A e B para manter o utilizador informado.

    Quase todas as operações atuam sobre vetor A, sendo o resultado colocado no vetor B e também mostrado no ecrã. Mas se o resultado for um escalar, o resultado é simplesmente mostrado no ecrã e não é guardado.

    O programa assume a forma dum interpretador de comandos. Trata-se dum programa que está constantemente a ler e processar comandos introduzidos pelo utilizador. Cada comando é identificado por uma letra minúscula diferente.

    Os comandos

    Os comandos do programa são apresentados a seguir. Cada comando é identificado por uma letra minúsculas diferente.