Ciencia, Tecnología y Sociedad


Guía FOXPRO


Guía teórica programación en Foxpro. 2do lapso.

Conceptos iniciales.

  • 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

  • Modify Command: Permite entrar al editor de programas del foxpro. Puede escribirse como Modi Comm. Los programas en foxpro se reconocen o identifican porque poseen la extensión .Prg. Para almacenar un programa se utiliza la combinación Ctrol + W

Formato: Modi Comm [unidad: ] [Nombre del programa]

Ejemplos: Modi comm A:Programa Almacena el programa en la unidad de

Modi comm Sueldos disco por defecto

  • Do: El comando Do ejecuta un programa en foxpro.

Formato: Do [unidad: ] [Nombre del programa]

Ejemplos: Do A:Programa

Do Sueldos

Comandos de Programación

  • Clear: Borra / Limpia pantalla

  • * ó Note: El asterisco o Note permite al usuario hacer un comentario o breve descripción del programa.

  • Set Talk Off / On: Desactiva/activa la visualización de mensajes e inicializaciones propios del foxpro.

  • Set Bell Off / On: Activa/ desactiva la emisión de sonidos (pitido) al momento de rellenar campos o variables.

  • Set Stat On/Off: Activa / desactiva la visualización de la línea de status en el foxpro.

  • @ Fila, Col to Fil,Col: Permite generar o imprimir un cuadro en pantalla, donde el usuario indica las coordenadas del extremo superior izquierdo y el extremo inferior derecho.

Formato: @ Fil,Col to Fil,Col

