Presentación de PowerPoint · programación visual para desarrollar aplicaciones gráficas o de...

27
1 EVENTOS OBJETOS Desarrollo del software Introducción a la Programación Matemática. L. Cabello & P. Villegas ALGORITMOS CÓDIGO EN GAMBAS PROGRAMA FUNCIONANDO ESTALMAT Andalucía Oriental

Transcript of Presentación de PowerPoint · programación visual para desarrollar aplicaciones gráficas o de...

Page 1: Presentación de PowerPoint · programación visual para desarrollar aplicaciones gráficas o de consola. Hace posible el desarrollo de aplicaciones complicadas muy rápidamente.

1

EVENTOS

OBJETOS

Desarrollo del software

Introducción a la Programación Matemática.

L. Cabello & P. Villegas

ALGORITMOS

CÓDIGO EN

GAMBAS

PROGRAMA

FUNCIONANDO

ESTALMATAndalucía Oriental

Page 2: Presentación de PowerPoint · programación visual para desarrollar aplicaciones gráficas o de consola. Hace posible el desarrollo de aplicaciones complicadas muy rápidamente.

2

Algoritmos y programas

Programa:

Realiza una determinada actividad de forma organizada.

Algoritmo:

Describe los pasos a seguir y el orden de ejecución

Lenguajes de programación

Código:

Son las miles de líneas que hay que escribir en un lenguaje de programación para que funcione el programa.

Programa:Programa:

Page 3: Presentación de PowerPoint · programación visual para desarrollar aplicaciones gráficas o de consola. Hace posible el desarrollo de aplicaciones complicadas muy rápidamente.

3

✔Crear programas para resolver problemas✔Necesitamos un software = lenguaje de programaciónLenguajes de programaciónLenguaje que usan los programadores para comunicar instrucciones a un ordenador y poder ejecutar un programa. Se pueden dividir en dos categorías fundamentales:

Lenguajes de bajo nivel Diseñados para ejecutarse en un ordenador determinado.

Lenguajes de alto nivelSe puede utilizar en cualquier ordenador. No ofrecen necesariamente mayores capacidades de programación, pero sí mejora la interacción programador-máquina. Cuanto más alto es el nivel del lenguaje, más sencillo es comprenderlo y utilizarlo.

Lenguajes de programación

Page 4: Presentación de PowerPoint · programación visual para desarrollar aplicaciones gráficas o de consola. Hace posible el desarrollo de aplicaciones complicadas muy rápidamente.

4

Lenguajes de alto nivel Hay para todos los gustos

