Libro Fox

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 86

Expertos en Compu FOXPRO

CONTENIDOS DEL CAPÍTULO

Conceptos Básicos
Barras de Herramientas
Utilizando FoxPro
(Abrir, cerrar, guardar, ejecutar un programa)

Lenguaje de programación FoxPro además de ser un lenguaje de


programación es un gestor de bases de datos. El término gestor de base de
datos permite tomar una idea de cómo puede ser catalogada, almacenada y
utilizada la información que se ingrese en la computadora. Es decir que
cualquier conjunto de información relacionada y agrupada en un elemento
individual constituye una base de datos.

Una base de datos o sistema de archivo computarizado agiliza y


hace más eficaz la recopilación, almacenamiento y recuperación de la
información. La computadora se puede encargar del ordenamiento de
información con mucha velocidad, por medio de las bases de datos,
estos sistemas de ordenamiento se le conoce como: Sistema de
gestión de bases de datos “Database management system” o
DBMS.

En el lenguaje de programación FoxPro para Windows podrás


desarrollar programas con mejor presentación que los convencionales.
Eso hará que la programación de FoxPro sea para ti amena a
diferencia de la de otros lenguajes de programación.

Descubrirás cómo la programación en FoxPro llena muchas


expectativas en la solución de sistemas contables y financieros.
Cuando uno programa en FoxPro debe tomar en cuenta una serie de

1
Expertos en Compu FOXPRO

instrucciones que se ejecutan en una PC por medio de un lenguaje de


programación, entre las cuales tenemos:

Instrucciones de Entrada / Salida

Son las instrucciones utilizadas para la transferencia de la información


entre los dispositivos periféricos y la memoria principal.

Instrucciones Aritméticas y lógicas

Estas instrucciones son las encargadas de realizar las operaciones


aritméticas como la suma, resta, multiplicación y división, también se
encargan de operar las instrucciones lógicas las cuales devuelven dos
valores: falso ó verdadero; sobre los datos almacenados en la memoria
primaria.

Instrucciones de selección

Este tipo de instrucción utiliza mecanismos de decisión que ayudan al


programa elegir en diferentes caminos de acción.

Instrucciones Cíclicas

Instrucciones que repiten una secuencia de instrucciones más de una


vez.

Instrucciones de Procedimientos

Las instrucciones de procedimientos permiten dar nombre a un grupo


de instrucciones que constituyen entonces un procedimiento
(subprograma), al cual puede hacerse referencia después por medio
de una sola proposición que utilice el nombre del procedimiento.

2
Expertos en Compu FOXPRO

Iniciando FoxPro

Al ejecutar el programa encontrará una ventana de bienvenida en


la pantalla. Esto ocurrirá cuando utilices el programa por primera vez y
que no lo hayas desactivado. Luego de eso ingresarás a la ventana
principal de FoxPro. Ver Figura 1.1

La pantalla principal de FoxPro consta de dos ventanas: la mayor, que


es la ventana de aplicación y la menor que es la ventana de
Comandos.

Estas ventanas constan de varios elementos necesarios para la


elaboración de
Programas o creación de proyectos en FoxPro.

Figura 1.1 La ventana principal de FoxPro

Barra de Herramientas

Área de trabajo o área de la


aplicación
Ventana de Comandos

Ventana de la Aplicación
Barra de Estado

3
Expertos en Compu FOXPRO

Elementos de la ventana principal de FoxPro


Elemento Descripción

Ventana de Aplicación Es la ventana mayor de todas. Da una


interfaz entre el usuario y el programa

Venta de Comandos Aparece en el extremo superior derecho o


minimizada en la ventana de aplicación.
En ella se escriben los comandos de
ejecución de tareas.

Menú de Control Son iconos que aparecen en el extremo


izquierdo de la barra de titulo. Entre ellos:
abrir, nuevo, guardar.

Botón Cerrar Se representa por una X. Se encuentra en


el extremo superior derecho de la pantalla.

Botón Maximizar / restaurar Está a la izquierda del botón cerrar. Se


representa por un rectángulo, el tamaño
de maximización será el tamaño que
posea el monitor en uso. Si el icono se
encuentra con dos rectángulos
superpuestos, el tamaño de la venta será
restaurado.

Botón Minimizar / restaurar Se encuentra a la izquierda del botón


Maximizar. Se represente por un icono de
Guión menor. La ventana se reduce y
ocupa un espacio pequeño en la barra de
estado de Windows.

Barra de título Está ubicada en la parte superior de la


ventana principal. Muestra el nombre de
la ventana y que ventana se encuentra
activa. Además permite mover la ventana
de posición.

4
Expertos en Compu FOXPRO

Barra de Menús Se localiza bajo la de título. Permite elegir


varias opciones para el desarrollo de las
funciones que realizará FoxPro.

Barra de Herramientas Se ubica bajo la ventana de menús y el


programador la puede ubicar en cualquier
lugar de la pantalla.

Barra de Estado Esta en la parte inferior de la pantalla


principal de FoxPro. Esta barra se
encuentra fija y está encargada de mostrar
la información de la barra de herramientas
que está funcionando.

Área de Trabajo Es el espacio en blanco de la pantalla


principal de FoxPro que se encuentra
debajo de la barra de herramientas. Al
elegir la opción de creación de un objeto
de FoxPro la respectiva ventana se
visualizará en esa posición, la cual puede
ser removible por el programador.

Mi primer programa en FoxPro


Figura 1.2
Luego de abrir la ventana principal de
FoxPro, posicionas el cursor en la ventana
de comando tal como aparece en la figura
1.2, y luego escribimos Modify Command
, puedes escribir también los comandos en
forma abreviada, este se hace escribiendo
las primeras 4 letras de cada comando, de
la siguiente manera: Modi Comm y luego
presionarás la tecla enter.

5
Expertos en Compu FOXPRO

Al hacerlo te aparecerá
la siguiente pantalla
que muestra en la parte
superior de la izquierda
el área para escribir el
programa fuente en
FoxPro, tal como
aparece en la figura
1.3. El cursor se
encuentra dentro del
área de escritura y Figura 1.3
puedes iniciar a escribir
el programa.

Se puede hacer también de la siguiente forma: Diriges el cursor hacia


la barra de menús y eliges el menú archivo presionas un clic y eliges
la opción Nuevo presionando seguidamente un clic; ó simplemente
puedes aplicar la combinación de teclas Ctrl+N. Seguidamente se
abrirá un cuadro de dialogo que presenta las tareas que puede trabajar
el lenguaje FoxPro, del que elegirás el tipo de archivo: programa y
presionarás un clic en el icono nuevo archivo, tal como lo presenta la
figura 1.4, seguidamente FoxPro abrirá una ventana de dialogo tal
como se
presenta en la
figura 1.3.
Ahora si estás
preparado para
iniciar a
programar en
FoxPro.

Figura 1.4

6
Expertos en Compu FOXPRO

Escribirás tu primer programa que permita ingresar el nombre de una


persona. A continuación escribiré algunos comandos que aprenderás
en el siguiente capítulo, sin embargo no es necesario que los sepas en
este momento, porque lo que estas aprendiendo es la forma de cómo
utilizar FoxPro para elaborar programas.

* Nombre: Foxpro001.prg
* Autor: Julio César Penagos
* Objetivo: Ingresar un nombre

clear
nom=space(30)
@ 5,5 say "Ingrese Nombre" font "arial",20 style "u"
@ 8,5 get nom font "arial black",20 color b/w*
read

wait window "Enter para finalizar programa"


return

Luego que escribiste el programa, debes grabarlo para poder


ejecutarlo (correrlo).
Figura 1.5
puedes grabar el
programa presionando
la combinación de
teclas Ctrl+S que
significa guardar ó
Ctrl+W que es guardar
como, también puedes
posicionar el cursor en
el icono del disquete
que aparece en el
menú de control de la
barra de herramientas,
o dirigirte al menú
Archivo y elegir la
opción Guardar como
aparece en la figura
1.5.

7
Expertos en Compu FOXPRO

Seguidamente aparecerá una ventana de dialogo en la que tendremos


que elegir el lugar en donde vamos a grabar (guardar) el programa, tal
como aparece en la figura 1.6.
Figura 1.6

Figura 1.7
Nota que la
carpeta donde
guardarás el
programa se
llama Visual fox
ó también
puede llamarse
Vfp98, (véase
figura 1.7), lo
cual en el
laboratorio de
computación no podrás grabar en dicha carpeta, ya que está
restringido el acceso a dicha carpeta porque en ella se encuentran los
archivos necesarios para que funcione dicho lenguaje de
programación. Es por eso que debes buscar la carpeta Mis
documentos (véase figura 1.8) para grabar nuestro programa. Al
elegir la carpeta mis documentos escribes el nombre del archivo y
especificas que tipo de archivo es. En este caso como es un programa
será un archivo extensión .Prg tal como aparece en la figura 1.9.

8
Expertos en Compu FOXPRO

Algo muy importante: a la hora de grabar


los archivos debes tener una carpeta
específica para los programas de FoxPro,
ya que esto permitirá llevar un orden del
número de programas que realices y el
control del lugar donde se almacenaron.
Figura 1.8

Figura 1.9
Ya creaste una carpeta
dentro de Mis documentos
titulada: “Programas FoxPro
Julio Penagos”; ahora debes
asignarle el nombre del
programa de cómo lo quieres
guardar: en este caso es:
Foxpro001 y el tipo de
archivo es *.prg.
Seguidamente debes
presionar un clic en el botón
guardar y luego ya puedes
iniciar los pasos para
comprobar si el programa no
tiene errores y se ejecutó
correctamente.

9
Expertos en Compu FOXPRO

Nota: Si al momento de grabar utilizaste la combinación de teclas


Ctrl.+W el programa desaparecerá de la pantalla. ¡No te asustes, tu
programa no se perdió! Véase figura 1.10
Figura 1.10
Todo el proceso que
has hecho hasta ahora
lo has trabajado con los
iconos y los menús, sin
embargo podrías
haberlo realizado
manualmente, de todas
formas cada instrucción
que se dé por medio de
los iconos el programa
las escribe en forma
manual dentro de la
ventana de comandos,
para que luego ya no
tengas que realizar el mismo procedimiento cada vez que vayas a
ejecutar un programa. .

Ya puedes ejecutar tus


11 programas desde la
ventana de comandos, es
decir: si le haces un cambio
a tu programa y deseas
grabarlo para luego
ejecutarlo, simplemente
presiona Ctrl+W y luego
posiciónate al inicio de la
Instrucción de la ejecución
del programa y presiona un
enter. Véase Figura 1.11

Figura 1.11

10
Expertos en Compu FOXPRO

Ahora verás cómo


ejecutaremos un programa
paso a paso. Desplaza el
cursor al menú de
programas, elige la opción
ejecutar y luego presiona un
clic con el Mouse. También
puedes utilizar la
combinación de teclas Figura 1.12
Ctrl+D. Véase figura 1.12.

Aparecerá una ventana de dialogo Guardar como elegida en la


carpeta Visual Fox ó Vfp98 como predeterminada. Debes buscar la
carpeta en donde guardaste el programa y presiona doble clic en dicha
carpeta para que muestre su contenido tal como se ve en la (figura
1.13.) aparecerá un cuadro de dialogo con dos programas con el
mismo nombre, lo que los
diferencia es la extensión *.prg y
*.fxp de las cuales debes elegir la
*.prg y luego presionar un
clic en el botón ejecutar.
Como se muestra en la
figura 1.14

Figura 1.14

Figura 1.13

11
Expertos en Compu FOXPRO

El programa corrido quedará de la


siguiente manera. Figura 1.15

¡Felicitaciones!

Tu primer programa corrió sin ningún


error. ¡lo lograste!

Ahora supongamos que en la sintaxis del programa existiera un error:


Escribiste la palabra ret en vez del comando get miremos que
sucedería al correr el programa. Se repiten los pasos de la figura 1.13
y 1.14 al dar un clic en el botón ejecutar marcará el error del programa
en la línea correspondiente (véase figura 1.16) y aparecerá un
mensaje de dialogo en el que nos da las opciones de cancelar,
suspender, pasar por alto el error o ayuda para la corrección de dicho
programa. Véase la figura 1.17

Figura 1.16

Figura 1.17

12
Expertos en Compu FOXPRO

Cuando un programa corre correctamente al finalizar el mismo regresa


el cursor a la ventana de comando y la instrucción anterior es la ultima
función ejecuta en
FoxPro. Véase figura 1.18

Si deseas modificar algunos datos del programa


fuente, necesitas la primera vez ingresar al menú
archivo y elegir la opción Abrir o simplemente
presionar la combinación de teclas Ctrl+O.
También se puede presionar el icono abrir de la
Figura 1.19
barra de control. Véase la figura 1.19

