Академический Документы
Профессиональный Документы
Культура Документы
Pantalla Principal
1. Barra de título
2. Barra de menús
3. Barra de Herramientas
4. Pantalla (Screen)
5. Ventana de comando
Ventana de comando
La ventana de comando es una gran utilidad porque nos permite probar los comandos (u
órdenes) que se van a dar al Visual FoxPro, sin necesidad de tener un programa
guardado.
Una variable corresponde a un área de la memoria del computador que puede almacenar
un dato cuyo valor puede cambiar durante un programa. Para crear una variable en Visual
FoxPro podemos simplemente escribir el nombre que le vamos a dar a la variable, el
símbolo igual y por último un valor u operación.
Observe que en la pantalla no aparece nada. Con las anteriores líneas se crearon dos
variables cNombre y nEdad, para ver en la pantalla el contenido de las variables digite:
? cNombre
? nEdad
? dFechaNac
La letra que se antepuso a los nombres de las variables anteriores no es obligatoria, pero
nos sirve para distinguir el tipo de dato o contenido de la variable. cNombre es de tipo
carácter, nEdad es de tipo numérica y dFechaNac es de tipo fecha (date). Observe que
las fechas Visual FoxPro las muestra en formato mm/dd/aa (mes/día/año) en forma
predeterminada, utilice el comando SET DATE DMY para que se muestren en formato
dd/mm/aa (día/mes/año).
Para obtener el valor de una variable desde la pantalla podemos utilizar los comandos
ACCEPT para variables de tipo carácter e INPUT para variables de tipo numérico o fecha.
Luego del comando se coloca un mensaje y luego de TO el nombre de la variable:
ACCEPT “ Escriba su nombre “ TO cNombre
INPUT “ Escriba su edad “ TO nEdad
Operadores Aritméticos
Operador de caracter
Operadores de comparación
Se puede usar con diferentes valores, y se obtiene valores de tipo lógico .T. ó .F.
- Igual a = Ej: ?8=7
- Diferente de <> Ej: ? 8 <> 7
- Mayor que > Ej: ?8>7
- Menor que < Ej: ?8<7
- Mayor o igual >= Ej: ? 8 >= nEdad
- Menor o igual <= Ej: ? 8 <= nEdad
Operadores lógicos
Hasta ahora se ha utilizado la línea de comando para obtener los resultados. Pero si se
cierra FoxPro es probable que no se pueda recuperar los comandos utilizados. Para que
estos comandos se guarden y se puedan utilizar se pueden almacenar como programas.
Al ejecutar un programa FoxPro ejecutará cada una de los comandos almacenados en el
orden en que se escribieron.
Aparecerá una ventana con el nombre prueba.prg. Allí podemos escribir el programa.
CLEAR
ACCEPT “ Escriba su nombre “ TO cNombre
INPUT “ Escriba su edad “ TO nEdad
? “Hola “ + cNombre + “ su edad es “ + ALLTRIM(STR(nEdad)) + “ años”
Ejercicio 01
- Crear un programa con el nombre ejercicio01a, que pregunte el nombre, edad y fecha
de nacimiento de dos personas y luego que muestre esta información.
- Crear un programa con el nombre ejercicio01b, que pregunte el alto y la base de un
triángulo y como resultado muestre su área (área del triángulo = (alto * base) / 2)
Estructuras de control
Hasta este momento los programas realizados tienen un flujo secuencial, o sea que se
ejecutan los comandos en el orden que se escribieron, uno a continuación del otro.
Las estructuras de control son construcciones que permiten modificar el flujo de ejecución
de los comandos en un programa.
Estructuras condicionales
La función BETWEEN (Entre) se usa para indicar un rango de valores. Por ejemplo para
evaluar si una edad está entre 10 y 20 años escribimos:
BETWEEN(nEdad, 10, 20)
que es equivalente a escribir
nEdad >= 10 AND nEdad <= 20
1. Si condicional (IF)
IF condición THEN
Comandos cuando la condición es V
ENDIF
Se puede complementar con ELSE para indicar los comandos que se deben
realizar cuando la condición no se cumpla
IF condición THEN
Comandos cuando la condición es V
ELSE
Comandos cuando la condición es F
ENDIF
Ejemplo:
CLEAR
?"Hola " + nombre + " usted tiene " + ALLTRIM(STR(edad)) + " años"
DO CASE
CASE condición1
Comandos cuando la condición1 es V
CASE condición2
Comandos cuando la condición2 es V
….
OTHERWISE
Comandos cuando ninguna condición es V
ENDCASE
Ejemplo:
CLEAR
?"Hola " + nombre + " usted tiene " + ALLTRIM(STR(edad)) + " años"
DO CASE
CASE edad < 0
? "Edad incorrecta"
CASE BETWEEN(edad, 0, 5)
? "Eres un pollito"
CASE BETWEEN(edad, 6, 15)
? "Estas joven todavia"
CASE BETWEEN(edad, 16, 25)
? "En proceso de maduración"
CASE BETWEEN(edad, 26, 40)
? "En la edad perfecta"
CASE BETWEEN(edad, 41, 50)
? "Ya se está pasando"
OTHERWISE
? "Está capando tumba"
ENDCASE
Ejercicio 03
- Crear un programa que pregunte el valor de la compra e indique el valor del descuento
y el valor a pagar, teniendo en cuenta que se aplica
5% de descuento a compras entre $5.000 a $20.000
10% de descuento a compras entre $20.000 y $50.000
15% a compras superiores a $50.000
Para compras menores a $5.000 no hay descuento.
Estructuras ciclicas
Permiten realizar comandos repetidas veces. En FoxPro podemos crear ciclos que se
repiten un número determinado de veces con la estructura FOR, y ciclos que se repiten
hasta que una condición deja de cumplirse con la estructura WHILE.
1. Ciclo FOR
El valor de la variable cambia desde el valor inicial hasta el valor final, sumando el
valor de cambio. Si se omite el valor de cambio FoxPro asume que es 1. Para cada
cambio se repiten los comandos en la estructura.
Ejemplos:
Ejercicio 04
- Crear un programa que muestre los números desde 100 hasta 0 restando 10.
- Crear un programa que pregunte un número y muestre la tabla entre 0 y 20 de este
número.
2. Ciclo WHILE
DO WHILE condición
Comandos que se repiten
ENDDO
Este ciclo repite los comandos mientras la condición sea .T. (verdadera). Hay que
ser cuidadosos de que se modifique la condición en el ciclo y en algún momento de
.F. porque sino al ejecutar el programa quedará encerrado en un ciclo sin fin. En
caso de ocurrir esto se debe detener la ejecución oprimiendo la tecla ESC.
Ejemplos:
Ejercicio 05
- Usando la estructura WHILE, cree programas similares a los del ejercicio 04.