Está en la página 1de 13

SESIÓN Nro.

11 ESTRUCTURAS DE CONTROL I

SESIÓN Nro. 11: ESTRUCTURAS DE CONTROL I

OBJETIVOS:
• Conocer y aplicar las estructuras condicionales.

Las estructuras de control nos permiten controlar el flujo de ejecución del programa es decir la secuencia que
deben de seguir la ejecución de las instrucciones, dependiendo si se cumple o no una cierta condición,
instrucciones que deben de estar rigurosamente escritas de manera correcta tanto en la parte lógica, así como
en la parte sintáctica. Si no se controla mediante instrucciones de control de flujo, la lógica del programa fluirá
por las instrucciones de izquierda a derecha y de arriba abajo. Aunque se pueden escribir algunos programas
sencillos con un flujo unidireccional y además se puede controlar parte del flujo mediante operaciones para
regular la precedencia de las operaciones, la mayor parte del poder y utilidad de un lenguaje de programación
deriva de su capacidad de cambiar el orden de las instrucciones mediante estructuras y bucles.

ESTRUCTURAS DE DECISIÓN O CONDICIONALES


Las estructuras condicionales ejecutan un bloque de instrucciones u otro, o saltan a un subprograma o subrutina
según se cumpla o no una condición.
Entre las estructuras de decisión que acepta Visual FoxPro se incluyen las siguientes:
• If. <Condición> End If
• Do Case ... End Case

1. ESTRUCTURAS IF … THEN
A. If…Then…EndIf
La estructura If comprueba una condición específica y, si es verdadera, ejecuta las sentencias que le
siguen. La estructura If puede tener o una sola línea, o varias líneas.

Para ejecutar una sentencia condicional se usa la sintaxis de una sola línea:
If condición Then sentencia
Se evalúa la condición y, si es verdadera, ejecuta la sentencia que viene a continuación. Si la condición
no es verdadera, continua con la sentencia siguiente de la estructura.

La sintaxis de varias líneas:


If condición Then
sentencias
EndIf
SESIÓN Nro. 11 ESTRUCTURAS DE CONTROL I

B. If…Then…Else…EndIf:
Una variación de la sentencia If …Then es la sentencia If…Then…Else … EndIf, que ejecuta un bloque de
sentencias si la condición es verdadera, y otro bloque si es falsa.

La sintaxis de la sentencia If … Then … Else EndIf es:


If condición Then
Bloque de sentencias 1
Else
Bloque se sentencias 2
EndIf

Visual FoxPro evalúa la condición y, si es verdadera, ejecuta el primer bloque de sentencias y luego
salta a las sentencias que hay después de EndIf. Si la condición es falsa, Visual FoxPro ignora el primer
bloque de sentencias y ejecuta las que hay a continuación de la palabra clave Else.

Otra variación de la sentencia If … Then … Else usa varias condiciones con la palabra clave ElseIf:
If condición 1 Then
Bloque de sentencias 1
Else If condición 2 Then
Bloque se sentencias 2
Else If condición 3 Then
Bloque se sentencias 3
Else
Bloque se sentencias 4
End If

Podemos poner cualquier número de cláusulas desde arriba y, si una de ellas es verdadera, se ejecuta
el bloque de sentencias correspondiente. La cláusula Else se ejecutará si ninguna de las expresiones
anteriores es verdadera.

Ejemplo:
If puntuación < 50 Then
Resultado = “No admitido”
Else If puntuación < 75 Then
Resultado = “Pasable”
Else If puntuación > 90 Then
Resultado = “Muy bueno”
Else
Resultado = “Excelente”
EndIf
SESIÓN Nro. 11 ESTRUCTURAS DE CONTROL I

C. ESTRUCTURAS IF … THEN MÚLTIPLES


Observamos que una vez que se ha encontrado una condición verdadera, Visual FoxPro ejecuta las
sentencias asociadas, salta el resto de las cláusulas y continua con la ejecución del programa con las
sentencias que hay después de EndIf. Por esta razón podemos usar la siguiente estructura, más
complicada, de varias sentencias If simples:
If puntuación < 50 Then
Resultado= “No admitido”
EndIf
If puntuación < 75 And puntuación >= 50 Then
Resultado= “Pasable”
EndIf
If puntuación < 90 And puntuación >= 75 Then
Resultado= “Muy bueno”
EndIf
If puntuación > 90 Then
Resultado= “Excelente”
EndIf