– Estructurados (Gambas, C, Pascal, Basic, etc.)– Funcionales (CAML, Haskell)– Declarativos (Prolog)– Orientados a Objetos (Gambas, C++, C#, VB.NET, Smalltalk, Java)– Orientados a Aspectos– Manejado por eventos (Gambas, Visual Basic, C,..)– Híbridos (Lisp, Visual Basic)– Incomprensibles....

Cada enfoque tiene sus ventajas y desventajas Cada uno es más apropiado para ciertas cosas

Page 5: Presentación de PowerPoint · programación visual para desarrollar aplicaciones gráficas o de consola. Hace posible el desarrollo de aplicaciones complicadas muy rápidamente.

5

GambasAlmostMeansBASIC

...de verdad?

El nombre de Gambas responde al acrónimo recursivo Gambas Almost Means Basic (Gambas Casi Significa Basic). En realidad no podemos considerarlo un clon de BASIC, puesto que Gambas también está muy inspirado por el lenguaje de programación Java.

Page 6: Presentación de PowerPoint · programación visual para desarrollar aplicaciones gráficas o de consola. Hace posible el desarrollo de aplicaciones complicadas muy rápidamente.

¿QUÉ ES GAMBAS?¿QUÉ ES GAMBAS?Gambas no es solo un lenguaje de programación, es también un entorno de programación visual para desarrollar aplicaciones gráficas o de consola. Hace posible el desarrollo de aplicaciones complicadas muy rápidamente. El programador diseña las ventanas de forma gráfica, arrastra objetos desde la caja de herramientas y escribe el código en BASIC para cada objeto.

Implementa tres formas de programar:Implementa tres formas de programar:Programación estructurada (o procedimental)Programación orientada a objetosProgramación manejada por eventos

¿ES GAMBAS SOFTWARE LIBRE?¿ES GAMBAS SOFTWARE LIBRE?Sí. Gambas se distribuye con la licencia GPL GNU (General Public Licence). Significa que se distribuye con el código fuente y respeta las cuatro libertades definidas por la Free Software Fundation.

Entorno de programación Gambas

Page 7: Presentación de PowerPoint · programación visual para desarrollar aplicaciones gráficas o de consola. Hace posible el desarrollo de aplicaciones complicadas muy rápidamente.

ELEMENTOS DE GAMBASELEMENTOS DE GAMBASPara poder desarrollar y ejecutar programas en Gambas, son necesarios los siguientes elementos:

Un compilador, que se encargará de transformar el código fuente y archivos que formen parte de un proyecto hecho en Gambas, es un programa ejecutable.Un intérprete capaz de hacer que los programas hechos en Gambas sean ejecutados por el sistema operativo.Un entorno de desarrollo que facilite la programación y diseño de las interfaces gráficas de los programas.Componentes que añaden funcionalidad al lenguaje. La palabra componente en Gambas tiene un significado específico, ya que no alude a partes genéricas, sino a librerías específicas que le dotan de más posibilidades.

En la actualidad existen componentes para usar xml, conexiones de red, opengl, ODBC, distintas bases de datos, escritorios basados en qt, en gtk, etc.

El IDE de Gambas

Page 8: Presentación de PowerPoint · programación visual para desarrollar aplicaciones gráficas o de consola. Hace posible el desarrollo de aplicaciones complicadas muy rápidamente.

El IDE de Gambas

Page 9: Presentación de PowerPoint · programación visual para desarrollar aplicaciones gráficas o de consola. Hace posible el desarrollo de aplicaciones complicadas muy rápidamente.

Aplicación de consola: Primer ejemplo1. Aplicaciones>programación>Gambas2 y clic en nuevo proyecto:

2. Selecciona aplicación consola y pulsa siguiente

3. Elige directorio para guardar el proyecto y pulsa siguiente

4. Escribe el nombre, título y pulsa OK. Pulsa OK otra vez. Se ha creado el proyecto

5.Botón secundario sobre Mmain y clic en renombrar. Cámbiaselo y haz doble clic sobre él.

6.Escribe la línea que falta. Pulsa el Boton . Observa la consola.

Page 10: Presentación de PowerPoint · programación visual para desarrollar aplicaciones gráficas o de consola. Hace posible el desarrollo de aplicaciones complicadas muy rápidamente.

Aplicación gráfica: Ejemplo

1. Crea un nuevo proyecto2. Tipo: Aplicación gráfica GTK+3. Nombre: SaludosEstalmat24. Renombra Fmain por FSaludosEstalmat25. Doble Clic en FsaludosEstalmat2 para abrir el formulario.6. En la ventana propiedades cambiamos el color del fondo, ponemos un icono y cambiamos la propiedad Text yescribimos Fsaludos.

7. Agrega 4 controles: 1 textlabel y tres Button. Cambia las propiedades Name y Text: TextLabel1->Name:txtlAnuncio->Text:GASEOSA LA...Button1->Name:butOcultar->Text:Ocultar AnuncioButton2->Name:butSaludar->Text:SaludarButton3->Name:butSalir->Text:SalirCambia las Propiedades de color de txtlAnuncio

8. Programemos los eventos de los botones. Haz doble clic en el Button Ocultar anuncio y escribe donde está el cursor: txtlAnuncio.Visible = FALSE 9. Vuelve al formulario y haz doble clic sobre el Button Saludar y escribe: Message.Info("Hola Estalmat") 10. Lo mismo sobre el button Salir: ME.Close

Page 11: Presentación de PowerPoint · programación visual para desarrollar aplicaciones gráficas o de consola. Hace posible el desarrollo de aplicaciones complicadas muy rápidamente.

GALERÍA DE CONTROLESGALERÍA DE CONTROLES

LabelLabel: Es una etiqueta simple que contiene una línea de texto de poca longitud. Su función es mostrar un texto en una posición dentro de un formulario.TextLabelTextLabel: Similar al Label, pero puede mostrar texto formateado con HTML.Ejemplo:TextLabel1.Text=”<b>Texto con HTML</b><br>Dentro de una<i>etiqueta</i>.”TextLabel1.Text=”<b>Texto con HTML</b><br>Dentro de una<i>etiqueta</i>.”TextBoxTextBox: Es una caja de texto, de una sola línea, en la cual el usuario puede modificar, copiar, cortar o borrar texto.TextAreaTextArea: Se trata de una caja de texto que es capaz de contener múltiples líneas.PictureBoxPictureBox: Tiene la función de mostrar una imagen. Responde a eventos del ratón, por lo que puede ser empleado como botón personalizado.ListBoxListBox: Es una lista simple. Se añaden o eliminan elementos que se representan como una línea de texto cada uno. La propiedad Mode determina si el usuario no puede seleccionar ninguno, solo uno o varios.ListViewListView: Similar al ListBox. Puede representar un icono junto con cada elemento de la lista, y cada uno de ellos está identificado por una clave única de texto, que nos permite hacer búsquedas de los elementos por su clave.ComboBoxComboBox: Es una lista desplegable. El usuario solo ve el elemento seleccionado en cada momento y puede desplegar la lista para seleccionar uno u otro.

Controles para formularios en Gambas

Page 12: Presentación de PowerPoint · programación visual para desarrollar aplicaciones gráficas o de consola. Hace posible el desarrollo de aplicaciones complicadas muy rápidamente.

DIÁLOGOS (Mensajes)DIÁLOGOS (Mensajes)La clase Message se encarga de mostrar una ventana modal al usuario, en la cual podemos definir un texto, que será una información o una pregunta, y una serie de botones para elegir una opción.Message.Info:Message.Info: se utiliza para mostrar un mensaje meramente informativo. Solo permite definir un botón que normalmente tendrá un texto como OK o Aceptar.

Ejemplo: Messaje.info (“esto es un mensaje”)

Message.DeleteMessage.Delete: se utiliza para indicar que se va a proceder a eliminar algo (archivos, registros de una tabla, etc), y se solicita al usuario su confirmación.

Message.ErrorMessage.Error: Se emplea para indicar un mensaje de error.

Message.QuestionMessage.Question: es una pregunta al usuario, generalmente para confirmar una acción o una opción de configuración.

Message.WarningMessage.Warning: advierte al usuario de que la acción que va a realizar supone un cierto peligro, por ejemplo, pérdida de datos de una tabla que podrían ser útiles aún.

Ventanas para mostrar información

Page 13: Presentación de PowerPoint · programación visual para desarrollar aplicaciones gráficas o de consola. Hace posible el desarrollo de aplicaciones complicadas muy rápidamente.

Los métodos de la clase Message devuelven un número entero que denota el botón que el usuario pulsó. En este sentido, podemos personalizar los mensajes, con la cantidad de botones que queramos y el mensaje que deseemos.

Ejemplo:

Dim Respuesta as IntegerRespuesta=Message.Warning(“¿Desea cerrar el programa?”, “Si”, “No”, “De repente”)IF Respuesta=1 THENMessage.Info(“Gracias por usar el Programa”)Me.closeELSE Message.Info(“A ver si te decides...”)ENDIF

Ventanas para mostrar información

Page 14: Presentación de PowerPoint · programación visual para desarrollar aplicaciones gráficas o de consola. Hace posible el desarrollo de aplicaciones complicadas muy rápidamente.

VARIABLEVARIABLE es una porción de memoria del ordenador que se utiliza en Gambas para guardar un dato (información) y a la que se le asigna un identificador. Radio=4

DECLARACIÓN DE VARIABLESDECLARACIÓN DE VARIABLESPara poder utilizar una variable hay que declararla(?).Sintaxis de declaración de una variable que se va a utilizar en un procedimiento (subrutina) o en una función:

DIM nombre_variable AS tipo_variable

tipo_variable: hace referencia al tipo de dato de la variable: número entero, cadena, decimal, boleano, etc.

DIM Nombre AS String; DIM Radio AS float

ÁMBITO DE LAS VARIABLESÁMBITO DE LAS VARIABLESLas variables que se declaren en un subrutina o función solo se usarán dentro de ellas. Cuando terminen se destruirán. Esto permite utilizar el mismo nombre de variable dentro de distintas subrutinas y su valor nunca se confundirá o mezclará.

Variables en Gambas

Page 15: Presentación de PowerPoint · programación visual para desarrollar aplicaciones gráficas o de consola. Hace posible el desarrollo de aplicaciones complicadas muy rápidamente.

Para declarar una variable al principio del Módulo o Clase se usa la sintaxis:Para declarar una variable al principio del Módulo o Clase se usa la sintaxis:

[STATIC] (PUBLIC | PRIVATE) nombre_variable AS tipo_variable

Si se define PRIVATE: estará disponible dentro de todo el fichero, pero no será accesible desde otros ficheros del mismo proyecto.

Si se define PUBLIC: se podrá acceder a la variable desde un fichero del proyecto distinto a donde se declaró.

Si se define STATIC: Se usa en los archivos de clase, no en los Módulos. Sirve para definir un comportamiento especial en todos los objetos de una misma clase.

Variables en Gambas

Page 16: Presentación de PowerPoint · programación visual para desarrollar aplicaciones gráficas o de consola. Hace posible el desarrollo de aplicaciones complicadas muy rápidamente.

Los tipos de datos, que se pueden asignar a las variables, soportados por Gambas, son los siguientes:

BooleanBoolean: solo acepta valores True o False.ByteByte: representa un número entero positivo entre 0 y 255.ShortShort: representa un número entero con valores posibles entre ­32.768 y +32.767IntegerInteger: representa un número entero con valores posibles entre ­2.147.483.648 y +2.147.483.647.LongLong: representa un número entero con valores posibles entre: ­9.223.372.036.854.775.808 y +9.223.372.036.854.775.807SingleSingle: representa un número real, con decimales, con valores posibles entre ­1.7014118E+38 y +1,7014118E+38.FloatFloat: representa un número real, con decimales, con valores posibles entre ­8,98846567431105E+307 y + 8,98846567431105E+307.DateDate: almacena valores de fecha y hora. Internamente la fecha y la hora se almacenan en formato UTC.StringString: se usa para almacenar una cadena de texto.VariantVariant: significa cualquier tipo de dato, es decir, se puede almacenar integer, single, boolean, etc.ObjectObject: representa cualquier objeto creado en Gambas.

Datos en Gambas

Page 17: Presentación de PowerPoint · programación visual para desarrollar aplicaciones gráficas o de consola. Hace posible el desarrollo de aplicaciones complicadas muy rápidamente.

Cbool(expresión):Cbool(expresión): convierte la expresión a un valor booleano. Dim Positivo As Boolean. Positivo= Cbool(5 < 0). En positivo está False

Cshort(expresión), Cint(expresión) o Cinteger(expresión), y Clong(expresión):Cshort(expresión), Cint(expresión) o Cinteger(expresión), y Clong(expresión): convierte respectivamente, la expresión en un número de tipo Short, Integer y Long.

Cdate(expresión):Cdate(expresión): convierte la expresión en una fecha. Debe tener cuidado porque solo admite formato de fecha en inglés mes/día/año hora:minutos:segundos. Ejemplo:Cdate(“09/06/1972) 01:45:12”), donde 06 será el día 06 y no el mes 06.

