Medios de Expresión de Un Algoritmo

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 17

MEDIOS DE EXPRESIN DE UN ALGORITMO

Los algoritmos pueden ser expresados de muchas maneras, incluyendo al lenguaje natural,
pseudocdigo, diagramas de flujo y lenguajes de programacin entre otros. Las
descripciones en lenguaje natural tienden a ser ambiguas y extensas.
La descripcin de un algoritmo usualmente se hace en tres niveles:

Descripcin de alto nivel. Se establece el problema, se selecciona un modelo matemtico y


se explica el algoritmo de manera verbal, posiblemente con ilustraciones y omitiendo
detalles.
Descripcin formal. Se usa pseudocdigo para describir la secuencia de pasos que
encuentran la solucin.
Implementacin. Se muestra el algoritmo expresado en un lenguaje de programacin
especfico o algn objeto capaz de llevar a cabo instrucciones.
Tambin es posible incluir un teorema que demuestre que el algoritmo es correcto, un
anlisis de complejidad o ambos.

DIAGRAMAS DE FLUJO

Los diagramas de flujo son descripciones grficas de algoritmos; usan smbolos conectados
con flechas para indicar la secuencia de instrucciones y estn regidos por ISO.

Los algoritmos pueden ser expresados de muchas maneras, incluyendo al lenguaje natural,
pseudocdigo, diagramas de flujo y lenguajes de programacin entre otros. Las
descripciones en lenguaje natural tienden a ser ambiguas y extensas.

Pseudocdigo
El pseudocdigo (falso lenguaje, el prefijo pseudo significa falso) es una descripcin de
alto nivel de un algoritmo que emplea una mezcla de lenguaje natural con algunas
convenciones sintcticas propias de lenguajes de programacin, como asignaciones, ciclos

y condicionales, aunque no est regido por ningn estndar. Es utilizado para describir
algoritmos en libros y publicaciones cientficas, y como producto intermedio durante el
desarrollo de un algoritmo, como los diagramas de flujo, aunque presentan una ventaja
importante sobre estos, y es que los algoritmos descritos en pseudocdigo requieren menos
espacio para representar instrucciones complejas.

Sistemas formales
La teora de autmatas y la teora de funciones recursivas proveen modelos matemticos
que formalizan el concepto de algoritmo. Los modelos ms comunes son la mquina de
Turing, mquina de registro y funciones -recursivas. Estos modelos son tan precisos como
un lenguaje mquina, careciendo de expresiones coloquiales o ambigedad, sin embargo se
mantienen independientes de cualquier computadora y de cualquier implementacin.

Implementacin
Muchos algoritmos son ideados para implementarse en un programa. Sin embargo, los
algoritmos pueden ser implementados en otros medios, como una red neuronal, un circuito
elctrico o un aparato mecnico y elctrico. Algunos algoritmos inclusive se disean
especialmente para implementarse usando lpiz y papel. El algoritmo de multiplicacin
tradicional, el algoritmo de Euclides, la criba de Eratstenes y muchas formas de resolver la
raz cuadrada son slo algunos ejemplos.

Variables
Son elementos que toman valores especficos de un tipo de datos concreto. La declaracin
de una variable puede realizarse comenzando con var. Principalmente, existen dos maneras
de otorgar valores inciales a variables:

Mediante una sentencia de asignacin.

Mediante un procedimiento de entrada de datos.

SMBOLOS UTILIZADOS EN LOS DIAGRAMAS DE FLUJO

Este se utiliza para representar el inicio o el fin de un algoritmo. Tambin puede representar
una parada o una interrupcin programada que sea necesaria realizar en un programa.

Este se utiliza para un proceso determinado, es el que se utiliza comnmente para


representar una instruccin, o cualquier tipo de operacin que origine un cambio de valor.

Este smbolo es utilizado para representar una entrada o salida de informacin, que sea
procesada o registrada por medio de un perifrico.

Este es utilizado para la toma de decisiones, ramificaciones, para la indicacin de


operaciones lgicas o de comparacin entre datos.

Este es utilizado para enlazar dos partes cualesquiera de un diagrama a travs de un


conector de salida y un conector de entrada. Esta forma un enlace en la misma pgina del
diagrama.