Vamos a suponer que al programa hay que ingresarle también el


salario que devenga el trabajador mensualmente. Debemos seguir
los siguientes pasos:

Te posicionas en el menú archivo


y eliges la opción abrir en el
cuadro de dialogo (Véase la figura
1.20a y 1.20b). Al darle clic en el
menú abrir aparecerá la siguiente
ventana de dialogo (Véase la
figura 1.21).
Figura 1.20a

13
Expertos en Compu FOXPRO

Figura 1.20b

En la carpeta que lleva por nombre “Programas FoxPro Julio Penagos”,


tienes grabado el programa Foxpro001.prg . Si te das cuenta en el
espacio en blanco de la ventana de dialogo no se encuentra dicho
programa, y la razón es que en el tipo de archivo se encuentra elegido
PROYECTO, debes cerciorarte que en dicho espacio se encuentre la
palabra PROGRAMA, tal como lo presenta la figura 1.21

Figura 1.21

Figura 1.22

14
Expertos en Compu FOXPRO

Luego de elegir en el tipo de archivo Programa, aparecerá el nombre


del archivo tal como lo muestra la figura 1.22, seguidamente de esto,
eliges el programa que deseas abrir y presionas el botón ACEPTAR
del cuadro de dialogo Abrir. Véase figura 1.23.

Figura 1.23

Luego de elegir el
programa a modificar
aparecerá la ventana
de escritura del
programa fuente, tal
como lo representa la
figura 1.24

.
Figura 1.24

15
Expertos en Compu FOXPRO

Ahora proseguimos con


la modificación que le
tendrá el programa, de
agregarle más
información al programa
fuente. (Ver página 11).
El programa ya
ejecutado quedaría
como lo presenta la figura 1.25. Vamos a suponer que el programa no
queda solamente con el ingreso del nombre y el salario de una persona
sino que también se van a ingresar los siguientes datos: Puesto, años
de laborar en la empresa.

Figura 1.25

Es necesario que se vaya comprobando la ejecución del programa, con


los pasos que explique anteriormente. Para la facilitación del uso de
programas en FoxPro la ventana de comando copia la ruta de acceso

16
Expertos en Compu FOXPRO

de las instrucciones que se le dieron al programa por última vez (ver


figura 1.26), puedes utilizarlas posicionando el cursor al inicio de la
instrucción que deseas ejecutar y presionas un enter, entonces el
programa automática realizará paso a paso cada instrucción que le
vayas dando (ver figura 1.27 a y 1.27 b)

Figura 1.26

En la figura anterior muestra que sucedió al momento de finalizar la


ejecución del programa Foxpro001.prg. Se fue a la ventana de
comando y el cursor se posicionó al
final de la última instrucción que fue:
Do foxpro001.prg (véase figura 1.27
a). Si quisieras modificar otra vez el Figura 1.27 a
programa fuente no necesitas
realizar cada paso que se explicó
anteriormente, sino que posicionar el
cursor al inicio de la instrucción (véase figura 1.27 b) y presionar un
enter. Seguidamente se mostrará la pantalla con el programa fuente
lista para ser modificado. (Véase figura 1.28)

Figura 1.27 b

17
Expertos en Compu FOXPRO

Figura 1.28

Nota que en la venta de comando la última instrucción que diste fue


abrir el programa foxpro001.prg, de tal forma que escribió la ruta de
acceso y la colocó debajo de la instrucción Do foxpropro001.prg.
Luego de modificar el programa fuente sencillamente presionas la
combinación de teclas Ctrl+W para grabar los cambios y luego en la
ventana de comando te posicionas en la instrucción Do
foxpropro001.prg y presionas un enter para ejecutarlo, y así
sucesivamente hasta que el programa quede terminado
completamente.

18
Expertos en Compu FOXPRO

CONTENIDOS DEL CAPITULO

COMANDOS DE FOXPRO
TIPOS Y DECLARACIÓN DE VARIABLES
OPERADORES LÓGICOS, ARITMÉTICOS Y
RELACIONALES

En este capítulo se presentan los comandos e instrucciones de


mayor utilizad en FoxPro, con el propósito que te familiarices con la
forma de programación de FoxPro. FoxPro es un lenguaje de
programación no estructurado, esto significa que no tiene limitantes a la
hora de declarar variables o dar ciertas instrucciones al programa.

Comandos de FoxPro

Comando Descripción y Sintaxis


Note Este comando permite escribir un comentario dentro
del programa.

Note Nombre: foxpro001.prg


Note autor: julio Penagos

Comando que tiene la misma función que el Note.


* Aplica un comentario al inicio de un mensaje. El cual
tendrá color rojo en
la presentación.

* Fecha de realización: 23/01/04


* Objetivo: Escribir el encabezado del programa
Comando Descripción y Sintaxis

19
Expertos en Compu FOXPRO

&& Comando que permite escribir un comentario después


de una frase o serie de instrucciones. Los signos deben
ir unidos.

@ 5,6 say “Ingrese Precio: “ && ingresa precio con iva

Clear Este comando limpia la pantalla completamente.


También se puede limpiar la pantalla utilizando las
coordenadas para especificar el area a borrar.

Clear && Limpia toda la pantalla

@ 5,6 clear && limpiará desde la línea 5 columna 6 en adelante

@ 10,40 clear to 25,90 && Limpia desde la coordenada 10,40 hasta la


coordenada 25,90

@ y, x Comando que especifica las coordenadas en donde se


posicionará el cursor del mouse dentro del monitor.

@ 7,6 say “Bienvenidos a Nuestro programa”

Say Comando que permite desplegar mensajes o el


contenido de una variable. Este comando funciona
solamente con el comando @ y, x.. Los mensajes van
encerrados en comillas y las variables no.

@ 2,6 Say “El capital de la empresa es de: Q. “ &&


MENSAJE

@ 2,30 Say Cap && DESPLIEGUE DE VARIABLE

Get Comando que permite el ingreso de datos desde el


teclado seguido del comando READ.

@ 6,15 say “Nombre del empleado: “ Get Nom


@ 7,15 say “Edad del empleado: “ Get Edad
READ

20
Expertos en Compu FOXPRO

Comando Descripción y Sintaxis


@ 6,15 say “Nombre del empleado: “
@ 6,50 Get Nom
READ
@ 7,15 say “Edad del empleado: “
@ 7,15 Get Edad
READ

@ 6,15 say “Nombre del empleado: “


@ 7,15 say “Edad del empleado: “
@ 6,50 Get Nom
@ 7,15 Get Edad
READ

Picture Comando que define una máscara de entrada o salida en la utilización


de las variables. Al usar el símbolo @ en este comando acepta N
caracteres, de lo contrario se despliega lo que se a designado. El
comando Picture también puede abreviarse como: PICT

Código Descripción Código Descripción


A Valores Alfabéticos L Valores Lógicos
Y Verdadero / falso N Letras/Caracteres
X Cualquier carácter 9 Solo números

! Convierta letras a Mayúsculas


, Separa los datos numéricos en miles
. Define el punto decimal en datos numéricos
$ Asigna el símbolo de dólar a la izquierda de una cantidad
* Agrega asteriscos a la izquierda de una cantidad

@ 2,2 say “Sueldo:” Get Sueldo PICT “999,999.99”

Símbolos utilizando el signo @