CStr (expresión):CStr (expresión): convierte la expresión en una cadena de texto sin tener en cuenta la configuración local.

Str$(expresión):Str$(expresión): convierte la expresión en una cadena de texto, teniendo en cuenta la configuración local. ejemplo. Str$(CDate(“09/06/1972 01:45:12”)) devuelve: “06/09/1972 01:45:12”

Val(expresión):Val(expresión): convierte una cadena de texto en un tipo Boolean, Date o alguno de los tipos numéricos, dependiendo del contenido de la expresión.

Conversión de datos en Gambas

Page 18: Presentación de PowerPoint · programación visual para desarrollar aplicaciones gráficas o de consola. Hace posible el desarrollo de aplicaciones complicadas muy rápidamente.

Además de los operadores matemáticos (+,-,*,/) ya conocidos en casi todos los Además de los operadores matemáticos (+,-,*,/) ya conocidos en casi todos los lenguajes de programación, citamos los siguientes:lenguajes de programación, citamos los siguientes:^̂ es el operador de potencia. Ejemplo: 4^3=64Para la división hay dos operadores adicionales, DIV y MODDIV y MOD, que devuelven respectivamente, la parte entera del resultado de la división y el resto. Ejemplo: Dim Numero As Integer. Numero = 9 DIV 2 , Numero = 9 MOD 4. ¿Qué hay en Numero después de la primera asignación? ¿Después de la segunda?

