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