! Convierte a letras mayúsculas
Z El cero se representa por espacios vacíos
A Acepta los valores alfabéticos
( Encierra en paréntesis los valores negativos
X Acepta cualquier carácter

@ 2,2 say “Nombre:” Get N PICT “@!” && Convierte a Mayúsculas

21
Expertos en Compu FOXPRO

Comando Descripción y Sintaxis

Font El Comando font permite asignar un tipo de letra a un


mensaje o a una variable de ingreso. El tipo de letra
debe escribirse dentro de comillas y separándola por
una coma escribir el tamaño de letra que desea
presentar. Los tipos de letra dependen de los que
estén instalados en cada computadora.

@ 2,6 Say “El capital de la empresa es de: Q. “ Font


“Arial”,15

@ 2,30 Get Capital Font “Center City”,14

Style Permite asignar un tipo de presentación al tipo de letra


que se ha asignado a cierto mensaje o variable. Los
estilos son representados por medio de una letra, de la
siguiente manera:

B Negrilla S Tachado
K Cursiva U Subrayado

@ 12,6 Say “Dirección“ Font “Century”,16 Style “B”

@ 14,30 Get Dir Font “Book old style”,14 Style “K”

Color Este comando permite asignar un color al tipo de letra y


fondo de un mensaje. Las instrucciones del comando
pueden ir representadas con la función RGB. Su
sintaxis se presentará de la siguiente forma:

RGB(Color,Intensidad,Brillo,Color,Intensidad
,Brillo)

@ 8,20 say “Probando los colores” Color


RGB(500,0,0,200)

22
Expertos en Compu FOXPRO

Existe una forma más sencilla de aplicar los colores.


Escribiendo un signo + antes de la letra el color será
más claro, de acuerdo a la siguiente tabla:

N = Negro X= Nulo B=Azul GR=Café


BG=Cyan G=verde RG=Magenta U=Subrayado
W*=Blanco W=gris GR*=Amarillo R=Rojo

@ 8,20 say “Probando los colores” Color +RG


@ 8,20 say “Probando los colores” Color B/W*

Wait Este comando da una pausa antes que finalice el


programa, desplegando el siguiente mensaje: Press
any key to continue.

@ 2,6 Say “Finalizará el programa “ color gr/r


Wait

Wait Window Este comando tiene la misma función que el


comando wait, con la diferencia que el mensaje se
despliega en la parte superior derecha de la
pantalla, y permite que se escriba un mensaje, sin
necesidad de utilizar un despliegue con el
comando say.

@ 2,6 Say “Feliz Día “ color b/w*


Wait window “Presione enter para Finalizar”

Return Comando que da fin al programa fuente. Este comando


se utiliza más cuando existen programas entrelazados
y de gran tamaño.

@ 2,6 Say “Feliz Día “ color b/w*


Wait window “Presione enter para Finalizar”
RETURN

Store Comando que se utiliza para la declaración de las


variables de un mismo tipo y de una misma extensión.

23
Expertos en Compu FOXPRO

Store 0 to A,B,C,D
Store 0.00 to X,Y,Z
Store Space(25) to M,N
Store “ “ to P,Q

Tipos y Declaración de Variables


Forma de
Tipo Declaración Descripción y Sintaxis

Numérica Entera 0 Se utiliza para datos numéricos que no


llevan punto decimal. Las variables de
los ciclos se declaran con este tipo de
variable.

Edad=0 && Cuando es una sola variable

Store 0 to Ed1,Ed2,Ed3 && Varias variables

Numérica Decimal 0.00 Almacena números decimales.


Se debe declarar este tipo de
variable cuando una operación
sea dividida.

Precio=0.00 && Es una sola variable

Store 0.00 to Pre,Sutot,tot && Varias variables

Alfanuméricas ó Space( _ ) Este tipo de variable permite


ingresar con caracteres
alfabéticos, símbolos y
números que no serán operados
matemáticamente.

Nombre = Space(50)
Dirección = “ “

Store Space(10) to Tel, nit, puesto

24
Expertos en Compu FOXPRO

Lógicos .T. ó .F. Este tipo de dato solo permite dos


valores:
Verdadero (.T.) ó Falso (.F.) Los
puntos que lleva cada letra son
indispensables en la sintaxis.

Opción = .T.
Otro = .F.

Fecha Ctod(“ / / “) Ctod es una función tipo fecha


que permite pasar valores
alfabéticos a tipo fecha.

Fechaingreso= Ctod (“ / / “)

Fechasalida= Ctod (“ / / “)

Tipos de Operadores Lógicos,


Aritméticos y Relaciónales

Operador Descripción
Lógicos
.Not. En la condición negada, la primera
condición debe ser verdadera y la
segunda falsa.

.And. Para que de verdadero el resultado las


dos condiciones deben ser verdaderas.

.OR. Para que el resultado de verdadero,


cualquier de las dos condiciones debe
ser verdadera.

( ) Es utilizado para la agrupación de


términos y condiciones.

25
Expertos en Compu FOXPRO

Aritméticos
** , ^ Exponenciación (Nivel 1)

* , / Multiplicación y División (Nivel 2)

+, - Suma y Resta (Nivel 3)

Nota: Cuando se encuentran dos operadores del mismo nivel,


se operan de izquierda a derecha

Relaciónales
< Menor que > Mayor que

<= Menor o igual a >= Mayor o igual a

= Igual que <>, # Diferente de

== Toma en cuenta los espacios en blanco


cuando se hace una comparación de
dos

26
Expertos en Compu FOXPRO

CONTENIDOS DEL CAPITULO

Programas Sencillos
Uso de operadores aritméticos
Ejemplos y Ejercicios

En este capítulo aprenderás a realizar programas sencillos, utilizando los


operadores aritméticos y aplicando los comandos que aprendimos en el
capitulo anterior. Debes poner mucha atención a los ejemplos que haremos, ya
que ellos marcarán la forma de cómo programar en FoxPro. Aplica tus
conocimientos para hacer de esta, una experiencia agradable y de mucho
aprendizaje.

Ejemplo 1. Utilizando variables numéricas enteras

Se requiere calcular la multiplicación de 3 números.


* Nombre: Foxpro002.prg
* Autor: Julio Penagos
* Objetivo: Multiplicar 3 números enteros
store 0 to n1,n2,n3,r
clear
@ 5,6 say "Ingrese primer número" Font "Arial",20 Style "K" color gr/w*
@ 7,6 say "Ingrese segundo número" Font "Arial",20 Style "K" color gr/w*
@ 9,6 say "Ingrese Tercer número" Font "Arial",20 Style "K" color gr/w*

@ 5,60 get n1 pict "999 " font "book old style",15 style "S"
@ 7,60 get n2 pict "999 " font "book old style",15 style "S"
@ 9,60 get n3 pict "999 " font "book old style",15 style "S"

27
Expertos en Compu FOXPRO
read
r=n1*n2*n3
@ 14,20 say "El resultado de la multiplicación es: " font "vivaldi",15 style "b"
@ 13.5,85 say r font "book old style",25 style "b" color rg/w* pict "999,999,999 "
wait window "Enter para finalizar"
return

Ejemplo 2. Utilizando variables numéricas con


decimales
Se requiere calcular El total a pagar por una cuenta que recibió el
3.4% de descuento, ingresando número de cuenta y saldo.

* Nombre: Foxpro003.prg
* Autor: Julio Penagos
Note : Objetivo: Se requiere calcular El total a pagar por una cuenta que recibió
Note : el 3.4% de descuento, ingresando número de cuenta y saldo.

NCuenta=0
store 0.00 to saldo,total
Descuento=0.034 && descuento recibido por la cuenta
clear
@ 5,6 say "Ingrese número de cuenta: " Font "Celestial",14 Style "UB" color r/gr*
@ 7,6 say "Ingrese saldo de la cuenta: " Font "Celestial",14 Style "UI" color n/w
@ 5,80 get Ncuenta pict "99999999 " font "arial black",15 style "K"
@ 7,80 get saldo pict "999,999.99 " font "arial black",15 style "K"
read
total=saldo-(saldo*descuento)
@ 14,10 say "El saldo final de la cuenta es de: " font "Arial",20 style "u" color r+/w*
@ 13.5,95 say total font "book old style",25 style "b" color r+/w pict "Q999,999,999.99 "
wait window "Finalizar presionando cualquier tecla"
return

28
Expertos en Compu FOXPRO

Ejemplo 3. Utilizando variables alfanuméricas

Se requiere ingresar el nombre, la dirección, el teléfono, y número


de cédula de un empleado.

* Nombre: Foxpro004.prg
* Autor: Julio Penagos
Note : Objetivo: Se requiere ingresar el nombre, la dirección
Note : el teléfono, y número de cédula de un empleado.

Store space(50) to nom,dir


Store space(12) to tel,ced

clear

@ 2,5 say "El Chinito, S.A." font "vivaldi",25 style "BI" color gr*/rg

@ 5,6 say "Ingrese Nombre : " Font "advert",14 Style "u" color b/g+
@ 7,6 say "Ingrese No. Cédula : " Font "advert",14 Style "u" color b/g+
@ 9,6 say "Ingrese Dirección : " Font "advert",14 Style "u" color b/g+
@ 11,6 say "Ingrese Teléfono : " Font "advert",14 Style "u" color b/g+

@ 5,45 get nom font "Times new roman",15 pict "@!"


@ 7,45 get ced font "Times new roman",15 pict "A9-999999 "
@ 9,45 get dir font "Times new roman",15 pict "@X"
@ 11,45 get tel font "Times new roman",15 pict "9999999 "
read
wait window "Gracias por utilizar nuestro programa"

return

29
Expertos en Compu FOXPRO

Ejemplo 4. Utilizando variables de tipo fecha

Se requiere ingresar el nombre, la dirección, el teléfono, y número


de cédula de un empleado.

*nombre: foxpro005.prg
*autor: Julio Penagos
*objetivo: Calcular el tiempo de llegada de un producto
set date french && comando que establece la fecha en días,mes,año
store 0 to fe,fll,t
store space(50) to np
fe= ctod (" / / ")
fll= ctod (" / / ")
clear
@3,10 say "programa que calcula la llegada de la mercadería"
@7,5 say "ingrese nombre del producto" font "arial",12 color B/rg
@7,40 say "ingrese fecha de envio" font "arial",12 color B/rg
@7,70 say "ingrese fecha de llegada" font "arial",12 color B/rg
@9,5 get np pict "@!" font "advert",12 style "k" color w/n
@9,40 get fe pict "99/99/9999 " && fecha de entrega
@9,70 get fll pict "99/99/9999 " && fecha de llegada
read
t=(fll-fe)

@7,110 say "Los dias son:" font "arial",12 color B/rg


@9,115 say t pict "999999 " font "Advert",12 color b+/n
wait windows
return

30
Expertos en Compu FOXPRO

Ejemplo 5
Utilizando variables de tipo fecha, numéricas
enteras, numéricas decimales, y cadena de
caracteres
Se requiere ingresar el nombre, la dirección, el teléfono,
colegiatura y número de carnet de un estudiante, ingresando la
fecha de nacimiento, y la fecha del día de hoy para poder calcular
la edad de esta persona

* Nombre: Foxpro006.prg
* Autor: Julio Penagos
Note : Objetivo: Se requiere ingresar el nombre, la dirección
Note : el teléfono, y número de carnet de un estudiante.
Note : ingresando la fecha de nacimiento y calcular la edad que tiene el estudiante.
set date french && asigna el tipo de ingreso de fecha dd/mm/aa
Store space(50) to nombre,Carrera
Store space(17) to telefono,carnet
store ctod (" / / ") to fechaini,fechafin
store 0 to edad
clear
@ 2,5 say "Keilita S.A." font "vivaldi",25 style "BI" color gr*/rg
@ 5,6 say "Ingrese Nombre : " Font "advert",14 Style "u" color w+/n+
@ 7,6 say "Ingrese Carnet : " Font "advert",14 Style "u" color w*/n+
@ 9,6 say "Ingrese Carrera : " Font "advert",14 Style "u" color w*/n
@ 11,6 say "Ingrese Teléfono : " Font "advert",14 Style "u" color w/n*
@ 13,6 say "Ingrese Fecha de nacimineto: " Font "advert",14 Style "u" color w+/n*
@ 15,6 say "Ingrese la fecha de hoy: " Font "advert",14 Style "u" color w*/n
@ 5,45 get nombre font "Times new roman",15 pict "@!"
@ 7,45 get carnet font "Times new roman",15 pict "999-99-999 "
@ 9,45 get carrera font "Times new roman",15 pict "@X"
@ 11,55 get telefono font "Times new roman",15 pict "9999999 "
@ 13,55 get fechaini font "Times new roman",15 pict "99/99/9999 "
@ 15,55 get fechafin font "Times new roman",15 pict "99/99/9999 "
read
edad=fechafin-fechaini
@ 18,6 say "La edad del estudiante en días es: " font "advert",14 Style "u" color b/g+
@ 18,75 say edad font "Times new roman",15 pict "99999 "
@ 21,6 say "La edad del estudiante en años es: " font "advert",14 Style "u" color b/g+
@ 21,75 say int(edad/365) font "Times new roman",15 pict "99999 "
wait window "Gracias por utilizar nuestro programa"
return

31
Expertos en Compu FOXPRO

Ejercicios

1. Calcular el promedio de cuatro cantidades numéricas enteras

2. Calcular el total de yardas de tela necesarias para confeccionar


cierta cantidad de pantalones, para confeccionar un pantalón se
utilizan 2.8 yardas de tela.

3. Calcular el total a pagar por una cuenta que se le debe sumar el


5.8% de interés por mora, ingrese nombre de la cuenta, número de
cuenta, saldo. Desplegar cuanto debe pagar de mora y el total a
pagar.

4. Calcule el promedio de las notas de 4 bimestres de un estudiante


que se deben ingresar sobre 100 puntos, ingrese nombre, número
de carnet, grado, sección, materia.
5. Calcular el precio al público de los productos de una librera,
ingresando el costo y debe sumársele el 9.25% de ganancia.

6. Ingrese un peso en libras y despliegue su equivalente en gramos


1 lb = 460gramos

7. Ingrese una cantidad en yardas y despliegue su equivalente en pies


1 yarda = 3 pies

8. Calcular la edad de una persona en segundos

9. Calcular y desplegar el ingreso anual de un trabajador a partir de


sus ingresos mensuales, incluya el bono 14 y el aguinaldo.

10. Calcular la nota de promoción de un alumno si su nota final se


calcula así: 3 bimestres cuyo promedio representa el 70% de la
nota final y un examen final que representa el 30% de la nota final.

11. Calcular la calificación final de un estudiante la cual se determina a


partir de su rendimiento en tres aspectos del trabajo anual. Existe

32
Expertos en Compu FOXPRO

una calificación de la mitad del curso (nota parcial) que representa


un 30% del total, el trabajo de laboratorio que representa un 20%
del total y el examen final que representa el 50% de la calificación
final. Debe ingresar nombre, carnet, carrera, curso, sección.

12. Calcular el precio de un automóvil nuevo para el comprador el cual


es la suma total de: costo del vehículo + porcentaje de ganancia
del vendedor 25% + 12% de IVA + 5% de placas (todos los
porcentajes sobre el costo del vehículo), debe ingresar los datos
del vehículo: marca, modelo, color, motor, no. de chasis, país de
procedencia. Debe desplegar una nueva pantalla con todos los
datos del vehículo más los cálculos individuales: cantidad de
ganancia, cantidad de IVA, cantidad de placa y el total de precio al
público.

13. Una empresa que se dedica a la producción de artículos de


consumo, desea calcular el precio de venta de un artículo para el
cliente, el precio lo determina de acuerdo al siguiente criterio: costo
del artículo + gastos de producción 8% + porcentaje de ganancia
15% + IVA 12%. El % de gastos de producción y de ganancia se
calculan sobre el costo del artículo, el IVA sobre la sumatoria de
costo + gastos de producción + ganancia.

14. La compañía “BM Doble pie” paga a su personal de ventas un


salario de Q.1,000.00 de sueldo base + Q. 15.00 de comisión por
automóvil vendido + 15% sobre el monto total de lo vendido
durante el mes. Ingrese los datos necesarios: nombre del
vendedor, puesto, código de empleado, cuantos automóviles
vendió. En una nueva pantalla debe desplegar el voucher donde se
desglosa la cantidad cancelada al empleado al mes.

15. Una empresa que se dedica al cultivo de productos agrícolas,


desea determinar el monto total de la inversión que debe realizar,
esta depende de ciertos aspectos:

 Alquiler de terreno: 1 manzana Q.5,000.00


 Semillas: Q.600.00 el quintal, con ½ quintal siembra una
manzana
 Seguro: Q.13,000.00 la manzana

33
Expertos en Compu FOXPRO

 Gastos de siembra y cuidado: Q. 1,900.00 la manzana.

Si la empresa desea sembrar una determinada cantidad de


manzanas, a cuánto asciende el monto de la inversión.

16. Calcule el sueldo líquido que recibirá un empleado, si tiene de


sueldo base Q.750.00 y una comisión el 3% mensualmente.
Ingresar el total que vendió.

17. Elabore un programa que calcule la nota que debe obtener un


estudiante en el último bimestre para aprobar el curso con 70
puntos. Sabiendo que los primeros 3 bimestres acumulan el 70% y
el último bimestre el 30%. Ingresar los 3 bimestres.

18. Elabore un programa que despliegue el formato de un cheque,


debe permitir llenarlo desde el teclado con los datos que se
requieren.
19. Elabore un programa que despliegue el formato de una factura,
para tres productos, debe ir calculando el subtotal cada vez que se
hace un ingreso y el total.

20. El siguiente es el menú de un restaurante de hamburguesas.


Elabore el programa que lea del teclado la cantidad de alimento
ordenado de cada uno y calcule el total de la cuenta y el vuelto a
entregar, despliegue una factura para el consumidor.

MENÚ
Hamburguesa Q.8.50
Hamburguesa con queso Q.9.50
Papas Fritas Q.5.50
Gaseosa Q.4.00
Malteadas Q.9.00
Pastelito Q.4.50
Helado Q.2.75

34
Expertos en Compu FOXPRO

CONTENIDOS DEL CAPITULO

LA CONDICIÓN IF-ENDIF
USO DE OPERADORES LÓGICOS
EJEMPLOS Y EJERCICIOS

COMANDOS NUEVOS: SPINNER, PICTURE

En muchos archivos de órdenes es necesario realizar ciertas


operaciones dependiendo de la respuesta dada por el usuario en una
determinada opción, en el resultado de algún cálculo, o bien algunos
valores extraídos de una base de datos. La opción IF-ELSE-ENDIF de
FoxPro son las que se utilizan para la solución de ciertos problemas de
decisión.

Condición Simple

Esta orden debe iniciar siempre con la sentencia IF y finalizar con


la sentencia ENDIF. La sentencia ELSE es opcional dependiendo si
queremos utilizar dos ó un IF. El objeto de este comando es realizar un
proceso a partir de la respuesta lógica de cierta condición.

Sintaxis 1
IF <condición>
Instrucciones
Endif

35
Expertos en Compu FOXPRO

Ejemplo 6. Utilizando IF-Endif

Se requiere elaborar un programa que permita ingresar dos


números enteros y que despliegue que numero es mayor y que
numero es menor

*Nombre: Foxpro007.prg
*Autor: Julio Penagos
*Calcular cuál de los dos números es mayor que el otro

store 0 to a,b
clear

@ 5,40 say "Mayor o Menor" font "Showcard gothic",30 color b++/w*


@ 9,10 say "Primer número: " font "arial",10 color b/w* get a style "B"
@ 11,10 say "Segundo número: " font "arial",10 color b/w* get b style "B"
read

if a>b
@ 15,15 say "el mayor es:" font “times new roman”,12
@ 15,35 say a font “times new roman”,12
@ 17,15 say "el menor es:" font “times new roman”,12
@ 17,35 say b font “times new roman”,12
endif

if b>a
@ 15,15 say "el mayor es:" font “times new roman”,12
@ 15,35 say b font “times new roman”,12
@ 17,15 say "el menor es:" font “times new roman”,12
@ 17,35 say a font “times new roman”,12

endif

wait window "Enter to Exit"


return

Sintaxis 2
IF <condición>
Instrucciones (Verdaderas)
Else
Instrucciones (Falsas)
Endif

36
Expertos en Compu FOXPRO

Ejemplo 7. Utilizando IF-Else-Endif

Se requiere elaborar un programa que permita ingresar dos


números enteros y que despliegue que numero es mayor y que
numero es menor

*Nombre: Foxpro008.prg
*Autor: Julio Penagos
*Calcular cuál de los dos numeros es mayor que el otro, usando ELSE

store 0 to a,b
clear
@ 5,40 say "Mayor o Menor" font "Showcard gothic",30 color b++/w*
@ 9,10 say "Primer numero: " font "arial",10 color b/w* get a style "B"
@ 11,10 say "Segundo Numero: " font "arial",10 color b/w* get b style "B"
read
if a>b
@ 15,15 say "el mayor es:"
@ 15,35 say a
@ 17,15 say "el menor es:"
@ 17,35 say b
Else
@ 15,15 say "el mayor es:"
@ 15,35 say b
@ 17,15 say "el menor es:"
@ 17,35 say a
endif
wait window "Enter to Exit"
return

Comandos de FoxPro

Comando Descripción y Sintaxis


Spinner Este comando permite ingresar valores a variables
numéricas que definen un rango de ingreso por medio
de intervalos constantes, utilizando botones para
aumentar o disminuir cierta cantidad numérica.

@ 15,20 say “Semestre de la carrera” get sem Spinner 1,1,9


Read

37
Expertos en Compu FOXPRO

Picture Este comando además de ser una máscara de entrada,


permite la creación de opciones en forma de persiana.

Niv=”Primario”
@ 15,20 say “Nivel:” get Niv Picture “@^ Primario,Básico” Size 2,15
Read

Ejemplo 8. Utilizando comando Spinner, Picture en el


IF-Endif

Elabore un programa que permita ingresar el nombre


de un estudiante, ingresando el título que desea
obtener y el semestre que le corresponde estudiar. Los
Estudiantes pertenecen a la Universidad “Joke”.

Note: Nombre: Foxpro009.prg


* Autor: Julio Penagos
* Objetivo: Utilización de los comandos spinner y pciture

store 0 to semestre
store space(50) to nombre,titulo
clear
@ 5,5 say "Nombre del Estudiante: "
@ 7,5 say "Titulo:"
@ 9,5 say "Semestre: "

carrera="Licenciatura"

@ 5,35 get nombre font "arial",14 style "b"


@ 7,35 get titulo picture "@^ Licenciatura,Maestria,Doctorado "
size 3,30 style "b" font "arial",10
@ 9,35 get semestre spinner 1,1,9
read
if titulo="Licenciatura"
@ 15,15 say "Estudie y aproveche el tiempo" font "Celestial",20
endif
if titulo="Maestria"
@ 15,15 say "Va a la mitad del camino" font "Celestial",20
endif
if titulo="Doctorado"

38
Expertos en Compu FOXPRO
@ 15,15 say "Está allí solo por hoby" Font "Celestial",20
endif

wait window "Enter para salir "


return

Ejercicios

1. Ingresar dos números y desplegar cual es el mayor y cuál es el


menor

2. Calcular el promedio de los tres bimestres de un estudiante y


desplegar si se exonera o no del examen final, se exoneran los
estudiantes que tienen de 90ptos en adelante de promedio

3. Elaborar un programa que ingrese un número y despliegue si es


positivo o negativo

4. Elaborar un programa que ingrese un número y despliegue si es


par o impar

5. Ingrese la calificación final de un estudiante, materia, grado,


sección, nombre y despliegue si aprobó o no el curso, debe
aprobarlo con 70ptos.

6. Para conocer si un año es bisiesto debe dividirse el mismo dentro


de 4 si da como resultado una división exacta el año es bisiesto
si no, no lo es, para los números divisibles dentro de 100 serán
bisiestos cuando sean divisibles dentro de 400. elabore el
programa que ingrese un año y despliegue si es bisiesto o no.

7. En el almacén “Chinito” a las personas que se les da crédito


tienen para cancelar su cuota del mes hasta el 10 del siguiente
mes si no lo hacen deben cancelar un 4.8% de interés. Elabore el
programa que ingrese nombre, número de cuenta, día de pago y
que despliegue el total a pagar.

39
Expertos en Compu FOXPRO

8. Elabore un programa que calcule el sueldo de una persona así:


Q.10.00 por hora trabajada + 0.15 de bonificación por hora
trabajada + horas extras (el pago por hora extra es el 150% del
pago de horas ordinarias) ingrese el total de horas ordinarias y
extras trabajadas durante el mes, descuéntele el IGSS 4.83%
sobre sueldo de horas ordinarias. Si el empleado tiene más de 18
años de laborar en la empresa se le paga un bono de Q.200.00

9. Despliegue un formulario de ingreso con los siguientes datos


nombres, apellidos, edad, sexo (debe ingresar femenino o
masculino con el comando picture), dirección, número de
teléfono. Despliegue el nombre y el total a pagar por el ingreso
si es mujer Q.20.00 y si es hombre Q.35.00.

Condición Compuesta

Esta orden debe iniciar siempre con la sentencia IF y finalizar con


la sentencia ENDIF. En esta condición se agregan los operadores
lógicos: .and. , .or. , .not.. Utilizando los paréntesis para unir cada
una de las sentencias que utilizan un operador lógico.

Operador Lógico .AND.


Este operador lógico se cumple cuando las dos sentencias
o condiciones son verdaderas.

Sintaxis

IF <condición> .and. <condición>


Instrucciones
Else
Instrucciones
Endif

40
Expertos en Compu FOXPRO

Ejemplo 9. Utilizando Operador lógico .ADN.

Una empresa aumenta al salario base Q. 200.00 por


cada dos años. Los trabajadores de dicha empresa
pueden trabajar solamente 10 años y son liquidados, si
el contratista está satisfecho de su trabajo lo puede
recontratar de lo contrario le agradece por su tiempo de
servicio. Elabore un programa que permita el ingreso
del salario base del trabajador y calcule cuanto de
aumento merece por el tiempo de servicio y que
despliegue si será recontratado o no dependiendo de
su comportamiento “bueno, regular, malo”. Si el
salario asciendo a los Q.3,100.00 y el empleado tiene de
trabajar de 1 a 6 años se le debe retener el 1.5% del
impuesto ISR, calculando y desplegando el total de
impuesto a pagar.

Note: Nombre: Foxpro010.prg


* Autor: Julio Penagos
* Objetivo: Utilización de los comandos spinner y pciture

store 0.00 to sueldo, liquido,isr


store space(15) to comportamiento
store 0 to añotrab

Clear

@ 5,5 say "Ingrese salario base: "


@ 7,5 say "Ingrese años trabajados: "
@ 9,5 say "Ingrese Comportamiento: "

comportamiento="Bueno"

@ 5,35 get sueldo pict "Q 999,999.99 " font "arial",14 style "b"
@ 7,35 get añotrab spinner 2,2,10 font "Times new roman",15
@ 9,35 get comportamiento picture "@^ Bueno,Regular,Malo" size 3,30 style "b" font
"arial",10
read

liquido=sueldo*añotrab
@ 12,35 say "El salario líquido a recibir es de:" font "arial black",14
@ 12,100 say liquido picture "Q 999,999.99" style "b" font "arial",20 color r/w*

41
Expertos en Compu FOXPRO
if (comportamiento="Bueno") .and. (añotrab=10)
@ 15,15 say "Recontratado" font "Mistral",20
endif

if (comportamiento="Bueno") .and. (añotrab<10)


@ 15,15 say "Recontratado" font "Mistral",20
else
@ 15,15 say "Puede buscar otra empresa, Muchas Gracias" font "Mistral",20
endif

if (liquido>=3100) .and. (añotrab<=6)


isr=liquido*0.015
@ 18,15 say "Se le retiene"
@ 18,40 say isr pict "Q 999,999.99"
@ 18,60 say "de impuesto sobre la renta"
else
@ 18,60 say "Extento de impuesto ISR"
endif
wait window ""
return

Operador Lógico .OR.


Este operador lógico se cumple cualquiera de las dos
sentencias o condiciones, no importando cual es la
verdadera y cuál es la falsa. Si las dos son falsas el
resultado será falso.

Sintaxis

IF <condición> .and. <condición>


Instrucciones
Else
Instrucciones
Endif

42
Expertos en Compu FOXPRO

Ejemplo 10. Utilizando Operador lógico .Or.


Se requiere un programa que permita el ingreso de la edad de una
persona. Si la edad oscila entre 18 y 65 años desplegar el mensaje
“Puede trabajar” de lo contrario “La ley le prohíbe trabajar”

*nombre: Foxpro011.prg
*autor: Julio Penagos
*objetivo: Verificar si una persona puede trabajar de acuerdo a su edad
salud="Estable"
store 0 to edad
clear
@ 5,40 say "Quienes pueden trabajar?" font "Showcard gothic",30 color b++/w*
@ 9,10 say "Ingrese Edad:" font "arial",10 color b/w* get edad
@ 11,10 say "Estado de Salud" get salud picture "@^ Estable,Inestable" size 2,15
read
if ((edad>=18).and.(edad<=65)).or.(salud="Estable")
@ 15,15 say "Puede trabajar"
else
@ 15,15 say "Prohíbido mover un pie"
endif
wait window "Enter para salir"
return

Ejemplo 11. Utilizando Operador lógico .Not.


Este operador lógico se cumple cualquiera la primer
sentencia es verdadera y la segunda es falsa.
Sintaxis
IF .not. <condición>
Instrucciones
Else
Instrucciones
Endif

*nombre: Foxpro012.prg
*autor: Julio Penagos
*objetivo: Utilización del operador NOT

store 0 to c1,c2,c3,c5
store 0.00 to prome

43
Expertos en Compu FOXPRO
clear
@5,10 say "CURSO DE COMPUTACIÓN"
@7,10 say "Primer Bimestre" get c1
@9,10 say "segundo Bimestre" get c2
@11,10 say "tercer Bimestre" get c3
read
prome=(c1+c2+c3)/3
@11,10 say "el promedio es:"
@13,10 say prome

if .not.(prome>=90)
@ 22,20 say "Debe evaluarse"
else
@ 22,20 say "Exonerado"
endif
wait windows "salir del programa"
return

Ejercicios

1. Se desea convertir las calificaciones numéricas a un nuevo


sistema de calificaciones literales de acuerdo al punteo numérico
obtenido por los estudiantes, según la siguiente tabla:
De 0 a 30 puntos “ D “
31 a 60 puntos “ C “
61 a 90 puntos “ B “
91 a 100 puntos “ A ”

Elabore el programa que ingrese los datos del estudiante y


despliegue el
punteo literal que le corresponde.

2. Ingrese nombre y edad de una persona y despliegue en qué


etapa de su vida se encuentra así:
De 0 – 2 años Bebe
3 – 10 años Niño
11 – 12 años pre adolescente
13 – 17 años adolescente

44
Expertos en Compu FOXPRO

3. Ingrese código, nombre de un vendedor y despliegue el sueldo


que recibirá:

 Sueldo base Q.1,100.00


 Bonificación Q.150.00
 Comisión sobre ventas: si vende menos de 1000 artículos
se le paga Q.1.00 por artículo vendido, si vende de 1001
a 5000 artículos se le paga Q.3.00 por artículo vendido y
si vende más de 5000 artículos se le paga Q.5.00 por
artículo vendido. Descuéntele el 4.83% de IGSS

4. Indique si una persona puede o no jubilarse, si puede hacerlo


despliegue el sueldo que recibirá como jubilación.

Puede jubilarse si:


 Tiene más de 20 años de laborar, recibe como jubilación el
80% de su sueldo actual, sin importar la edad
 Tiene más de 65 años, recibe como jubilación el 80% de su
sueldo actual, sin importar la cantidad de años de laborar
 Tiene 25 años de laborar y de 50 años de edad en adelante,
recibe el 90% como jubilación
 Tiene 30 años de laborar recibe el 100% como jubilación

5. Elabore un programa que despliegue en pantalla un menú con


las siguientes opciones, utilizando comando PICTURE.
Menú de Inscripción * Primer Ingreso * Reingreso
En cada opción debe desplegar un formulario para ingresar
nombre del estudiante, # de carnet, carrera, ciclo, jornada, # de
cursos que se asignará y desplegar el formulario de pago con el
total a pagar de inscripción y el total a pagar mensualmente. Para
los alumnos de primer ingreso deben cancelar de inscripción
Q.500.00 + Q.100.00 por curso que se asignará + Q.125.00 por
curso que lleve laboratorio. De mensualidad cancelaran Q.
450.00 + Q.115.00 por curso asignado + Q.125.00 por curso que
lleve laboratorio. Para los alumnos de reingreso deben cancelar
de inscripción Q.400.00 + Q.80.00 por curso que se asignará +
Q.125.00 por curso que lleve laboratorio. De mensualidad
cancelaran Q. 350.00 + Q.105.00 por curso asignado + Q.125.00
por curso que lleve laboratorio.

45
Expertos en Compu FOXPRO

6. Se requiere un programa que permita el ingreso del nombre y la


edad de los jugadores de la selección del Deportivo “Batzunko”.
Para saber que selección integrarán de acuerdo a su edad. Que
se encuentra dividida de la siguiente manera: 12-14 años: Infanto
Juvenil; 15-17 años: juvenil; 18-22 Mayor B; 22 años en
adelante: Mayor A.

7. La Escuela de automovilismo, requiere tener un programa que


calcule el total a cancelar de cada examen que realiza. El
programa debe ingresar: Nombre, numero de cedula, edad,
punteo en examen, tipo de licencia. Los datos del cálculo se
hacen de la siguiente manera: La tarifa de los tipos licencias son
los siguientes: Tipo A Q. 850.00 Tipo B Q. 600.00 Tipo C
Q. 450.00 . Si obtuvo en el examen entre 70 a 80 puntos se le
cobrará Q. 400.00; si obtuvo entre 81 y 90 puntos se le cobrará
Q. 250.00 y si obtuvo de 91 a 100 puntos se le cobrará Q.
100.00. Si el punteo es menor a 70 puntos tiene reprobado el
examen de aptitud para licencia. Calcular el IVA (12%) y
desplegar el valor de cada rubro que se le está cobrando con el
total a cancelar.

8. Elabore un programa que permita el ingreso de 3 nombres con su


respectiva edad. Desplegar quien es mayor, mediano y menor,
desplegando los nombres en orden descendente (mayor al
menor).

9. En la autopista de Exceso en Kilómetros Multa


Palín, Escuintla
debe cumplirse a 1 a 15 kilómetros Q. 15.50
cabalidad la 16 a 21 kilómetros Q. 35.20
velocidad que un 22 a 34 kilómetros Q. 45.28
automóvil de llevar 35 kilómetros en adelante Q. 65.00
de acuerdo a los
avisos de velocidad que indican los rótulos. En toda la autopista
se encuentran censores que indican a qué velocidad va un
automóvil, los cuales van marcando la velocidad de cada uno.
Cuando llega el automóvil al peaje, se ha marcada el exceso de
Velocidad más alto que tuvo el automóvil, y los precios se
calculan por medio de la siguiente tabla

46
Expertos en Compu FOXPRO

CONTENIDOS DEL CAPITULO

LA CONDICIÓN DO CASE
PROMPT, FUNCTION
EJEMPLOS Y EJERCICIOS

COMANDOS NUEVOS:

En este capítulo se presentan instrucciones que utilizamos en la


elaboración de programas con Menú. Existen diferentes formas de
presentar un menú, dependiendo el programa que se esté desarrollando.
El comando Do Case–Endcase permite condicionar una variable cuantas
veces el programa lo necesite. El comando Otherwise representará los
casos que no se cumplen en las condiciones que presenta el programa.

Do Case- Endcase

En otras palabras el comando Do Case-Endcase nos puede dar


muchas alternativas para tomar una decisión realizando varias
evaluaciones en un programa.

Sintaxis 1
Do Case
Case <Variable> = 1
Instrucciones
Case <Variable> = 2
Instrucciones

47
Expertos en Compu FOXPRO

Case <Variable> = 3
Instrucciones
Case <Variable> = 4
Instrucciones
Otherwise
Despliegue de Mensaje
EndCase

En los programas puede realizarse un programa general o programas


pequeños que permitan ser jalados por medio del comando Do.

Ejemplo 12. Realizando un programa General


Elabore un programa que permita desplegar un menú de las 4
operaciones matemáticas básicas. El programa deberá permitir el
ingreso de un número el cual será el número que se va a operar y
luego ingresar el número por el que será operado el primer número. La
operación que realizará el programa será la elección de la opción que
se elija.

* Programa: Foxpro013.prg
* Autor: Julio Penagos
* Objetivo: Ejemplo de cómo utilizar el Do case

store 0 to a,b,op
store 0.00 to c

clear

@ 3,20 say "Operaciones Matemáticas Básicas" font "arial black",20 color r/w*
@ 7,5 say " 1. Suma " font "arial",15 color b/w*
@ 9,5 say " 2. Resta " font "arial",15 color b/w*
@ 11,5 say " 3. Multiplicación " font "arial",15 color b/w*
@ 13,5 say " 4. División " font "arial",15 color b/w*

@ 15,70 say "Elija Su operación: " style "b"


@ 15,100 get op spinner 1,1,4 font "arial",15 pict "9 "
read

Do Case

48
Expertos en Compu FOXPRO
Case op=1
@ 20,10 say "Primer Número" font "vivaldi",20
@ 20,50 say "Segundo Numero" font "vivaldi",20
@ 20,90 say "Resultado" font "vivaldi",20
@ 24,10 get a font "arial",20
24,50 get b font "arial",20 Read
c=a+b
@ 24,90 say c font "arial black",20 color gr*+/n

Case op=2
@ 20,10 say "Primer Numero" font "vivaldi",20
@ 20,50 say "Segundo Numero" font "vivaldi",20
@ 20,90 say "Resultado" font "vivaldi",20
@ 24,10 get a font "arial",20
@ 24,50 get b font "arial",20
read
c=a-b
@ 24,90 say c font "arial black",20 color gr*+/n
Case op=3
@ 20,10 say "Primer Numero" font "vivaldi",20
@ 20,50 say "Segundo Numero" font "vivaldi",20
@ 20,90 say "Resultado" font "vivaldi",20
@ 24,10 get a font "arial",20
@ 24,50 get b font "arial",20
read
c=a*b
@ 24,90 say c font "arial black",20 color gr*+/n
Case op=4
@ 20,10 say "Primer Numero" font "vivaldi",20
@ 20,50 say "Segundo Numero" font "vivaldi",20
@ 20,90 say "Resultado" font "vivaldi",20
@ 24,10 get a font "arial",20
@ 24,50 get b font "arial",20
Read
c=a/b
@ 24,90 say c font "arial black",20 color gr*+/n
Otherwise
wait window "su opcion no existe"
endcase

wait window "Enter para salir"


return

49
Expertos en Compu FOXPRO

Comandos de FoxPro

Comando Descripción y Sintaxis


Prompt Este comando permite elegir una opción del menú
desplazándose con las flechas y presionando un enter,
también funciona desplazando el curso donde se
encuentra la opción y presionando un clic con el
mouse.

Sintaxis
@ 5,20 prompt “1. Ingreso”
@ 7,20 prompt “2. Consulta”
@ 9,20 prompt “3. Salida”
Menu to op
Do case
Case op=1
Instrucciones
Case op = 2
Instrucciones

Function Este comando permite la creación de botones para la


selección de las opciones en pantalla. En esta
instrucción se utiliza el comando Read cycle que
permite leer el valor de la variable. El comando Size
define el tamaño que tendrá el botón. El despliegue de
los botones puede ser vertical u horizontal; el
programador podrá elegir con la siguiente instrucción:
Vertical: *pv ó *rv Horizontal *ph ó *rh

@ 8,3 get op Function "*rh Ingreso;Consulta;Salida " font "arial black",20


read cycle
Do case
Case op=1
Instrucciones
Case op = 2
Instrucciones

50
Expertos en Compu FOXPRO

Botones de Radio

Luego de elegir la opción, presionar la


tecla Esc para ingresar a la opción
elegida.

Horizontal *RH
Sintaxis

Store 1 to op
@ 5,20 get op Function “*rh Ingreso;Impresión;Salida”
Read Cycle

Ejemplo 14. Botones tipo Radio


horizontales

* Programa: Foxpro014.prg
* Autor: Julio Penagos
* Objetivo: Ejemplo del comando FUNCTION con botones de radio
horizontal

store 0 to a,b
store 0.00 to c
op=1
clear

@ 3,20 say "Operaciones Matemáticas Básicas" font "arial black",20 color r/w*

@ 8,3 get op Function "*rh SUMA;RESTA;MULTIPLICACIÓN;DIVISIÓN " font "arial black",20


read cycle

Do Case
Case op=1
@ 20,10 say "Primer Numero" font "vivaldi",20
@ 20,50 say "Segundo Numero" font "vivaldi",20….

51
Expertos en Compu FOXPRO

Vertical *RV
Sintaxis

Store 1 to op
@ 5,20 get op Function “*rv Ingreso;Impresión;Salida”
Read Cycle

Ejemplo 15. Botones tipo Radio Verticales

* Programa: Foxpro015.prg
* Autor: Julio Penagos
* Objetivo: Ejemplo del comando FUNCTION con botones de radio vertical

store 0 to a,b
store 0.00 to c
op=1
clear

@ 3,20 say "Operaciones Matemáticas Básicas" font "arial black",20 color r/w*

@ 8,3 get op Function "*RV SUMA;RESTA;MULTIPLICACIÓN;DIVISIÓN " font "arial


black",20
read cycle

Do Case

Case op=1
@ 20,10 say "Primer Numero" font "vivaldi",20
@ 20,50 say "Segundo Numero" font "vivaldi",20….

52
Expertos en Compu FOXPRO

Botones de Presión

Luego de elegir la opción, presionar la


tecla Enter o simplemente con un clic.

Horizontal *pH
Sintaxis

Store 1 to op
@ 5,20 get op Function “*ph Ingreso;Impresión;Salida”
Read Cycle

Ejemplo 16. Botones tipo Presión


horizontales
* Programa: Foxpro016.prg
* Autor: Julio Penagos
* Objetivo: Ejemplo comando FUNCTION con botones de presión
horizontal

store 0 to a,b
store 0.00 to c
op=1
clear

@ 3,20 say "Operaciones Matemáticas Básicas" font "arial black",20 color r/w*
@ 8,3 get op Function "*ph SUMA;RESTA;MULTIPLICACIÓN;DIVISIÓN " font "arial
black",20
read cycle

Do Case

Case op=1
@ 20,10 say "Primer Numero" font "vivaldi",20
@ 20,50 say "Segundo Numero" font "vivaldi",20…

53
Expertos en Compu FOXPRO

Vertical *pV
Sintaxis

Store 1 to op
@ 5,20 get op Function “*pV Ingreso;Impresión;Salida”
Read Cycle

Ejemplo 17. Botones tipo Presión


Verticales
* Programa: Foxpro017.prg
* Autor: Julio Penagos
* Objetivo: Ejemplo comando FUNCTION con botones de presión Vertical

store 0 to a,b
store 0.00 to c
op=1
clear

@ 3,20 say "Operaciones Matemáticas Básicas" font "arial black",20 color r/w*
@ 8,3 get op Function "*pv SUMA;RESTA;MULTIPLICACIÓN;DIVISIÓN " font "arial
black",20
read cycle

Do Case

Case op=1
@ 20,10 say "Primer Numero" font "vivaldi",20
@ 20,50 say "Segundo Numero" font "vivaldi",20…

54
Expertos en Compu FOXPRO
Los botones del menú se presentarán de la siguiente forma: ya sea el
horizontal ó el vertical.

Estos botones solamente podremos utilizarlos con el Mouse y las flechas


presionando un enter luego de elegir la opción a trabajar dentro del
programa. Si deseamos agregar una letra reservada de acción rápido,
utilizaremos los símbolos “\< ” antes de la letra que deseamos reservar para
esta opción. En el menú no puede haber letras reservadas iguales.

Sintaxis:

store 0 to a,b
store 0.00 to c
op=1
clear
@ 3,20 say "Operaciones Matemáticas Básicas" font "arial black",20 color r/w*
@ 8,3 get op Function "*pv
<SUMA;RES\<TA;MULTIPLI\<CACIÓN;DI\<VISIÓN”; Size 2,25
read cycle

55
Expertos en Compu FOXPRO
Observa que se encuentra subrayada la letra que se encuentra después de
los símbolos “\<” que utilizamos para en la sintaxis del programa. Esto
permitirá que presiones esa letra del teclado y automáticamente ingresará a
la serie de instrucciones de esa opción.

Botones con Iconos

En estos botones se debe tomar en cuenta el nombre y


extensión del archivo para que permita desplegar correctamente
los iconos en los botones.

El despliegue lo hará en forma vertical predeterminadamente,


aunque si lo desea luego de utilizar la instrucción *BK puede
escribirle una H para que quede: *bkh y el despliegue lo realice
horizontalmente.

Ejemplo:
* Programa: Foxpro017a.prg
* Autor: Julio Penagos
* Onjetivo: Ejemplo del comando FUNCTION botones con incono
store 0 to a,b
store 0.00 to c
op=1
clear
@ 3,20 say "Operaciones Matemáticas Básicas" font "arial",20 color r/w*

@ 6,10 get op Function "*bk suma.ico;resta.ico;multi.ico;divi.ico" size


3,15
read cycle
Do Case
Case op=1
Continua……

Las imágenes pueden tener diferente extensión: Verifique que extensión es la imagen que se
quiere colocar en el botón. Las más utilizadas son: JPG, BMP, GIF.

56
Expertos en Compu FOXPRO

Ejercicios

Instrucciones Generales: Los siguientes programas elaborarlos con Do case, utilizando los
comandos PROMPT, FUNCTION (botones Radio y de Presión (Letras, Iconos)) vertical,
horizontal. Dependiendo lo que se indique al principio de cada programa.

1. PROMPT Elabore un programa que despliegue en pantalla un


menú con las siguientes opciones:

Menú de Inscripción
Primer Ingreso
Reingreso

En cada opción debe desplegar un formulario para ingresar


nombre del estudiante, # de carnet, carrera, ciclo, jornada, #
de cursos que se asignará y desplegar el formulario de pago
con el total a pagar de inscripción y el total a pagar
mensualmente. Para los alumnos de primer ingreso deben
cancelar de inscripción Q.500.00 + Q.100.00 por curso que
se asignará + Q.125.00 por curso que lleve laboratorio. De
mensualidad cancelaran Q. 450.00 + Q.115.00 por curso
asignado + Q.125.00 por curso que lleve laboratorio. Para los
alumnos de reingreso deben cancelar de inscripción
Q.400.00 + Q.80.00 por curso que se asignará + Q.125.00
por curso que lleve laboratorio. De mensualidad cancelaran
Q. 350.00 + Q.105.00 por curso asignado + Q.125.00 por
curso que lleve laboratorio.

2 BOTON RADIO Elabore un programa que calcule el total a


pagar por el ingreso a un Turicentro. Las opciones son: 1. Afiliados
(Entran gratis debe ingresar nombre, no. de carnet de afiliación)
2. No afiliados (si es adulto cancela Q.75.00 y si es niño cancela
Q.50.00) 3. Salir.

3 BOTON DE PRESIÓN Elabore un programa que calcule el


total a pagar por la estadía en un hospital despliegue el siguiente
menú: 1. Medicina General (cancela Q.70.00 por consulta más
Q.125.00 por exámenes) 2. Cirugía (cancela Q.5,500.00 por
cirugía más Q.150.00 por día interno en el hospital) 3.

57
Expertos en Compu FOXPRO
Maternidad (Q.3000.00 por cesárea más Q.150.00 por día interno)
4. Salida

4 BOTON DE PRESIÓN USANDO \< Ingrese nombre,


grado, carrera, sección de un alumno, luego despliegue el
siguiente menú en pantalla:

MENÚ
R ojo
A zul
V erde
C eleste

Las opciones deben elegirse con la primera letra de la palabra


(ejemplo R debe ser roja,) al elegir la opción borra la pantalla y
despliega todos los datos que ingreso en el color de la opción
(ejemplo si ingresas una R porque es porque elegiste el rojo y
todos los datos ingresados deben desplegarse en rojo)

5 HACERLO CON SAY Y GET Despliegue un menú con las


siguientes opciones:
1. ROJO – BLANCO
2. AZUL – NEGRO
3. GRIS – MORADO
4. VERDE – AZUL
5. CELESTE – NEGRO

Al elegir cada opción se deberá borrar pantalla e ingresar nombre,


grado, sección, edad, materia de un estudiante, el color de fondo debe
ser el primero que aparece y las letras del color que aparece después,
ejemplo: si elijo la opción 1 la pantalla será roja y las letras blancas, etc

6 HACERLO CON BOTONES DE ICONO Se requiere


elaborar un programa que permita desplegar un menú con las
banderas de Centroamérica. Al elegir cada opción desplegar en
pantalla los siguientes datos de cada país: Nombre del País, Árbol
nacional, flor nacional, idioma oficial, otros idiomas, extensión
territorial, moneda, Lugares turísticos.

7 HACERLO CON BOTONES DE ICONO Se requiere


elaborar un programa que permita desplegar un Menú en cual

58
Expertos en Compu FOXPRO

contenga las fotografías de los mejores deportistas del mundo, en


las. Siguientes opciones:

Menú

Jugador 1)
Jugador 2
Jugador) 3

