Vous êtes sur la page 1sur 7

UNIVERSIDAD NACIONAL DE TRUJILLO SESIN 02 LENGUAJE DE PROGRAMACIN

I. DEFINICIN Y CARACTERSTICAS DE UN ALGORITMO

I.1 Qu es Algoritmo?

La palabra algoritmo se deriva de la traduccin al latn de la


palabra rabe Al-khowarizmi(hay muchas variantes para
el nombre al usar el alfabeto latin, tales como Al-
Khorezmi, Al-Khwarizmi, Al-Khawarizmi, Al-
Khawaritzmi o Al-Khowarizmi 780-850), nombre de un
matemtico y astrnomo rabe que escribi un tratado
sobre manipulacin de nmeros y ecuaciones en el siglo
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 numero 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-khowarizmi fue sin duda el
primer pensador algortmico.

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.

Un ALGORITMO es una secuencia finita bien definida de tareas, cada una


de las cuales se puede realizar con una cantidad de recursos finitos.
Se dice que una tarea esta bien definida, si se sabe de manera precisa las
acciones requeridas para su realizacin. Aunque los recursos que debe
utilizar cada tarea deben ser finitos estos no estn limitados, es decir, si una
tarea bien definida requiere una cantidad inmensa (pero finita) de algn
recurso para su realizacin, dicha tarea puede formar parte de un algoritmo.
Adems, se dice que una secuencia de tareas esta bien definida si se sabe
el orden exacto de ejecucin de cada una de las mismas.

Es un sistema por el cual se llega a una solucin, teniendo en cuenta que


debe de ser definido, finito y preciso.

Conjunto de sentencias e instrucciones en lenguaje nativo, los cuales


expresan la lgica de un programa.

Ing. Henry Pal Bermejo Terrones 1


UNIVERSIDAD NACIONAL DE TRUJILLO SESIN 02 LENGUAJE DE PROGRAMACIN

Descripcin exacta de la secuencia en que se ha de realizar un conjunto de


actividades tendientes a resolver un determinado tipo de problema o
procedimiento.

Conjunto ordenado y finito de pasos que permite hallar la solucin de un


problema.

Conjunto de reglas que permiten obtener un resultado determinado a partir


de ciertas reglas definidas.

Descripcin precisa de una sucesin de instrucciones que permite llevar a


cabo un trabajo en un nmero finito de pasos.

Toda receta, proceso, rutina, mtodo, procedimiento, tcnica, formula que


resuelven un determinado problema.

Conjunto de instrucciones concretas y detalladas mediante el cual se


consigue una accin determinada.

Un conjunto de smbolos y procedimientos usados en la realizacin de un


clculo.

Una secuencia de pasos que conducen a la realizacin de una tarea.

I.2 Caractersticas de un algoritmo.


Las caractersticas que debe poseer una secuencia de tareas para considerarse
algoritmo son: precisin, definitud y finitud.
Preciso: El algoritmo debe indicar el orden exacto de ejecucin de cada
tarea.

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.

Ing. Henry Pal Bermejo Terrones 2


UNIVERSIDAD NACIONAL DE TRUJILLO SESIN 02 LENGUAJE DE PROGRAMACIN

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.

Ejemplos de algoritmos son:


Ver una pelcula
1. Buscar el videocasette de la pelcula
2. SI el televisor y la video se encuentran apagados, encenderlos
3. Sacar el video del estuche
4. Introducirlo en la videocasetera
5. Tomar el control del televisor y la video
6. Dirijirme a el sofa
7. Ponerme comodo
8. Disfrutar la pelcula

Fjate como he descrito en estos pasos el algoritmo para poder ver una pelcula en la
video, este pequeo algoritmo cumple con los requisitos descritos arriba, ya que cada
paso precisa un orden y tiene un orden de pasos finitos. En este algoritmo aparece la
palabra SI remarcada en maysculas, el uso de esta palabra la veremos mas adelante,
cuando discutamos sobre el control del flujo del programa o estructuras de control.
Los algoritmos se pueden expresar por frmulas, diagramas de flujo, y
pseudocdigos conocidos como herramientas de programacin. Est ltima
representacin es la mas utilizada por su sencillez y parecido a el lenguaje humano.
Como ejercicio te recomendara que escribieras algunos algoritmos de sucesos en tu
vida cotidiana, como por ejemplo: encender el auto, ir al cine, etc.

