You are on page 1of 6

Definicin: Algoritmo

Podemos encontrar muchas definiciones completas o formales de algoritmo en los textos de algortmica y programacin,
todas ellas muy similares:
Secuencia finita de instrucciones, reglas o pasos que describen de forma precisa las operaciones de un
ordenador debe realizar para llevar a cabo un tarea en un tiempo mas finito. [Donald E. Knuth, 1968]
Descripcin de un esquema de comportamiento expresado mediante un reportorio finito de acciones y de
informaciones elementales, identificadas, bien comprendidas y realizables a priori. Este repertorio se denomina
lexico [Pierre Scholl, 1988]
Un algoritmo es un conjunto finito de pasos definidos, estructurados en el tiempo y formulados con base a un
conjunto finito de reglas no ambiguas, que proveen un procedimiento para dar la solucin o indicar la falta de esta
a un problema en un tiempo determinado. [Rodolfo Quispe-Otazu, 2004]
Caractersticas:
Las caractersticas fundamentales que debe cumplir todo algoritmo son:
Ser definido: Sin ambigedad, cada paso del algoritmo debe indicar la accin a realizar sin criterios de
interpretacin.
Ser finito: Un nmero especfico y numerable de pasos debe componer al algoritmo, el cual deber finalizar al
completarlos.
Tener cero o ms entradas: Datos son proporcionados a un algoritmo como insumo (o estos son generados de
alguna forma) para llevar a cabo las operaciones que comprende.
Tener una o ms salidas: Debe siempre devolver un resultado; de nada sirve un algoritmo que hace algo y nunca
sabemos que fue. El devolver un resultado no debe ser considerado como nicamente verlos en forma impresa
o en pantalla, como ocurre con las computadoras. Existen muchos otros mecanismos susceptibles de
programacin que no cuentan con una salida de resultados de esta forma. Por salida de resultados debe
entenderse todo medio o canal por el cual es posible apreciar los efectos de las acciones del algoritmo.
Efectividad: El tiempo y esfuerzo por cada paso realizado debe ser preciso, no usando nada ms ni nada menos
que aquello que se requiera para y en su ejecucin.
Historia:
La palabra algoritmo proviene del nombre del matemtico llamado Abu Abdullah Muhammad bin Musa al-Khwarizmi (hay
muchas variantes para el nombre al usar el alfabeto latin, tales como Al-Khorezmi, Al-Khwarizmi, Al-Khawarizmi, Al-
Khawaritzmi o Al-Khowarizmi) que vivi entre los siglos VIII y IX.
Su trabajo consisti en preservar y difundir el conocimiento de la antigua Grecia y de la India. Sus libros eran de fcil
comprensin, de ah que su principal valor no fuera el de crear nuevos teoremas o nuevas corrientes de pensamiento, sino
el de simplificar las matemticas a un nivel lo suficientemente bajo para que pudiera ser comprendido por un amplio pblico.
Cabe destacar cmo seal las virtudes del sistema decimal indio (en contra de los sistemas tradicionales rabes) y cmo
explic que, mediante una especificacin clara y concisa de cmo calcular sistemticamente, se podran definir
algoritmos que fueran usados en dispositivos mecnicos similares a un baco en vez de las manos. Tambin estudi la
manera de reducir el nmero de operaciones necesarias que formaban el clculo.
Por esta razn, aunque no haya sido l el inventor del primer algoritmo, merece que este concepto est asociado a su
nombre. Al-Khorezmi fue sin duda el primer pensador algortmico.
Ya en el siglo XIX, se produjo el primer algoritmo escrito para un computador. La autora fue Ada Byron, en cuyos escritos se
detallaban la mquina analtica en 1842. Por ello que es considerada por muchos como la primera programadora aunque,
desde Charles Babbage, nadie complet su mquina, por lo que el algoritmo nunca se implement.
La idea de resolver un problema o de disponer de un algoritmo es bastante antigua, tal es as, que exista la errada creencia
que no haba problema que no se pudiera resolver y en base a ello, el matemtico David Hilbert quiso descubrir un
algoritmo para los algoritmos. Hoy en da gracias a los trabajos de Kurt Gdel, Alonzo Church (calculo lamba), Alan Turing
(mquina de turing), se sabe que dentro del universo de problemas, una pequea parte es computable, luego que el
objetivo que persegua David Hilbert no era computable, es lo que se ha denominado como la compatibilidad de
los algoritmos.
Concepto de programa (trmino derivado del latn programa que, a su vez, tiene su origen en un vocablo griego) posee
mltiples acepciones. Puede ser entendido como el anticipo de lo que se planea realizar en algn mbito o circunstancia; el
temario que se ofrece para un discurso; la presentacin y organizacin de las materias de un cierto curso o asignatura; y la
descripcin de las caractersticas o etapas en que se organizan determinados actos o espectculos artsticos.

