Vous êtes sur la page 1sur 11

Repblica Bolivariana de Venezuela

Ministerio Educacin Superior Universitaria, Ciencia y Tecnologa


Universidad Nacional Experimental de Guayana
Vicerrectorado Acadmico
Coordinacin General de Pregrado
Carrera: Ingeniera Industrial
Catedra: Computacin I
Algoritmo

Un algoritmo es una secuencia de pasos lgicos necesarios para llevar a cabo una
tarea especfica, como la solucin de un problema. Los algoritmos son independientes tanto
del lenguaje de programacin en que se expresan como de la computadora que los ejecuta.
En cada problema el algoritmo se puede expresar en un lenguaje diferente de programacin
y ejecutarse en una computadora distinta; sin embargo el algoritmo ser siempre el mismo.

Un ordenador es capaz de realizar solo determinadas acciones sencillas, tales como


sumar, comparar o transferir datos, pero los problemas que normalmente interesa resolver
son ms complejos.

Para que un procedimiento pueda ser implantado en un ordenador debe ser:

Preciso: estar compuesto de pasos bien definidos y ordenados.


Definido: si se sigue dos veces, se obtiene el mismo resultado cada vez.
Finito: tener un nmero finito de pasos.
Representacin de Algoritmos

Para representar un algoritmo se debe utilizar algn mtodo que permita


independizar dicho algoritmo de lenguaje de programacin elegido. Los mtodos usados
para representar un algoritmo son: Pseudocdigo, Organigramas y Diagramas de Nassi-
Schneiderman.

Pseudocdigo

El pseudocdigo es un lenguaje de especificacin de algoritmos que consiste en


aprovechar la flexibilidad y poder expresivo del lenguaje natural por un lado, y las reglas de
composicin de los lenguajes de programacin de alto nivel por el otro.

El pseudocdigo utiliza para representar las acciones sucesivas palabras reservadas en


ingls similares a sus homnimas en los lenguajes de programacin, tales como: start, end,
stop, if-then-else, while, entre otros. El algoritmo comienza con la palabra start y finaliza
con la palabra end, en ingls (en espaol, inicio y fin). Entre estas palabras, slo se escribe
una instruccin o accin por lnea.
Organigrama

Tambin llamado 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 (cajas) y que tiene
los pasos del algoritmo escritos en esas cajas unidas por flechas, denominadas
lneas de flujo, que indican la secuencia en que se deben ejecutar.

Los diagramas de flujo suelen ser usados solo para representar algoritmos
pequeos, ya que abarcan mucho espacio.

Cada operacin se representa mediante un smbolo normalizado el Instituto


Norteamericano de Normalizacin (ANSI - American National Standars
Institute).

Diagramas de Nassi-Schneiderman

Es una tcnica de especificacin de algoritmos que combina la descripcin textual,


propia del pseudocdigo, con la representacin grfica del diagrama de flujo.

El diagrama Nassi-Schneiderman tambin conocido como diagrama de Chapin cuenta con


un conjunto limitado de smbolos para representar los pasos del algoritmo, por ello se
apoya en expresiones del lenguaje natural; sin embargo, dado que el lenguaje natural es
muy extenso y se presta para la ambigedad, solo se utiliza un conjunto de palabras.
Acciones y Estructuras de Control

Acciones

Son secuencia de instrucciones que se identifica por un nombre y que puede ser
invocada desde un algoritmo principal o desde otra accin. Cuando una accin es invocada
desde algn punto de un algoritmo, el flujo de ejecucin se traslada a la primera instruccin
de la accin, entonces la accin se ejecuta hasta el final y cuando acaba, el flujo se traslada
de nuevo a la instruccin del algoritmo que sigue a aquella que origino la invocacin. Una
accin debe tener un efecto bien definido, lo que significa que debe ser cohesiva. El
nombre de la accin es conveniente que evoque la tarea que realiza. Hay que definir
acciones que sean aplicables a cualquier posible conjunto de valores de entrada y no a un
valor concreto.

Estructura de Control

Los algoritmos vistos hasta el momento han consistido en simples secuencias de


instrucciones; sin embargo, existen tareas ms complejas que no pueden ser resueltas
empleando un esquema tan sencillo, en ocasiones es necesario repetir una misma accin un
nmero determinado de veces o evaluar una expresin y realizar acciones diferentes en
base al resultado de dicha evaluacin.

Para resolver estas situaciones existen las denominadas estructuras de control que poseen
las siguientes caractersticas:

o Una estructura de control tiene un nico punto de entrada y un nico punto de salida.
o Una estructura de control se compone de sentencias o de otras estructuras de control.

Tales caractersticas permiten desarrollar de forma muy flexible todo tipo de algoritmos aun
cuando slo existen tres tipos fundamentales de estructuras de control:

Secuencial.
Selectiva.
Repetitiva.
Estructura Secuencial: Es aquella en la que una accin (instruccin)
sigue a otra en secuencia. Las tareas se suceden de tal modo que la salida
de una es la entrada de la siguiente y as sucesivamente hasta el final del
proceso.

La estructura secuencial tiene una entrada y una salida.

Estructura Selectiva: La especificacin formal de algoritmos tiene realmente utilidad


cuando el algoritmo requiere una descripcin ms complicada que una lista sencilla de
instrucciones. Este es el caso cuando existen un nmero de posibles alternativas
resultantes de la evaluacin de una determinada condicin. Las estructuras selectivas se
utilizan para tomar decisiones lgicas; de ah que se suelan denominar tambin
estructuras de decisin o alternativas.
En las estructuras selectivas se evala una condicin y en funcin del resultado de la
misma se rea liza una opcin u otra. Las condiciones se especifican usando expresiones
lgicas. La representacin de una estructura selectiva se hace con palabras en
pseudocdigo (if, then, else o bien en espaol si, entonces, si_no), con una figura
geomtrica en forma de rombo o bien con un tringulo en el interior de una caja
rectangular. Las estructuras selectivas o alternativas pueden ser: simples, dobles y
mltiples.