Este es utilizado para enlazar dos partes de un diagrama pero que no se encuentren en la
misma pgina.

Este es utilizado para indicar la secuencia del diagrama de flujo, es decir, para indicar el
sentido de las operaciones dentro del mismo.

Este es utilizado para representar la salida de informacin por medio de la impresora.

Este es utilizado para representar la salida o para mostrar la informacin por medio del
monitor o la pantalla.

LOS NIVELES DE UN DIAGRAMA DE FLUJOS

Los niveles de un DFD son:


Diagrama de Contexto: Nivel 0
En el diagrama de contexto se caracterizan todas las interacciones que realiza un sistema
con su entorno (entidades externas), estas pueden ser otros sistemas, sectores internos a la
organizacin, o factores externos a la misma. Se dibuja un slo proceso que representa al
sistema en cuestin y se escribe su nombre en dicha burbuja como un sustantivo comn
ms adjetivos. De l solamente parten los flujos de datos que denotan las interrelaciones
entre el sistema y sus agentes externos, no admitindose otros procesos ni almacenamientos
en el dibujo.

Resulta de gran utilidad para los niveles posteriores de anlisis como herramienta de
balanceo. Y es conocido como el Diagrama de Flujo de Datos DFD de Nivel "0".

Diagrama de Nivel Superior: Nivel 1

En el diagrama de nivel superior se plasman todos los procesos que describen al proceso
principal. En este nivel los procesos no suelen interrelacionarse directamente, sino que
entre ellos debe existir algn almacenamiento o entidad externa que los una. Esta regla de
construccin sirve como ayuda al analista para contemplar que en un nivel tan elevado de
abstraccin (DFD Nivel 1) es altamente probable que la informacin que se maneja
requiera ser almacenada en el sistema aunque no est especificado por un Requisito
funcional, siendo en realidad un requisito no-funcional.

Diagrama de Detalle o Expansin: Nivel 2


En un diagrama de nivel 2 o mayor, comienzan a explotarse las excepciones a los caminos
principales de la informacin dado que aumenta progresivamente el nivel de detalle. De
aqu en adelante se permiten los flujos entre procesos.

El DFD (Diagrama De Flujo De Datos) nivel 2 puede considerarse el mximo para ser
validado en forma conjunta con el usuario dado que en los niveles posteriores el alto grado
de complejidad del diagrama puede resultar de muy difcil lectura para personas ajenas al
equipo de sistemas. Tambin se recomienda el diagrama de nivel superior.

PSEUDOCODIGOS

El pseudocdigo (o falso lenguaje) es una descripcin de alto nivel compacta e informal1


del principio operativo de un programa informtico u otro algoritmo.

Utiliza las convenciones estructurales de un lenguaje de programacin real,2 pero est


diseado para la lectura humana en lugar de la lectura mediante mquina, y con
independencia de cualquier otro lenguaje de programacin. Normalmente, el pseudocdigo
omite detalles que no son esenciales para la comprensin humana del algoritmo, tales como
declaraciones de variables, cdigo especfico del sistema y algunas subrutinas. El lenguaje
de programacin se complementa, donde sea conveniente, con descripciones detalladas en
lenguaje natural, o con notacin matemtica compacta. Se utiliza pseudocdigo pues este es
ms fcil de entender para las personas que el cdigo del lenguaje de programacin
convencional, ya que es una descripcin eficiente y con un entorno independiente de los
principios fundamentales de un algoritmo. Se utiliza comnmente en los libros de texto y
publicaciones cientficas que se documentan varios algoritmos, y tambin en la

planificacin del desarrollo de programas informticos, para esbozar la estructura del


programa antes de realizar la efectiva codificacin.

No existe una sintaxis estndar para el pseudocdigo, aunque los ocho IDE's que manejan
pseudocdigo tengan su sintaxis propia. Aunque sea parecido, el pseudocdigo no debe
confundirse con los programas esqueleto que incluyen cdigo ficticio, que pueden ser
compilados sin errores. Los diagramas de flujo y UML pueden ser considerados como una
alternativa grfica al pseudocdigo, aunque sean ms amplios en papel.

ESTRUCTURAS