Al elegir una de las fotografías desplegar la otra pantalla de la


computadora los siguientes datos:

Nombre, año de nacimiento, edad, especialidad, premios que ha


obtenido,

CONTADORES Y ACUMULADORES

Son fórmulas que ayudan a llevar el


control de una cantidad de repeticiones en
un programa.

Ejemplo Contador:

A=A+1 C=C+5

Ejemplo Acumulador:

Total=Total + nuevo precio.

PROYECTO EN GRUPO

59
Expertos en Compu FOXPRO
Elabore un menú utilizando Do Case y que permita ir eligiendo por medio de botones o
ingresando un número para elegir la opción de salida. Si elige la opción 1 deberá aparecer el
formato de planilla de los trabajadores. Siga las instrucciones del Catedrático para elaborar
el programa.

Menú Principal

1. Salario Líquido
2. Salida

Elija Opción:

No. Empleado Salario Bonifica- Igss Salario Impuesto ISR


Mensual ción Líquido ISR Q.

1 Marco Antonio Solís Q. 1,500.00


2 Thalía Sequen Q. 3,500.25
3 Ricky Martín-ez Q.
4... HASTA LLEGAR A 5 TRABAJADORES....
Pagan Impuesto: 1
Estadística General No pagan Impuesto: 2

Total de empleados: 3
Salario Líquido N
Q. 0.00 a Q. 2,500.00 2

