sábado, 5 de mayo de 2012

Programando en FOXPRO



 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

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= RojoN=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:
  1. 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.
  2. 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.
Las variables están ocultas en una de estas dos maneras:
  1. 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.
  2. 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

 Operadores de Relación


Operador
Uso
< 
Menor que
                   >
Mayor que
<> 
Desigual
<=
Menor ó Igual que
>=
Mayor ó Igual que
=
Igual
!=
Desigual
#
Desigual
==
Comparación exacta de una cadena



 Operadores Lógicos

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ón


Pasos 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:

  1. Inicio
  2. Ingresar la base (b)        b = base
  3. Ingresar la altura (h)       h = altura
  4. á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:                                         

  1. Inicio
  2. Volumen (v) = 4/3                                           V= 4/3 * 3.1416*r*r*r
  3. valor de π = 3.1416
  4. Ingrese valor de radio = (r)
  5. V= 4/3*3.1416*r*r*r
  6. Visualizar volumen 
  7. Fin                                                       
D.F  = Diagrama de Flujo






                  Estructuras de Control
            Son las que permiten a un programa tomar decisiones y entre ellas están:
  1.  Simples
  2.  Dobles
  3. Múltiples





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:
  1. Inicio
  2. Ingresar un numero (n)               (n) = numero 
  3. 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

  1. inicio
  2. Ingresar un numero de 3 cifras (n)
  3. 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


Explicación:
·  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