Problema 1


Notas

A resolver em grupo.

A resolução deste problema deve ser entregue até ao dia 3 de Novembro de 1998.  A resolução deve ser entregue pessoalmente a um dos docentes da cadeira.  A resolução deve constar de: (1) uma listagem do código C++ para resolução da Questão 1 e (2) um texto (simples e conciso) com a resolução da Questão 2.  Deve-se também indicar claramente quem são os membros do grupo.  Relembramos que os grupos devem ser constituidos por 2 ou 3 pessoas, não sendo aceites inscrições de grupos com qualquer outro número de elementos, salvo motivo de força maior.

A entrega do problema fora do prazo implica a penalização de um valor por cada dia útil de atraso.

O peso de cada questão na avaliação deste problema é indicado entre [] junto às mesmas.


Questão 1

[50% - 10 valores] Escreva uma função em C++ que mostre no ecrã um menu com cinco (5) opções e devolva o número da opção escolhida pelo utilizador.  Deve juntar a esta função um programa que faz a sua invocação.  Exemplo:
1. Primeira opção
2. Segunda opção
3. Terceira opção
4. Quarta opção
5. Quinta opção
Que opção pretende? 4
A opção escolhida foi a 4.


Questão 2

[45% - 9 valores] a)  À semelhança do que se fez na 1ª aula teórica para o máximo divisor comum, desenvolva um algoritmo simples que calcule o mínimo múltiplo comum de dois inteiros positivos m e n.

[5% - 1 valor] b)  Tente mostrar que o algoritmo que desenvolveu está correcto (termina sempre e com o valor correcto).  Pode-se inspirar na discussão do algoritmo do mdc a colocar brevemente no resumo da Aula 2.

[0%] c)  Haverá alguma restrição ao bom funcionamento do algoritmo que desenvolveu se limitarmos a gama dos valores inteiros admissíveis (por exemplo a -231 a 231 - 1)?  E no caso do mdc?

[0%] d)  Para se convencer de que a) é verdadeira e b) faz sentido, implemente o algoritmo em C++ e teste-o para vários valores de m e n.