Libro “GAMBAS, programación visual con Software Libre”, de la editorial EDIT LIN EDITORIAL S.L., cuyos autores son Daniel Campos Fernández y José Luis Redrejo.
Libro “Fundamentos de programación”, de la editorial Univ. Politécnica de Valencia, cuyos autores son Mª Alpuente Fresnedo y otros.
Contenidos
1. Operaciones matemáticas
Ahora que ya sabemos cómo declarar variables y constantes, y cómo asignarle valor a dichas variables y constantes, vamos a ver qué operaciones podemos realizar con ellas.
Cuando se trata de trabajar con números, Gambas tiene las operaciones habituales en casi todos los lenguajes de programación:
Operaciones básicas. Corresponden a los símbolos +, - , * y / se usan, respectivamente, para la suma, resta, multiplicación y división.
Operador de potencia. Símbolo ^. Por ejemplo, 4 ^ 3 = 64.
Para la división hay dos operadores adicionales, \ y MOD, que devuelven, respectivamente, la parte entera del resultado de la división y el resto. Es decir: 9 \ 2= 4 y 9 MOD 4 = 1
Aparte de estos operadores existen las siguientes funciones matemáticas para realizar calculos más complejos:
Operación
Descripción
Abs (número)
Devuelve el valor absoluto de un número.
Dec (número)
Decrementa un número.
Frac (número)
Devuelve la parte decimal de un número.
Inc (número)
Incrementa un número.
Int (número)
Devuelve la parte entera de un número.
Max (número1, número2, ...)
Devuelve el número mayor.
Min (número1, número2, ...)
Devuelve el número menor.
Round (número,decimales)
Redondea un número con los decimales deseados.
Sgn (número)
Devuelve el signo de un número.
Rnd ([mínímo],[máximo])
Devuelve un número aleatorio comprendido entre mínimo y máximo. Si no se expresa ningún valor para mínimo y máximo, el número estará comprendido entre 0 y 1. Si sólo se expresa un valor, el número estará comprendido entre el 0 y ese valor. Muy importante: antes de usar Rnd es necesario ejecutar la instrucción Randomize que inicializa el generador de números aleatorios. Si no se hace, se obtendrá el mismo número en sucesivas ejecuciones de Rnd.
A continuación vamos a crear diferentes programas con operaciones matemáticas.
Abrimos Gambas.
Hacemos clic en la opción Nuevo proyecto.
Marcamos la opción Aplicación de consola y hacemos clic en el botón Siguiente.
Seleccionamos en nuestro directorio personal el directorio BASIC/1MTEXTO creado anteriormente Documentos/BASIC/1MTEXTO.
Hacemos clic en el botón Siguiente.
Le damos un nombre y título al proyecto. En el primer campo escribimos “04PrgAritmetico”. En el segundo campo escribimos “Proyecto operaciones aritméticas”. El asistente creará un nuevo directorio con el nombre del proyecto (campo 1) y ahí irá introduciendo todos los archivos necesarios para el desarrollo de la aplicación.
Hacemos clic en OK.
Vamos a crear un núevo módulo para nuestro primer ejemplo.
1.1. Cambio de signo
Hacemos clic con el botón derecho del ratón sobre el árbol de carpetas. Aparecerá un menú contextual. Elegimos la opción Nuevo→Módulo.
Surgirá una ventana en la que escribimos el nombre del Módulo: “IntReal”. Pulsamos el botón OK.
Hacemos clic con el botón derecho del ratón sobre el nuevo módulo y marcamos la opción Clase de inicio.
Escribimos en el módulo el siguiente código:
El operador & se utiliza para concatenar (unir) cadenas de texto. Normalmente se emplea a la hora de mostrar resultados en pantalla.
Ejecuta el programa. Pulsa en el botón con el símbolo del Play, que está en la pantalla del proyecto. Si todo va bien (y debería), la consola nos mostrará el resultado:
Comprueba que el valor de la variable Num1 cambia de positivo a negativo y el de Num2 de negativo a positivo.
Guardar los cambios del proyecto.
1.2. Resta de números
Hacemos clic con el botón derecho del ratón sobre el árbol de carpetas. Aparecerá un menú contextual. Elegimos la opción Nuevo→Módulo.
Surgirá una ventana en la que escribimos el nombre del Módulo: “Resta”. Pulsamos el botón OK.
Hacemos clic con el botón derecho del ratón sobre el nuevo módulo y marcamos la opción Clase de inicio.
Escribimos en el módulo el siguiente código:
Ejecutamos el programa.
La consola nos mostrará el resultado:
Guardamos los cambios.
1.3. Multiplicación de números
Hacemos clic con el botón derecho del ratón sobre el árbol de carpetas. Aparecerá un menú contextual. Elegimos la opción Nuevo→Módulo.
Surgirá una ventana en la que escribimos el nombre del Módulo: “Multiplicacion”. Pulsamos el botón OK.
Hacemos clic con el botón derecho del ratón sobre el nuevo módulo y marcamos la opción Clase de inicio.
Escribimos en el módulo el siguiente código:
Ejecutamos el programa.
La consola nos mostrará el resultado:
Guardamos los cambios.
1.4. División de números
Hacemos clic con el botón derecho del ratón sobre el árbol de carpetas. Aparecerá un menú contextual. Elegimos la opción Nuevo→Módulo.
Surgirá una ventana en la que escribimos el nombre del Módulo: “Division”. Pulsamos el botón OK.
Hacemos clic con el botón derecho del ratón sobre el nuevo módulo y marcamos la opción Clase de inicio.
Escribimos en el módulo el siguiente código:
Ejecutamos el programa.
La consola nos mostrará el resultado:
Guardamos los cambios.
1.5. División entera
Hacemos clic con el botón derecho del ratón sobre el árbol de carpetas. Aparecerá un menú contextual. Elegimos la opción Nuevo→Módulo.
Surgirá una ventana en la que escribimos el nombre del Módulo: “DivEntera”. Pulsamos el botón OK.
Hacemos clic con el botón derecho del ratón sobre el nuevo módulo y marcamos la opción Clase de inicio.
Escribimos en el módulo el siguiente código:
Ejecutamos el programa.
La consola nos mostrará el resultado con el cociente de la división:
Guardamos los cambios.
Ahora modificar el código para añadir la información del resto de la división, utilizando la función MOD.
Ejecutamos el programa. La consola nos mostrará el resultado añadiendo más detalles:
Guardamos los cambios.
1.6. División por cero
¿Qué ocurre cuando el divisor es cero?
Vamos al módulo “Division”.
Hacemos clic con el botón derecho del ratón y marcar la opción Clase de inicio.
Modificamos el código para que el divisor sea 0.
Ejecutamos el programa. Gambas nos mostrará una ventana de error:
Hacemos clic en el botón Stop. De este modo, paramos el programa. Posteriormente veremos cómo solucionar este problema.
Guardamos los cambios.
1.7. Potencias
Hacemos clic con el botón derecho del ratón sobre el árbol de carpetas. Aparecerá un menú contextual. Elegimos la opción Nuevo→Módulo.
Surgirá una ventana en la que escribimos el nombre del Módulo: “Potencia”. Pulsamos el botón OK.
Hacemos clic con el botón derecho del ratón sobre el nuevo módulo y marcamos la opción Clase de inicio.
Escribimos en el módulo el siguiente código:
Ejecutamos el programa.
La consola nos mostrará el resultado:
Guardamos los cambios.
1.8. Operaciones de incremento y decremento
Recordemos que INC incrementa un número en una unidad y DEC lo decrementa.
Hacemos clic con el botón derecho del ratón sobre el árbol de carpetas. Aparecerá un menú contextual. Elegimos la opción Nuevo→Módulo.
Surgirá una ventana en la que escribimos el nombre del Módulo: “Incremento”. Pulsamos el botón OK.
Hacemos clic con el botón derecho del ratón sobre el nuevo módulo y marcamos la opción Clase de inicio.
Escribimos en el módulo el siguiente código:
Ejecutamos el programa.
La consola nos mostrará el resultado:
Guardamos los cambios.
2. Conversión de tipos
Gambas permite distintas conversiones entre tipos de datos. La forma de hacer la conversión puede ser implícita o explícita.
2.1. Conversión Implícita
Son conversiones implícitas cuando el propio intérprete de Gambas se encarga de gestionarlas. Por ejemplo:
En este caso, para poder realizar la multiplicación, el intérprete convierte, de forma transparente para el programador, el operando2 a un valor real (Float). Nuestro cerebro puede multiplicar de cabeza estos 2 números, pero para un ordenador pertenecen a tipos distintos y, en consecuencia, debe convertirlos para poder operar. En este caso, el computador convierte el entero 2 al real 2,0 y efectúa la operación.
2.2. Conversión Explícita
Son conversiones explícitas las que debe hacer el programador al escribir el código para poder realizar operaciones, mezclar datos de distintos tipos, etc. Estas conversiones se hacen mediante unas funciones que están incluidas en el BASIC de Gambas.
Las conversiones explícitas se tratarán más adelante.
Ejercicio
Sube TODOS los módulos que has hecho en esta unidad a la plataforma en el apartado "Sube aquí tus ejercicios paso a paso".
Aquí deberás subir:
IntReal
Resta
Multiplicacion
Division
DivEntera
Potencia
Incremento
Recuerda que estarán en tu carpeta 04PrgAritmetico. No te preocupes, en este lugar podrás subirlos todos sin que se borren los anteriores.
Ejercicio
Ahora sin ayuda y aplicando todo lo que has hecho en la unidad deberás hacer el siguiente ejercicio.
Sigue con el proyecto “04PrgAritmetico”.
Crea un nuevo módulo. Llámalo “EjercicioAritmetico” y márcalo como Clase de inicio.
En el comentario de la parte superior deberás poner "Este programa ha sido creado por TU NOMBRE Y APELLIDOS
Debes declarar 4 variables de tipo Integer. El nombre de las variables será Num1, Num2, Num3 y Resultado.
Deberás asignar los siguientes valores a las variables: Num1 = 10, Num2 = 5, Num3 = 7.
La variable Resultado la usarás para realizar las distintas operaciones que se te van a solicitar.
Muestra en pantalla el resultado de multiplicar Num1, Num2 y Num3.
Muestra en pantalla el resultado de multiplicar Num1 por Num3 y dividirlo todo por Num2
Muestra en pantalla el resultado de sumar Num2 y Num3 y multiplicar la suma por Num1 (puedes usar paréntesis para definiri la preferencia)
Muestra en pantalla el resultado de elevar Num3 a Num2
La ejecución de tu programa debe dar como resultado lo siguiente:
Importante, los números que aparecen muestran el valor de las variables.
Guardamos los cambios en tu proyecto.
Sube a la plataforma la captura de la pantalla donde se vea la ejecución del programa que acabas de hacer y la mayor parte del código fuente que has escrito (principalmente la parte final).
Sube también el fichero llamado EjercicioAritmetico.module que podrás encontrar dentro de la carpeta del proyecto 04PrgAritmetico.
Sugerencias
Sería interesante que te guardaras en una memoria USB todo el contenido de la carpeta BASIC de tus documentos, para evitar que cualquier problema con el ordenador te haga perder tus ejercicios.
No se permite un uso comercial de la obra original ni de las posibles obras derivadas, la distribución de las cuales se debe hacer con una licencia igual a la que regula la obra original.
Los reconocimientos se realizan en el apartado Fuentes de información.
Todas las capturas de pantalla tienen copyright y pertenecen a TuInsitutoOnline.com.
TuInstitutoOnline.com permite su uso siempre y cuando se muestren desde el dominio www.tuinstituoonline.com y NO PERMITE enlazar a ellas desde otros lugares.
Además, la estructura diseñada para mostrar el contenido de las unidades es propiedad de TuInstitutoOnline.com.