Un programa tambin consiste en una unidad temtica desarrollada durante una emisin televisiva o radial, adems de
permitir nombrar al grupo de instrucciones que le posibilita a una computadora desarrollar diferentes funciones.
En este sentido, hay que decir que un programa informtico o software es un elemento imprescindible para el normal
funcionamiento de una computadora. Puede ser tanto un programa ejecutable como su cdigo fuente, que es escrito por los
programadores. Por otra parte, de acuerdo


A sus funciones, un programa puede ser catalogado como un software de sistema o un software de aplicacin.
En este mbito tecnolgico se puede hablar de multitud de programas que tienen como objetivo el que podamos realizar
una tarea concreta de una manera sencilla. Este sera el caso de Word, que es un procesador de textos que nos ayuda a
crear y disear multitud de documentos textuales, o PowerPoint que nos sirve para desarrollar presentaciones visuales muy
atractivas.
En cuanto al programa de radio o televisin, se trata de un conjunto de emisiones peridicas que se nuclean e identifican
bajo un mismo ttulo y que ofrece contenidos segmentados por bloques.
As podemos establecer como ejemplos diversos tipos de programas que existen en las parrillas de cualquier televisin del
mundo. Una perfecta clasificacin podra ser la que habla de programas deportivos, programas de actualidad, programas de
entretenimiento, programas del corazn o programas culturales, entre otros muchos ms.


Un lenguaje de programacin es un idioma artificial diseado para expresar procesos que pueden ser llevadas a cabo por
mquinas como las computadoras.
Pueden usarse para crear programas que controlen el comportamiento fsico y lgico de una mquina, para
expresar algoritmos con precisin, o como modo de comunicacin humana.
1

Est formado por un conjunto de smbolos y reglas sintcticas y semnticas que definen su estructura y el significado de
sus elementos y expresiones. Al proceso por el cual se escribe, se prueba, se depura, se compila y se mantiene el cdigo
fuente de un programa informtico se le llama programacin.
Tambin la palabra programacin se define como el proceso de creacin de un programa de computadora, mediante la
aplicacin de procedimientos lgicos, a travs de los siguientes pasos:
El desarrollo lgico del programa para resolver un problema en particular.
Escritura de la lgica del programa empleando un lenguaje de programacin especfico (codificacin del programa).
Ensamblaje o compilacin del programa hasta convertirlo en lenguaje de mquina.
Prueba y depuracin del programa.
Desarrollo de la documentacin.
Existe un error comn que trata por sinnimos los trminos 'lenguaje de programacin' y 'lenguaje informtico'. Los
lenguajes informticos engloban a los lenguajes de programacin y a otros ms, como por ejemplo HTML (lenguaje para el
marcado de pginas web que no es propiamente un lenguaje de programacin, sino un conjunto de instrucciones que
permiten disear el contenido de los documentos).
Permite especificar de manera precisa sobre qu datos debe operar una computadora, cmo deben ser almacenados o
transmitidos y qu acciones debe tomar bajo una variada gama de circunstancias. Todo esto, a travs de un lenguaje que
intenta estar relativamente prximo al lenguaje humano o natural. Una caracterstica relevante de los lenguajes de
programacin es precisamente que ms de un programador pueda usar un conjunto comn de instrucciones que sean
comprendidas entre ellos para realizar la construccin de un programa de forma colaborativa.