Q. 2,500.01 a Q. 5,000.00 1

Q. 5.000.01 en adelante 0

El programa deberá cada vez que ingrese un número registro del alumno desplegar el número de
registro que le corresponde. Al finalizar el programa deberá desplegar Cuantos trabajadores
deben pagar Isr y cuantos no deben pagar. Además desplegar una estadística de cuántas
personas ganan entre Q. 0.00 a Q. 2,500.00, cuántas ganan entre Q.2,500.01 a Q. 5,000.00 y
cuántas ganar de Q. 5,000.01 en adelante.
El despliegue según se encuentra en el cuadro de arriba. Y DESPLEGAR EL TOTAL DE LAS
PERSONAS INGRESADAS, (donde dice total de empleados) .

60
Expertos en Compu FOXPRO

CONTENIDOS DEL CAPITULO

EL CICLO FOR - ENDFOR


CONTADORES
EJEMPLOS Y EJERCICIOS

COMANDOS NUEVOS: REPLICATE, BOX, FILL

En este capítulo se presentan instrucciones que utilizamos en la


elaboración de programas que sus instrucciones se repiten un número
de veces ya definida. El comando For–Endfor permite asignar un
contador automático a una variable para que se repita cuantas veces el
programa lo necesite. Este ciclo es muy utilizado en programas que se
les aplica además del contador automático, un contador manual para
tener el resultado de un dato variable.
For - Endfor

