Sie sind auf Seite 1von 11

ALGORITMOS

Luis Alfredo Gómez Flores[a]

RESUMEN
Con el objetivo de facilitar el proceso de aprendizaje que permite desarrollar las habilidades lógico – matemáticas
el presente ensayo reúne los elementos necesarios para entender el análisis y solución de diversos problemas
desde su enfoque matemático haciendo uso de una metodología básica, conceptos básicos e importantes como
asignaciones, constantes, variables y formatos propuestos para resolver problemas haciendo uso de algoritmos
mediante las herramientas de desarrollo de como lo son los diagramas de flujo y pseudocódigo.
De igual manera se distinguen las etapas del proceso informático, así como los distintos tipos de algoritmos

Palabras clave: Algoritmo, identificador, verificación, operadores, expresiones, variable, constante, estructura
secuencial, decisión, repetitiva, diagrama de flujo y pseudocódigo

ABSTRACT
With object to facility the process of learning and allows to develop skills logic mathematic. The present test
together elements necessary to understand the analysis and solution of various problems. From his mathematical
approach to using a methodology basic, basic concepts and importants, as assingments, constant, variables, and
formats proposed for answer problems, using of algorithm through tools of development of diagram of issue and
pseudocodigo. Similary distinguish stage of information process, issue different types of algorithm.

Keywords: Algorithm, Identifier, verification, operators, expressions, variable, constant, sequential structure,
decision, repetitive, flowchart and pseudocode.

INTRODUCCIÓN
“Todo el mundo en este país debería aprender a programar en un ordenador… porque te enseña a pensar.” Steve
Jobs.
Frase que hace pensar que cualquier persona es capaz de todo, siempre que sepa pensar, a un nivel más abstracto
todo el mundo debería saber cómo resolver problemas mediante un algoritmo.
Los seres humanos somos entes pensantes y con capacidades únicas en cada uno de nosotros, capacidades que
como sociedad hemos agrupado en diversas ramas del conocimiento con la finalidad de transformar nuestra
habilidad en una herramienta para alcanzar metas en nuestro entorno.
Según Gardner todos los seres humanos tenemos un tipo de inteligencia y un método de aprendizaje distinto,
entre ellas, destaca la habilidad lógico-matemática, inteligencia considerada como la inteligencia en bruto, es
aquella que como su nombre indica es la que vincula a la habilidad ante el razonamiento lógico y la resolución de
problemas matemáticos.
Mediante un test de inteligencias múltiples, desarrollado por Gardner, se puede medir el nivel desarrollado de
cada inteligencia y el resultado indica que habilidades se tienen más desarrolladas, sin embargo no indica que las
habilidades o inteligencias no se pueden desarrollar.
Al explotar cada una de las inteligencias se vuelven en habilidades, por ejemplo un artista que tiene en el la
inteligencia musical, en base a ensayos y a un estudio del arte musical logra convertir la inteligencia en una
habilidad para apreciar y criticar música, es decir al explotar su inteligencia obtiene una habilidad.
Tener una inteligencia distinta no indica que no pueda desarrollarse una habilidad en otro campo, indica que
costará más trabajo obtener la habilidad.

OBJETIVOS
Desarrollar la inteligencia lógico-matemática en realidad no es una tarea difícil, es una tarea que requiere de retar
al cerebro a pensar, de encontrar diversos caminos para resolver un problema y principalmente de elegir el
indicado.
El presente ensayo reúne definiciones, metodología básica y ejercicios para la resolución de problemas mediante
algoritmos.

ALGORITMOS

DEFINICIÓN
La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi, nombre de un
matemático astrónomo árabe que escribió un tratado sobre manipulación de números y ecuaciones en el siglo IX.
Un algoritmo es una serie de pasos organizados, que describe el proceso que se debe seguir, para dar solución a
un problema específico. (Fadul, 2004).
Como tal pensar en un algoritmo, es pensar la forma en la que podemos resolver un problema paso a paso, si no
se resuelve un paso del problema no se puede pasar al siguiente.

CARACTERÍSTICAS
Los algoritmos se caracterizan principalmente porque son:

 Precisos: La palabra preciso indica que se distingue con claridad, de igual manera un algoritmo es claro en
