Professional Documents
Culture Documents
Programación y Algoritmos
Nombre de la Tarea
Reporte de Investigación. Introducción a la
programación y algoritmos.
Unidad 1
Paradigmas y Algoritmos
Introducción.
En este trabajo de investigación se detallaran términos necesarios para introducirse a la
programación y desarrollo de sistemas computacionales.
En el trabajo de abordaran los temas de pseudocódigo y diagramas de flujos para moderación
de algoritmos, la importancia de los algoritmos en el proceso de programación, los paradigmas
de programación mas usados y terminologías básicas en el contexto de la programación.
Los diagramas de flujo no tienen una relación de dependencia con algún lenguaje de
programación [1], por lo que no importa el tipo de lenguaje, pues su finalidad es solo maquetar
la idea del algoritmo.
2
Unidad 1: Paradigmas y algoritmos
Programación y Algoritmos
5. La notación del diagrama debe ser independiente del lenguaje de programación para
posteriormente escribir el resultado en diferentes lenguajes de programación.
6. Al realizar una tarea compleja, es conveniente poner comentarios para hacer entendible la
lectura del diagrama.
Pseudocódigo
El pseudocódigo es un lenguaje de dominio especifico (DSL en inglés) para la descripción de
algoritmos [3]. Este DSL hace uso de elementos sintácticos del lenguaje natural y de algún
lenguaje de programación conocido lo cual lo hace sencillo para poder reescribir la idea del
algoritmo en pseudocódigo a un lenguaje de programación.
El pseudocódigo podría estar expresado realmente en cualquier lenguaje (que pueda poseer el
mismo alfabeto que un lenguaje de programación) para representar el algoritmo. Actualmente
podemos encontrar propuestas de pseudocódigo tanto en español como en inglés.
3
Unidad 1: Paradigmas y algoritmos
Programación y Algoritmos
end
Como puede observarse, el pseudocódigo puede utilizar palabras reservadas para expresar
acciones (mayormente homologas de un lenguaje de programación) como start, read (leer),
write (escribir), while, if-then-else, repeat-until, entre otros [3].
RESOLUCIÓN DE UN ALGORITMO
4
Unidad 1: Paradigmas y algoritmos
Programación y Algoritmos
Estos pasos servirán como guía básica al programador para resolver un problema. Puede
observarse que el algoritmo es el paso inicial a desarrollar y seguido de la misma codificación
de ese algoritmo en el lenguaje de programación elegido.
Programación Lógica
Se basa en fragmentos de la lógica de predicados que pueden emplearse como base de un
lenguaje de programación al poseer una semántica operacional susceptible a una
implementación eficiente [2]. Ejemplos de lenguaje para este paradigma son LISP y LOGO.
Programación Funcional
La programación funcional se encuentra sujeta al concepto de función (matemática) y su
definición mediante ecuaciones (generalmente recursivas), que constituyen el programa. Desde
el punto de vista computacional, la programación funcional se centra en la evaluación de
expresiones (funcionales) para obtener un valor [2]. Ejemplos de lenguajes que apliquen el
paradigma funcional pueden encontrarse a Haskell, un lenguaje de mas de 40 años en uso.
Otros lenguajes un poco mas recientes como Javascript, Lua, Scala para la JVM y Elixir.
Programación Estructurada
La programación estructurada o también conocida como procedural, se caracteriza donde en
cada sentencia o instrucción señala al compilador para que realice alguna tarea. Un programa
es, entonces, un conjunto de instrucciones. Lenguajes como C, FORTRAN y Pascal son
conocidos por utilizar este paradigma. Otros lenguajes mas nuevos para este paradigma
podrían ser Go (de Google) y Rust.
5
Unidad 1: Paradigmas y algoritmos
Programación y Algoritmos
La programación orientada a objetos (POO), tal vez el paradigma mas utilizado en el siglo XXI,
trae una nuevo enfoque a los retos que se plantean en la programación estructurada cuando los
problemas a resolver se vuelven complejos. La POO no se enfoca en los algoritmos o
procedimientos sino en el diseño de los datos, intentando ajustar el lenguaje al problema. La
idea es diseñar formatos de datos que correspondan a las características esenciales del
problema[3].
La idea fundamental de la POO es combinar en una unidad o modulo, tanto los datos como
funciones que operan sobre esos datos . Tal unidad es llamada objeto [3]. Un objeto se vuelve
un tipo de dato complejo, que representa una porción lógica del problema, que posee sus
propios datos (conocidos como atributos) y funciones (conocidos como métodos) para
interactuar y comunicarse con otros objetos en el programa.
Lenguajes conocidos de este paradigma pueden encontrase a Java, C++, C#, Ruby, PHP,
Smalltalk.
Conclusiones.
Para cualquier estudiante nuevo en la programación los términos básicos de un algoritmo y sus
características es de vital importancia. En mi experiencia laboral, al enfrentarse a un problema
por resolver siempre es importante analizar antes de siquiera escribir una linea de código. Este
es un error sumamente cometido por expertos programadores que afectan a largo plazo la
solución del problema en cuestiones de defectos, lentitud o bien un mal diseño de código que
lleve a su refactorización.
6
Unidad 1: Paradigmas y algoritmos
Programación y Algoritmos
Entonces, para exponer la necesitad del uso de algoritmos puedo resumir que la inversión de
diseñar y analizar la problemática previo a codificar ayudará a largo plazo para evitar problemas
futuros, ya que conforme un sistema se haga mas y mas grande, la integración de nuevas
funcionalidades será más complicado si no se analiza como evitar efectos secundarios sobre lo
ya programado.
Referencias
[1] Cairo, O. (2006). Fundamentos de programación piensa en C. México: Pearson.
[2] Iranzo, J., Alpuente, M. (2007). Programación lógica Teoría y práctica. Madrid, España:
Pearson.
[3] Joyanes-Aguilar, L. (2008). Fundamentos de programación (4th ed.). Aravaca: McGraw-Hill
Interamericana de España.
[4] Lutz, M (2010). Learning Python, Fourth Edition. O'Reilly Media, Inc., O'Reilly.