Todo algoritmo en pseudocgido tiene la siguiente estructura general:


Proceso SinTitulo
accion 1;
accion 1;
.
.
.
accion n;
FinProceso
Comienza con la palabra clave Proceso seguida del nombre del programa, luego le sigue
una secuencia de instrucciones y finaliza con la palabra FinProceso. Una secuencia de
instrucciones es una lista de una o ms instrucciones, cada una terminada en punto y coma.
Las acciones incluyen operaciones de entrada y salida, asignaciones de variables,
condicionales si-entonces o de seleccin mltiple y/o lazos mientras, repetir o para.
Asignacin

La instruccin de asignacin permite almacenar una valor en una variable.


<variable> <- <expresin> ;
Al ejecutarse la asignacin, primero se evala la expresin de la derecha y luego se asigna
el resultado a la variable de la izquierda. El tipo de la variable y el de la expresin deben
coincidir.
Entradas

La instruccin Leer permite ingresar informacin desde el ambiente.


Leer <variablel> , <variable2> , ... ,
<variableN> ;
Esta instruccin lee N valores desde el ambiente (en este caso el teclado) y los asigna a las
N variables mencionadas. Pueden incluirse una o ms variables, por lo tanto el comando
leer uno o ms valores.
Salidas

La instruccin Escribir permite mostrar valores al ambiente.


Escribir <exprl> , <expr2> , ... , <exprN> ;
Esta instruccin imprime al ambiente (en este caso en la pantalla) los valores obtenidos de
evaluar N expresiones. Dado que puede incluir una o ms expresiones, mostrar uno o ms
valores.
Dimensionamiento
La instruccin Dimensin permite definir un arreglo, indicando sus dimensiones.
Dimesion <identificador> (<maxl>,...,<maxN>);
Esta instruccin define un arreglo con el nombre indicado en <indentificador> y N
dimensiones. Los N parmetros indican la cantidad de dimensiones y el valor mximo de
cada una de ellas. La cantidad de dimensiones puede ser una o ms, y la mxima cantidad
de elementos debe ser una expresin numrica positiva.

Se pueden definir ms de un arreglo en una misma instruccin, separndolos con una coma
(,).
Dimension <ident1> (<max11>,...,<max1N>),..., <identM> (<maxM1>,...,<maxMN>)
Es importante notar que es necesario definir un arreglo antes de utilizarlo.
Condicional Si-Entonces

La secuencia de instrucciones ejecutadas por la instruccin Si-Entonces-Sino depende del


valor de una condicin lgica.
Si <condicin>
Entonces
<instrucciones>
Sino
<instrucciones>
FinSi
Al ejecutarse esta instruccin, se evala la condicin y se ejecutan las instrucciones que
correspondan: las instrucciones que le siguen al Entonces si la condicin es verdadera, o las
instrucciones que le siguen al Sino si la condicin es falsa. La condicin debe ser una
expresin lgica, que al ser evaluada retorna Verdadero o Falso.
La clusula Entonces debe aparecer siempre, pero la clusla Sino puede no estar. En ese
caso, si la condicin es falsa no se ejecuta ninguna instruccin y la ejecucin del programa
contina con la instruccin siguiente.
Seleccin Multiple

La secuencia de instrucciones ejecutada por una instruccin Segun depende del valor de
una variable numrica.
Segun <variable> Hacer
<nmero1>: <instrucciones>
<nmero2>,<nmero3>: <instrucciones>
<...>
De Otro Modo: <instrucciones>
FinSegun
Esta instruccin permite ejecutar opcionalmente varias acciones posibles, dependiendo del
valor almacenado en una variable de tipo numrico. Al ejecutarse, se evala el contenido de
la variable y se ejecuta la secuencia de instrucciones asociada con dicho valor.
Cada opcin est formada por uno o ms nmeros separados por comas, dos puntos y una
secuencia de instrucciones. Si una opcin incluye varios nmeros, la secuencia de
instrucciones asociada se debe ejecutar cuando el valor de la variable es uno de esos
nmeros.
Opcionalmente, se puede agregar una opcin final, denominada De Otro Modo, cuya
secuencia de instrucciones asociada se ejecutar slo si el valor almacenado en la variable
no coincide con ninguna de las opciones anteriores.
Lazos Mientras

