21 novembro 2005

Aula de 21-22/Nov/2005, 2ª-3ªFeira



Enunciado

1) Considere uma Sub Main() assim constituída:
----- LeNumeroNegativo()
----- LeNumeroPositivo()
----- LeNumeroNumIntervalo(3, 12)

2) Todas estas funções invocam a seguinte função :
----- Function LeNumero(ByVal Frase As String) As Integer
----- cuja missão é TENTAR ler, do teclado, um nº inteiro válido.
----- Para tal:
---------- imprime a Frase no ecrã e depois
---------- lê, do teclado, um valor que tenta converter para inteiro.
----- Esse nº inteiro será então o resultado da função ...
---------- ... mas só se for válido.
----- Pois todo este processo está suportado num Handler de erros:
---------- se algo correr mal, deve-se:
--------------- escrever: "Não introduziu um número inteiro." e,
--------------- sinalizar o erro ao chamador da função LeNumero.

Function LeNumeroNegativo() As Integer
Só se abandona esta função depois de se conseguir ler um negativo.
Esta função invoca a função LeNumero com uma mensagem adequada.
Atenção: LeNumero pode ter gerado um nº válido ou não... S
e o nº válido lido não for negativo, deve ser produzido e tratado um erro que faça aparecer a seguinte mensagem: "O nº não é negativo".

Function LeNumeroPositivo()
Semelhante à anterior, com as adaptações necessárias.

Function LeNumeroPositivo()
Semelhante à anterior, com as adaptações necessárias.