You are on page 1of 8

/conversion/tmp/scratch/370993836.

doc/ 1-5

INTRODUCCIN A LA ESCRIPTURA DE ALGORITMOS

RESOLUCION DE PROBLEMAS

Despus de tener dada la Declaracin del Problema, la resolucin computacional de un problema se puede
dividir en tres fases importantes:

- Anlisis del problema


- Diseo o desarrollo del algoritmo
- Implementacin del algoritmo en un lenguaje formal de programacin computacional

El primer paso -anlisis del problema- requiere que el problema sea definido y comprendido claramente
para que pueda ser analizado con todo detalle una vez analizado el problema, se debe desarrollar el
algoritmo-procedimiento paso a paso para solucionar el problema dado-. Por ltimo para resolver el
algoritmo mediante una computadora se necesita codificar el algoritmo en un lenguaje de programacin.

ANALISIS DEL PROBLEMA

El propsito del anlisis de un problema es ayudar al programador para llegar a una cierta compresin de
la naturaleza del problema, el problema debe estar bien definido si se desea llegar a una solucin
satisfactoria para poder definir con precisin el problema se requiere que las especificaciones de entrada y
salida sean descritas con detalle. Una buena definicin del problema junto con una descripcin detallada
de las especificaciones de entrada y salida, son los requisitos mas importantes para llegar a una solucin
eficaz.

DISEO DEL ALGORITMO

Una computadora no tiene capacidad para solucionar problemas ms que cuando se le proporciona los
sucesivos pasos a realizar, estos pasos sucesivos que indican las instrucciones a ejecutar por la mquina
/conversion/tmp/scratch/370993836.doc/ 2-5

constituyen el algoritmo. Los problemas complejos se pueden resolver ms eficazmente con la


computadora cuando se rompen en subproblemas que sean ms fciles de solucionar que el original,
normalmente los pasos diseados en el primer esbozo del algoritmo son incompletos le indicarn solo unos
pocos pasos, tras esta primera descripcin estos se amplan en una descripcin ms detallada con ms
pasos especficos esto proceso se denomina refinamiento del algoritmo. Para problemas complejos
diferentes niveles de refinamiento se necesitan con frecuencia antes de que un algoritmo claro, preciso,
completo se pueda obtener.

REPRESENTACION DE LOS ALGORITMOS

Para representar un algoritmo se debe utilizar algn mtodo que permita independizar dicho algoritmo del
lenguaje de programacin elegido. Ello permitir que un algoritmo pueda ser codificado indistintamente en
cualquier lenguaje, para conseguir esto se precisa que el algoritmo sea representado grfica o en
pseudocdigo, de modo que las sucesivas acciones no dependan de la sintaxis de ningn lenguaje de
programacin, sino que la descripcin pueda servir fcilmente para su transformacin en un programa es
decir su codificacin.

Para representar un algoritmo se puede usar:

1. Descripcin textual secuencial


2. Pseudocdigo (Lenguaje de especificacin de algoritmos)
3. Diagramas de flunos
4. Diagrama N-S(Nassi-Schneiderman).
5. Lenguajes formales de programacin
En este curso de INF-101 con el Prof. Ferreiras trabajaremos la escritura de algoritmos con los
dos primeros mtodos; Se discutirn en ese mismo orden;
/conversion/tmp/scratch/370993836.doc/ 3-5

DESCRIPCIN TEXTUAL SECUENCIAL

El sistema para describir un algoritmo consiste en realizar una descripcin paso a paso con un lenguaje
natural del citado algoritmo, en clculos elementales estas reglas tienen las siguientes propiedades:

a) Deben estar seguidas de alguna secuencia definida de pasos hasta que se obtenga un resultado
diferente.

b) Solo puede ejecutarse una operacin a la vez.

c) Uso de identacin (sangrado o justificacin).

El flujo de control usual de un algoritmo es secuencial, el algoritmo consta de cuatro acciones bsicas cada
una de las cuales debe ser ejecutada antes de realizar la siguiente el algoritmo descrito es muy sencillo; el
algoritmo general se descompondr en pasos ms simples en un procedimiento denominado refinamiento
sucesivo ya que cada accin puede descomponerse a su vez en otras acciones simples as por ejemplo
un primer refinamiento del algoritmo " Arranque matinal de un coche." se puede describir de la forma
siguiente:

Ejemplo 1
Arranque matinal de un coche.
inicio

introducir la llave de contacto


tirar del estrangulador del aire
girar la llave de contacto
pulsar el acelerador
oir el ruido del motor
/conversion/tmp/scratch/370993836.doc/ 4-5

pisar de nuevo el acelerador


esperar unos instantes a que se caliente el motor
llevar el estrangulador de aire a su posicin

fin