La instruccin Mientras ejecuta una secuencia de instrucciones mientras una condicin sea
verdadera.
Mientras <condicin> Hacer
<instrucciones>
FinMientras
Al ejecutarse esta instruccin, la condicin es evaluada. Si la condicin resulta verdadera,
se ejecuta una vez la secuencia de instrucciones que forman el cuerpo del ciclo. Al finalizar
la ejecucin del cuerpo del ciclo se vuelve a evaluar la condicin y, si es verdadera, la
ejecucin se repite. Estos pasos se repiten mientras la condicin sea verdadera.
Note que las instrucciones del cuerpo del ciclo pueden no ejecutarse nunca, si al evaluar por
primera vez la condicin resulta ser falsa.
Si la condicin siempre es verdadera, al ejecutar esta instruccin se produce un ciclo
infinito. A fin de evitarlo, las instrucciones del cuerpo del ciclo deben contener alguna
instruccin que modifique la o las variables involucradas en la condicin, de modo que sta
sea falsificada en algn momento y as finalice la ejecucin del ciclo.
Lazos Repetir

La instruccin Repetir-Hasta Que ejecuta una secuencia de instrucciones hasta que la


condicin sea verdadera.
Para <variable> <- <inicial> Hasta <final> ( Con Paso <paso> ) Hacer
<instrucciones>
FinPara
Al ingresar al bloque, la variable <variable> recibe el valor <inicial> y se ejecuta la
secuencia de instrucciones que forma el cuerpo del ciclo. Luego se incrementa la variable
<variable> en <paso> unidades y se evala si el valor almacenado en <variable> super al
valor <final>. Si esto es falso se repite hasta que <variable> supere a <final>. Si se omite la
clusula Con Paso <paso>, la variable <variable> se incrementar en 1.

SISTEMAS FORMALES
Son un tipo de sistema lgico-deductivo constituido por un lenguaje formal, una gramtica
formal que restringe cuales son las expresiones correctamente formadas de dicho lenguaje y
las reglas de inferencia y un conjunto de axiomas que permite encontrar las proposiciones
derivables de dichos axiomas. Los sistemas formales tambin han encontrado aplicacin
dentro de la informtica, la teora de la informacin, y la estadstica, para proporcionar una
definicin rigurosa del concepto de demostracin. La nocin de sistema formal corresponde
a una formalizacin rigurosa y completa del concepto de sistema axiomtico, los cuales
pueden ser expresados en lenguaje formal o en lenguaje natural formalizado.

INTRODUCCIN
En el siguiente trabajo pretendemos presentar una serie de concepto y definiciones propios
del estudio de los Algoritmos.
Es importante el estudio y conocimiento de lo que hoy conocemos como Algoritmos
Computacionales, que desde su aparicin hasta nuestros das es, y seguir siendo; vital para
el desarrollo de aplicaciones para computadoras y el manejo y dominio de la lgica de
programacin para resolver problemas. Asi posibilitar a los estudiante alcanzar una visin
sistemtica de lo que conocemos sobre Los Algoritmos Computacionales.

CONCLUSIN
Luego de realizar este trabajo hemos visto como los algoritmos son una de las herramientas
ms complejas y aplicables en el rea de la informtica y el mundo de los computadores.
Un algoritmo es el conjunto de operaciones y procedimientos que deben seguirse para
resolver un problema, es por ellos que debemos estudiarlos y conocerlos.

BIBLIOGRAFIA
http://ladinopaola.blogspot.com/p/medios-de-expresion-de-un-algoritmo.html

http://www.monografias.com/trabajos59/diagrama-flujo/diagrama-flujo2.shtml

http://es.wikipedia.org/wiki/Diagrama_de_flujo_de_datos

INSTITUTO UNIVERSITARIO DE TECNOLOGIA


ANTONIO JOSE DE SUCRE
AREA INFORMATICA
EXTENSIN BOLVAR

MEDIOS DE EXPRESIN DE UN ALGORITMO

DOCENTE: CLAIRET ESPEJO

BACHILLER: MARCOS LUNA

También podría gustarte