|
|
Objetivos |
- Aprender a realizar operaciones matemáticas en Gambas.
|
|
|
|
Fuentes de información |
- http://www.gambas-es.org
- 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.
|
|
|
|
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.
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 .
- 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 .
- 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:
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 .
- 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:
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 .
- 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:
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 .
- 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:
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 .
- 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:
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 .
- 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:
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. |
|
|
|
- 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.
|
|
|
|
- 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. |
|
|
|