Este comando ejecuta un ciclo repetitivo un número de veces ya


determinado por el programador. Ejecuta un conjunto de instrucciones
hasta que el bucle llegue a su tope o fin.

Sintaxis

For <variable> = <valor inicial> to <valor final>


Serie de instrucciones
Endfor

61
Expertos en Compu FOXPRO

Ejemplo 18. Utilizando Ciclo For

Elaborar un programa que calcule el sueldo de 10


personas ingresando productos vendidos por cada
empleado.
*Nombre: Foxpro018.prg
*Autor: Julio Penagos
*Objetivo: Calcular el sueldo liquido de 10 empleados, utilizando CICLO FOR-ENDFOR.

s=0.00
store 0 to a,X

clear

for X=1 to 10 Inicio del Ciclo For, Limpia pantalla dentro del ciclo
clear

a=0
s=0.00 Declaración de variables para borrar espacio en cada ingreso

* Despliegue del ciclo para saber cuántos ingresos se han realizado

@ 2,100 say "Ingreso No. " Despliegue del ciclo, conocer posición del ciclo
@ 2,112 say X pict "99 " style "BI"

* Fin del despliegue del ciclo

* Inicio de las instrucciones del programa.

@ 5,10 say "Sueldo total de empleado" font "Castellar",30 color r++/w*


@ 11,10 say "Artículos vendidos:" font "Broadway",15 color r/w* GET a font "arial",14
read

s=(a*3)+750-(0.0483*750)+(0.013**750)
@ 19,45 say "El sueldo es de:" font "eras bold itc",20 color gr*/w* style "b"
@ 22,49 say s font "castellar",20 pict "Q 9,999,999.99"

* fin de las instrucciones del programa

wait window "Enter para otro"


Endfor

62
Expertos en Compu FOXPRO

Ejemplo 19. Utilizando Ciclo For y contador Manual

Elaborar un programa que calcule el sueldo de 10


personas ingresando productos vendidos por cada
empleado. Llevar el conteo de cuanto de dinero
lleva acumulado los salarios de los trabajadores.
*Nombre: Foxpro019.prg
*Autor: Julio Penagos
*Objetivo: Calcular el sueldo liquido de 10 empleados, utilizando CICLO FOR-ENDFOR.

Store 0.00 to S,Total


store 0 to A,X
clear

for X=1 to 10 Inicio del Ciclo For, Limpia pantalla dentro del ciclo
clear
A=0
S=0.00 Declaración de variables para borrar espacio en cada ingreso

* Despliegue del ciclo para saber cuántos ingresos se han realizado

@ 2,100 say "Ingreso No. " Despliegue del ciclo, conocer posición del ciclo
@ 2,112 say X pict "99 " style "BI"
* Fin del despliegue del ciclo

* inicio de las instrucciones del programa.


@ 5,10 say "Sueldo total de empleado" font "Castellar",30 color r++/w*
@ 11,10 say "Artículos vendidos:" font "Broadway",15 color r/w* GET A font "arial",14
read

S=(A*3)+750-(0.0483*750)+(0.013**750)
@ 19,45 say "El sueldo es de:" font "eras bold itc",20 color gr*/w* style "b"
@ 22,49 say s font "castellar",20 pict "Q 9,999,999.99"
* fin de las instrucciones del programa

total=total+s

@ 25,2 say "El total de dinero a cancelar es de:" font "arial black",15 style "b" color b/w*
@ 25,90 say total pict "Q 999,999,999.99 " font "arial black",20 style "b" color b+/w*

wait window "Enter para otro"


Endfor

63
Expertos en Compu FOXPRO