cada uno de sus pasos.

 Definido: El algoritmo está delimitado, solo procesa la información y las operaciones que tiene, no realiza
operaciones “fantasma”, si se realiza el algoritmo dos o más veces con los mismo datos siempre dará el
mismo resultado.

 Finito: Refiriéndose esta característica a que un algoritmo siempre va a tener un fin, .

 mediante esta característica el algoritmo se culmina la estructura de un algoritmo.


ESTRUCTURA
Los algoritmos son pilares en la informática así como del desarrollo de sistemas, por lo cual la siguiente estructura
no es solo de los algoritmos, es como tal la estructura del tratamiento automático de la información también
conocido como procesamiento de datos.

 1. Entrada: En los procesos informáticos, la entrada representa todos los datos que necesita el algoritmo
para ser procesados, es la alimentación necesaria para que se puedan procesar los datos, pueden ser datos
que introduzca el usuario del algoritmo o bien que se obtengan de alguna otra fuente.

 2. Proceso: Formalmente un proceso es "Una unidad de actividad que se caracteriza por la ejecución de
una secuencia de instrucciones, un estado actual, y un conjunto de recursos del sistema asociados".
(Stallings), es decir, un proceso es la ejecución paso a paso de las instrucciones, cabe mencionar que un
proceso consiste en un conjunto de pasos y nunca un paso puede saltarse otro.

 3. Salida: Son los resultados que se desean obtener en la ejecución del algoritmo, cabe mencionar que aquí
debe obtenerse la o las respuestas que resuelvan la problemática planteada para resolver mediante el
algoritmo.

METODOLOGÍA PARA LA DESCOMPOSICIÓN DE UN ALGORITMO


Una metodología es un conjunto de métodos utilizados para la investigación científica, en este paradigma, la
metodología es la que permite diseñar los algoritmos que servirán para resolver los problemas específicos.

 1. Definición del problema: Citando a Einstein, “si tuviera una hora para salvar el mundo, se iba a gastar
cincuenta y cinco minutos definiendo el problema, y sólo cinco minutos para encontrar la solución”, invertir
tiempo en la definición del problema nos ayuda a no gastar tiempo replanteando el algoritmo. Este paso
de la metodología debemos plantearnos la pregunta ¿Cuál es el problema en concreto?, visualizar la
delimitación del problema, ¿Hasta dónde abarcará la solución del problema? y si es posible resolver el
algoritmo o no, se sugiere documentar todo en un formato similar al siguiente

Tabla 1 Definición del Problema

Nombre del Problema


Delimitación
Resultado deseado

 2. Análisis: Una vez identificado y delimitado el problema, esta fase tiene el objetivo de dividir el problema
en sus componentes y examinar de qué manera pueden unirse, en esta fase se deben contestar las
siguientes preguntas:

o a. ¿Qué se necesita para resolver el problema?

o b. ¿Qué pasos son necesarios para resolver el problema?

o c. ¿Qué se debe obtener para resolver el problema?

Una vez resueltas estas preguntas, es muy útil escribirlas en papel o en un medio electrónico con la finalidad de
consultarlas cuando en las siguientes fases de la metodología, se sugiere la siguiente tabla:
Tabla 2 Análisis del Problema
Datos de entrada Proceso Salida
(¿Qué necesito para (¿Qué pasos son necesarios para (¿Qué se obtiene al
resolver el problema) resolver el problema?) resolver el problema)

 3. Diseño: El eminente matemático Donald E. Knuth, expresa en su famosa obra: El arte de programar
computadoras, lo siguiente: "El proceso de preparar programas para una computadora digital tiene un
atractivo especial, no sólo porque puede ser recompensado económica y científicamente, sino también
porque puede ser una experiencia estética como la poesía y la música." Haciendo uso de alternativas de
solución como lo son diagramas de flujo y pseudocódigo se indican los pasos que deberá seguir el
algoritmo para obtener la solución del problema.

 4. Verificación: Definido como la acción de comprobar o examinar la verdad de algo, aplicado al tema
