Visual FOXPRO
Introducción
Visual FoxPro ofrece a los desarrolladores un conjunto de
herramientas para crear aplicaciones de bases de datos para el escritorio,
entornos cliente/servidor, tablet PC o para la Web.
Objetivos
Dar a conocer los conceptos básicos de Visual FOXPRO
Aprender a declarar Variables
Conocer los tipos de Variables
Distinguir los tipos de ciclos
Aprender a declarar Variables
Conocer los tipos de Variables
Distinguir los tipos de ciclos
Desarrollo
¿Qué es Visual FOXPRO?
Es un lenguaje
de programación
procedural, orientado
a objetos que posee un
Sistema Gestor de Bases de datos o Database Management System (DBMS) y Sistema administrador de bases de
datos relacionales,
producido por Microsoft.
Conceptos Iniciales de FOXPRO
Variable:
Espacio de memoria que permite almacenar información que puede cambiar o variar
durante la ejecución de un programa. Las variables pueden ser dos tipos:
numéricas y alfanuméricas. El nombre de una variable puede contener hasta 8
caracteres: letras y números. Debe comenzar con una letra.
Constante:
Valor que no cambia o varia durante la ejecución de un programa. Ejemplo de una
constante es el número Pi que siempre vale 3,1416
Comandos de Edición y Ejecución
Plantilla
|
Acción
|
A
|
Acepta solamente letras
|
9
|
Acepta
exclusivamente dígitos y signos
|
!
|
Transforma todos los caracteres en mayúsculas
|
,
|
En
los números indica la representa los miles
|
.
|
En los números indica la posición del punto decimal
|
Range: El comando range
permite establecer o definir un rango de valores válidos para una variable
numérica al momento de introducir datos por medio del teclado. Si el valor
incluido sobrepasa o es menor al rango especificado, la ejecución del programa
se detiene.
Formato: Range valor inicial, valor final
Ejemplos:
·
@ 5,25 say “Introduzca una calificación (de 1 a
20) ” get Nota Pict “99” range 1,20
·
@ 7,25 say “Introduzca edad del alumno “ get
Edad Pict “99” range 6,18
Valid: El comando Valid permite validar
/ definir la entrada de datos a una variable character.
Formato: Valid Variable$”items o datos válidos”Ejemplo:
· @ 5,5 say “Continua la ejecución del programa (S/N) “get Ru Pict “!” Valid Ru$”SN”
·
Comando Set Color To : Permite cambiar o
modificar los atributos de color de pantalla.
Formato :
Set Color To estandar, resaltado
·
Estandar : Color de visualización de
los SAY.
·
Resaltado : Color de la
visualización de las variables o campos
editados con GET .B=Azul R= Rojo | N=Negro Bg = Cian |
W=Blanco Gr = Marrón |
G=Verde RB= Magenta |
¿Cómo Declarar
Variables?
‘Visual FOXPRO nos brinda 3 opciones para declarar las
variables:
- ü Variables Publicas
- ü Variables Privadas
- ü Variables Ocultas
A) Variables públicas
Las variables públicas, también conocido como variables
globales son variables que se pueden utilizar y modificadas por cualquier programa
de FOXPRO y cualquiera de sus sub-programas para la duración de la sesión de
FoxPro o hasta que se borra la variable de la memoria.
Las variables públicas se declaran en una de estas dos maneras:
Las variables públicas se declaran en una de estas dos maneras:
- Cree una variable en la ventana comando. Automáticamente cualquier variable creada en la ventana de comandos se ha declarado pública. Por ejemplo, desde la ventana comando, escriba 1000 = X. La variable X es ahora pública a todas las aplicaciones.
- Dentro de un programa, declare una variable como pública mediante el comando PUBLIC. En todos los programas, debe declarar la variable como público antes de asignarle un valor, como en este ejemplo de código:
3. PUBLIC var1
var1=1000
B) Variables privadas
Variables privadas se declaran en programas o los
procedimientos y pueden ser utilizadas y manipuladas dentro de ese programa o
un procedimiento y cualquiera de sus sub-programs.
Se declaran variables privadas de tres maneras:
1. Crear
una variable dentro de un programa o procedimiento sin declarar es como
público. A continuación, la variable en privado para el programa o
procedimiento en el que se declara. Por ejemplo, en el programa MYPRG.PRG,
declarar var2 como privado con este comando:
2. var2=2500
Ahora var2 se declara como privado para MYPRG.PRG. Está
disponible para todos los procedimientos llamados por MYPRG.PRG.
3. Incluir
la variable en una instrucción PARAMETERS. Esto hace que automáticamente la
variable sea privada para ese programa o el procedimiento.
4. Utilice
el comando PRIVATE en las variables declaradas anteriormente. Esto permite la
variable declarada anteriormente y su contenido oculto. Se convierte en la
nueva variable privada privada para el programa actual o el procedimiento. El
comando PRIVATE no declara inicialmente nada, ya debe existir una variable
PRIVATE para poder utilizar en él correctamente.
C) Variables ocultas
Variables no se puede
declarar ocultas, pero pueden convertirse en ocultos variables que
anteriormente se han declarado como Public o Private. Ocultando las variables
creadas en programas superiores, puede habilitar las variables del mismo nombre
para manipularse en el programa actual sin afectar a los valores de variables
ocultas.
Una vez que el programa o procedimiento que contiene las variables privadas finaliza la ejecución, todas las variables de memoria y matrices que estaban ocultas posteriormente nuevo están disponibles.
Una vez que el programa o procedimiento que contiene las variables privadas finaliza la ejecución, todas las variables de memoria y matrices que estaban ocultas posteriormente nuevo están disponibles.
Las variables están
ocultas en una de estas dos maneras:
- Si ya se ha declarado una variable, utilice el comando PRIVATE seguido del nombre de variable para ocultar la variable existente y crear una nueva variable PRIVATE.
- Utilizar una variable del mismo nombre en una instrucción PARAMETERS. Si una variable declarada recientemente comparte el mismo nombre que declarado una variable anteriormente, se oculta la variable declarada previamente y se crea una nueva variable privada para el programa actual o el procedimiento.
Para comprobar el estado
de una variable, utilice el comando Mostrar memoria. Mostrar memoria
proporciona información sobre las variables definidas por el usuario--si están
pública, privada o oculto, y dónde (qué programa o procedimiento) se hubieran
declarado.
Operadores Aritméticos
Operador
|
Función
|
()
|
Agrupa los valores para
incrementar la prioridad de ejecución
|
^
|
Exponenciación
|
¨
|
Exponenciación
|
*
|
Multiplicación
|
/
|
División
|
%
|
Residuo
|
+
|
Suma
|
-
|
Resta
|
Operador
|
Uso
|
<
|
Menor que |
>
|
Mayor
que
|
<>
|
Desigual
|
<=
|
Menor
ó Igual que
|
>=
|
Mayor
ó Igual que
|
=
|
Igual
|
!=
|
Desigual
|
#
|
Desigual
|
==
|
Comparación exacta de una cadena
|
Operador Logico
|
Explicación
|
.And.
|
Todas las condiciones parciales evaluadas en el If deben cumplirse, para que la condición final sea cierta.
|
.Or.
|
Basta que una de las condiciones parciales se cumpla, para que la condición final sea cierta
|
.Not.
|
La condición evaluada debe ser falsa para que la condición final sea cierta
|
Como Resolver Problemas mediante Diagramas de Flujo y
Algoritmo para llegar a la solucion de un problema
Algoritmo
es un conjunto preescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos sucesivos que no generen dudas a quien deba realizar dicha actividad. Dados un estado inicial y una entrada, siguiendo los pasos sucesivos se llega a un estado final y se obtiene una soluciónPasos para la el planteamiento del algoritmo:
1) Comprender el problema
- Leer el problema varias veces.
- Establecer los datos del problema.
- Aclarar lo que se va a resolver. ( cualquier pregunta)
- Precisar el resultado que se desea lograr.
- Determinar la incógnita del problema.
- Organizar la información.
- Agrupar los datos en categoría.
- Trazar una figura o diagrama.
2) Hacer el Plan
- Escoger y decidir las operaciones a efectuar.
- Eliminar los datos inútiles.
- Descomponer el problema en otros mas pequeños.
3) Ejecutar el Plan (Resolver)
- Ejecutar al detalle cada operación.
- Simplificar antes de calcular.
- Realizar un dibujo o diagrama.
4) Analizar la solución ( Revisar)
- Dar una respuesta completa.
- Ayar el mismo resultado de otra manera.
- Verificar por apreciación que la respuesta es adecuada.
Diagrama de Flujo
Es la representacion gráfica de un algoritmo. También se puede decir que es una representación detallada de forma gráfica de como se deben realizarse los pasos en la computadora para producir resultados.
Como resolver problemas mediante diagramas de flujo y algoritmo
Ejemplos:
1)Escribir el algoritmo y el diagrama de flujo que calcule el área de un triangulo
Algoritmo:
- Inicio
- Ingresar la base (b) b = base
- Ingresar la altura (h) h = altura
- área = ( b * h ) / 2 = proceso matemático
D.F = Diagrama de Flujo
2) Escribir algoritmo y diagrama de flujo que calcule el volumen de un cono mediante la formula
Algoritmo:
- Inicio
- Volumen (v) = 4/3 V= 4/3 * 3.1416*r*r*r
- valor de π = 3.1416
- Ingrese valor de radio = (r)
- V= 4/3*3.1416*r*r*r
- Visualizar volumen
- Fin
D.F = Diagrama de Flujo
Estructuras de Control
Son las que permiten a un programa tomar decisiones y entre ellas están:
Ejemplo de algoritmo de selección
1) Diagrama y algoritmo que permita el ingreso de un número y luego determine si el numero es positivo o
negativo
Algoritmo:
- Inicio
- Ingresar un numero (n) (n) = numero
- si (n>0) entonces
si: ir a paso 4
no: ir a paso 5
4. Mostrar " el numero es positivo" ir a paso 6
5. Mostrar " el numero es negativo" ir a paso 6
6. Fin
D.F = Diagrama de Flujo
Ejemplo de Algoritmo y diagrama de flujo utilizando un ciclo
(" Visualizar si un numero es múltiplo de 3 ")
Algoritmo
- inicio
- Ingresar un numero de 3 cifras (n)
- si n > 99 y n<1000
SI: ir a paso 5
NO: ir a paso 4
4.("error, n no es un numero de 3 cifras")
5. i = 3
6. si i < n
SI: ir a paso 7
NO: ir a paso 8
7. n = n -1
8. si n = 0.
SI: ir a paso 9
NO: ir a paso 10
9. Visualizar " n es múltiplo de 3" ir a paso 11
10.Visualizar " n no es múltiplo de 3" ir a paso 11
11. Fin
D.F = Diagrama de Flujo
Condiciones.
En FoxPro el comando que permite establecer condiciones es el If- Else - Endif, en el cual si la condición verificada es cierta; se ejecutan las órdenes ubicadas después del If; si es falsa va a ejecutar las instrucciones ubicadas después del Else.
@ 10,20 say “Introduzca el sueldo del empleado “ get
Suel
Comision = Suel * 10 /100
Comision = Suel * 4 /100
Ejemplo:
El Endif establece el final de las instrucciones que se
ejecutan dependiendo de la condición que se está verificando.
Else
else
Endif
Endif
Formato:
If [Condición]
If Suel > 50000
Instrucciones
Instrucciones
Read
Vacacion = Suel / 30 * 45
Vacacion = Suel / 30 * 90
· En este ejemplo se evalúa el contenido de la variable Suel; si ésta almacena un valor mayor de 50000, el programa procede a calcular una variable llamada comisión como el 4 % de Suel y Vacacion como 45 días de sueldo, de lo contrario, en caso de almacenar 50000 o menos, el programa procede a calcular Comision como el 10 % de Suel y Vacacion como 90 días de sueldo.
Los contadores y acumuladores son variables numéricas que permiten determinar información específica durante la ejecución de un programa. A continuación se presenta un cuadro con las características más importantes de estas variables.
Contador
|
Acumulador
|
Variable que controla o determina la cantidad de veces que se repite un
proceso o dato. Siempre se incrementa en uno.
Formato:
Variable=variable+1
Ejemplos:
C=C+1
Valores=Valores+1
|
Variable que suma o acumula valores. Permite determinar el total de los
valores leídos o trabajados. Se incrementa en cualquier valor.
Formato:
Valor
Variable= variable + Variable
Expresión
Ejemplos:
C=C+20
Suma=Suma+Valor
Total= Total + (N*E)
|
Comandos de iteración o repetición
Se denomina iteración, al
hecho de repetir varias veces una serie de instrucciones por medio de
estructuras cíclicas. Estas estructuras en FoxPro son el For - Next y el Do While.
For Next: El for-next permite al usuario repetir una serie de
instrucciones mientras que el valor indicado como final, no sea excedido por el
valor de la variable de control. Al momento en que la variable de control
exceda el valor final especificado, la ejecución del programa pasa a la
siguiente instrucción después del next.Formato:
For <VC> = VI to VF [step Inc]
Instrucciones
Next <VC>
En donde:
·
VC: Representa la variable de control del ciclo.
·
VI: Identifica el valor inicial que se asigna a
la variable de control
·
VF: Representa el mayor valor que toma la
variable de control
·
Step Inc: Indica el incremento, el valor en que
aumenta la variable de control cada vez que pasa la ejecución del computador
por el ciclo. Cuando no se especifica la cláusula Step, el For se incrementa
por defecto de 1 en 1.
ü
Nota: Todo For debe tener su next
asociado.
Ejemplo 1.
Numero=0
Contador=1
For Numero=1 to 20
@ Contador,10 say “Número: “
@ Contador,20 say Numero pict “99”
Contador= Contador+1
Next Numero
En el ejemplo anterior por medio
del For, se imprimen los 20 primeros números naturales. La variable Contador
tiene la función de sustituir el Nº de fila donde se imprimen los datos. Esto
se denomina contador de líneas. También se observa que la variable número no
sufre ningún incremento por medio de instrucción, sino que se hace en forma
automática. La ejecución del programa pasa a la siguiente instrucción después
del next, cuando la variable Número llega al valor de 21 que excede el valor
final especificado.
Do While - Enddo:
Permite repetir una serie de instrucciones mientras la condición que se está
verificando es cierta. Al momento de dejarse de cumplir la condición, el
control del programa pasa a la siguiente instrucción después del Enddo. En caso
de que se tengan que verificar dos o más condiciones se deben utilizar los
operadores lógicos.
Formato:
Do While <Condición> (And / or) <Condición>
Instrucciones
Enddo
Ejemplos:
* Programa que calcula la suma de
los 10 primeros números naturales
Set talk off
Set bell off
Set stat off
Suma=0
Contador=1
Do While Contador <=10
Suma=Suma+Contador
Contador=Contador+1
Enddo
@ 5,20 say “La suma es: “
@ 5,40 say Suma Pict “99”
En el ejemplo anterior por medio
del Do while se han generado los números del 1 al 10 y por medio del ciclo se
acumulan esos valores en la variable suma. Al imprimirla se imprime el valor de
la suma total de los 10 primeros números naturale