Comandos de FoxPro
Comando Descripción y Sintaxis
Replicate Este comando permite ingresar desplegar un carácter
el número de veces que se indique en su sintaxis, este
comando le permitirá realizar líneas por ejemplo, sin
necesidad de utilizar el ciclo for.

@ 15,20 say REPLICATE (“x”,50)


@ 16,20 say REPLICATE (“-”,90)

Box Este comando permite desplegar un cuadrado o


rectángulo en las coordenadas que se le indiquen,
especificando primeramente la línea y la columna del
primer punto (parte superior) y luego la línea del y la
columna del segundo punto (parte inferior)
respectivamente. Este comando lo utilizará para la
creación de formatos en los programas. Líneas de
pantalla: 35 Columnas de pantalla: 115.
Linea 1L

@ 15,20
Columna 1C

Sintaxis @ 15,20,18,80 Box


20
15

18
80

64
Expertos en Compu FOXPRO

Comandos de FoxPro

Comando Descripción y Sintaxis


Fill Este comando permite rellenar de color un cuadrado o
rectángulo en las coordenadas que se le indiquen,
especificando primeramente la línea y la columna del
primer punto (parte superior) y luego la línea del y la
columna del segundo punto (parte inferior)
respectivamente. Utilizando la combinación de colores
que se te indicaron anteriormente.
Sintaxis

@ 8,4 Fill to 12,50 Color b/b

luego del símbolo de @ se encuentra la primer


coordenada (línea, columna) seguido de el comando Fill
to (Rellenas hasta), luego la segunda coordenada,
terminando con el comando Color y la combinación de
colores que desea hacer. (en este caso b/b significa
que desplegará el color Azul).

Bitmap Este comando permite desplegar una imagen en


pantalla, del tamaño original sin poder modificarla.
Para poder desplegar la imagen debe estar grabada en
la carpeta en donde este su programa o escribir toda
la ruta de acceso en donde se encuentra la imagen a
desplegar, luego escribir el nombre correctamente de la
imagen y la extensión que posee pueden ser las mas
utilizadas (jpg, bmp, gif).

@ 5,6 say “paisaje.jgp” bitmap

@ 5,6 say “modelo.bmp” bitmap

@ 5,6 say “carro12.gif” bitmap

65
Expertos en Compu FOXPRO

Ejemplo 20. Utilizando Replicate, Box, Bitmap y Fill

Elaborar un programa que despliegue el formato de un Cheque del


Banco Uno.
*Nombre: Foxpro020.prg
*Autor: Julio Penagos
*Objetivo: Desplegar el formato de un cheque, utilizando: box, fill, replicate, bitmap.
clear
* Formato de Ventana
@ 5,10,20,93 Box && rectángulo del cheque
@ 20,15 fill to 21,96 color n/w && sombra de abajo
@ 7,93 fill to 21,96 color n/w && sombra derecha
@ 6,12 say "banco1.jpg" bitmap && imagen de banco uno
@ 10,34 say "ban.jpg" bitmap

* Despliegue de datos del cheque


@ 5.7,35 say "CTA. 08-564904-1 Julio César Penagos Guzmán" FONT "ARIAL",8 STYLE "B"
@ 8.5,20 say "Lugar y Fecha" font "verdana",7
@ 7,70 say "Cheque No. 6587885" font "verdana",8
@ 10.7,15 say "Paguese a: " font "verdana",8
@ 10.7,75 say "Q." font "verdana",10
@ 13,15 say "Quetzales" font "verdana",8
@ 15,15 say "REF." font "verdana",8
@ 16.5,60 say "Firma(s) Autorizada(s)" font "verdana",8
@ 18.4,20 say "3 :,0115: 08654504 1·03875835" font "digitek",07
* Despliegue de Lineas con replicate
@ 8.5,35 say replicate("_",45)
@ 10.7,28 say replicate("_",38)
@ 10.7,80 say replicate("_",10)
@ 15,22 say replicate ("_",10)
@ 15,45 say replicate ("_",40)
read

66
Expertos en Compu FOXPRO

Ejemplo 21. Utilizando el ciclo for y el box

Elaborar un programa que despliegue el siguiente formato y


permita el ingreso del nombre de la empresa, el activo, el pasivo y
calculo el capital y los totales. El total de empresas a ingresar es
de 5, en forma tabulada.

* Nombre: Foxpro021.prg
* Autor: Julio Penagos
* Objetivo: Uso de contadores manuales, box, fill,for
store 0.00 to activo,pasivo,capital,tota,totp,totca
store space(22) to empresa
clear
@ 0,0 fill to 35,50 color b/b
@ 1,65 say " Capitales de Empresas " font "arial",25 color w*++,b
@ 4,60,7,130 box
@ 7,60,15,130 box
@ 5.5,62 say "Empresa"
@ 5.5,90 say "Activo"
@ 5.5,103 say "Pasivo"
@ 5.5,120 say "Capital"
@ 4,85,15,100 box
@ 4,115,15,130 box
for x = 1 to 5
store 0.00 to activo,pasivo,capital
store space(22) to empresa
@ 7+x,61 get empresa
@ 7+x,85.5 get activo pict "Q 999,999.99 "
@ 7+x,101.5 get pasivo pict "Q 999,999.99 "
read
capital=activo - pasivo
@ 7+x,116 say capital pict "Q 999,999,999.99"
tota = tota + activo
totp = totp + pasivo
totca = totca + capital
@ 17.5,60 say "Totales" font "arial black",15
@ 18,80 say tota pict "Q 999,999,999.99 "
@ 18,98 say totp pict "Q 999,999,999.99 "
@ 18,115 say totca pict "Q 999,999,999.99 "

endfor
wait window “enter para salir”
return

67
Expertos en Compu FOXPRO

Ejemplo 22. Utilizando Variable del ciclo for en


formulas

Elaborar un programa que despliegue los primeros 10 términos de


la siguiente serie: 0 1 5 23 119... en forma vertical. Esta es la
serie de Fibonacci.

* Nombre: Foxpro022.prg
* Autor: Julio Penagos
* Objetivo: Series numéricos con el ciclo for.

store 0 to a,n,x
clear

for x= 1 to 10
A=A*x+n
@ 5+x,25 say A
n=x

endfor
wait
return

68
Expertos en Compu FOXPRO

Ejercicios

Para los siguientes programas utilizar el ciclo for, los comandos box,
bitmap, fill to color, replicate. Dependiendo del enunciado del programa.

1. Elabora un programa que ingrese un número, debe repetirse 10


veces. Al finalizar desplegar el promedio de los 10 números
ingresados.

2. Elabora un programa que ingrese nombre, edad, sexo de 18


personas al finalizar despliega cuantos eran hombres y cuantas
mujeres y el promedio de las edades. En forma tabulada,

3. Elabora un programa que ingrese un número, debe repetirse 20


veces al finalizar despliega cuantos de los números ingresados
eran positivos, cuantos negativos y cuantos ceros.

4. Elabora un programa que despliegue los números y la suma de los


primeros 25 números así: 1+2+3+4..... hacerlo en forma vertical

5. Elabora un programa que ingrese un número, y desplegar la tabla


de multiplicar de dicho número (tabla del 1 al 10). El despliegue
debe de presentarse así: (si el numero ingresado es el 8)
8* 1=8
8 * 2 = 16... hasta llegar a 10

6. Elabora un programa que despliegue los primeros 25 términos de


las serie de FIBONACCI.
0 0 1 1 2 3...

7. Elabore un programa que despliegue los primeros 20


términos de la serie: 1 5 17 53 161 .....

8 Elabore un programa que despliegue los primeros 5 términos


de la serie: 1 2 5 26 677

9. Es día de pago en la empresa en donde trabajas y te han pedido


que realices un programa que permita el ingreso del total

69
Expertos en Compu FOXPRO

depositado y el número de empleados que tiene la empresa (no


más de 15) en la cuenta del Banco Pilas, el programa debe permitir el
ingreso del nombre a quien se extiende el cheque, el número de
cheque, y el monto del cheque. El programa debe repetirse las
veces de acuerdo al número de empleados que tiene la empresa.
Llevar el control de ingreso de cada cheque y el Saldo que va
quedando.

Dinero depositado en el Banco: Q. 12,300.00 Empleados: 5


No. Nombre de Empleado Cheque No. Monto Saldo

1 Keily Penagos Ruiz 37940 Q 300.00 Q. 12,000.00


2 José Penagos Ruiz 37940 Q 1,500.00 Q. 10,500.00
3. ...... hasta llegar a 5

10. Elabora un programa que permita ingresar en forma


tabulada en dos espacios. el código de 5 productos, cantidad del
producto, su descripción, precio unitario, calcular el precio total
de producto y llevar el monto de la cantidad de los productos
ingresados. Utilizar el ciclo For de la siguiente manera:

For Veces=2 to 10 Step 2

11. Elabora un programa que permita ingresar los siguientes datos de


lado izquierdo de la pantalla en forma vertical y desplegados del
lado derecho en forma horizontal y tabulada. Los datos son los
siguientes La nota de computación de un estudiante se calcula así:
Nombre, carné, 1 bimestre, 2 bimestre, 3 bimestre, 4 bimestre (las
notas sobre 100 puntos). El despliegue de datos será de los
siguientes datos: nombre del estudiante, notas: 1,2,3 bimestre,
estos tres bimestres acumulan el 40 % (desplegarlo), luego se
despliega el 4 bimestre lo cual acumula el 60 % de la nota final y
se despliega la nota final.
Repetirse 5 veces.

70
Expertos en Compu FOXPRO

CONTENIDOS DEL CAPITULO

EL CICLO DO WHILE - ENDDO


EJEMPLOS Y EJERCICIOS
PROYECTOS

COMANDOS NUEVOS: MESSAGEBOX

En este capítulo se presentan instrucciones que utilizamos en la


elaboración de programas que sus instrucciones se repiten el número de
veces que el usuario necesite. El comando Do while–Enddo permite
asignar un contador numérico o una variable para que se repita cuantas
veces el programa lo necesite. Este ciclo es el ciclo que todo sistema de
computadoras utiliza para llevar el control y orden del manejo de datos
por medio de los programas.

Do While - Enddo
Este comando ejecuta un ciclo repetitivo un número de veces indefinido por el
programador. Ejecuta un conjunto de instrucciones hasta que el bucle no cumpla con la
condición, continuando con la siguiente instrucción hasta llegar al comando Enddo.

Do while <variable> # ó < > <No. opción de salida>


Serie de instrucciones
Enddo

71
Expertos en Compu FOXPRO

Ejemplo 23. Do while con valor numérico


(usando ejemplo 21 y 22)
* Nombre: Foxpro023prg
* Autor: Julio Penagos
* Objetivo: MENÚ CON PROMPT y variable numérica
store 0 to op,x,a,b
store 0.00 to activo,pasivo,capital,tota,totp,totca
store space(22) to empresa
clear
do while op <> 3
op = 0
@ 0,0 fill to 30,30 color n/n
@ 5,10 fill to 15,50 color r/gr*
@ 6,15 fill to 16,53 color b/b
@ 5.5,25 say "Menú" font "Arial",15 style "b" color r/gr*
@ 8,13 prompt " 1. Ingreso de Datos"
@ 10,13 prompt " 2. Despliegue de Serie"
@ 12,13 prompt " 3. Salida de programa"
menu to op
do case
case op = 1
@ 1,55 clear to 20,130
@ 2,65 say " Capitales de Empresas " font "arial",25 color b++,w*
@ 4,60,7,130 box
@ 7,60,15,130 box
@ 5.5,62 say "Empresa"
@ 5.5,90 say "Activo"
@ 5.5,103 say "Pasivo"
@ 5.5,120 say "Capital"
@ 4,85,15,100 box
@ 4,115,15,130 box
for x = 1 to 5
store 0.00 to activo,pasivo,capital
store space(22) to empresa
@ 7+x,61 GET empresa
@ 7+x,87 get activo pict "999,999.99 "
@ 7+x,102 get pasivo pict "999,999.99 "
read
capital=activo - pasivo
@ 7+x,116 say capital pict "999,999,999.99"
tota = tota + activo
totp = totp + pasivo
totca = totca + capital
@ 18,80 say tota pict "999,999,999.99 "

72
Expertos en Compu FOXPRO
@ 18,98 say totp pict "999,999,999.99 "
@ 18,115 say totca pict "999,999,999.99 "
endfor

case op = 2
do “foxpro022.prg”
case op = 3
exit
endcase
Enddo
return
Comandos de FoxPro

Comando Descripción y Sintaxis


Messagebox Este comando despliega una ventana al centro de
la pantalla presentando un mensaje y por medio
de botones se responderá el siguiente paso que
dará el programa. Esta ventana se utiliza con el
ciclo do while y para obtener el resultado de la
misma debe contener: una descripción de la
ventana, una pregunta de la condición y botones
activados para la respuesta.
Despliegue de Botones
Botones: #

