Dentro de un bloque de código se puede escribir cualquier código, incluso un nuevo bloque de código.
Esto se denomina anidamiento, y permite, por ejemplo, incluir un condicional dentro de otro condicional.
La mayoría de los lenguajes de programación imponen un máximo de niveles de anidamiento.
En el ejemplo de hoy veremos un condicional con anidamiento en una macro de Microsoft Excel programada en VBA.
Este es el código del ejemplo.
Option Explicit
Sub condicionalAnidado()
Dim edad As Integer
edad = InputBox("Introduce tu edad:")
If edad < 18 Then
If edad < 17 Then
If edad < 16 Then
If edad < 15 Then
If edad < 14 Then
If edad < 13 Then
If edad < 12 Then
If edad < 11 Then
If edad < 10 Then
MsgBox ("tienes menos de 10 años")
End If
MsgBox ("tienes menos de 11 años")
End If
MsgBox ("tienes menos de 12 años")
End If
MsgBox ("tienes menos de 13 años")
End If
MsgBox ("tienes menos de 14 años")
End If
MsgBox ("tienes menos de 15 años")
End If
MsgBox ("tienes menos de 16 años")
End If
MsgBox ("tienes menos de 17 años")
End If
MsgBox ("tienes menos de 18 años")
Else
MsgBox ("Eres mayor de edad")
End If
End Sub
Dentro del segundo se incluirían los resultados a continuación.
Siendo el condicional más interno y resaltado en la siguiente imagen.
En este código si el dato introducido es menor que 10 se valoran todos los condicionales hasta llegar a este.
Si se cumple este condicional se mostrara el mensaje indicando que se es menor de 10 años.
Y también todos los mensajes indicando que 6 menor de 11 12 13 14 15 16 17 y 18.