actual, es la fase que nos permite saber si el algoritmo cumplió o no su objetivo, para realizar la
comprobación se le dan variables de entrada al algoritmo y se observan los resultados que arroja, por otra
parte y haciendo uso de papel y lápiz se realiza una prueba de escritorio que consiste en realizar las
operaciones que el algoritmo debe realizar y se comprueban los resultados obtenidos del algoritmo contra
los resultados obtenidos en la prueba de escritorio, en caso de que ambos coincidan, se concluye que el
algoritmo funciona para resolver el problema planteado, en caso contrario se debe volver a la fase de
definición del problema para buscar el error. Para esta fase se sugiere el siguiente formato:

Tabla 3 Verificación

Variables de entrada Operaciones Realizadas Resultado Obtenido

Y responder la pregunta: ¿El resultado de la prueba de escritorio es el mismo que el arrojado por el algoritmo?, en
caso de que la respuesta sea positiva, tendremos un algoritmo funcional.

ANÁLISIS DEL PROBLEMA


Como se mencionó anteriormente, esta fase tiene la finalidad de dividir el problema en sus componentes y
examinar de qué manera pueden unirse, los componentes principales son:

 a. Identificadores: Al igual que en algebra, los algoritmos funcionan mediante valores que pueden ser
introducidos por los usuarios o valores que pueden contener los procesos, esos valores deben ser
nombrados de alguna manera con la finalidad de poder identificados y usarlos, en pocas palabras es el
nombre que se la da a las variables y constantes que se usan en el algoritmo.

 b. Tipos de datos: Dicho mexicano dice, ”Hasta en los perros hay razas” de igual manera en la informática
hasta en los valores (variables y constantes) hay tipos, a diferencia de la rama canina, la raza en este caso
son tipos y los tipos de datos más comunes son:

o a. Numéricos: Son aquellos valores que solo pueden contener números, ya sean enteros,
fraccionarios, positivos, negativos, reales o imaginarios con la finalidad de realizar operaciones
aritméticas comunes.

o b. Alfanumericos: Es una secuencia de caracteres que pueden ser números, letras o signos, estos
pueden ser nombres, direcciones y en comparación con los numéricos, no se pueden realizar
operaciones aritméticas con estos.
o c. Lógicos: Son aquellos que solo pueden tener un valor, cierto o falso, ya que representan el
resultado de una comparación de valores.

 c. Variables: Son valores que van cambiando durante la ejecución de los procesos del algoritmo, en estas
variables se van a guardar las operaciones que el algoritmo realice para resolver el problema. Cada variable
tiene un identificador, pues es el nombre con el que se encuentra y un tipo de dato, que indica que datos
podrá guardar que pueden ser números, letras o valores cierto o falso.

 d. Constantes: Son datos que su valor no va a cambiar durante todo el desarrollo del algoritmo, las
constantes pueden tener o no un identificador, pues estos valores pueden escribirse directamente al usar
las operaciones o bien asignarle un identificador, las constantes también tienen un tipo de dato.

 e. Operadores y expresiones: Son símbolos que tienen una función predefinida (suma, resta, multiplicación
etc.) y que recibe sus argumentos de manera infija (luzumisu, s.f.), los operadores más utilizados son:

o a. Aritméticos: Son los operadores que permiten realizar operaciones aritméticas y se enlistan en la
siguiente tabla:

Operador Acción Ejemplo


+ Suma X = 5 + 4 | x= 9
- Resta X = 10 – 3 | x=7
* Multiplicación X=3*2|x=6
/ División X = 10 / 2 | x = 5
% División Modular X = 1 / 3 | x = .66
++ Incremento X = 1; X++ | x = 2
-- Decremento X = 1; X-- | x = 0
^ Potencia X=2 ^3|x=8
o Ilustración 1 Tabla de Operadores Aritméticos

o b. Relacionales: Estos operadores permiten evaluar la relación entre un par de operando


(constantes o variables) y permiten devolver valores de cierto o falso.

Operador Acción
> Mayor que
>= Mayor o igual que
< Menor que
<= Menor o igual que
== Igual / idéntico
¡= Diferente / distinto
o Ilustración 2 Tabla de Operadores relacionales

