06 novembro 2005

Aula de 17/OUT/2005, 2ªFeira

Objectivos: ganhar competências no uso dos vários tipos de ciclo, sabendo eleger o melhor ciclo para resolver um problema concreto e conceber uma solução com base nesse ciclo.

Enunciado: Pretende-se uma aplicação, em modo consola, que:
a) Declare o tipo enumerado TipoDeCiclo, com os valores cFor, cWhile, cRepeat e cEach;
b) Declare uma variável global, a matriz M, com os seguinte valores por linha: 11, 12, 13; 21, 22, 23; 31, 32, 33;
c) Declare e implemente a Sub ImprimirMatriz(ByVal Tipo As TipoDeCiclo), que imprime no ecrã a matriz M, usando para o efeito um destes ciclos: For, While e Until;
d) Na Sub Main() use a Sub ImprimirMatriz para imprimir a matriz. Está correcta?
e) De seguida, use esta instrução: ReDim Preserve M(2, 4). Execute o programa: que aconteceu? porquê?
f) Redimensione a matriz M para 3 linhas e 5 colunas, preservando os seus valores;
g) Preencha os novos valores de forma semelhante ao dos valores existentes. Imprima a matriz: está correcta?
h) Declare e implemente a Sub MostraElementosDaColuna3(ByVal Tipo As TipoDeCiclo), que imprime no ecrã os elemento da coluna 3 da matriz M, usando para o efeito um destes ciclos: For, While e Until;
i) Declare e implemente a Sub SomarElementosDoArray(ByVal Tipo As TipoDeCiclo), que imprima no ecrã o valor da soma de todos os elementos da matriz M, usando para o efeito um destes ciclos: For e For Each. Use na Sub Main() chamadas a essa Sub;
j) Declare e implemente a Function MaximoDaLinha(ByVal Tipo As TipoDeCiclo). Use na Sub Main() chamadas a essa Function;
k) Declare e implemente uma função que calcule o valor máximo dos elementos de M com base na função MaximoDaLinh. Use na Sub Main() chamadas a essa Function;
l) Declare e implemente uma função que calcule o valor médio dos elementos de M, usando para o efeito um destes ciclos: For, While, Until e For Each; Use na Sub Main() chamadas a essa Function;
m) Declare e implemente uma função que calcule o valor do desvio padrão dos elementos de M, usando para o efeito um destes ciclos: For, While, Until e For Each; Use na Sub Main() chamadas a essa Function;