Existen también funciones matemáticas para realizar cálculos más complejos:Abs(numero):Abs(numero): calcula el valor absoluto de un número.Dec(numero)Dec(numero): decrementa un número.Frac(numero)Frac(numero): devuelve la parte decimal de un número.Inc(numero)Inc(numero): incrementa un número.Int(numero)Int(numero): devuelve la parte entera de un número.Max(numero1, numero2, ...)Max(numero1, numero2, ...): devuelve el número mayor.Min(numero1, numero2, ...)Min(numero1, numero2, ...): devuelve el número menor.Round(numero,decimales)Round(numero,decimales): redondea un número con los decimales deseados.Rnd([mínimo],[máximo])Rnd([mínimo],[máximo]): devuelve un número aleatorio comprendido entre mínimo y máximo.

Operadores Matemáticos en Gambas

Page 19: Presentación de PowerPoint · programación visual para desarrollar aplicaciones gráficas o de consola. Hace posible el desarrollo de aplicaciones complicadas muy rápidamente.

Existe un manejador de cadenas de texto que permite concatenarlas directamente, se trata del símbolo &&. Ejemplo:

Dim nombre AS StringDim Apellidos AS StringNombre=”Manuel”Apellidos=”Álvarez Gómez”PRINT Apellidos & “, “ & Nombre