I.3 PARTES DE UN ALGORITMO


Todo algoritmo debe obedecer a la estructura bsica de un sistema, es decir:
entrada, proceso y salida.

ENTRADA PROCESO SALIDAA


A
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.

II. RESOLUCIN DE PROBLEMAS UTILIZANDO LA COMPUTADORA

Pasos para la solucin de problemas


El proceso de resolucin de un problema con una computadora conduce a la
escritura de un programa y a su ejecucin en la misma. Aunque el proceso de
disear programas es esencialmente un proceso creativo, se pueden considerar
tambin como una serie de fases o pasos comunes que generalmente deben seguir
todos los programadores.

Ing. Henry Pal Bermejo Terrones 3


UNIVERSIDAD NACIONAL DE TRUJILLO SESIN 02 LENGUAJE DE PROGRAMACIN

Las siguientes son las etapas que se deben cumplir para resolver con xito un
problema de programacin:

1. Definicin del problema.


2. Anlisis del problema.
3. Diseo del algoritmo.
4. Resolucin del algoritmo en la computadora o Codificacin.
5. Compilacin.
6. Pruebas.
7. Documentacin.
8. Mantenimiento.

II.1 Definicin del Problema


Esta fase est dada por el enunciado del problema, el cual requiere una
definicin clara y precisa. Es importante que se conozca lo que se desea que
realice el computador; mientras esto no se conozca del todo no tiene mucho
caso no tiene caso pasar a la siguiente paso o etapa.

II.2 Anlisis del Problema


Entendido el problema (que se desea obtener de la computadora), para
resolverlo es preciso analizar:
Los datos o resultados que se esperan.
Los datos de entrada que se deben suministrar.
Cul es la salida deseada? La informacin que se desea producir (salida)
El proceso al que se requiere someter dichos datos a fin de obtener los
resultados esperados.
Frmulas, ecuaciones y otros recursos necesarios.

Una recomendacin muy prctica es el que nos pongamos en el lugar de la


computadora, y analizar que es necesario que me ordenen y en que secuencia
para poder producir los resultados esperados.

II.3 Diseo del Algoritmo


Este paso consiste en utilizar un lenguaje algortmico que permita representar
la solucin pensada (Pseudocdico, Diagrama de flujo, Diagrama N-S).

II.4 Codificacin
Esto es, colocamos cada paso del diagrama en una instruccin o sentencia
utilizando un lenguaje que la computadora reconoce. Este programa es el que
se conoce como Cdigo Fuente (Source Code).
La codificacin es la operacin de escribir la solucin del problema (de
acuerdo a la lgica del diagrama de flujo o pseudo-lenguaje), en una serie de
instrucciones detalladas, en un cdigo reconocible por el computador, la serie
de instrucciones detalladas se le conoce como cdigo fuente (Source Code), el
cual se escribe en un lenguaje de programacin o lenguaje de alto nivel.

II.5 Compilacin
Utilizamos ahora un programa Compilador, el cual analiza todo el programa
fuente y detecta errores de sintaxis ocasionados por fallas en la codificacin.

Ing. Henry Pal Bermejo Terrones 4


UNIVERSIDAD NACIONAL DE TRUJILLO SESIN 02 LENGUAJE DE PROGRAMACIN

Las fallas de lgica que pueda tener nuestro programa fuente no son detectadas
por el compilador. Cuando no hay errores graves en la compilacin, el
compilador traduce cada instruccin del cdigo fuente a instrucciones propias
de la mquina (Lenguaje de Maquina), creando el Programa Objeto. Cuando
hay errores, stos se deben corregir sobre el mismo programa fuente. El paso
de compilacin se repite hasta eliminar todos los errores y obtener el programa
ejecutable.

