Está en la página 1de 16

Licenciatura en Ingeniería en Sistemas Computacionales

Algoritmos Computacionales
Medios de Expresión de un Algoritmo

Guía de estudio
Bloque II

Licenciatura en Ingeniería en Sistemas Computacionales

P á g i n a 1 | 15
Licenciatura en Ingeniería en Sistemas Computacionales

Organizador gráfico

P á g i n a 1 | 15
Licenciatura en Ingeniería en Sistemas Computacionales

Índice

Organizador gráfico ............................................................................................................................................................................. 1

Índice ......................................................................................................................................................................................................... 2

Glosario .................................................................................................................................................................................................... 3

Medios de Expresión de un Algoritmo ......................................................................................................................................... 4

Lenguaje natural .............................................................................................................................................................................. 4

Pseudocódigo ................................................................................................................................................................................... 6

Diagrama de flujo ......................................................................................................................................................................... 10

Lenguajes de programación ..................................................................................................................................................... 12

Descripción de un algoritmo .................................................................................................................................................... 13

Fuentes de consulta......................................................................................................................................................................... 15

P á g i n a 2 | 15
Licenciatura en Ingeniería en Sistemas Computacionales

Glosario

Lenguaje natural: Lengua o idioma hablado o escrito por humanos para propósitos

generales de comunicación.

Pseudocódigo: Descripción de alto nivel compacta e informal del principio operativo de

un programa informático u otro algoritmo.

NLP: Natural Language Processing o en español, procesamiento de lenguaje natural, es

un campo de las ciencias de la computación, de la inteligencia artificial y de la lingüística

que estudia las interacciones entre las computadoras y el lenguaje humano.

Estándar ANSI: American National Standards Institute (Instituto Nacional

Estadounidense de Estándares), tiene por objetivo crear directrices que sean

ampliamente aceptadas en una amplia gama de sectores. Su objetivo es crear

uniformidad para las mercancías y los procesos de la industria y sistemas.

Lenguaje ensamblador: Lenguaje de programación utilizado para escribir programas

informáticos de bajo nivel, y constituye la representación más directa del Código máquina

específico para cada arquitectura de computadoras legible por un programador.

P á g i n a 3 | 15
Licenciatura en Ingeniería en Sistemas Computacionales

Medios de Expresión de un
Algoritmo
💡
Lenguaje natural

Los algoritmos pueden ser expresados de muchas maneras, incluyendo Los chatbots son ya
una de las tendencias
al lenguaje natural, pseudocódigo, diagramas de flujo y lenguajes de principales en
tecnología y son el
presente y el futuro de
programación entre otros. la atención al cliente.
La voz como canal ha
ido ganando terreno y
Las descripciones en lenguaje natural tienden a ser ambiguas y se ha convertido en un
canal realmente
extensas. popular. Y no es de
extrañar, puesto que se
ha demostrado que la
búsqueda por voz es 3
veces más rápida que
los métodos basados
en texto.

Los algoritmos escritos en este lenguaje se caracterizan por seguir un proceso de

ejecución común y lógico, describiendo textualmente paso a paso cada una de las

actividades a realizar para resolver un problema determinado.

Los inconvenientes de escribir algoritmos en este lenguaje son: la ambigüedad, la no

universalidad y la amplitud del mismo lo cual genera errores y no puede ser interpretado

correctamente por el computador.

P á g i n a 4 | 15
Licenciatura en Ingeniería en Sistemas Computacionales

Para escribir un algoritmo con Lenguaje Natural los pasos que se deben seguir son:

1. Conocer el problema o la tarea a completar.

2. Obtener la información previa o los datos de entrada.

3. Diseñar nuestra secuencia de acciones.

4. Probar nuestro algoritmo para validarlo y en caso necesario repetir por medio de
iteraciones el proceso.
5. Mostrar la información de salida o resultado de nuestra tarea.

Ejemplo de algoritmo escrito con lenguaje natural:

“Cómo ver una película en Netflix”:

INICIO

1. Encender la televisión
2. Abrir Netflix
3. Buscar una película interesante
4. Si la portada llama mi atención
a. Leer la reseña
b. Comprobar la valoración de otros usuarios
c. Ver el tráiler
d. Si me parece bien, comenzar a verla
e. Si no, volver al paso 4 de búsqueda
5. Ajustar el volumen
6. Disfrutar la película

FIN

P á g i n a 5 | 15
Licenciatura en Ingeniería en Sistemas Computacionales

Pseudocódigo

Un pseudocódigo es la descripción de un algoritmo que asemeja a un lenguaje de

programación, pero con algunas convenciones del lenguaje natural (de ahí que tenga el

prefijo pseudo, que significa falso).

Los beneficios que proporciona son:

 Representar de forma fácil operaciones repetitivas complejas.

 Es más sencilla la tarea de pasar de pseudocódigo a un lenguaje de