Ejemplo:

  • @ 5,10 to 9,70

  • Explicación:

  • Genera un cuadro con línea simple desde la fila 5 columna 10 hasta la fila 9 columna 70

    • @ F,C clear to F,C: El comando Clear to, da la posibilidad al programador de borrar sectores o partes de la pantalla.

    Formato: @ Fila, Col clear to Fila,Col

    Ejemplo:

  • @ 5,10 clear to 15,30

  • Explicación:

  • Borra la pantalla desde la fila 5 columna 10 hasta la fila 15 columna 30.

    • Store: Permite asignar un valor o expresión a una variable o lista de variables.

    Formato: Store [valor/expresión] to Var1, Var2, ..., Var “n”

    Ejemplos:

  • Store 0 to V1,V2,V3

  • Store Space(20) to Nomb, Dire

  • Store V1+V2 to V3

  • Explicación:

  • Asigna 0 a las variables V1,V2 y V3 con lo que pasan a ser variables numéricas.

  • Da una longitud de 20 espacios a las variables Nomb y Dire

  • Efectúa la suma de V1 y V2 , y el resultado se almacena en V3

    • @ Fil,Col Say: El Comando Say le proporciona al usuario la posibilidad de imprimir un literal, dato o variable en una coordenada específica de pantalla. Se debe indicar la fila (0-24) y después la columna (0-79). Si se indica un valor mayor el programa envía un mensaje de error.

    Formato: @ Fila,Columna Say [ Literal , Variable]

    Ejemplos:

  • @ 10,10 Say “Incluya su nombre”

  • @ 15,20 Say Sueldo

  • Explicación:

  • Imprime en la fila 10 columna 10 el literal Incluya su nombre

  • Imprime la variable Sueldo en la fila 15 columna 20

    • Get-Read: El comando Get permite aceptar valores desde el teclado, el comando Read asigna los valores leídos a la variable o variables especificadas. Todo Get o grupo de Gets debe tener su correspondiente Read. Esto dos comandos se usan en la mayoría de los casos en combinación con el @ Say.

    Formato : @ Fil, Col Say [Literal] get Variable

    Read

    Ejemplos:

  • @ 10,10 say “Introduzca su nombre “ Get Nombre

  • Read

  • @ 10,10 say “Incluya el monto de la venta “ Get Venta

  • @ 12,10 say “Indique el % de descuento “ Get Desc

    Read

    • Picture: El comando Picture permite establecer un formato (máscara) bien sea de entrada o de salida de los datos. El picture maneja distintas plantillas relacionadas con los diferentes tipos de datos que pueden ser incluidos.

    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

    Se pueden usar combinaciones de estas plantillas en un mismo picture.

    Formato: Picture “ plantilla(s)”

    Ejemplos:

  • @ 5,10 say “ Incluya el promedio “ get Prom Pict “99.99”

  • @ 7,10 say “ Nombre del alumno “ get Nom Pict “@A!”

  • Explicación.

  • En la variable Prom se pueden almacenar solo dígitos y se ha establecido la posibilidad de especificar dos decimales.

  • En la variable Nom se puede escribir letras y se visualizan en mayúsculas.

    • 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

  • Read

    Explicación.

  • El valor que puede ser asignado a la variable Nota va de 1 a 20

  • El valor que toma la variable Edad va de 6 a 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”

  • Explicación:

  • La variable Ru sólo acepta como posible contenido una S o una N, en caso que el usuario coloque otro carácter la ejecución del programa no continua.

    • 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 .

    Para desactivar una combinación de colores basta colocar Set Color to

    Colores :

    B=Azul R= Rojo

    N=Negro Bg = Cian

    W=Blanco Gr = Marrón

    G=Verde RB= Magenta

    + = Resalta color * = Parpadeo

    Ejemplos :

    Set Color To W+/B+, Gr+/N Letra blanca sobre fondo

    Azul (Say) y letra Amarilla

    sobre fondo Negro

    Set Color to R+/B+ Letra Roja sobre Fondo Azul

    • Replicate: Permite repetir un carácter la cantidad de veces que se requiera. Se utiliza en la parte de impresión.

    Formato: Replicate (signo, cantidad de veces)

    Ejemplo.

  • @ 10,10 say Repl (“*”,20)

  • Explicación:

  • Imprime 20 veces el signo “*” a partir de las coordenadas fila 10 y columna 10.

  • 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.

    Formato:

    If [Condición]

    Instrucciones

    Else

    Instrucciones

    Endif

    El Endif establece el final de las instrucciones que se ejecutan dependiendo de la condición que se está verificando.

    Ejemplo:

  • @ 10,20 say “Introduzca el sueldo del empleado “ get Suel

  • Read

    If Suel > 50000

    Comision = Suel * 4 /100

    Vacacion = Suel / 30 * 45

    else

    Comision = Suel * 10 /100

    Vacacion = Suel / 30 * 90

    Endif

    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.

  • Otra forma de desarrollar el caso anterior es el siguiente:

    @ 10,20 say “Introduzca el sueldo del empleado “ get Suel

    Read

    If Suel > 50000

    Comision = Suel * 4 /100

    Vacacion = Suel / 30 * 45

    Endif

    If Suel <= 50000

    Comision = Suel * 10 /100

    Vacacion = Suel / 30 * 90

    Endif

    Aquí se utilizan dos If o condiciones independientes. Al momento de transcribir un programa, el programador debe estar pendiente de cerrar cada uno de los If que haya utilizado dentro del programa. Asimismo, puede establecer If dentro de otros If, generando lo que se denomina If anidados.

    Operadores lógicos

    Los operadores lógicos son estructuras que permite desarrollar o establecer varias condiciones en un mismo if; establece condiciones lógicas. Los operadores lógicos son:

    Operador Lógico

    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

    Ejemplos:

  • @ 5,20 say “Sueldo: “ get sue pict “99999”

  • Read

    If sue>50000 .and. sue <100000

    Bono=sue *4 / 100

    Endif

    2. @ 5,20 say “Calificación: “ get Calif pict “99” range 1,20

    Read

    If calif>10 .or. Calif =10

    @ 7,30 say “ Nota aprobatoria”

    Endif

    Explicación:

  • Si el valor que se incluye a la variable sue (sueldo) está comprendido entre 50000 y 100000, entonces el programa procede a calcular Bono como el 4 % de sue.

  • Si la calificación incluida a la variable calif es mayor a 10 o igual se imprime el mensaje de nota aprobatoria.

  • Do Case - Endcase: El Do case - Endcase es un comando de selección múltiple, esto es, que verifica multiples condiciones (2 o más) y dependiendo de aquella que se cumpla ejecutará una serie de instrucciones.

    Formato:

    Do case

    Case [Condición 1]

    Instrucciones

    Case [Condición 2]

    Instrucciones

    :

    Case [Condición N]

    Instrucciones

    Otherwise

    Instrucciones

    Endcase

    El Otherwise es una instrucción que se ejecuta cuando ninguna de las opciones establecidas se cumple. Cumple similar función que el Else en el If. En el Do Case se debe colocar Endcase una sola vez.

    Ejemplo:

  • Clear

  • Nm=0

    @ 10,10 say “Introduzca el Nº del mes: “ get nm pict “99” range 1,12

    Read

    Do case

    Case nm=1

    @ 12,20 say “Enero”

    Case nm=2

    @ 12,20 say “Febrero”

    Case nm=3

    @ 12,20 say “Marzo”

    :

    Case nm=12

    @ 12,20 say “Diciembre

    Endcase

    Explicación:

  • Dependiendo del valor que tome la variable nm se imprime el nombre del mes. Al usar el comando range solo se aceptan valores que van de 1 a 12.

  • Contadores y acumuladores

    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)

    Los contadores y acumuladores son utilizados regularmente en combinación con el If o con el Do While. La persona que desarrolla el programa debe plantearse muy bien cual de los dos tipos de variables debe usar.

    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.

    Ejemplo 2:

    Sumapar=0

    Contador=0

    For contador= 2 to 20 step 2

    Sumapar=Sumapar+contador

    Next contador

    @ 5,15 say “La suma de los números pares menores o iguales a 20 es: “

    @ 5,55 say Sumpar pict “999”

    En el ejemplo anterior se acumulan los números pares comprendidos entre el 2 y el 20 ambos inclusive, es por ello que el valor inicial que toma la variable contador es de 2 y el valor final 20, a la vez que sufre incrementos de 2 en 2.

    Ejemplo 3:

    Store 0 to Tnota, capla,capro,i,notapro

    For I=1 to 15

    Clear

    Nota=0

    @ 5,20 say “Introduzca una nota:“ get Nota pict “99” range 1,20

    read

    If Nota<10

    Capla=capla+1

    Else

    Capro=Capro+1

    Endif

    Tnota=Tnota + nota

    Next i

    Notapro=Tnota/15

    @ 5,10 say “Nota promedio: “

    @ 5,25 say notapro

    En este ejemplo se pide la nota de 15 alumnos y posteriormente se halla o calcula el promedio de esas notas, así como también la cantidad de alumnos aprobados y aplazados.

    • 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 naturales.

    * Programa que pide el sueldo de 20 empleados y calcula el total de sueldos y el *sueldo promedio

    Tsueldo=0

    Contador=1

    Do While Contador <=20

    Sueldo=0

    Clear

    @ 5,20 say “Empleado Nº”

    @ 5, 32 say Contador pict “99”

    @ 8,20 say “Introduzca el sueldo del empleado” get Sueldo Pict “99999”

    range 120000,500000

    read

    Tsueldo=Tsueldo+sueldo

    Contador=Contador+1

    Enddo

    Sueldop=Tsueldo / 20

    Clear

    @ 10,20 say “El total de los sueldos es: “

    @ 10,40 say Tsueldo pict “9999999”

    @ 12,20 say “El sueldo promedio es: “

    @ 12,40 say Sueldop pict “9999999”

    En el ejemplo anterior por medio del Do while se ha desarrollado un proceso que permite pedir el sueldo de 20 empleados y posteriormente hallar el total de los sueldos (por medio de un acumulador), mientras que la variable contador controla la cantidad de empleados leídos. Al tener el total de los sueldos, se puede obtener también el sueldo promedio al dividir el acumulador entre el número de empleados que es de 20.

    • Comando Col( ): El comando Col( ) devuelve el Número de columna en que se encuentra ubicado el cursor.

    Formato: Col( )

    Ejemplo:

    @ 5,20 say “Monto vendido: “

    @ 5,col()+1 say Montov Pict “99”

    En el ejemplo la variable Montov será impresa en la columna siguiente (columna 34).

    • Comando Row( ): El comando Row( ) devuelve el número de la fila en que se encuentra ubicado el cursor.

    Formato: Row( )

    Ejemplo:

    @ 5,20 say “Monto vendido: “

    @ Row()+1,20 say Montov Pict “99”

    En el ejemplo la variable Montov será impresa en la fila siguiente (fila 6).

    Funciones

    • Función Int: La función Int (Integer), devuelve/toma la parte entera del argumento, desechando la parte decimal. El argumento puede estar representado por un valor, una variable o una expresión numérica.

    Formato: INT (argumento)

    Ejemplo:

    B=0

    A=7

    B= Int(A/2)

    @ 5,20 say “Valor: “

    @ 5,col( )+2 say B Pict “9”

    La variable B toma como valor el 3 que es la parte entera que se genera al momento de aplicar la división ((7/2)= 3.5), desechando la parte decimal.

    • Función Round: La función Round (Rounded), redondea o aproxima un valor a su inmediato superior o inferior, dependiendo de la cantidad de decimales que se especifiquen

    Formato:

    ROUND (argumento, Nº de decimales)

    Ejemplo:

    B=0

    A=7

    B= Round(A/2,0)

    @ 5,20 say “Valor: “

    @ 5,col( )+2 say B Pict “9”

    La variable B toma como valor 4 que es el resultado de aproximar a 0 decimales el resultado de la expresión utilizada en el argumento. ((7/2)= 3.5).




    Descargar
    Enviado por:Francho
    Idioma: castellano
    País: Venezuela

    Te va a interesar