La salida en consola será:Álvarez Gómez, Manuel

Cadenas de texto en Gambas

Page 20: Presentación de PowerPoint · programación visual para desarrollar aplicaciones gráficas o de consola. Hace posible el desarrollo de aplicaciones complicadas muy rápidamente.

If ... Then ... Else: Es la sentencia mas común para tomar una If ... Then ... Else: Es la sentencia mas común para tomar una decisión:decisión:Sintaxis Básica:IF expresión THEN <líneas de sentencias>ENDIF

Si se ejecuta una sola instrucción: IF expresión THEN sentencia_a_ejecutar.Ejemplo:IF edad > 20 THEN PRINT “Adulto”

Control del flujo en Gambas

IF expresión THEN <líneas de sentencias>ELSE <líneas de sentencias>ENDIF

Ejemplo

IF Edad < 2 AND edad > 0 THEN PRINT “Bebe”ELSE IF Edad < 12 THEN PRINT “Niño”ELSE IF edad < 18 THEN PRINT “Joven”ELSE PRINT “Adulto”ENDIF

Ejemplo:

DIM edad AS Integeredad=18IF Edad > 20 THEN PRINT “Adulto” PRINT “Qué mayor”ENDIF

Ejemplo:

IF Edad > 18 THEN PRINT “Adulto” PRINT “Qué mayor”ELSE PRINT “ Menor”ENDIF

Page 21: Presentación de PowerPoint · programación visual para desarrollar aplicaciones gráficas o de consola. Hace posible el desarrollo de aplicaciones complicadas muy rápidamente.

Teorema de Pitágoras1. Abre un proyecto de consola, en nombre pones Hipotenusa y el formulario lo renombras como Mhipotenusa. Haces doble clic sobre el nombre y escribes:

