Este documento describe varios programas y herramientas para resolver algoritmos, incluyendo PSeInt, un pseudolenguaje en español para enseñar conceptos de programación; diagramas de flujo de datos para modelar flujos de datos; el lenguaje de programación C++; el desarrollador de software Borland; y el lenguaje de programación Visual FoxPro. El documento también define qué es un algoritmo y resume los pasos comunes para resolver problemas, como definir el problema, crear un pseudocódigo, probar, codificar, ejecutar y evaluar resultados.
2. ¿QUE ES ALGORITMO?
En matemáticas, lógica, ciencias de la computación y
disciplinas relacionadas, un algoritmo es un conjunto
prescrito de instrucciones o reglas bien
definidas, ordenadas y finitas que permite re alizar una
actividad mediante pasos sucesivos que no generen
dudas a quien deba realizar dicha actividad. Dados un
estado inicial y una entrada, siguiendo los pasos
sucesivos se llega a un estado final y se obtiene una
solución. Los algoritmos son el objeto de estudio de
la algoritmia.
3. ASPECTOS DE LA SOLUCIÓN DE
PROBLEMAS
No existe un método universal que permita resolver cualquier problema. En general, la
solución de problemas es un proceso creativo donde el conocimiento, la habilidad y la
experiencia tienen un papel importante. El proceder de manera sistemática puede ayudar
en la solución. Es muy importante que el problema tratado esté perfectamente definido: se
trata en este momento de saber qué es lo que hay que resolver antes de averiguar cómo
resolver el problema. Esta etapa de definición lleva consigo eliminar las ambigüedades y la
información irrelevante que aparezcan en el enunciado de un problema, y saber
exactamente qué elementos constituyen una solución válida.
Al comenzar a abordar un problema es necesario tener en cuenta que, para la mayoría de
ellos, hay muchas maneras de resolverlos y pueden existir muchas soluciones. Se
plantean sin embargo criterios o estrategias generales que se deben tener en cuenta, para
ello se pueden seguir ocho etapas, articuladas de tal forma que cada una depende de las
anteriores, lo que indica que se trata de proceso complementario y por lo tanto cada paso
exige el mismo cuidado en su elaboración. Las etapas son:
Definición y delimitación del problema a solucionar: Por computador se pueden resolver
cualquier clase de problema una vez definidos los pasos o instrucciones.
Seudocódigo o diagrama de flujo (algoritmo): Este es en realidad el primer paso que se
debe de seguir pues generalmente ya se tiene definido el problema. En esta etapa es
donde se determinan los pasos o instrucciones a seguir y el orden lógico de su ejecución
para darle una eficiente solución al problema. Aquí es donde radica toda la dificultad para
solucionar un problema por computador; el resto de las etapas básicamente se
circunscriben a la adaptación para que un computador determinado ejecute los pasos o
instrucciones planteados en el seudocódigo y se obtengas los resultados esperados.
4. Prueba de escritorio: Luego de realizar el seudocódigo viene la prueba de
escritorio, la cual consiste en hacer un seguimiento manual de los pasos seguidos
que se definieron en el seudocódigo y comprobar, con base en sus datos, si el
resultado al cual se llega es el esperado.
Codificación: Es la escritura de las instrucciones o enunciados, determinados en
la etapa de la diagramación o la seudocodificación en un lenguaje de alto nivel
(Basic, Cobol, Pascal, C, etc.) incluyendo las instrucciones de control adecuadas al
computador donde se vayan a ejecutar.
Digitación: Ya codificadas las instrucciones se convierten a un medio legible para
el computador. Es pasar las instrucciones al editor del lenguaje de programación a
utilizar.
Compilación: Es aquí donde el computador “Chequea” si todas las instrucciones
están escritas correctamente desde el punto de vista de la sintaxis y gramática de
cada lenguaje y las transcribe, dentro de la memoria, del lenguaje de alto nivel al
lenguaje de máquina para obtener el llamado programa objeto.
Ejecución del Programa: El programa objeto es ejecutado por el computador para
llegar a los resultados esperados, utilizando los dispositivos, unidades y memoria
necesaria, según cada paso o programa.
Evaluación de Resultados: Obtenidos los resultados se les evalúa para verificar
si son correctos. En caso contrario, se revisa en las etapas anteriores para
detectar la falla o error, entrar a corregirlo y reiniciar desde este punto los pasos
para resolver de nuevo y en forma correcta el problema.
5.
6. PSEIT
PSeInt es una herramienta para asistir a un estudiante
en sus primeros pasos en programación. Mediante un
simple e intuitivo pseudolenguaje en español, le
permite centrar su atención en los conceptos
fundamentales de la algoritmia
computacional, minimizando las dificultades propias
de un lenguaje y proporcionando un entorno de
trabajo con numerosas ayudas y recursos didácticos.
7. DFD
Un diagrama de flujo de datos (DFD por sus siglas en español e
inglés) es una representación gráfica para la maceta del "flujo"
de datos a través de un sistema de información. Un diagrama
de flujo de datos también se puede utilizar para la visualización
de procesamiento de datos (diseño estructurado). Es una
práctica común para un diseñador dibujar un contexto a nivel
de DFD que primero muestra la interacción entre el sistema y
las entidades externas. Este contexto a nivel de DFD se
"explotó" para mostrar más detalles del sistema que se está
modelando.
8. C++
C++ es un lenguaje de programación diseñado a
mediados de los años 1980 por Bjarne Stroustrup. La
intención de su creación fue el extender al exitoso
lenguaje de programación C con mecanismos que
permitan la manipulación de objetos. En ese
sentido, desde el punto de vista de los lenguajes
orientados a objetos, el C++ es un lenguaje híbrido.
Posteriormente se añadieron facilidades de
programación genérica, que se sumó a los otros dos
paradigmas que ya estaban admitidos (programación
estructurada y la programación orientada a objetos).
Por esto se suele decir que el C++ es un lenguaje de
programación multiparadigma.
9. BORLAND
Borland Software Corporation (anteriormente Borland
International, Inc.) es una compañía de software, ubicada en
Austin, Texas, Estados Unidos. Fue fundada en 1983 por Niels
Jensen, Ole Henriksen, Mogens Glad y Philippe Kahn.
Borland nació en 1983 cuando el joven danés Anders Hejlsberg
llegó a un acuerdo con Philip Khan para vender el compilador
de Pascal que Anders había creado para ordenadores
personales. Turbo Pascal fue un compilador con un concepto
de "entorno", revolucionario en aquella época. Costaba unos
50 dólares estadounidenses y tenia unas posibilidades
excepcionales en la época: incluía extensiones que eliminaban
todos los inconvenientes que provocaron el ensayo de Brian
Kernighan Por qué Pascal no es mi lenguaje preferido.
Especialmente todas las limitaciones al acceso directo a
memoria y a la máquina (ensamblador integrado).
10. VISUAL FOXPRO
Visual FoxPro es un lenguaje de
programación procedural, orientado a
objetos que posee un Sistema Gestor de
Bases de datos o Database Management
System (DBMS) y Sistema administrador de
bases de datos relacionales, producido por
Microsoft.
11. CONCLUSIÓN
Luego de realizar este trabajo e percibido como los
algoritmos son una de las herramientas más complejas y
aplicables en el área de la informática y en el mundo de
las computadoras.
También observe sobre las técnicas de desarrollo de
algoritmos nos permiten encontrar la mejor solución a los
problemas que se nos presentan y deben ser
solucionados por el computador, estas técnicas están
orientadas para utilizarse en cada uno de los niveles de
complejidad y variedad o alternativas para las cuales se
aplican los algoritmos.