[Índice Acima]

Controlo do fluxo do programa

Nesting

Dentro de uma estrutura, pode existir outra estrutura. Por exemplo, se quiser lidar com as entradas vazias no programa jose.vbs, pode fazer com que o programa as detecte e lhes reaja. Por exemplo:


' Programa jose2.vbs 21:36 25-04-2008
' aceita um nome e afixa-o
' excepto se for "José"
' Se nada for introduzido dá uma mensagem de erro

' exemplo de construções if.. then.. else "nested"


' Criamos uma variável
	dim Nome

' Pedimos o valor e atribuimo-lo à variável
	Nome= inputbox ("Como se chama? ")

' Se algo tiver sido introduzido, processamos...

	if Nome<>"" then

   	   ' Se o nome for "José", negar; se não, afixar.
	   if Nome = "José" then 
	      ' Teste verdadeiro: Negar o nome
	      msgbox Nome & " não pode ser."
	   else
	      ' Teste falso: Afixar o nome
	      msgbox "Viva, " & Nome & ", como está?"
	   end if	' Fim do if Nome=José

' Se nada tiver sido introduzido, 
' damos uma mensagem de erro

	else msgbox "Ooops... tem" & _
	" de introduzir alguma coisa."

	end if ' Fim do If Nome=""

' FIM DO PROGRAMA

O segmento de código que afixa em função de ser José ou não está incluído dentro de um if..then..else que permite que o primeiro seja executado se a entrada não for nula, e afixa uma mensagem de erro se for nula.

Estas estruturas encaixadas umas nas outras, como bonecas russas, dizem-se imbricadas (nested).

Continuação de linha

Pode ter notado que a linha

else msgbox "Ooops...

foi partida em duas, porque saía da caixa colorida neste documento (e eu não gostei disso). Para tal separou-se primeiro a cadeia alfanumérica em duas, usando as aspas e o carácter de concatenação; e indicou-se a continuação da linha, o que se faz com o carácter "_".

A instrução, se estivesse ainda numa só linha, ficava como

else msgbox "Ooops... tem" & " de introduzir alguma coisa."

mas foi separada em duas linhas pelo _.

Exercício

Modifique o seu programa anterior, que comparava números com 100, por forma a que a uma entrada nula corresponda uma entrada de zero (veja bem que nulo e zero são coisas diferentes).

 

Índice | Comente


Início: 25/4/2008

Última modificação: 18:43 06-05-2008