programación formal.

 Si se siguen las reglas de alineación, pueden observarse claramente los niveles

en la estructura del programa.

A continuación, se muestran los elementos del pseudocódigo:

Condiciones y ciclos

P á g i n a 6 | 15
Licenciatura en Ingeniería en Sistemas Computacionales

Un condicional, como su nombre lo indica, es una

condición para discernir entre una opción u otra, y

en el proceso mental normalmente se manifiesta

con un “Si”; por ejemplo: Si (va a llover), coge el

paraguas. Un ciclo es cuando una acción se repite

muchas veces (condicionalmente). Hay tres

estructuras de control para especificar la repetición: while (mientras), do-while

(hacer_mientras/repetir, repeat) y for (desde).

Y su sintaxis es la siguiente:

Recursividad

Una función recursiva es aquella que se llama a sí misma para resolverse. Un ejemplo

típico de recursividad sería la función factorial.

P á g i n a 7 | 15
Licenciatura en Ingeniería en Sistemas Computacionales

Arreglos

Son estructuras que almacenan valores del mismo tipo como números o cadenas. Tienen

una longitud determinada.

Arreglos unidimensionales

Es un tipo de datos estructurado que está formado de una colección finita y ordenada de

datos del mismo tipo. Es la estructura natural para modelar listas de elementos iguales.

Están formados por un conjunto de elementos de un mismo tipo de datos que se

almacenan bajo un mismo nombre, y se diferencian por la posición que tiene cada

elemento dentro del arreglo de datos. Al declarar un arreglo, se debe inicializar sus

elementos antes de utilizarlos. Para declarar un arreglo tiene que indicar su tipo, un

nombre único y la cantidad de elementos que va a contener.

Arreglos multidimensionales

Es un tipo de dato estructurado, que está compuesto por dimensiones. Para hacer

referencia a cada componente del arreglo es necesario utilizar índices, uno para cada

dimensión. El término dimensión representa el número de índices utilizados para

P á g i n a 8 | 15
Licenciatura en Ingeniería en Sistemas Computacionales

referirse a un elemento particular en el arreglo. Los arreglos de más de una

dimensión se llaman arreglos multidimensionales. 💡


Arreglos con múltiples subíndices
También existen
procedimientos,
Es la representación de tablas de valores, consistiendo de información que son rutinas
que reciben uno o
arreglada en renglones y columnas. Para identificar un elemento particular varios valores de
entrada, pero no
devuelven
de la tabla, deberemos de especificar dos subíndices; el primero identifica ninguna salida.
Es necesario dejar
el renglón del elemento y el segundo identifica la columna del elemento. A en claro cuáles son
las entradas para
los arreglos que requieren dos subíndices para identificar un elemento en el algoritmo, esto
se hace
particular se conocen como arreglo de doble subíndice. Note que los comúnmente
colocando estos
valores entre
arreglos de múltiples subíndices pueden tener más de dos subíndices. El paréntesis al
principio o bien
estándar ANSI indica que un sistema ANSI C debe soportar por lo menos 12 declarando
explícitamente
subíndices de arreglo. con un enunciado.

Funciones

Una función de pseudocódigo, al igual que una función matemática, es una

rutina que recibe uno o varios valores de entrada y regresa una salida. Es necesario

colocar una palabra como regresar o devolver para indicar cuál es la salida generada por

el algoritmo.

P á g i n a 9 | 15
Licenciatura en Ingeniería en Sistemas Computacionales

Diagrama de flujo

Un diagrama de flujo es un diagrama que describe un proceso,

sistema o algoritmo informático. Se usan ampliamente en

numerosos campos para documentar, estudiar, planificar,

mejorar y comunicar procesos que suelen ser complejos en

diagramas claros y fáciles de comprender.

El uso de los diagramas de flujo para documentar procesos de

negocios se inició entre las décadas de 1920 y 1930. En 1921, los ingenieros industriales

Frank y Lillian Gilbreth presentaron el "diagrama de flujo de procesos" en la Sociedad

Americana de Ingenieros Mecánicos (ASME – American Society of Mechanical Engineers).

Los diagramas de flujo pueden:

 Demostrar cómo el código está organizado.

 Visualizar la ejecución de un código dentro de un programa.

 Mostrar la estructura de un sitio web o aplicación.

 Comprender cómo los usuarios navegan por un sitio web o programa.

Los diagramas relacionados que se emplean en el software informático incluyen:

Herramienta Descripción

Este es el lenguaje de propósito general usado en la ingeniería


Lenguaje unificado de modelado
de software para el modelado.
(UML)

P á g i n a 10 | 15
Licenciatura en Ingeniería en Sistemas Computacionales

Usados para la programación informática estructurada


Diagramas Nassi-Shneiderman
(NSD)

Diagramas DRAKON DRAKON es un lenguaje de programación visual de algoritmos


