Informática
Programación.

Tu Instituto Online
   


 
Nivel Básico Gambas: Operadores aritméticos
Duración aproximada: 3 sesiones
   
Objetivos Objetivos
  • Aprender a realizar operaciones matemáticas en Gambas.
   
Fuentes de información 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.
   
Contenidos
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.

Aplicación de consola

  • Seleccionamos en nuestro directorio personal el directorio BASIC/1MTEXTO creado anteriormente Documentos/BASIC/1MTEXTO.

Ruta

  • 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.

Datos del proyecto

  • 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.

Nuevo módulo

  • 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:

Código fuente

 

 

  
Ojo

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:

Ejecución

  • 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:

Código fuente

  • Ejecutamos el programa.
  • La consola nos mostrará el resultado:

Ejecución

  • 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:

Código fuente

  • Ejecutamos el programa.
  • La consola nos mostrará el resultado:

Ejecución

  • 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:

Código fuente

  • Ejecutamos el programa.
  • La consola nos mostrará el resultado:

Ejecución

  • 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:

Código fuente

  • Ejecutamos el programa.
  • La consola nos mostrará el resultado con el cociente de la división:

Ejecució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.

Código fuente

  • Ejecutamos el programa. La consola nos mostrará el resultado añadiendo más detalles:

Ejecución

  • 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.

Código fuente

  • Ejecutamos el programa. Gambas nos mostrará una ventana de error:

Mensaje 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:

Código fuente

  • Ejecutamos el programa.
  • La consola nos mostrará el resultado:

Ejecución

  • 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:

Código fuente

  • Ejecutamos el programa.
  • La consola nos mostrará el resultado:

Ejecución

  • 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:

Código fuente

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.

  
 

 

Ejercicios
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.

 

Ejercicios
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:

Resultado

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.

 

  
Fuentes de información 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.

 
   
Creditos Créditos
Licencia de Creative Commons

Este documento es de dominio público bajo licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.
TuInstitutoOnline.com M.Donoso, G.García, P.Gargallo, A.Martínez. v. 2.0.2.1.0

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.

Los iconos empleados están protegidos por la licencia LGPL y se han obtenido de:
https://commons.wikimedia.org/wiki/Crystal_Clear
https://www.openclipart.org


Licencia de Creative Commons

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.

TuInstitutoOnline.com M.Donoso, G.García, P.Gargallo, A.Martínez. Versión 2021.