o c. Lógicos: Son operadores que permiten conectar un par de propiedades, es decir, nos permiten
obtener una respuesta lógica de la comparación de dos operaciones.

Operador Acción
&& Conjunción, and, Y
|| Disyunción, or, O
! Negación, no
o Ilustración 3 Tabla de Operadores Lógicos
o

 i. Los operadores lógicos tienen un conjunto de reglas llamadas tablas de verdad, las cuales
permiten obtener el valor lógico a partir de dos operaciones a continuación se muestran
las tablas de verdad de AND, OR Y NOT

Operador Operador 2 Resultado


T T T
T F F
F T F
F F F
 Ilustración 4 Tabla de verdad de AND

Operador Operador 2 Resultado


T T T
T F T
F T T
F F F
 Ilustración 5 Tabla de verdad de OR

Operador Resultado
T F
F T
 Ilustración 6 Tabla de verdad de NOT

 Las T significan “True” por su significado en ingles de Verdadero y F por “False”


tomando el valor de falso. Para poner más en contexto las operaciones lógicas, se
muestra un ejemplo

(10 + 20) > (5 * 3) AND (10 -1) = 9


30 > 15 AND 9 = 9
T AND T
True
 Ilustración 7 Ejemplo del uso de tablas de verdad

o d. Jerarquía de Operadores: Para realizar operaciones como la anterior, se debe seguir un orden
para la realización de operaciones:

 Operadores Matemáticos

 Paréntesis

 Potencias y Raíces
 Multiplicaciones y Divisiones

 Sumas y restas

 Operadores Relacionales

 <,>,<=,>=,==,!=

 Operadores Lógicos

 Not

 AND , OR

Ilustración 8 Jerarquía de Operadores

Primero se realizan las operaciones que se encuentran ente paréntesis, si hay más de una
operación dentro de un paréntesis de aplica el mismo criterio para realizar las operaciones en el
orden indicado, posteriormente las potencias y raíces, multiplicaciones y divisiones, sumas y restas
en ese orden, si un operador se encuentra dos veces, se realiza la operación que se encuentre
primero de izquierda a derecha, posteriormente y también de izquierda a derecha se aplican los
operadores relacionales y por último los operadores lógicos.

DISEÑO DE ALGORITMO (ALTERNATIVAS DE SOLUCIÓN)


Mediante las herramientas de diseño de algoritmos se pueden desarrollar los mismos, las alternativas de diseño de
algoritmos son principalmente dos:

 Diagrama de flujo

o Representan de forma visual el flujo de los datos a través del tratamiento de información. Los
diagramas de flujo describen que operaciones y en que secuencia se requieren para solucionar un
problema dado

o Los diagramas de flujo se dibujan generalmente usando algunos símbolos estándares. Algunos
símbolos estándares, que se requieren con frecuencia para diagramar programas de computadora
se muestras a continuación
Ilustración 9 Elementos de un diagrama de flujo

o Reglas para la creación de Diagramas

 Los Diagramas de flujo deben escribirse de arriba hacia abajo, y/o de izquierda a derecha.

 Los símbolos se unen con líneas, las cuales tienen en la punta una flecha que indica la
dirección que fluye la información procesos, se deben de utilizar solamente líneas de flujo
horizontal o verticales (nunca diagonales).

 Se debe evitar el cruce de líneas, para lo cual se quisiera separar el flujo del diagrama a un
sitio distinto, se pudiera realizar utilizando los conectores. Se debe tener en cuenta que
solo se van a utilizar conectores cuando sea estrictamente necesario.

 No deben quedar líneas de flujo sin conectar

 Todo texto escrito dentro de un símbolo debe ser legible, preciso, evitando el uso de
muchas palabras.

 Todos los símbolos pueden tener más de una línea de entrada, a excepción del símbolo
final.

 Solo los símbolos de decisión pueden y deben tener más de una línea de flujo de salida
(unam.mx, s.f.).

 Pseudocódigo

o Es una técnica que sirve para escribir programas de computadora en lenguaje natural de tal
manera que se facilite la comprensión, prueba y posterior codificación en un lenguaje de
programación específico