2. Diseña un solución gráfica para el teorema de Pitágoras. La solución está en los apuntes que te entregamos.

Page 22: Presentación de PowerPoint · programación visual para desarrollar aplicaciones gráficas o de consola. Hace posible el desarrollo de aplicaciones complicadas muy rápidamente.

Control Control SELECT CASESELECT CASE..Esta sentencia produce un código limpio y cómodo de leer. Su sintaxis en el recuadro de la izquierda y un ejemplo en la derecha:

Control del flujo en Gambas

SELECT [CASE] Expresión[CASE expresión [TO expresión #2] [, ...]... ][CASE expresión [TO expresión #2] [, ...]... ][ {CASE ELSE | DEFAULT}... }END SELECT

Ejemplo:DIM edad AS IntegerEdad=Rnd(0, 100) SELECT CASE edadCASE 0 TO 2 PRINT “Bebe”CASE 2 TO 12 PRINT “Niño”CASE 18 PRINT “Bingo, ya puedes votar”CASE 13 TO 17 PRINT “Joven”CASE ELSE PRINT “Adulto”END SELECT

Page 23: Presentación de PowerPoint · programación visual para desarrollar aplicaciones gráficas o de consola. Hace posible el desarrollo de aplicaciones complicadas muy rápidamente.

Control FORControl FOR

Generalmente usado cuando se necesita contar o realizar una acción un número determinado de veces.

Sintaxis:

FOR variable = Expresión TO Expresión [ STEP expresión ] <líneas de sentencias>NEXT

Ejemplo:

DIM n AS IntegerFOR n = 10 TO 1 STEP ­1 PRINT nNEXT

Bucles o iteraciones en Gambas

Page 24: Presentación de PowerPoint · programación visual para desarrollar aplicaciones gráficas o de consola. Hace posible el desarrollo de aplicaciones complicadas muy rápidamente.

Control WHILE y REPEATControl WHILE y REPEAT

Cuando se requiere repetir la ejecución de una porción del código en varias ocasiones dependiendo de una condición, tenemos dos instrucciones distintas:

Estructuras de repetición en Gambas

La sintaxis de ambas es:

WHILE Condición ... instruccionesWEND

REPEAT ... instruccionesUNTIL Condición

EjemplosDIM Queda as IntegerQueda=36WHILE (Queda Mod 2 = 0) Queda=Queda / 2 PRINT QuedaWEND -----DIM Queda as IntegerQueda=36REPEAT Queda=Queda / 2 PRINT QuedaUNTIL (Queda Mod 2 = 0)

Page 25: Presentación de PowerPoint · programación visual para desarrollar aplicaciones gráficas o de consola. Hace posible el desarrollo de aplicaciones complicadas muy rápidamente.

Ejercicios prácticos

2. Diseña una solución en Gambas que averigüe cuántos números enteros positivos menores que un cierto número p entero positivo dado de antemano, tienen como únicos factores primos al 2, 3 ó 5. (Por ejemplo: 2, 3, 5, 6, 8, 10, 12, 15, 30, 60, ...)

Page 26: Presentación de PowerPoint · programación visual para desarrollar aplicaciones gráficas o de consola. Hace posible el desarrollo de aplicaciones complicadas muy rápidamente.

Ejercicios prácticos

Introduces un valor en el textBox elegimos la operación (+,*,-,/), introduces el segundo valor y le das al button “=”.En caso de elegir el factorial después del primer valor se elige la operación factorial y a continuación se pulsa el buton “=”

1. Crea una calculadora básica con cinco operaciones, con el formulario de la imagen y que funcione de la siguiente manera:

Page 27: Presentación de PowerPoint · programación visual para desarrollar aplicaciones gráficas o de consola. Hace posible el desarrollo de aplicaciones complicadas muy rápidamente.

27

GAMBAS

http://gambas.sourceforge.net

http://gambasdoc.org

http://gambasrad.org

http://www.gambas-es.org/

http://en.wik ibooks.org/wik i/Gambas