D. EJERCICIOS DE APLICACIÓN
EJERCICIO 1
Desarrolla una aplicación que permita ingresar dos valores cualesquiera, al hacer un clic sobre el botón
Comparar, deberá de mostrar un mensaje indicando si son iguales o son diferentes.

El diseño del formulario es el siguiente:

El código del formulario es el siguiente:


SESIÓN Nro. 11 ESTRUCTURAS DE CONTROL I

EJERCICIO 2
Desarrolle una aplicación que permita cambiar el aspecto de una caja de texto. El usuario debe elegir
el estilo, el color y el tamaño.

El diseño del formulario es el siguiente:

Inserte los siguientes controles


Control Propiedad Valor
Text1 Name TxtTexto
Spinner1 KeyboardHighValue 72
KeyboardLowValue 6
SpinnerHighValue 72
SpinnerLowValue 6
Value 6
Check1 Name ChkNegrita
Check2 Name ChkCursiva
Check3 Name ChkSubrayado
Check4 Name ChkTachado
Optiongroup1 Name OptGColor
Option1 Name OptNegro
Option2 Name OptRojo
Option3 Name OptVerde
Option4 Name OptAzul
Command1 Name CmdNuevo
Command2 Name CmdSalir

El código del formulario es el siguiente:

ChkNegrita = FontBold (Negrita)


ChkCursiva = FontItalic (Cursiva)
ChkSubrayado = FontUnderline (Subrayado)
ChkTachado = FontStrikethru (Tachado)
SESIÓN Nro. 11 ESTRUCTURAS DE CONTROL I

Completa el código del botón Salir.


Luego de escribir los códigos respectivos, ejecuta el formulario e ingrese una palabra u oración.
SESIÓN Nro. 11 ESTRUCTURAS DE CONTROL I

2. ESTRUCTURA DO CASE ... END CASE


Use la estructura Do Case para ejecutar el primer conjunto de comandos cuya expresión condicional dé
como resultado verdadero (.T.).
DO CASE se utiliza para ejecutar un conjunto de comandos de Visual FoxPro según el valor de una expresión
lógica. Cuando se ejecuta DO CASE, se evalúan cada una de las expresiones lógicas sucesivas; los valores de
las expresiones determinan el conjunto de comandos que se ejecuta.

A. SINTAXIS
DO CASE
[CASE Expresión1
Comandos]
[CASE Expresión2
Comandos]
...
[CASE lExpresiónN
Comandos]
[OTHERWISE
Comandos]
ENDCASE

B. ARGUMENTOS
i. CASE lExpresión1 Comandos ...
Cuando se encuentre la primera expresión CASE verdadera (.T.), se ejecutará el conjunto de
comandos que haya a continuación. La ejecución del conjunto de comandos continuará hasta
encontrar la siguiente expresión CASE o ENDCASE. La ejecución se reanuda en el comando que hay
inmediatamente a continuación de ENDCASE.
Si una expresión CASE es falsa (.F.), se pasará por alto el conjunto de comandos que le siguen hasta
la siguiente cláusula CASE.
Solamente se ejecuta un conjunto de comandos, que será aquél cuya expresión CASE dé como
resultado verdadero (.T.). Se pasan por alto todas las expresiones CASE posteriores que sean
verdaderas (.T.).

ii. OTHERWISE Comandos


Si todas las expresiones CASE dan como resultado falso (.F.), OTHERWISE determinará si se ejecuta
otro conjunto de comandos adicional.
• Si incluye OTHERWISE, se ejecutará el conjunto de comandos que sigue a OTHERWISE y la
ejecución saltará al primer comando que hay a continuación de ENDCASE.
• Si omite OTHERWISE, la ejecución saltará al primer comando que hay a continuación de
ENDCASE.
SESIÓN Nro. 11 ESTRUCTURAS DE CONTROL I