o Ventajas de utilizar un Pseudocódigo a un Diagrama de Flujo


 Ocupa menos espacio en una hoja de papel.

 Permite representar en forma fácil operaciones repetitivas complejas.

 Es muy fácil pasar de pseudocódigo a un programa en algún lenguaje de programación.

 Si se siguen las reglas se puede observar claramente los niveles que tiene cada operación.

 Prueba de escritorio: Todo algoritmo debe ser probado antes de ser ejecutado para tener la certeza de que
lograremos el objetivo. La forma de probarlo es siguiente cada uno de los pasos que indica el algoritmo. A
esto le llamaremos prueba de escritorio. En la prueba de escritorio, un algoritmo bien hecho siempre debe
funcionar

o Al poner en marcha los pasos del algoritmo para determinar si logrará o no el objetivo, tal vez se
tengan que hacer algunas modificaciones hasta logar el objetivo esperado. El algoritmo debe ser lo
suficientemente detallado para que no exista duda alguna al ejecutarse. (Chehaibar, 2007).

ALGORITMOS SECUENCIALES
En este tipo de estructura las instrucciones se realizan o se ejecutan una después de la otra y, por lo general, se
espera que se proporcione uno o varios datos, los cuales son asignados a variables para que con ellos se
produzcan los resultados que representen la solución del problema que se planteó.
Los algoritmos tienen como fin actuar sobre los datos proporcionados por el usuario, a los que se les aplican
procesos con el fin de generar la información o un resultado (Delgado).

ACTIVIDAD DE RETROALIMENTACIÓN
Se requiere de un algoritmo que calcule el sueldo semanal o mensual de un trabajador de construcción, al
empleado le pagan $50 pesos la hora y cada día trabaja durante 8 horas.

FASE 1 DEFINICIÓN DEL PROBLEMA


Tabla 1 Definición del Problema

Nombre del
Sueldo de un trabajador
Problema
Obtener el sueldo semanal o mensual a partir del pago por horas y el
Delimitación
número de horas trabajadas
Resultado deseado Sueldo semanal del trabajador

FASE 2 ANÁLISIS DEL PROBLEMA


Datos de entrada Proceso Salida
(¿Qué necesito para resolver (¿Qué pasos son necesarios para (¿Qué se obtiene al
el problema) resolver el problema?) resolver el problema)
 Pago por hora

 Número de horasSueldo = (Pago por hora*Número de


trabajadas en un día horas trabajadas en un día)*Número de Sueldo Semanal
días trabajados

 Número de días
trabajados

FASE 3 DISEÑO DEL ALGORITMO

FASE 4 VERIFICACIÓN
Variables de entrada Operaciones Realizadas Resultado Obtenido
NumDiasTrab=7 Sueldo = (50*8)*7 2800

CONCLUSIONES
El diseño de algoritmos es realmente un arte que ayuda al desarrollo de la inteligencia lógico matemática, el hecho
de resolver problemas no solo de índole lógico matemática permite aclarar el panorama y elegir la mejor opción
para resolver la problemática. Las definiciones y metodología aquí mostrada, así como conceptos permiten
entender todos los elementos de un algoritmo y que de esta forma se puedan diseñar los propios para resolver
prácticamente cualquier problemática bien planteada.

BIBLIOGRAFÍA
Chehaibar, C. Z. (2007). Fundamentos y prácticas de programacióin. Educaré.
Delgado, F. J. (s.f.). ALGORITMOS RESUELTOS CON DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO. Aguascalientes:
UAA.
Fadul, A. O. (2004). Diseño Estructurado de Algoritmos. Colombia: Sincelejo.
luzumisu. (s.f.). luzumisu. Obtenido de luzumisu: http://luzumisu.over-blog.com/article-28322968.html
Stallings. (s.f.). Stalling. 5º edición.
unam.mx. (s.f.). UNAM. Obtenido de http://depa.fquim.unam.mx/amyd/archivero/Diagramasdeflujo_16845.pdf
[a]
Profesor de Investigación de la Escuela Preparatoria Número 4

Das könnte Ihnen auch gefallen