Selectiva Simple: La estructura alternativa simple si-entonces


(en ingls if-then) ejecuta una determinada accin cuando se
cumple una determinada condicin. La seleccin si-entonces
evala la condicin y:
o si la condicin es verdadera, entonces ejecuta la accin S1
(o acciones caso de ser S1 una accin compuesta y constar
de varias acciones)
o si la condicin es falsa, entonces no hace nada.
Selectiva Doble: La estructura anterior es muy limitada y normalmente se necesitar
una estructura que permita elegir entre dos opciones o alternativas posibles, en funcin
del cumplimiento o no de una determinada condicin. Si la condicin C es verdadera, se
ejecuta la accin S1 y, si es falsa, se ejecuta la accin S2

Selectiva Mltiple: La estructura de decisin mltiple evaluar una expresin que podr
tomar n valores distintos, 1, 2, 3, 4,..., n.
Segn que elija uno de estos valores en la condicin, se realizar una de las n
acciones, o lo que es igual, el flujo del algoritmo seguir un determinado camino
entre los n posibles.
Estructura Repetitiva: La estructura repetitiva o iterativa permite, como su
propio nombre indica, repetir una accin (o grupo de acciones); dicha
repeticin puede llevarse a cabo un nmero prefijado de veces o depender de
la evaluacin de una expresin lgica.
Existen tres tipos de estructuras repetitivas: desde-hasta, mientras y repetir-hasta.

Desde-Hasta: Esta estructura permite repetir la ejecucin de una accin o de un grupo


de acciones un nmero determinado de veces

Mientras: Esta estructura repite una accin o grupo de acciones mientras una
expresin lgica sea cierta.

Repetir-Hasta: Esta estructura repite una accin o grupo de acciones hasta que una
expresin lgica sea cierta
Asignaciones

Es el modo de darle valores a una variable. La operacin de asignacin se representa


con el smbolo u operador. La operacin designacin se conocen como instrucciones o
sentencia de asignacin cuando se refiere a un lenguaje de programacin.

El formato general de una operacin de asignacin es:

Nombre de la variable expresin

La flecha (operador de asignacin) se sustituye en otros lenguajes por = (BASIC,


FORTRAN) o= Pascal). Sin embargo, es preferible el uso de la flecha en la redaccin del
algoritmo, para evitar ambigedades dejando el uso del smbolo = exclusivamente para el
operador de igualdad.

Entradas/Salidas

Los clculos que realizan las computadoras requieren para ser tiles la entrada de datos
necesarios para ejecutar las operaciones que posteriormente se convertirn en resultados, es
decir, salida. Las operaciones de entrada permiten leer determinados valores y asignarlos a
determinada variables. Esta entrada se conoce como operacin de lectura (read). Los datos
de entrada se introducen al procesador mediante dispositivos de entrada. La salida puede
aparecer en un dispositivo de salida. La operacin de salida se denomina escritura (write)
En la escritura de algoritmos las acciones de lectura y escritura se representan por los
formatos siguientes:

Leer (lista de variables de entrada)

Escribir (lista de variables de salida)


Ciclos

Un algoritmo se comporta de una manera secuencial, cada instruccin se lee desde


inicio hasta fin. Esto nos da pie a pensar que para lograr repetir algo, ser necesario
copiarlo muchas veces. En el mundo de los algoritmos encontramos la forma de repetir las
veces que deseamos una instruccin o un bloque de ellas, a este elemento lo denominamos
ciclo. En la naturaleza y en el mundo real la mayora de cosas son cclicas, comer, dormir,
respirar, trabajar, estudiar, descansar.... son cosas que se repiten con diferente periodicidad.

Los ciclos son estructuras que permiten hacer n repeticiones de un bloque de instrucciones.

El ciclo funciona de modo que: mientras la expresin de control sea verdadera se ejecuta
todo el bloque que contienen y cuando llega al final, se devuelve a la expresin de control y
nuevamente pregunta, de ser verdad, sigue repitiendo este proceso mientras sea verdad
dicha expresin y cuando no, termina saltando el bloque y continuando con las dems
acciones programadas en el algoritmo.

Procedimientos

En muchos casos existen porciones de cdigo similares que no calculan un valor si no


que por ejemplo, presentan informacin al usuario, leen una coleccin de datos o calculan
ms de un valor. Como una funcin debe retornar un nico valor este tipo de porciones de
cdigo no se podran codificar como funciones. Para superar este inconveniente se cre el
concepto de procedimiento. Un procedimiento se puede asimilar a una funcin que puede
retornar ms de un valor mediante el uso de parmetros por referencia.

Los procedimientos se usan para evitar duplicacin de cdigo y conseguir programas ms


cortos. Son tambin una herramienta conceptual para dividir un problema en sub problemas
logrando de esta forma escribir ms fcilmente programas grandes y complejos.
Bibliografa

Luis Jayanes Aguilar. (1988). Fundamentos de programacin, 4ta Edicin


http://correo.uan.edu.mx/~iavalos/FP/FP1.html
http://departamento.us.es/edan/php/asig/LICFIS/LFIPC/Tema5FISPC0809.pdf
http://www.monografias.com/trabajos19/algoritmos/algoritmos.shtml#ixzz4ejAmy7iV

http://di002.edv.uniovi.es/~dani/asignaturas/apuntes-leccion4.PDF

Vous aimerez peut-être aussi