empleado para crear diagramas de flujo.

Existen distintas herramientas para crear diagramas de flujo online, por ejemplo:

www.lucidchart.com

Es una página que te permite realizar diagramas de flujo, con un registro previo puedes generar

gratuitamente un número restringido de diagramas que puedes exportar.

También existe draw.io

https://app.diagrams.net/

Permite guardar los diagramas en el disco duro de tu ordenador, Gdrive, OneDrive o Dropbox.

P á g i n a 11 | 15
Licenciatura en Ingeniería en Sistemas Computacionales

Lenguajes de programación
💡
Un lenguaje de programación es aquella estructura que, con una

cierta base sintáctica y semántica, imparte distintas instrucciones a Hay formas de practicar
distintos lenguajes de
un programa de computadora. programación, por
ejemplo:
Ada Lovelace es considerada como la primera programadora de
https://paiza.io/projects/
computadoras conocida en todo el mundo. De ahí, curiosamente que swKlAF0OqTIAlJj4GFkXZQ

se hablara en su honor del lenguaje de programación Ada. Esta página permite


practicar con la sintaxis
de varios lenguajes de
Muchos son los lenguajes que existen actualmente en el mercado de programación.

la tecnología y la informática. No obstante, entre los más

importantes podemos citar a Pascal, Visual Basic, SQL, Delphi, Lingo, Cobol o Java.

Normalmente se distingue entre los siguientes tipos de lenguaje de programación:

Lenguajes de bajo nivel. Se trata de lenguajes de programación que están diseñados

para un hardware específico y que por lo tanto no pueden migrar o exportarse a otros

computadores. Sacan el mayor provecho posible al sistema para el que fueron diseñados,

pero no aplican para ningún otro. Por ejemplo, lenguaje ensamblador.

Lenguajes de alto nivel. Se trata de lenguajes de programación que aspiran a ser un

lenguaje más universal, por lo que pueden emplearse indistintamente de la arquitectura

del hardware, es decir, en diversos tipos de sistemas. Los hay de propósito general y de

propósito específico. Por ejemplo, PHP, Basic, Java, etc.

P á g i n a 12 | 15
Licenciatura en Ingeniería en Sistemas Computacionales

Descripción de un algoritmo

Para plantear un algoritmo adecuado es preciso seguir estos tres pasos:

1. Enunciar el problema. Esto es clave, ya que la manera en que planteemos el

problema será el enfoque específico que nos servirá para alcanzar una solución.

Se debe recopilar datos, abordar el problema desde una perspectiva amplia y a la

vez puntual.

2. Analizar la solución general. Se debe cotejar los datos previos con las posibles

soluciones y explorar las áreas de trabajo, fórmulas y otras herramientas posibles.

Luego, aproximarse a diversas tentativas de solución.

3. Elaborar el algoritmo. Una vez elegido el camino a seguir, se debe elegir el tipo de

algoritmo adecuado y plantearlo, para luego ponerlo a prueba y determinar si es

exactamente la solución deseada.

La descripción de un algoritmo usualmente se hace en tres niveles:

 Descripción de alto nivel. Se establece el problema, se selecciona un modelo

matemático y se explica el algoritmo de manera verbal, posiblemente con

ilustraciones y omitiendo detalles.

 Descripción formal. Se usa pseudocódigo o diagramas de flujo para describir la

secuencia de pasos que encuentran la solución.

 Implementación. Se muestra el algoritmo expresado en un lenguaje de

programación específico o algún objeto capaz de llevar a cabo instrucciones.

P á g i n a 13 | 15
Licenciatura en Ingeniería en Sistemas Computacionales

Un ejemplo de la descripción de un algoritmo es:

1. Descripción de alto nivel: “Resolver la suma de 2 números hasta que la suma sea

mayor a 10”

2. Descripción formal: A través de un diagrama de flujo para revisar cada paso del

algoritmo.

3. Implementación. Esto se realiza en un lenguaje de programación

P á g i n a 14 | 15
Licenciatura en Ingeniería en Sistemas Computacionales

Fuentes de consulta

Ceballos, F. (2009) Lenguaje C. RA-MA Addison: E.U.A

Correa U, G. (1996) Desarrollo de Algoritmos y sus aplicaciones. McGraw Hill

Douglas, B y Parr M. (2003) Java para estudiantes (2003). Pearson Education

Grech, P. (2001) Introducción a la Ingeniería, Un enfoque a través de Diseño. Prentice Hall.

Guerra, D. (2011). Arreglos. Joven Club de Computación y Electrónica

Joyanes, L. (1990) Problemas de metodología de la programación. Editorial McGraw Hill.

Schildt, H. (2001) Manual de Referencia, 4ta. Ed., Mc Graw-Hill, España, 2001.

P á g i n a 15 | 15

También podría gustarte