miércoles, 6 de marzo de 2019

ELEMENTOS DE ALGORITMOS

En este post veremos tipos de datos (sólo los primitivos), constantes y variables y los distintos tipos de operadores.

TIPOS DE DATOS

Nosotros como personas hacemos uso de datos cotidianamente, datos numéricos, datos alfanuméricos, datos lógicos o de estado, y otros. Es normal que hablemos de algún cálculo matemático para hacer alguna transacción, preguntar la edad de alguien (datos numéricos), como también es normal obtener el nombre de una persona que recién conocemos, cuál es el la placa del taxi que nos hizo el servicio (datos alfanuméricos) y por qué no saber si una persona es profesional o si tiene hijos (datos lógicos). Es así, que dentro de la programación tenemos tipos de datos y éstos se clasifican en primitivos y derivados.

Los tipos de datos primitivos son los que mencioné anteriormente (numéricos, alfanuméricos y lógicos o de estado) y éstos están definidos dentro de cualquier lenguaje de programación.

Los tipos de datos derivados son los que se forman a partir de los tipos de datos primitivos.

Veamos los tipos de datos primitivos:

Datos primitivos

Los tipos de datos derivados vamos a explicarlo mejor en otro post que hable de Programación Orientada a Objetos.


CONSTANTES Y VARIABLES

En este mundo de la programación existen datos que contienen valores que puede cambiar o no en tiempo de ejecución (runtime).

Las constantes son datos cuyos valores no se alteran o no cambian durante la ejecución del programa. Matemáticamente hablando hay varias constantes, algunas de ella es PI (π) con un valor de 3.141592653589793 y e (número de Euler o constante de Napier) con un valor de 2.71828182846, esta constante es la base de los logaritmos neperianos, entre otros más.

No obstante, nosotros podemos definir nuestras constantes numéricas, alfanuméricas o lógicas como:

PRIMERA_LETRA = 'a'
NOTA_MAX = 100
NOTA_MIN = 1
MAX = 1024
MIN = 1
MI_NOMBRE = "Christian"
ENCENDIDO = true
ENCENDIDO = 0
IVA = 0.13

Las variables son datos cuyos valores cambian, varían o se alteran a lo largo de la ejecución del programa.

Un caracter puede ser una letra, un número, un símbolo o un caracter no visible.

REGLAS PARA DECLARAR IDENTIFICADORES

Las constantes y las variables necesitan un nombre para ser identificadas (identificadores). Adicionalmente, también podemos dar nombres a un objeto, clase, atributos y métodos (esto veremos en Programación Orientada a Objetos),  a continuación veamos algunas reglas que debemos cumplir:        
  • Pueden iniciar con un caracter letra o con el símbolo de subrayado o underscore ( _ ) y no con un caracter numérico (0..9).
  • Los nombres elegidos (identificadores) no tienen un máximo de cantidad de caracteres.
  • No se admiten espacios en blanco en los identificadores ni acento (tilde), sólo se admiten letras(Mayúsculas/Minúsculas), números y el símbolo de subrayado.
  • No utilizar identificadores que se nombren igual que las palabras reservadas como int, break, char, abstract, class, case, final, switch, entre muchos otros más.
  • La mayoría de los lenguajes son case sensitive, es decir, sensible a las Mayúsculas/Minúsculas. Esto quiere decir si tengo una variable nombre, éste es diferente que declararlo como Nombre (la primera mayúscula).

RECOMENDACIONES PARA NOMBRAR IDENTIFICADORES

Se detalla buenas recomendaciones con el fin de que el código sea más comprensible y facilite a otros programadores de ver o editar el código, ya sea en Java o cualquier lenguaje de programación, por convención:
  • Los nombres de las constantes escribir todas las letras en mayúsculas. Por ej: PI, MAX, MIN.
  • Los nombres de las variables comienzan con una letra en minúscula, si en caso existe más de una palabra en el nombre, las siguientes palabras comienzan con mayúscula para mayor entendimiento. Por ej: cadena, valor, n, num, cantPrimos, estoEsCorrecto.
  • No utilizar nombres largos para constantes o variables.
  • En Programación Orientada a Objetos (POO) hay recomendaciones parecidas para nombrar identificadores para los objetos, clases, métodos y atributos.
  • Utilizar nombres que tengan relación alguna con los datos, por ejemplo:
    • n, x, y, num, a , b para números.
    • cad, s, cadena, txt para cadenas de caracteres.
    • c, ch, car para caracteres.
    • sw, ban, flag para dato booleanos o lógicos.
    • ac, suma, total, sum para acumuladores.
    • i, j, k para indexadores.
    • cant, m, n, q para cantidades.
    • c, cont para contadores.
Recuerden que estas son recomendaciones, esto quiere decir que es opcional aplicar esto.

OPERADORES

Al realizar ciertos algoritmos en la búsqueda de una solución al problema, nos vamos a encontrar o vamos a hacer uso de operadores matemáticos o aritméticos, operador de asignación, operadores relacionales y operadores lógicos:

a) Operador de Asignación (=)se utiliza dentro de un proceso, en la cual asignamos un valor a una variable o también a una constante. Por ejemplo:

a = 5
b = 7
sw = verdadero
c = 'z'
dec = 0.123456789
x = 9876543210

Operador de Asignación
Nombre
En DFD

igual a
=


b) Operadores Aritméticos, se utilizan para calcular un valor numérico. El resultado de la operación es un valor numérico, que puede utilizarse directamente en una condición o asignándose a una variable (proceso). Por  ejemplo:

x = 43 + 15
const PI = 3.1416
areaCirculo = PI * radio^2
res = n mod 10
dec = 45 / 6
x = (-b + sqrt(b^2 - 4 * a * c)) / (2*a)


Operadores Aritméticos
Nombre
En DFD

suma
+

resta
-

producto
*

división
/

potencia
^ alt+94

módulo o residuo
mod


b) Operadores Relacionales, se utilizan para evaluar una expresión lógica o booleana (condición). El resultado de la operación es un valor booleano (true o false), que puede utilizarse directamente en una condición o en un proceso.  Por  ejemplo:

flag = 43 > 12;
sw = no flag;
ban = 53 != 48;

si (i + j > k) entonces ...
mientras (n > 0 y no sw) hacer ...
si (n * 3 / 2  == h) entonces ...


Operadores Relacionales
Nombre
En DFD
igual que
=

distinto a, diferente a
<> 

mayor que
> 
 
menor que
< 
 
mayor o igual que
>=

menor o igual que
<=


b) Operadores Lógicos, se utilizan para evaluar una expresión lógica o booleana (condición) con algún conectivo lógico como no, y, o. El resultado de la operación es un valor booleano (true o false), que puede utilizarse directamente en una condición o en un proceso.  Por  ejemplo:

flag = 43 > 12 y 15 < 2;
sw = not(a > 3 o b < 20);
ban = a != 1 y b == 2;

si (i > k y j < k) entonces ...
mientras (n > 0 y no sw) hacer ...
si (n * 3 / 2  == n || n % 2 == 0) entonces ...


Operadores Lógicos
Nombre
En DFD

negación
no (not)

conjunción
y (and)

disyunción inclusiva
o (or)



Esta última tabla obedece a las siguientes tablas de verdad:

Con esto finalizamos el tema de Elementos de los Algoritmos. Cualquier consulta no duden en escribir, saludos.



No hay comentarios:

Publicar un comentario