5.4. Operaciones sobre escalares

Veremos algunas de las operaciones que podemos realizar sobre los escalares.

5.4.1. Operaciones usuales sobre escalares

YACAS posee los siguientes operadores para las operaciones usuales sobre escalares:

5.4.2. Divisi�n entera

Tambi�n disponemos de operadores para realizar la divisi�n entera, es decir obtener el cociente y el resto de una divisi�n.

Mod sirve para calcular el resto de una divisi�n entera:

Ejemplo 5-3. Uso de Mod

In> Mod(5,4);
Out> 1;
In> 
	

Div sirve para calcular el cociente de una divisi�n entera:

Ejemplo 5-4. Uso de Div

In> Div(15,4);
Out> 3;
In> 
	

5.4.3. Operadores de desplazamiento de bits

Todos aquellos que programan regularmente en leguajes derivados del C conocen los operadores de desplazamiento de bits << y >>.

Estos operadores se utilizar para desplazar bits hac�a la izquierda, <<, o hac�a la derecha, >>.

El uso de estos operadores es importante a la hora de realizar c�lculos ya que nos permiten optimizar algunas operaciones.

Los datos en un ordenador se almacenan en base 2, y el desplazar los bits n posiciones hac�a la izquierda equivale a multiplicar por 2^n:

Ejemplo 5-5. Uso del operador <<

In> 12<<5;
Out> 384;
In> 12*(2^5);
Out> 384;
In>
	

De igual forma el desplazar n bits hac�a la derecha equivale a dividir, de forma entera, por 2^n:

Ejemplo 5-6. Uso del operador >>

In> 2346 >> 6;
Out> 36;
In> Div(2346,2^6);
Out> 36;
In>
	

5.4.4. C�lculo del M�ximo Com�n Divisor

Para el c�lculo del M�ximo Com�n Divisor YACAS dispone de la funci�n Gcd y la podemos utilizar de dos formas diferentes:

La primera de ellas es para calcular el M�ximo Com�n Divisor de dos n�meros enteros:

Ejemplo 5-7. Uso de Gcd para el c�lculo del mcd de dos n�meros

In> Gcd(55,1350);
Out> 5;
In> 
	

Tambi�n la podemos utilizar para calcular el M�ximo Com�n Divisor de una lista de n�meros enteros:

Ejemplo 5-8. Uso de Gcd para el c�lculo del mcd de una lista de n�meros

In> Gcd({2,5,6,8,9,12,45,67,89});
Out> 1;
In> 
	

5.4.5. C�lculo del M�nimo Com�n Multiplo

Para el c�lculo del M�nimo Com�n M�ltiplo YACAS dispone del la funci�n Lcm:

Ejemplo 5-9. Uso de Lcm para el c�lculo del mcm

In> Lcm(6,4);
Out> 12;
In> 
	

5.4.6. Trabajando en bases distintas de la decimal

Podemos trabajar en bases distintas de la decimal y para ello tenemos las siguientes funciones:

5.4.7. Expansiones en base n

Podemos encontrar la expansi�n de un determinado n�mero en base n:

Ejemplo 5-12. Uso de PAdicExpand

In> PAdicExpand(156,10)
Out> 5*10+10^2+6;
In>
          

5.4.8. Aproximaciones racionales de n�meros reales

Podemos aproximar n�meros reales por n�meros racionales mediante el uso de Rationalize:

Ejemplo 5-13. Uso de Rationalize

In> N(Pi);
Out> 3.1415926536;
In> Rationalize(%);
Out> 3926990817/1250000000;
In> {1.2,56.098,-0.65};
Out> {1.2,56.098,-0.65};
In> Rationalize(%);
Out> {6/5,28049/500,-13/20};
In>
	  

5.4.9. Redondeos

Disponemos de varias funciones para redondear:

5.4.10. Determinaci�n de n�meros primos

Podemos comprobar cuando un n�mero es primo o no utilizando la funci�n IsPrime:

Ejemplo 5-17. Uso de IsPrime

In> IsPrime(25);
Out> False;
In> IsPrime(7);
Out> True;
In>
          

Esta funci�n comprueba si los n�meros comprendidos entre 2 y la ra�z cuadrada del n�mero a comprobar su primalidad lo dividen. No es un algoritmo optimo y consume mucho tiempo de ejecuci�n para n�meros grandes.

5.4.11. Factorizaci�n en n�meros primos

Para factorizar un n�mero en factores primos podemos utilizar Factors:

Ejemplo 5-18. Uso de Factors

In> Factors(50);
Out> {{2,1},{5,2}};
In>
          

Tambi�n es posible utilizar Factor:

Ejemplo 5-19. Uso de Factor

In> Factor(50);
Out> 2*5^2;
In>