0% encontró este documento útil (0 votos)
32 vistas9 páginas

Algoritmos

Este documento describe algoritmos, incluyendo su definición, características y estructura. Explica que un algoritmo es una serie de pasos para resolver un problema y describe los componentes clave de entrada, proceso y salida. También presenta una metodología para descomponer un problema en sus partes y diseñar un algoritmo para resolverlo.

Cargado por

natymdep
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
32 vistas9 páginas

Algoritmos

Este documento describe algoritmos, incluyendo su definición, características y estructura. Explica que un algoritmo es una serie de pasos para resolver un problema y describe los componentes clave de entrada, proceso y salida. También presenta una metodología para descomponer un problema en sus partes y diseñar un algoritmo para resolverlo.

Cargado por

natymdep
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Algoritmos

Universidad Autónoma del Estado de Hidalgo

ALGORITMOS

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

1 de 9 3/8/2020 12:42
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

2 de 9 3/8/2020 12:42
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:
a. ¿Qué se necesita para resolver el problema?
b. ¿Qué pasos son necesarios para resolver el problema?
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 resolver el (¿Qué pasos son necesarios para resolver (¿Qué se obtiene al resolver el
problema) el problema?) 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

3 de 9 3/8/2020 12:42
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:
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.
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.
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:
a. Aritméticos: Son los operadores que permiten realizar operaciones aritméticas y se enlistan en

4 de 9 3/8/2020 12:42
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

Ilustración 1 Tabla de Operadores Aritméticos

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

Ilustración 2 Tabla de Operadores relacionales

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

Ilustración 3 Tabla de Operadores Lógicos

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

5 de 9 3/8/2020 12:42
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

d. Jerarquía de Operadores: Para realizar operaciones como la anterior, se debe seguir un orden
para la realización de operaciones:
1. Operadores Matemáticos
1. Paréntesis
2. Potencias y Raíces
3. Multiplicaciones y Divisiones
4. Sumas y restas
5. Operadores Relacionales
1. <,>,<=,>=,==,!=
2. Operadores Lógicos
1. Not
2. 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:

6 de 9 3/8/2020 12:42
Diagrama de flujo
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
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

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
([Link], s.f.).
Pseudocódigo
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
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

7 de 9 3/8/2020 12:42
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 número de horas
Delimitación
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 resolver el (¿Qué se obtiene al
el problema) problema?) resolver el problema)
Pago por hora
Número de horas
trabajadas en un día Sueldo = (Pago por hora*Número de horas
Sueldo Semanal
Número de días trabajadas en un día)*Número de días trabajados
trabajados

Fase 3 Diseño del Algoritmo

8 de 9 3/8/2020 12:42
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: [Link]

Stallings. (s.f.). Stalling. 5º edición.

[Link]. (s.f.). UNAM. Obtenido de [Link]


/Diagramasdeflujo_16845.pdf

[a] Profesor de Investigación de la Escuela Preparatoria Número 4

Compartir en:

9 de 9 3/8/2020 12:42

También podría gustarte