A la hora de diseñar algoritmos necesitas tratar con datos. Tienes que hacer referencia a dichos datos de alguna manera concreta, por lo que utilizarás el concepto de objeto. Dichos objetos contendrán los datos tratados de tu algoritmo.
Un objeto tiene tres atributos:
- Identificador del objeto, es decir, su nombre (nombre único)
- Tipo de objeto
- Valor (según su tipo)
Tabla de contenidos
Tipos básicos o elementales de objetos
En algoritmia, como en muchos lenguajes, hay cuatro tipos elementales o básicos: booleano, carácter, entero y real.
Tipo booleano
Su origen está en el álgebra de Boole y sus dos estados, cierto y falso, sirven para representar la certeza o falsedad de un estado concreto del entorno. Otra manera de llamarlo es de tipo lógico, ya que si no es verdadero lo lógico es que sea falso. También representa una cosa encendida o apagada.
En lenguaje algorítmico lo llamarás booleano
y tiene, como hemos dicho dos estados posibles, cierto y falso. Por lo que su sintaxis será la siguiente:
nombre: booleano = falso;
Las operaciones internas, son aquellas que devuelven el mismo tipo de datos, son no (negación), y (conjunción), o (disyunción). En la tabla siguiente se definen todos ellos:
a | b | no a | a y b | a o b |
---|---|---|---|---|
cierto | cierto | falso | cierto | cierto |
cierto | falso | falso | falso | cierto |
falso | cierto | cierto | falso | cierto |
falso | falso | cierto | falso | falso |
También tenemos los operadores relacionales, estos siempre relacionan o comparan dos valores del mismo tipo y sólo se pueden aplicar cuando la relación entre los valores es de orden. Son los siguientes:
Operador | Qué indica |
---|---|
= | Igual. |
!= | no igual. |
< | Menor que. |
<= | Menor o igual que. |
> | Mayor que. |
>= | Mayor o igual que. |
Tipo carácter
Tú y yo nos comunicamos a través de palabras, las palabras tienen caracteres o lo que es lo mismo, las palabras son conjuntos de caracteres.
Por lo tanto, el tipo caracter
es un tipo de dato elemental que contiene todos los caracteres de un idioma o idiomas concretos.
Hay muchos códigos de caracteres en el mundo de la informática y la computación, algunos están fijados por organismos nacionales y/o internacionales.
Entre ellos, por ejemplo, tienes la codificación ASCII (anglosajón) que tiene 128 valores diferentes. En Europa se utiliza más el código iso-latin de 256 caracteres, pero desde el año 1991, internacionalmente se utiliza el Unicode, el cual recoge la mayoría de los alfabetos que existen, con alrededor de cincuenta mil símbolos diferentes. Tú, la que vas a utilizar es la UTF-8, que es una codificación tipo Unicode.
La sintaxis del tipo carácter en lenguaje algorítmico es de el carácter concreto entre comillas. Hay que destacar que también tienen un orden establecido, el cual se rige por el orden alfabético. Es decir, ‘a'<‘b’ es cierto y ‘z'<‘a’ es falso. Por lo que si se quieres hacer un algoritmo que controle esto, lo tienes que tener en cuenta.
Dicho lo anterior, puedes utilizar los operadores de comparación descritos en el tipo booleano, pero aquí se consideran operadores externos, ya que devuelven un tipo de dato diferente al de los valores comparados.
Su sintaxis será la siguiente:
nombre: caracter = 'r';
Hay que tener en cuenta que el espacio en blanco también es un carácter y se representa con un espacio entre las comillas nombre: caracter = ' ';
Tipo entero
Un número entero es aquel que no tiene parte decimal, es decir, son los número enteros positivos y negativos. Algunos ejemplos de números enteros son los siguientes:
8
-8
6790
-2300
En programación, debido a su representación interna en el ordenador, los número enteros son de un tipo y los que tienen parte decimal son de otro (los veremos a continuación).
Las operaciones internas que puedes hacer con los número enteros son:
- Cambio de signo (-)
- La suma (+)
- La resta (-)
- La multiplicación (*)
- La división entera (div) (/)
- Y la resta de la división o módulo (mod)(%)
Los operadores externos son los relacionales:
- Igual (=)
- No igual (!=)
- Menor que (<)
- Menor o igual que (<=)
- Mayor que (>)
- Mayor o igual que (>=)
En algoritmia se identifican este tipo de dato con el nombre entero. Por lo tanto, su sintaxis es la siguiente:
nombre: entero = 345;
Tienes que tener en cuenta que los número enteros no van con comillas. Es decir, '3'
es un carácter y 3
es un entero.
Tipo real
Para acabar con los tipos elementales de datos, tienes lo que se denomina en algoritmia el tipo real. Su sintaxis es la siguiente:
nombre: real = 3.5;
Has tener en cuenta que la coma de los decimales, en programación, es un punto.
Los números reales son todos aquellos que tienen una parte decimal. Para diferenciarlos el método es sencillo, 10 es un número entero, en cambio, 10.0 es un número real. Tampoco se representan con comillas.
Sus operadores internos son:
- Cambio de signo (-)
- La suma (+)
- La resta (-)
- La multiplicación (*)
- La división entera (div) (/) (la división entre 0 da error)
Los operadores externos son los relacionales:
- Igual (=)
- No igual (!=)
- Menor que (<)
- Menor o igual que (<=)
- Mayor que (>)
- Mayor o igual que (>=)
Tienes que tener en cuenta que tanto los números enteros como los reales son finitos, es decir, tienes un número limitado de números con los que puedes trabajar, éste depende del ordenador que utilices. Pero en circunstancias normales no te debe preocupar, sólo tener en cuenta que muchas veces los cálculos no son exactos, por dicho problema. Recuerda que entre dos números dados hay infinitos número.
Me interesa aprender la logica de los algoritmos
¡Hola Wilfredo!
Ante todo, gracias por comentar.
Los algoritmos son casi como matemáticas. Son procedimientos lógicos y es ahí donde debes investigar y ahondar.
Hay algunos cursos de mit en edx donde puedes ver la introducción a la programación con python que creo pueden ser los más adecuados como recurso.
Por otra parte, aquí te dejo el enlace de Amazon del libro «Introduction to Algorithms de MIT Press.
https://www.amazon.es/Introduction-Algorithms-Press-Thomas-Cormen/dp/0262533057
Saludos!