Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Algoritmos y su Representación
1. Introducción
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.
1.1 Cómo "piensa" una computadora
Aunque las computadoras cada vez más complejas pueden
El primer error informático
razonar mejor, una computadora solamente hace lo que se le
ordena. Ahí es donde aparece el software. Un programa de
software es una sucesión de instrucciones. Puede ser simple, como
para que puedas calcular sumas o restas, o complicado, como para
predecir la trayectoria de un cohete lanzado al espacio.
A veces, un error en el programa de la computadora (BUGS)
provoca un resultado inesperado y, generalmente, desagradable.
Para los ingenieros de software es extremadamente difícil diseñar
un programa perfecto. Por eso la mayoría de los programas En 1947, en la Universidad de Harvard
inicialmente contienen errores y la depuración se convierte en una descubrieron una polilla en una computadora,
la Mark ll o "calculadora de relé", que había
tarea diaria para los programadores.
estado presentando problemas. La polilla fue
encontrada por un equipo que lideraba una
Depurar generalmente es una tarea difícil y agotadora. El conocida científica informática, matemática y
oficial de la marina (y finalmente
elemento más importante para depurar un problema es la Contralmirante), Grace Murray Hopper. Luego
capacidad del programador para hacerlo. Sin embargo, la de quitar la polilla, se comenzó a utilizar el
dificultad de la depuración del software varía considerablemente término "bug"(bicho en inglés) para referirse a
de acuerdo con el lenguaje de programación usado y a las los errores informáticos, y de allí el término
"debugging" traducido al español como
herramientas utilizadas como depuradores. "depuración". La polilla fue conservada,
pegada con cinta en el diario de Hopper, y
Los depuradores son herramientas de software que permiten que exhibida durante un tiempo en el Museo Naval
de Dahlgren, Virginia.
el programador pueda controlar la ejecución de un programa,
detenerla, reiniciarla, ejecutarla en cámara lenta, cambiar los valores de la memoria y en algunos casos,
retroceder en el tiempo.
Finalmente, una computadora debe saber cómo comunicarse. Para ello es necesario conectarla a
dispositivos periféricos. En el mundo digital actual, la computadora no sólo está equipada con los
ALGORITMOS INTRODUCCIÓN A LA PROGRAMACIÓN
elementos básicos (teclado, mouse y pantalla) sino también con un módem, una cámara y una
impresora.
3. Lenguaje de alto nivel. Es semejante al lenguaje humano (en general en inglés), lo que facilita la
elaboración y comprensión del programa. Por ejemplo Basic, Pascal, Cobol, Fortran, C, C++, etc.
ALGORITMOS INTRODUCCIÓN A LA PROGRAMACIÓN
Un algoritmo, cuando necesita ser ejecutado en una computadora, se escribe con el formato del lenguaje de
programación elegido, respetando sus reglas sintácticas en un editor particular, (pero puede escribirse en
cualquier editor básico, notepad por ejemplo), y se guarda con la extensión correspondiente.
Este programa se denomina "fuente"(está escrito en palabras que reconocemos, y es el origen de todo
el proceso). Pero la secuencia de ordenes no puede ser ejecutada porque la computadora no conoce el
formato en que se expresan las órdenes, para poder ser reconocido, se debe rescribir el programa en
lenguaje objeto" que tiene ordenes entendibles para la computadora (escrito en ceros y unos, en muy
alto nivel). Para esto, el paquete del lenguaje correspondiente, lo traduce (por medio de un "traductff"
0 IO compila" (puede tener una o ambas de las herramientas). Un traductor "traduce" a lenguaje
máquina cada una de las instrucciones (en memoria) y las ejecuta, cortando el proceso cuando
encuentra algún error (vuelve a la fuente, se arregla y se traduce nuevamente).
El "compilador" tiene un proceso más completo y complejo. En primer lugar se ocupa de los errores y
los marca en pantalla de diferentes maneras, uno a uno. Cuando el proceso completo está libre de
errores, procede a enlazar las rutinas (pedazos que se encadenan al proceso general) que componen el
programa, con rutinas, matemáticas, etc. o del usuario; y finalmente, produce una salida en lenguaje
objeto que es ejecutada por el procesador (o almacenada en disco). Los errores que analiza y marca un
compilador se relacionan con la gramática y la sintaxis del lenguaje: es decir, si alguna palabra está
escrita en forma incorrecta, si todos los lazos están cerrados, si las variables han sido declaradas o
utilizadas en forma correcta (uso de la memoria), si existen las rutinas que se citan, etc. Sin embargo, no
puede descubrir errores de lógica, es decir un programa bien compilado no necesariamente resuelve el
problema planteado, solamente está escrito en forma entendible para ser procesado.
2. Algoritmos
Algoritmo se define como un conjunto de instrucciones que la computadora debe seguir para resolver
un problema. La palabra algoritmo se deriva de la traducción al latín del nombre Muhammad Musa
Alkhawarizmi, un matemático y astrónomo árabe que en el siglo IX escribió un tratado sobre
manipulación de números y ecuaciones.
2.1 Definición de Algoritmo
Informalmente, un algoritmo es cualquier procedimiento de cálculo bien definido que toma algún valor,
o conjunto de valores, como entrada y produce un cierto valor, o conjunto de valores, llamados salida.
Así, un algoritmo es una secuencia de pasos de cálculo que transforman cálculos de entrada en salidas.
Podemos ver un algoritmo como la herramienta para dar solución a un problema, mediante un cálculo
bien especificado. El planteamiento del problema se especifica en términos generales como una relación
entrada/salida. En el algoritmo se describe un procedimiento de cálculo específico que sirve para logar
dicha relación entre entrada/salida.
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.
Por ejemplo, puede ser que tenga que ordenar una secuencia de números en orden creciente (menor a
mayor). Este problema se presenta con frecuencia en la práctica y proporciona un terreno fértil para ir
introduciendo muchas normas técnicas de diseño y herramientas de análisis.
PROBLEMA: Escribe un algoritmo para obtener el área de un triángulo, tomando en cuenta que el área:
(base * altura)/2.
Inicio
Los dos primeros algoritmos están relacionados con situaciones de la vida cotidiana, y el último
algoritmo es un cálculo específico el cual tiene un resultado exacto, o sea un valor.
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.
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.
ALGORITMOS INTRODUCCIÓN A LA PROGRAMACIÓN
Introducción a la Programación
Cuando existe la necesidad de resolver de forma automatizada tareas que requieren de mucho análisis
y múltiples procesos, por lo general existen aplicaciones o programas que son muy útiles para simplificar
el trabajo; sin embargo, existen casos en que los programas de aplicación actuales no son suficientes
para cubrir todas las necesidades. En el momento que se llega a este extremo, se hace necesaria la
técnica de programaciÓn, que consiste en el diseño paso a paso de una aplicación o grupo de programas
que logren satisfacer todas las necesidades de una función o proceso determinado.
En sus inicios los ordenadores sólo podían entender órdenes o instrucciones de un sólo lenguaje muy
básico y específico basado en 1 y 0 conocido como sistema binario; para dar mayor uso a la
programación, los primeros científicos programadores optaron por sustituir esa cadena de número
simple por letras Y luego palabras provenientes del idioma inglés, cuando lograron codificar ese
conjunto de palabras establecieron un nivel de programación de mayor nivel denominado Lenguaje
Ensamblador.
ALGORITMOS INTRODUCCIÓN A LA PROGRAMACIÓN
A medida que las tareas del ser humano se volvían complejas los programadores se vieron en la
necesidad de crear nuevos métodos de programación denominados Lenguajes de Programación de
Alto Nivel. De esta manera, lo que en el Lenguaje Ensamblador correspondía a un conjunto de
instrucciones en los Lenguajes de Alto Nivel significaban una sola instrucción y así la simplicidad de
programar aumentaba. En la Programación es muy importante que las instrucciones dictaminadas
sean de manera clara dejando la ambigüedad a un segundo plano puesto que se maneja que, si un
programa entre más claro es y menos ambiguo su funcionalidad sería más potente, bajo esta premisa
podemos asegurar que cada algoritmo debe de ser totalmente legible para los lenguajes de
programación.