Aceptar 0
Aceptar y Cancelar 1
Anular,Reintentar, Omitir 2
Si,No,Cancelar 3
Si,No 4
Reintentar,Cancelar 5

Despliegue de Iconos
Icono #

Icono de información 64
Icono signo de Admiración 48
Icono signo de Interrogación 32
Icono señal de Alto 16

73
Expertos en Compu FOXPRO

Valor que tomará la variable

Botón Activado # Botón Activado #

Aceptar 1 Omitir o Ignorar 5


Cancelar 2 Sí 6
Anular 3 No 7
Reintentar 4

Botón de Activación por defecto

Botón Activado #

Primer Botón 0
Segundo Botón 256
Tercer Botón 512

Messagebox (“pregunta? , Botón + Icono + botón activado, “Titulo


de Ventana”)

Messagebox(“Aprobará el curso?”, 4 + 32 + 0, “Pregunta Básica”)

Como esta ventana posee dos botones y se


deseara que el boton No estuviera como
predeterminado el 0 que se encuentra en la
parte de arriba se cambiaría por un 256.
También se pueden sumar los digitos y nos
dará el mismo resultado.

Messagebox (“Aprobará el curso?”,36,“Pregunta Básica”)

TAREA: ELABORA TODAS LAS CONBINACIONES QUE TIENE EL


MESSAGEBOX

74
Expertos en Compu FOXPRO

Ejemplo 24. Do while con valor numérico en


messagebox
* Nombre: Foxpro024.prg
* Autor: Julio César Penagos Guzmán
* Objetivo: Programa que realiza una pregunta y si su respuesta es Si continua el
*programa, de lo contrario finaliza.

m=0
x=0
clear
Do while x <> 7
x=messagebox("Aprobará el curso ",4+32+0,"Pregunta Básica")
if x=6
@ 15,15 say "Felicitaciones, su respuesta es correcta" font "arial",20
read
else
@ 15,15 say "No se desanime, todavía le queda una oportunidad" font "arial",20
read
endif
clear
enddo

Ejercicios

Los siguientes programas, elaborarlos utilizando


Do while, botones, messagebox, bitmap.

1. Elabora un programa que despliegue en pantalla las fotografías de


3 artistas (Hombres o mujeres) y que se efectúe una votación
entre ellos. Los artistas deben tener el mismo tipo de música. Al
presionar un clic en la opción de salir aparecerá una gráfica para
conocer el artista ganador con su fotografía

2. Elabora un programa que ingrese nombre, nit, total gastado y


luego despliegue el siguiente menú en pantalla 1.Efectivo (se le
hace un 8% de descuento) 2. Tarjeta de débito (se le cobra lo
mismo) 3. Cheque (Se le recarga un 2%) 4.Tarjeta de crédito

75
Expertos en Compu FOXPRO

(se le recarga un 5%) 5. Salir. Al finalizar despliega cuantas


personas cancelaron con cada opción.

3. Elabora un programa que ingrese nombre y notas de los tres


bimestres de un estudiante. Calcule el promedio. El programa debe
repetirse “n” veces. Al final despliegue cuantos se exoneraron y
cuantos no.

4. Elabora un programa que ingrese tabuladamente: nombre, activo y


pasivo de una empresa. El programa debe repetirse “n” veces. Al
finalizar despliegue cuantas empresas se ingresaron, cuantas
tenían como capital más de Q.20,000.00 y cuantas menos de dicho
capital.

5. Elabora un programa que ingrese nombre, edad de una persona. El


programa debe repetirse hasta que se le indique la salida, al final
despliegue cuantos eran mayores de edad y cuantos menores.

6. Elabora un programa que ingrese nombre, nit, total gastado, el


programa debe repetirse “n” veces. Al finalizar despliegue cuantas
veces se utilizó el programa, cuantos gastaron más
de Q.3,000.00 y cuantos gastaron menos de 3,000.00

7. Elabora un programa que calcule el total a pagar por el ingreso a un


turicentro. Las opciones son: 1. Afiliados (Entran gratis debe ingresar
nombre, no. de carnet de afiliación) 2. No afiliados (si es adulto
cancela Q.75.00 y si es niño cancela Q.50.00) 3. Salir. Al finalizar
despliegue cuantas personas ingresaron, cuantos eran afiliados,
cuántos niños y cuantos adultos y el total de dinero que ingreso.

8. Elabora un programa que calcule el total a pagar por la estadía en un


hospital despliegue el siguiente menú: 1. Medicina General (cancela
Q.70.00 por consulta más Q.125.00 por exámenes) 2. Cirugía
(cancela Q.5,500.00 por cirugía más Q.150.00 por día interno en el
hospital) 3. Maternidad (Q.3000.00 por cesárea más Q.150.00 por
día interno) 4. Salir al finalizar el programa despliegue cuantas
veces se eligió cada opción y cuanto es el total de dinero que ingreso.

76
Expertos en Compu FOXPRO

CONTENIDOS DEL CAPITULO

DEFINICIONES
CREACIÓN DE TABLAS
CONEXIÓN DE TABLAS Y PROGRAMAS

En los capítulos anteriores hemos trabajado la interface entre el


usuario y la computadora. En este capítulo aprenderemos que toda
información ingresada en un programa puede ser guardada y
volverla a utilizar cuando se requiera. Esto se hace en base a la
creación y administración de tablas. Las cuales se componen de
campos y registros.

Base de Datos

Es el conjunto de información que es ingresada, almacenada,


procesada, y organizada por medio de columnas y filas las que
menciona anteriormente como campos y registros.

Una base de datos es muy indispensable en el sistema de una


empresa, no importando la actividad que esta realice. Tener una base
de datos permite estar a la orden de la información cuando se necesite,
lleva control de todos los datos y presenta reportes actualizados.

77
Expertos en Compu FOXPRO

Campo: Conjunto de datos que poseen una misma característica.

Registro: Conjunto de datos de varios campos, pero de una


determinada persona, animal o cosa.

ºUna tabla está formada por campos y registros, lo que permiten hacer
uso de Base de Datos.

Ejemplo:

CAMPOS
ALUMNO GRADO SECCIÓN

Julio José Sagastume Penagos Cuarto A

Kimberly López Penagos Segundo C R


E
Gabriel Alexander Fong Penagos Primero B
G
Ángel Eduardo Sagastume Penagos Segundo A I
S
Keily Yamileth Penagos Ruiz Preparatoria D
T
Julio Pedro José Penagos Ruiz Kinder Garden 2 B R
Sarita Fong Penagos Kinder Garden 1 A O
S
Rosmary López Penagos Estimulación Temprana B

78
Expertos en Compu FOXPRO

Como crear una Base de Datos:

Paso 1 Se posiciona el cursor en el meno archivo y elige nuevo

Paso 2 Elige la opción TABLA y presiona un clic en el icono de


nuevo archivo

79
Expertos en Compu FOXPRO

Paso 3 Se graba la tabla antes de ser utilizada e ingresar los


campos.

Paso 4 El diseñador de tablas está listo para el ingreso de los


campos

80
Expertos en Compu FOXPRO

Paso 5 Aparece el diseñador de tablas, en donde se ingresan los


nombres de los campos que contendrán la información de los registros,
eligiendo el tipo de dato que tendrá cada uno de los campos y su
extensión.

Paso 6 Se ingresan todos los campos y al terminar se presiona el


botón aceptar.

81
Expertos en Compu FOXPRO

Paso 7 Luego de darle botón aceptar, hará la siguiente pregunta, si


la respuesta es afirmativa se abrirá una ventana lista para el ingreso de
registros tal como aparece en el paso 8. Si la respuesta es negativa,
entonces podrá regresar al programa fuente a continuar trabajando.

Paso 8 Se puede iniciar a trabajar en el ingreso de datos.

Paso 9 El nombre con que grabamos nuestra tabla, será importante


recordar, ya que para que los datos que se ingresen en el programa y
sean grabados en la base de datos sea necesario, escribir el nombre
como se grabó la base de datos.

82
Expertos en Compu FOXPRO

Comandos para el uso de las bases de datos

Comando Descripción

Append Blank Agrega a la base de datos un registro en blanco


en la última posición para que se ingrese otro
registro.

Use Pone en uso una tabla, escribiendo el nombre


de esta.

Ejemplo: Use Base1.dbf

Go top Envía el cursor al registro uno

Go Bottom Envía el cursor al último registro

Skip Mueve el apuntador en la base de datos por


medio de saltos específicos. Estos pueden ir de
uno en uno, de dos en dos, etc. tal como el
programador lo desee

Delete Borra uno o varios registros. Su formato de


aplicación varía, especificándole el rango que
se le asigne.

Browse Despliegue el total de ingresos que tiene una


tabla.

Close data based Permite cerrar una base de datos en uso.

Replace Permite remplazar el contenido del campo con


lo que tiene la variable.

83
Expertos en Compu FOXPRO

EJEMPLOS DE PROGRAMAS UTILIZANDO BASES


DE DATOS

EJEMPLO 25.

Programa que permite ingresar los datos personales de


una persona y los almacena en una tabla.

* Nombre: foxpro025.prg
* Autor: Julio Penagos
* Objetivo: El uso de una tabla.

set talk off


set status bar
store space (50) to nom,dir
store space (12) to tel,ced

USE "BASE1.DBF"

clear
set color to n/w*
@ 2,5 say "El Chinito, S.A." font "vivaldi",25 style "BI" color gr*/rg
@ 5,6 say "Ingrese Nombre: " font"advert",14 style "u" color b/g+
@ 7,6 say "Ingrese No. Cedula: " font"advert",14 style "u" color b/g+
@ 9,6 say "Ingrese Direccion: " font"advert",14 style "u" color b/g+
@ 11,6 say "Ingrese Telefono: " font"advert",14 style "u" color b/g+
@ 5,45 get nom font "times nex roman",15 pict "@!"
@ 7,45 get ced font "times nex roman",15 pict "A9-999999 "
@ 9,45 get dir font "times nex roman",15 pict "@X"
@ 11,45 get tel font "times nex roman",15 pict "9999999 "
read

APPEND BLANK
REPLACE N WITH NOM
REPLACE C WITH CED
REPLACE D WITH DIR
REPLACE T WITH TEL

wait window "Gracias por utilizar nuestro programa"


CLOSE DATA BASE
return

84
Expertos en Compu FOXPRO

Ejercicios

CUESTIONARIO
Contesta correctamente las siguientes preguntas utilizando
lapicero de tinta color negro o azul.

¿Qué es una base de Datos?

¿Qué es un registro?

¿Qué es un campo?

¿Cuál es el objetivo de crear tablas en un programa?

¿Cuáles son los tipos de datos que trabaja Foxpro en sus


tablas?

85
Expertos en Compu FOXPRO

1. Elabore un programa que permita ingresar el nombre de un


estudiante y se almacene en una base de datos.

2. Se requiere ingresar el número de estudiantes que ingresaron al


colegio este año y que se ingrese su nombre y en qué nivel le
corresponder estar de acuerdo a la nota que obtuvo en el
examen de diagnóstico de Inglés. De la siguiente manera: 100-90
Super Avanzados; 89-75 Avanzados; 74-60 Intermedios; de 59 a
1 Principiantes. El programa deberá ir acumulando los datos
ingresados, llevando un conteo de cuantos estudiantes hay en
cada nivel y guardarlo en una tabla.

3. Elaborar un programa que permita el ingreso del nombre de un


empleado y se ingrese su salario líquido, si el salario asciende a
Q.3,000.00 el empleado deberá entregar ante la SAT su planilla
del IVA. De los trabajadores de la empresa necesitamos saber
quiénes son los que tienen que presentar esa planilla ante la
SAT. Elabore el programa que procese esta información y se
guarde en una tabla los trabajadores que ganen más de Q.
3000.00 , los que ganen menos que Q. 3,000.00 no tienen que
aparecer en el listado.

4. Elabore un programa que lleve el control de las notas del


laboratorio de graduación dividido de la siguiente manera:

Primer laboratorio: Matemática 20%, Computación 30% y


Programación 50%
Segundo Laboratorio: Física 20%, Computación 30% y
Programación 50%
Tercer laboratorio: Química 20%, Biología 20%, Computación
20% y Programación 40%

Las notas se ingresan sobre 100 puntos y el alumno para tener


derecho a que realicen los porcentajes respectivos deberá haber
aprobado todas las áreas de cada laboratorio.

Graba una tabla de los que ganaron y en otra tabla los que
perdieron de acuerdo al cálculo que se realice. Pregunta si está
seguro de salir del programa o si desea otro ingreso.

86

También podría gustarte