En el algoritmo anterior existen diferentes aspectos a considerar. En primer lugar ciertas palabras
reservadas se han escrito, estas palabras describen las estructuras de control fundamentales y procesos de
toma de decisin en el algoritmo, estas incluyen los conceptos importantes de seleccin(expresadas por si-
entonces-sino) y de repeticin (expresadas con mientras-hacer o a veces repetir-hasta e iterar-fin_iterar)
que se encuentran en casi todos los algoritmos, especialmente los de procesos de datos.

Ejemplo 2
Ir al cine
inicio

ver la cartelera de cines en el peridico


sino proyectan "Tiburon"
entonces decidir otra actividad
si proyectan "Tiburon" ir al cine
si hay cola entonces ponerse en ella
mientras haya personas delante suya hacer
avanzar en la cola
si existen asientos disponibles entonces
/conversion/tmp/scratch/370993836.doc/ 5-5

comprar una entrada


encontrar el asiento correspondiente
mientras proyectan la pelcula hacer ver la pelcula
sino refunfuar
abandonar el cine
volver a casa

fin

PSEUDOCODIGO

El pseudocdigo es un lenguaje de especificacin de algoritmos, el uso de tal lenguaje hace el paso de


codificacin final (esto es, la traduccin a un lenguaje de programacin) relativamente fcil.

El pseudocdigo naci como un lenguaje similar al ingls y era un medio de representar bsicamente la
estructuras de control de programacin estructurada, se considera un primer borrador dado que el
pseudocdigo tiene que traducirse posteriormente a un lenguaje de programacin, el pseudocdigo no
puede ser ejecutado por una computadora, es tambin fcil de modificar el pseudocdigo si se descubren
errores o anomalas en la lgica del programa, el pseudocdigo puede ser traducido a cualquier lenguaje
de programacin, el pseudocdigo utiliza para representar las acciones sucesivas, palabras reservadas en
ingls similares a sus homnimas en su lenguaje de programacin, la escritura exige normalmente la
indentacin (sangra en el margen izquierdo) de diferentes lneas.

Aunque el pseudocdigo naci como un sustituto del lenguaje de programacin y, por consiguiente, sus
palabras reservadas se conservaron o fueron muy similares a las de dichos lenguajes, prcticamente el
/conversion/tmp/scratch/370993836.doc/ 6-5

ingls, el uso del pseudocdigo se ha extendido con trminos en espaol como, inicio, fin parada, leer,
escribir, si entonces sino, mientras, fin mientras, repetir, hasta que, sin duda el uso de la terminologa de
pseudocdigo en espaol ha facilitado y facilitar considerablemente el aprendizaje de uso diario de la
programacin.

DIAGRAMAS DE FLUJO

Diagramas de Flujo: Un diagrama de flujo es una de las tcnicas de representacin de algoritmos ms


antigua y a la vez ms utilizada. Un diagrama de flujo es un diagrama que utiliza los smbolos estndar y
que tiene los pasos del algoritmo escritos unidos por flechas denominadas lneas de flujo, que indican la
secuencia en que se deben ejecutar.

Smbolos de diagramas de flujo:

Las lneas de flujo representan el flujo secuencial de la lgica del programa.

Un rectngulo significa algn tipo de proceso en la computadora es decir, acciones


a realizar(sumar 2 nmeros, calcular la raz cuadrada de un nmero)

Un smbolo de entrada y un smbolo de salida para representar cualquier tipo de


entrada o salida de datos o resultados;

El smbolo rombo es una caja de decisin que representa respuestas s/ no o bien diferentes
alternativas;

Cada diagrama de flujo comienza y termina con un smbolo terminal


/conversion/tmp/scratch/370993836.doc/ 7-5

Un pequeo crculo es un conectador y se utiliza para conectar caminos, tras roturas previas
del flujo del algoritmo.

DIAGRAMAS NASSI-SCHNEIDERMAN (N-S)

El diagrama N-S de Nassi-Schneiderman- tambin conocido como diagrama de Chapin- es como un


diagrama de flujo en el que se omiten las flechas de unin y las cajas son contiguas.Las acciones
sucesivas se escriben en cajas sucesivas y como en los diagramas de flujo se pueden escribir diferentes
acciones en una caja.

IMPLEMENTACIN DEL ALGORITMO CON UN LENGUAJE DE PROGRAMACIN COMPUTACIONAL

Una vez que el algoritmo est diseado y representado grficamente mediante una herramienta de diseo
(diagrama de flujo, pseudocdigo o diagrama N-S) se debe pasar a la fase de resolucin prctica del
problema con la computadora.

Esta fase se descompone a su vez en las siguientes subfases:

Codificacin del algoritmo en un programa.


Ejecucin del programa.
/conversion/tmp/scratch/370993836.doc/ 8-5

Comprobacin del programa.

El programa que implementar el algoritmo debe ser escrito en un lenguaje de programacin y siguiendo
las reglas gramaticales o sintaxis del mismo, la fase de conversin del algoritmo en un lenguaje especfico
de programacin se denomina codificacin.

You might also like