1.- ALGORITMOS Y PROGRAMAS. Programación en Gambas Se puede definir un algoritmo con lo sucesión de pasos que se deben realizar desde que se plantea un problema hasta que éste queda totalmente resuelto. Un programa es similar a un algoritmo; la gran diferencia es que los pasos que permiten resolver el problema deben escribirse en un determinado lenguaje de programación, para que el ordenador pueda ejecutarlos y encontrar así la solución. PROBLEMA: Cambiar la rueda pinchada de un coche teniendo un gato mecánico en buen estado, una rueda de reemplazo y una llave inglesa. ALGORITMO: Inicio: Paso1: Aflojar los tornillos de la rueda pinchada con la llave. Paso2: Ubicar el gato mecánico en su sitio. Paso3: Levantar el coche con el gato hasta que la rueda pueda girar libremente. Paso4: Quitar los tornillos y la rueda pinchada. Paso5: Poner rueda de repuesto y tornillos. Paso6: Bajar con el gato el coche. Paso7: Sacar el gato de su sitio. Paso8: Apretar los tornillos de la rueda con la llave. Fin 2.- LENGUAJES DE PROGRAMACIÓN. La programación es la rama de la informática que permite crear programas propios para resolver distintos problemas. Para ello es necesario utilizar un software especial, denominado lenguaje de programación. 2.1.- Lenguajes de bajo nivel.
El lenguaje máquina. Éste es el único lenguaje que entiende el ordenador, ya que utiliza el alfabeto binario, es decir, 0 y 1. Fue el primer lenguaje que se empleó en programación, y no es portable, es decir, un mismo programa no puede utilizarse en ordenadores de características distintas. El lenguaje ensamblador. Fue el primer intento de sustituir el lenguaje máquina por otro más parecido a los que utilizan las personas, utilizando instrucciones, y disminuyendo así la probabilidad de cometer errores. Debido a que utiliza instrucciones, éste necesita un compilador, es decir, un programa que traduzca las instrucciones escritas al lenguaje máquina, único que entiende el ordenador. 2.2.- Lenguajes de alto nivel. Estos se crearon con los siguientes objetivos: Lograr la independencia del ordenador, ya que estos lenguajes sí son portables. Aproximar aún más sus instrucciones al lenguaje humano, de modo que los programas se puedan leer y escribir más fácilmente. Para ello utilizan palabras en lugar de cadenas de símbolos sin aparente significado, reduciendo así las posibilidades de cometer errores. Suministrar librerías de rutinas con las funciones de uso frecuente, entrada/salida, manejo de tablas,. Los lenguajes de alto nivel no son inteligibles directamente para el ordenador, necesitan ser compilados para obtener el programa en código máquina, para ello pueden usar un compilador o un intérprete, cuyas diferencias son: El compilador traduce todo el programa informando después de los errores de programación si los hubiera, mientras que el intérprete traduce línea a línea hasta que encuentra un error o hasta el final si no los hay. 3.- ENTORNO DE TRABAJO DE GAMBAS. Objetos, eventos, mensajes y procedimientos. La programación orientada a objetos (POO) está basada en la utilización de
objetos que, junto a las acciones que se pueden realizar con ellos (eventos) y a los mensajes que el programa recibe de las acciones del usuario, permiten obtener la solución de los problemas planteados. Todo lo que se puede ver en pantalla son objetos: ventanas, botones de acción, barras de desplazamiento, listas desplegables Cada una de las clases de objetos tiene propiedades generales que las distinguen entre sí; pero además, cada objeto posee otras particulares que le diferencian de los restantes objetos de su clase. El usuario puede realizar distintas acciones respecto a un objeto (hacer clic, posar el ratón sobre él, pulsar el botón derecho.) a estas acciones se las denomina, genéricamente, eventos. Cuando se ejecuta un programa orientado a objetos, todos ellos están recibiendo mensajes de qué está ocurriendo con los otros objetos, la respuesta que da un objeto a un mensaje no es otra que la designada por el usuario en el procedimiento correspondiente al evento en cuestión. 4.- COMO SE PROGRAMA EN GAMBAS. Programar en Gambas es una tarea algo diferente a la de otros lenguajes de programación. Los pasos para programar en Gambas se podrían resumir en: Añadir y preparar los formularios (ventanas) que vaya a necesitar la aplicación. Agregar los objetos (controles) necesarios a los formularios. Modificar las propiedades de los objetos agregados, incluidas las de los formularios. Crear los procedimientos asociados a los eventos de los objetos, de modo que se realicen las acciones necesarias a cada caso.
5.- CONTROLES. Etiqueta. Label. Permite crear controles etiqueta, utilizados para mostrar textos que el usuario no pueda ni deba modificar. Label1, label2,.. Caja de texto. Textbox. Permite insertar cuadros de texto, utilizados para escribir y/o modificar texto. Textbox1, Textbox2,. Botón de acción. Button(ok). Permite insertar controles de tipo botones de acción, que el usuario podrá utilizar, al hacer clic sobre ellos, acciones concretas. Button1, Button2, Casillas de Verificación. Checkbox. Utilizadas para mostrar dos posibles estados de una opción: activada o desactivada. Checkbox1, Checkbox2, Botones de Opción. RadioButton. Parecidos a las casillas de verificación, con la única diferencia de que el usuario solo podrá activar uno de los botones que se muestren agrupados, en caso de que existan varios agrupados, al activar uno se desactivará el que estuviese activo anteriormente. RadioButton1, RadioButton2,
Marco. Frame. Permite agregar un marco para agrupar controles que estén relacionados entre sí. Frame1, Frame2, Lista desplegable. Listbox. Añade elementos a una lista. ListBox1,Listbox2, Programación Estructurada. 1.- ESTRUCTURAS BÁSICAS DE CONTROL. La programación estructurada se basa en la utilización de las siguientes estructuras: - Estructura Secuencial: Es aquella en la que cada instrucción sigue a la anterior de modo que la salida de una sirve de entrada a la siguiente. - Estructura Selectiva: Las estructuras selectivas se usan para tomar decisiones lógicas. En ellas se evalúa una condición y, en función del resultado se realiza una u otra acción. - Estructura repetitiva: También denominadas bucles, se caracterizan por repetir una secuencia de instrucciones un número determinado de veces. Se conoce como iteración a la ejecución de todas las instrucciones que forman en bucle. 2.- Tipos de datos y declaración de variables. Los datos pueden comportarse de dos modos diferentes en un programa: - Como constantes; su valor no cambia nunca durante la ejecución de un programa. - Como variables; su valor varía tantas veces como sean necesario.
La declaración de variables puede ser de dos tipos: - - Privada: Se puede usar en todo el formulario pero no fuera de él, para ello pondríamos la sentencia PRIVATE seguido del nombre de la variable y el tipo de datos que va a almacenar. - Pública: Se puede usar en todo el formulario y también desde otro, citándola con el nombre del formulario, seguido del nombre de la variable. Formulario.Vble, para ello pondríamos la sentencia PUBLIC, seguida del nombre de la variable y el tipo de datos que va a almacenar. Los tipos de datos que vamos a ver son los siguientes: Cadena de caracteres ------> STRING: Podrá almacenar una cadena de caracteres. Entero Decimal -----------------------> INTEGER: Este dato podrá ser cualquier número entero. -----------------------> SINGLE: Este dato podrá ser cualquier número decimal. Ejemplos de declaración de variables: PUBLIC Nombrevaraible AS tipo de dato PUBLIC a as integer PUBLIC s as single. Ejemplos de declaración de constantes: PUBLIC CONST Nombre AS Tipo dato= Valor PUBLIC const pi as single=3.141592 3.- Algunas funciones. INPUTBOX. ---> Sirve para pedir al programa un dato, éste se introduce a través de un cuadro de diálogo. Su formato es: a= INPUTBOX("dime ") PRINT. ----> Sirve para visualizar datos en la consola. Su formato general es: PRINT " el valor de...:"; vble; valor de la variable es & vble) o para visualizar en formulario, message.info( el
EJEMPLO UTILIZACIÓN DE VARAIBLES. Suma de dos números cualesquiera. 1.- Declarar las variables. a,b,suma. 2.- Asignarles valor: - Mediante cuadros de texto. - Mediante la instrucción inputbox. 3.- Suma=a+b. 4.- Visualizar resultado: - Mediante label. - Mediante la instrucción print. - Mediante un message.info ( ). 4.- Operadores aritméticos, relacionales y lógicos. 4.1.- Aritméticos. Operación Operador Característica Suma + Diferencia - Multiplicación * División / Potenciación
Resto de una división Mod Calcula el resto de una divisi 4.2.- Relacionales. OPERADOR SÍMBOLO DESCRIPCIÓN Igual que = Mayor que > Menor que < Mayor o igual que >= Menor o igual que <= A=B toma valor verdadero cuando a=b, y falso en caso contrario A>B toma valor verdadero cuando a>b, y falso en caso contrario A<B toma el valor verdadero cuando a<b, y falso en caso contrario. A>=B toma el valor verdadero cuando a>=b, y falso en caso contrario. A<=B toma el valor verdadero cuando a<=b, y falso en caso contrario. Distinto de <> A<>B toma el valor verdadero cuando
a<>b, y falso en caso contrario. 4.3.- Lógicos. OPERADOR SÍMBOLO DESCRIPCIÓN Y O Negación And Or Not Solo toma valor verdadero cuando lo son todas las expresiones implicadas, en cuanto una de ellas sea falsa, la expresión tomará valor falso. Tomará valor verdadero si al menos una de las expresiones es verdadera. Solo será falso si todas las expresiones son falsas. Este operador hace que la expresión tome el valor verdadero cuando no se cumpla la condición, y tome falso cuando si lo haga.
5.- Estructura selectiva. 5.1.- Instrucción IF (cond) THEN ELSE... ENDIF O IF (cond) THEN.. 6.- Estructuras repetitivas. 6.1.- Instrucción FOR(i=a to b step incremento)... NEXT 6.2.- Instrucción DO WHILE (cond)... LOOP 6.3.- Instrucción WHILE (cond)... WEND 6.4.- Instrucción REPEAT... UNTIL (Cond)
7.- Controles de listas. 7.1.- Añadir, borrar y eliminar una lista.(listbox1) Añadir: listbox1.add( texto ) o listbox1.add(número) Borrar lista: listbox1.clear Eliminar una lista: Listbox1.delete