Partes y elementos para la construccin de un algoritmo

1.1. PARTES DE UN ALGORITMO
Todo algoritmo debe obedecer a la estructura bsica de un sistema, es decir: entrada, proceso y salida.
Donde:
ENTRADA
Corresponde al insumo, a los datos necesarios que requiere el proceso para ofrecer los resultados esperados.
PROCESO
Pasos necesarios para obtener la solucin del problema o la situacin planteada.
SALIDA
Resultados arrojados por el proceso como solucin.
En el ejemplo del algoritmo de la sumatoria de los dos nmeros, tenemos:
ENTRADA
Valores de de las variables A y B.
PROCESO
Asignar a la variable Suma, el valor de A mas el valor de B.
SALIDA
Impresin del valor de la variable Suma, que contiene la sumatoria
de los valores de A y B.
1.2. CARACTERSTICAS DE LOS ALGORITMOS
Las caractersticas fundamentales que debe cumplir un algoritmo son:
PRECISIN
Indica el orden de realizacin de cada paso dentro del proceso.
DEFINICION
Indica la exactitud y consistencia de los pasos descritos en el proceso,
Si el algoritmo se prueba dos veces, en estas dos pruebas, se debe
Obtener el mismo resultado.
FINITUD
Indica el nmero razonable de pasos, los cuales deben conllevar a la finalizacin del proceso y producir un resultado en un
tiempo finito.
Al disear un algoritmo se debe tener presente las caractersticas de precisin, definicin y finitud.
Visualicemos estas caractersticas a travs del siguiente ejemplo:
Ejemplo: Algoritmo para hacer una torta
Entrada: Harina de trigo, mantequilla, huevos, sal, azcar
Proceso: 1.- Unir la mantequilla con el azcar
2.- Batir hasta lograr consistencia cremosa
3.- Agregar harina de trigo, huevos, sal y azcar
4.- Batir hasta que esponje
5.- Precalentar el horno, en 250 , y enmantequillar tortera
6.- Una vez logre la consistencia de esponjado, colocar en la tortera
7.- Introducir en el horno por espacio de 45 minutos
Salida:
Torta
Siguiendo el ejemplo recuerde determinar las instrucciones de Entrada, Proceso y Salida.
Segn el ejercicio anterior, se puede determinar que el algoritmo para hacer torta, cumple con las caractersticas
fundamentales de los algoritmos. Es decir, Es preciso?, Es definido?, Es finito?, razona tus respuestas.
Ejercicio: Realice un algoritmo para la elaboracin de pan
1.3. ELEMENTOS PARA LA CONSTRUCCIN DE UN ALGORITMO
Definamos algoritmo como un conjunto de pasos conducentes a resolver un problema, cada uno de esos pasos,
corresponde a lo que se denomina en el programa, una instruccin, aunque pudiera darse que, en una instruccin se junten
dos o ms pasos.
Aprender a realizar un algoritmo se fundamenta en lo que se persigue lograr con su desarrollo; debido a que no existe un
mtodo nico para resolver problemas se estudian diferentes mtodos de resolucin o modelos de construccin para lograr
la generacin del resultado deseado.
Esto nos lleva a reestructurar el concepto de algoritmo, como un conjunto de instrucciones o pasos en los que se describe
su inicio, desarrollo o proceso y salida o resultado del algoritmo; elaborados para lograr resolver un problema.
Dado que un algoritmo es un conjunto de instrucciones elaboradas con la finalidad de resolver un problema, a continuacin
se describen los elementos que se utilizan en la construccin de una instruccin.
Instruccin o sentencia
Dependiendo del origen del material instrucciones se habla de instruccin o sentencia; sta, define una accin o un
mandato que se debe realizar, esa accin o mandato se representa a travs de un comando o lo que es lo mismo palabras
reservadas de un lenguaje de programacin en particular. Una instruccin est compuesta por uno o ms comandos
(accin), datos, smbolos, variables o constantes y expresiones, que en conjunto representan una instruccin o sentencia.
Ejemplo de instruccin: En la construccin de los programas se estila utilizar una instruccin por lnea. As mismo, se utiliza
la identacin, que no es ms que la alineacin de aquellas instrucciones dentro de las estructuras que las contienen de
manera ordenada que permita visualizar el inicio y fin de cada bloque de instrucciones.
Si ASISTIO =SI Entonces
Leer Sueldo,
Asignar Sueldo = Sueldo + Hora Extra
Fin Si
Donde:
SI
Representa una estructura condicional utilizada para establecer preguntas
O programar ciertas condiciones
ASISTIO
Nombre de una Variable lgica que puede obtener slo dos valores SI
O NO. En el ejemplo se programa la condicin de las variables cuando
Es SI
ENTONCES
Parte de la instruccin o estructura condicional
LEER SUELDO
Instruccin utilizando el comando cuya accin es la lectura de un campo
O dato
Asignar SUELDO=
SUELDO+HORAEXTRA
Instruccin de asignacin, permite asignar o calcular el valor que adquirir
una variable
Fin SI
Cierra la estructura condicional Si Entonces Fin Si
Comandos o palabras reservadas
Todos los lenguajes, naturales o computacionales, tienen palabras que denotan una accin. Los comandos no son ms que
acciones que debe interpretar y ejecutar el computador. Cada comando conserva una sintaxis determinada, es decir la
forma de utilizarlo. Los lenguajes computacionales tienen en su repertorio comandos dirigidos al procesamiento de archivos
y datos, entre ellos: Leer, Calcular, Asignar, Clasificar, Imprimir.
Datos
Los datos son smbolos que se convierten en condiciones, hechos, situaciones o valores. Un dato puede significar un
nmero, una letra, un signo ortogrfico o cualquier smbolo que represente una cantidad, una medida, una palabra o una
descripcin. La importancia de los datos est en su capacidad de asociarse dentro de un contexto para convertirse en
informacin. Es decir, por si mismos los datos no tienen capacidad de comunicar un significado y por tanto no pueden
afectar el comportamiento de quien los recibe. Para ser tiles, los datos deben convertirse en informacin que ofrezca un
significado, conocimiento, ideas o conclusiones.
TIPOS DE DATOS
Como se describi anteriormente, un dato es un campo que puede convertirse en informacin.
Existen datos simples (sin estructura) y compuestos (estructurados).
Los datos simples son los siguientes
- Numricos (Reales, Enteros)
- Lgicos
- Carcter (Char, String)
Los tipos de datos simples son:
Tipos de datos
Numricos Lgicos Carcter
Reales Enteros Char String
Ejemplo. Ejemplos de tipos de datos simples
Tipo de datos Caractersticas
Ejemplos
Numricos Enteros
Los nmeros enteros son los nmeros naturales positivos y negativos que conocemos.

1
2
25
146
-456
Numricos Reales
Los nmeros reales, son los nmeros que tienen parte decimal.
0.56
1.00
25.13
148.45
-456.23
Lgicos o bolanos Son aquellos datos cuyos nicos valores slo pueden
ser: Verdadero (V) o Falso (F), puede encontrarse, Verdadero (True) o Falso (False). Se utiliza para representar las
opciones (si/no) a determinadas condiciones.
Nacionalidad = Venezolano
(S/N)?
Carcter o Char
Su valor lo comprenden todos los caracteres alfabticos,
Maysculas y minsculas (A Z), numricos
(0 9) y smbolos especiales (#, @, %,&).

You might also like