II.6 Pruebas
Los errores humanos dentro de la programacin de computadores son muchos
y aumentan considerablemente con la complejidad del problema.
Cuando tenemos el programa ejecutable (en lenguaje de maquina) ordenamos
al computador que lo ejecute, para lo cual suministramos datos de prueba. Los
resultados obtenidos se analizan para identificar cualquiera de las siguientes
situaciones:
La lgica del programa esta bien, pero hay errores sencillos, los cuales se
corrigen modificando algunas instrucciones o incluyendo unas nuevas; el
proceso debemos repetirlo desde el paso 5.
Hay errores muy graves ocasionados por fallas en la lgica, y lo ms
aconsejable es que regresemos al paso 2 para analizar nuevamente el
problema y repetir todo el proceso.
No hay errores y los resultados son los esperados. En este caso, el
programa lo podemos guardar permanentemente para usarlo cuando
necesitemos ejecutarlo nuevamente.

II.7 Documentacin
Es la gua o comunicacin escrita es sus variadas formas, ya sea en enunciados,
procedimientos, dibujos o diagramas. A menudo un programa escrito por una
persona, es usado por otra. Por ello la documentacin sirve para ayudar a
comprender o usar un programa o para facilitar futuras modificaciones
(mantenimiento).
La documentacin se divide en tres partes:
- Documentacin Interna.
- Documentacin Externa.
- Manual del Usuario

Documentacin Interna: Son los comentarios o mensaje que se aaden al


cdigo fuente para hacer mas claro el entendimiento de un proceso.

Documentacin Externa: Se define en un documento escrito los siguientes


puntos:
- Descripcin del Problema
- Nombre del Autor.
- Algoritmo (diagrama de flujo o pseudolenguaje).
- Diccionario de Datos.
- Cdigo Fuente (programa).

Manual del Usuario: Describe paso a paso la manera como funciona el


programa, con el fin de que el usuario obtenga el resultado deseado.

Ing. Henry Pal Bermejo Terrones 5


UNIVERSIDAD NACIONAL DE TRUJILLO SESIN 02 LENGUAJE DE PROGRAMACIN

II.8 Mantenimiento.
Se lleva acabo despus de terminado el programa, cuando se detecta que es
necesario hacer algn cambio, ajuste o complementacin al programa para que
siga trabajando de manera correcta. Para poder realizar este trabajo se requiere
que el programa este correctamente documentado.

III. LENGUAJES ALGORTMICOS


Es una serie de smbolos y reglas que se utilizan para describir de manera explcita
un proceso.

Tipos de Lenguajes Algoritmicos


Grficos: Es la representacin grfica de las operaciones que realiza un algoritmo
(diagrama de flujo).
Ejemplo

No Grficos: Representa en forma descriptiva las operaciones que debe realizar un


algoritmo (pseudolenguaje).

Ing. Henry Pal Bermejo Terrones 6


UNIVERSIDAD NACIONAL DE TRUJILLO SESIN 02 LENGUAJE DE PROGRAMACIN

Bibliografa

GALVEZ, Javier Algortmica: diseo y anlisis de algortmico Funcionales e


Imperativos. 1 era Edicin, Estados Unidos, Editorial Addison
Wesley Iberoamericana S.A, 2000, ISBN: 0201623501
Cdigo Biblioteca: (005.3/G-19)

Ricardo Baeza Yates. Computacin: de los Juegos a los Algoritmos, y de la Teora a


la Prctica. Mayo 2003
Ricardo Baeza Yates. Algoritmia. Mayo 1995
Eduardo Ren Rodrguez vila. El Correcto y Completo Desarrollo de un Algoritmo.
Mayo 2004
Wikipedia. Algoritmo. Wikipedia. Agosto 2007

Sitios web

RMO http://webnogales.cjb.net http://conalep.cjb.net


http://www.aulaclic.es/excel2003/b_2_1_1.htm
http://www.agapea.com/Excel-2003-n252236i.htm
http://www.carlospes.com
http://www.paumi.net/alumne0607/jcifreb/Ordenador/Pag1.htm
http://www.wikilearning.com/

Ing. Henry Pal Bermejo Terrones 7

Vous aimerez peut-être aussi