C. EJERCICIOS DE APLICACIÓN
EJERCICIO 1
Realice una aplicación en donde se ingrese un número de un mes y muestre como resultado el nombre
del mes ingresado. Si se ingresa un numero de mes incorrecto, deberá de mostrar un mensaje
indicando: el número de mes ingresado es incorrecto.
El diseño del formulario es el siguiente:

Inserte los siguientes controles


Control Propiedad Valor
Text1 Name TxtNumero
Value 0
InputMask 99
Text2 Name TxtMes
Enabled False

El código del formulario es el siguiente:


SESIÓN Nro. 11 ESTRUCTURAS DE CONTROL I

Luego de escribir el código del formulario, Ejecute el formulario , ingrese un número cualesquiera y
pulse la tecla Aceptar.

EJERCICIO 2
Realice una aplicación en donde se ingrese una fecha cualquiera y luego de pulsar el botón Aceptar,
deberá de mostrar el nombre del día correspondiente.
El diseño del formulario es el siguiente:

Inserte los siguientes controles


Control Propiedad Valor
Text1 Name TxtFecha
Value ={}
Text2 Name TxtDia
Enabled False

El código del formulario es el siguiente:

La función Dow, devuelve el número del día


de la semana a partir de una expresión Date o
DateTime
SESIÓN Nro. 11 ESTRUCTURAS DE CONTROL I

Complete Ud., el código del botón Otro y Cerrar.


Luego de escribir el código de la aplicación, ejecute el formulario, ingrese una fecha y pulse el botón
Aceptar.

EJERCICIO 3
Realice una aplicación que permita calcular el promedio del alumno y además calcular la condición del
alumno en forma cualitativa de acuerdo al promedio obtenido.
Si el alumno obtiene un promedio que este entre:
• 00 a 05: su condición será Pésimo
• 06 a 10: su condición será Malo
• 11 a 15: su condición será Regular.
• 16 a 18: su condición será Bueno.
• 18 a 20: su condición será Excelente

El diseño del formulario es el siguiente.

Inserte los siguientes controles


Control Propiedad Valor
Text1 Name TxtEmpleado
Text2 Name TxtEspecialidad
Text3 Name TxtCurso
Text4 Name TxtNota1
Value 0
InputMask 99
Text5 Name TxtNota2
SESIÓN Nro. 11 ESTRUCTURAS DE CONTROL I

Control Propiedad Valor


Value 0
InputMask 99
Text6 Name TxtNota3
Value 0
InputMask 99
Text7 Name TxtPromedio
Enabled False
Text8 Name TxtCondicion
Enabled False

El código del formulario es el siguiente:

Complete Ud., los códigos de los botones Otro y Cerrar.


Luego de escribir los códigos respectivos, ejecute el formulario ingrese los datos del alumno mas las
notas del alumno y luego pulse el botón Aceptar.
SESIÓN Nro. 11 ESTRUCTURAS DE CONTROL I

EJERCICIOS PROPUESTOS

EJERCICIO 1
Realice una aplicación que permita calcular el haber de un trabajador de acuerdo a su categoría.
Primero se tendrá que seleccionar la categoría del trabajador, luego al pulsar el botón Aceptar mostrará su
haber (sueldo) básico.

Diseñe el formulario de tal forma que el diseño quede igual al siguiente formulario.

Para el caso de la categoría inserte un control Grupo de Opciones, y cambie la propiedad Buttoncount por 3 y
la propiedad Name por OptGCategorias, tal como se muestra a continuación:

Para cambiar las propiedades del control Grupo de Opciones, Seleccione el control y realice un click con el botón
contrario y seleccione la opción modificar, luego seleccione el control Option1 y cambie la propiedad caption
por Gerente, la propiedad Name por OptGerente.
SESIÓN Nro. 11 ESTRUCTURAS DE CONTROL I

Repita los mismos procedimientos para los dos controles restantes:


Control Propiedad Valor
Option2 Caption Secretaria
Name OptSecretaria
Option3 Caption Personal de Servicio
Name OptPersonal

Escriba el código del formulario

Complete Ud., el código de Otro y Cerrar.


Ejecute el formulario, ingrese los datos respectivos y pulse el botón Aceptar, para calcular el haber básico.
SESIÓN Nro. 11 ESTRUCTURAS DE CONTROL I

También podría gustarte