Вы находитесь на странице: 1из 17

Algoritmos

Un algoritmo se puede definir como una secuencia de instrucciones que representan

un molde de solucin para determinado tipo de problemas. O bien como un conjunto de

instrucciones que realizadas en orden conducen a obtener la solucin del problema.

Para realizar un programa es conveniente el diseo o definicin previa del algoritmo.

El diseo de algoritmos requiere creatividad y conocimientos profundos de la tcnica de

programacin. ``en la ciencia de la computacin y en la programacin o las computadoras.

Un lenguaje de programacin es solo un medio para expresar un algoritmo y una

computadora es solo un procesador para ejecutarlo.

Los algoritmos son independientes del lenguaje de programacin. En cada problema

el algoritmo puede escribirse y luego ejecutarse el lenguaje diferente de programacin. El

algoritmo es la infraestructura de cualquier solucin, escrita en cualquier lenguaje de

programacin.

REPRESENTACION 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. El usar pseudocdigo y

diagramas de flujo evita muchas ambigedades del lenguaje natural. Dichas expresiones son

formas ms estructuradas para representar algoritmos; no obstante, se mantienen

independientes de un lenguaje de programacin especfico.

La descripcin de un algoritmo usualmente se hace en tres niveles:


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

2. Descripcin formal. Se usa pseudocdigo para describir la secuencia de pasos que

encuentran la solucin.

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

Los algoritmos pueden ser creados de dos formas:

1) pseudocdigo.- Es un conjunto pequeo y claro de instrucciones; en secuencia, que

permite llevar a cabo una tarea.

2) Diagrama de flujo.- Es la representacin de la secuencia, a travs de smbolos, de la tarea

que se va a realizar.

Un ejemplo de algoritmo es el que realizamos para cambiar una llanta a un automvil:

Inicio

Aflojar tornillos de las llantas

Levantar el coche con el gato

Sacar los tornillos de las llantas

Quitar la llanta

Poner la llanta de repuesto


Poner los tornillos

Bajar el gato

Apretar los tornillos

Fin

1) ALGORITMO EXPRESADO EN PSEUDOCODIGO

Definicin

Mucho se habla del pseudocdigo en las carreras de Analista de Sistemas y Programacin.

Pero no existe mucha bibliografa al respecto.

Comencemos aclarando que no es una forma de programacin. Se trata de una herramienta

que los analistas de sistemas utilizan para comunicar a los programadores la estructura del

programa que van a realizar, de forma de tener una idea bien clara de lo que se necesita

programar.

Digamos que el pseudocdigo es una forma de diagramar un algoritmo para resolver un

determinado problema, sin atenerse a ningn lenguaje de programacin en especial.

Un algoritmo es un conjunto de procedimientos que permiten resolver un problema.

En vez de escribir el programa directamente en un lenguaje de programacin determinado (C,

Basic, etc.), crearemos un borrador entendible para todos, para luego de tener bien en claro lo

que se debe hacer, pasar a la programacin propiamente dicha.

El pseudocdigo se refiere a crear un cdigo para orientar a los programadores, pero sin la

sintaxis ni la estructura propia de ningn lenguaje.

Utilizacin en la prctica
En el trabajo de un analista de sistemas, una de las partes ms trabajosas es la de determinar

qu es lo que necesitan de un sistema los usuarios finales. Se dedican muchas horas a hacer

un relevamiento de los datos que sern necesarios, los tipos de procesamientos, las salidas,

etc. Y debe existir una realimentacin entre el diseo y el usuario, para garantizar que el

sistema cumpla con los requisitos del usuario.

Supongamos que tenemos un sistema para una empresa que utiliza una interfaz grfica en

Visual Basic, algunas aplicaciones especficas en C, y pginas PHP para trabajo va Internet.

Seguramente que crear un diagrama especfico para cada lenguaje sera una tarea tediosa.

Gracias a esta herramienta, podemos reunir a todos los programadores, dar las pautas de

trabajo, y mediante el pseudocdigo, cada programador sabr lo que hace el sistema, y podr

escribir el cdigo correspondiente.

Incluso dos programadores que dominen el mismo lenguaje pueden tener metodologas de

trabajo distintas. Un problema puede ser resuelto de muchas maneras, cada una ms o menos

eficiente que la otra, pero todas cumplen con el objetivo.

El pseudocdigo elimina estas diferencias, dando libertad a los programadores para que

puedan ajustarse a su metodologa de trabajo.

Generalmente, este cdigo se escribe con la participacin de todos los programadores. Esto

representa la ventaja de que muchas opiniones ayudan a elegir la mejor entre todas, logrando

una solucin efectiva y eficaz al problema planteado.

Ejemplo

Pseudocdigo

2) EXPRESAR UN ALGORITMO CON UN DIAGRAMA DE FLUJO


DIAGRAMA DE FLUJO

Es un esquema para representar grficamente un algoritmo. Se basan en la utilizacin de

diversos smbolos para representar operaciones especficas, es decir, es la representacin

grafica de las distintas operaciones que se tienen que realizar para resolver un problema, con

indicacin expresa el orden lgico en que deben realizarse.

Se les llama diagramas de flujo porque los smbolos utilizados se conectan por medio de

flechas para indicar la secuencia de operacin. Para hacer comprensibles los diagramas a

todas las personas, los smbolos se someten a una normalizacin; es decir, se hicieron

smbolos casi universales, ya que, en un principio cada usuario podra tener sus propios

smbolos para representar sus procesos en forma de Diagrama de flujo. Esto trajo como

consecuencia que slo aquel que conoca sus smbolos, los poda interpretar. La simbologa

utilizada para la elaboracin de diagramas de flujo es variable y debe ajustarse a un patrn

definido previamente.

El diagrama de flujo representa la forma ms tradicional y duradera para especificar los

detalles algortmicos de un proceso. Se utiliza principalmente en programacin, economa y

procesos industriales.

Para realizar los diagramas de flujo utilizamos distintas figuras geomtricas en forma de caja

de texto, que sirven para distinguir el tipo de tareas que se ejecutan, las flechas indican el

flujo del proceso y se valen de determinada simbologa especfica para facilitar su

comprensin

Por otra parte, un algoritmo consta de tres partes, secciones mdulos principales, en la

siguiente figura podemos observar las secciones que constituyen un algoritmo.

Secciones de un algoritmo
El mdulo 1.- representa la operacin o accin que permite el ingreso de los datos del

programa.

El mdulo 2.- representa la operacin o conjunto de operaciones secuenciales, cuyo objetivo

es obtener la solucin al problema.

El mdulo 3.- representa una operacin o conjunto de operaciones que permiten comunicar al

exterior el o los resultados alcanzados.

Pseudocdigo

El pseudocdigo (o falso lenguaje) es comnmente utilizado por los programadores para

omitir secciones de cdigo o para dar una explicacin del paradigma que tom el mismo

programador para hacer sus cdigos, esto quiere decir que el pseudocdigo no es

programable sino facilita la programacin.

El principal objetivo del pseudocdigo es el de representar la solucin a un algoritmo de la

forma ms detallada posible, y a su vez lo ms parecida posible al lenguaje que

posteriormente se utilizar para la codificacin del mismo

El pseudocdigo utiliza para representar las acciones sucesivas palabras reservadas en ingls

(similares a sus homnimos en los lenguajes de programacin), tales como estar, begin, end,

stop, if-then-else, while, repeat-until.etc.

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 representar

bsicamente las estructuras de control de programacin estructurada. Se considera un primer

borrador, dado que el pseudocdigo tiene que traducirse posteriormente a un lenguaje de


programacin. Cabe sealar que el pseudocdigo no puede ser ejecutado por una

computadora.

Segn Anala Lanzillotta: "Considerado como un lenguaje falso, el pseudocdigo es un

lenguaje intermedio entre nuestro lenguaje y el de programacin, debido a que quien lo

utiliza se gua por una serie de normas pero sin llegar a usar una estructura tan rgida como la

del lenguaje de programacin.

El objetivo al que apunta es que quien lo pone en prctica se centre ms en la solucin del

algoritmo o el diseo de un software que en el programa que utiliza para crearlo. Y esto es

posible porque es ms fcil de manipular ya que no tiene que tener en mente el lenguaje en s

y adems, ms fcil de codificar.

Por ejemplo, si alguien tiene que hacer un software con un fin determinado, utiliza un

pseudocdigo propio en donde confluyen frases del lenguaje coloquial y algunas palabras de

programacin, y una vez que se logra concretar el software, se puede pasar al escaln

siguiente que es el de la transformacin al lenguaje de programacin formal que se vaya a

utilizar.

De esta manera, al ser un lenguaje intermedio, no tiene una composicin estandarizada por lo

que no todos los programadores utilizan la misma sintaxis con exactitud. Pero a la vez, como

es una herramienta que est un paso previo al lenguaje formal de programacin, es fcil de

transformar al que ser ejecutado en la computadora.

Organigrama

Un organigrama es un esquema de la estructura de responsabilidades dentro de una empresa.

En el mismo se representan los diversos departamentos o individuos con sus respectivas

responsabilidades. El organigrama de esta manera refleja las distintas relaciones que se tienen
entre las distintas unidades operativas de una empresa como una forma de dar cuenta de la

forma en la que la misma acta internamente. Existen distintos tipos de organigramas, es

decir, distintas formas de representar la estructura de una organizacin, cada uno de los cuales

tiene su propia finalidad y su objetivo especfico; no obstante, todos ellos comparten la

intencin de ser un reflejo de la composicin de una organizacin de personas.

En trminos generales, conocer un organigrama nos dar una idea panormica de todas las

responsabilidades existentes en un organismo. Es decir que existirn distintos elementos

jerarquizados, distintas relaciones dispuestas visualmente que darn una idea lo

suficientemente cabal de la forma en que dicha organizacin se compone y tiende a funcionar.

Este tipo de circunstancia debe mostrarse de una forma resumida y de fcil acceso, casi

intuitiva. De esta manera, cualquier individuo podra informarse con facilidad de las

funciones que deberan desempear cada persona y cada unidad existente, circunstancia de

gran relevancia ante la existencia de un problema laboral.

Desde una perspectiva visual, los organigramas pueden disponerse de modo vertical,

horizontal o en una variante que agrupe las anteriores; esto significa que las estructuras

jerrquicas se representarn de arriba abajo, de izquierda a derecha o de manera mixta. Ahora

bien, es importante sealar que los organigramas pueden orientarse a finalidades diversas,

circunstancia que de alguna manera alterar su composicin; as, desde esta perspectiva

pueden agregar una suma variable de informacin, considerando en este caso quien deber

informarse con los mismos, si se requiere precisin o es preferible la sntesis en la forma en

que se presentan los datos.

Los organigramas son usualmente utilizados por entidades con fines de lucro, pero exceden

este mbito. En efecto, los mismos tambin pueden ser usados para representar la estructura

de distintos organismos pblicos u organizaciones sin fines de lucro. En este sentido,


cumplen la misma funcin de brindar informacin de utilidad ante un posible interesado. No

obstante, pese a su vigencia, tambin es importante hacer notar que el origen de su uso debe

rastrearse en un momento histrico bastante distante del actual, en donde la tecnologa y las

ciencias de la informacin eran completamente inexistentes y en donde exista un gran

nfasis en las representaciones visuales ante la falta de otra herramienta.

El diagrama Nassi-Shneiderman

Refleja la descomposicin del problema en una forma simple usando cajas anidadas para

representar cada uno de los subproblemas.

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, a las

que se denomina palabras reservadas. Las palabras reservadas ms utilizadas son:

Inicio Fin Leer Escribir

Mientras Repita Hasta Para

Incrementar Decremento Hacer Funcin

Entero Real Carcter Cadena

Lgico Retornar

Smbolos- Los diagramas NS tienen tres smbolos principales: el primero es un

Cuadro que sirve para representar cualquier proceso en el programa; el

Segundo smbolo es una decisin; y el tercero es un cuadro dentro de

Otro cuadro que se utiliza para indicar que se lleva a cabo una interaccin
Las acciones sucesivas se pueden escribir en cajas sucesivas y como en los diagramas de

flujo, se pueden escribir diferentes acciones en una caja.

Tambin como muchas cosas tiene ventajas y desventajas. Sus ventajas son:

Adopta la filosofa de la programacin estructurada, que utiliza un

Enfoque descendente.

Utiliza un nmero limitado de smbolos de tal forma

Que el diagrama de flujo ocupa menos espacio.

Puede leerse con cierta

Finalidad.

Y sus desventajas son:

Deben estar completos y ser muy claros, con el fin de que se

Entiendan y portante como no muchos saben hacerlos los suficientemente claros les fallan.

Estructuras de control

Son las que permiten modificar el flujo de ejecucin de las instrucciones de un programa.

-Las estructuras de control se clasifican en:

a) Secuencia: Ejecucin sucesiva de una o ms operaciones.

b) Seleccin: Se realiza una u otra operacin, dependiendo de una condicin.

c) Iteracin: Repeticin de una o varias operaciones mientras se cumpla una condicin.

-Estructuras de control repetitivas:


*For

*While

*Do while

For:

Se utiliza para ejecutar acciones repetitivas con un nmero conocido de iteraciones.

While:

Se utiliza para ejecutar acciones repetitivas mientras se cumpla o no una condicin. Es ideal

cuando no sabemos previamente el nmero de iteraciones.

Do while:

Se utiliza para ejecutar acciones repetitivas mientras se cumpla o no una condicin. Es ideal

cuando no sabemos previamente el nmero de iteraciones.

Esta estructura de control nos ofrece una ventaja adicional al ciclo while, ya que la sentencia

se ejecutar a por lo menos una vez

Asignaciones

En programacin, tipo de operador que sirve para almacenar un valor en una variable. Por

ejemplo en lenguaje C, numero = 4; El operador de asignacin es = y asigna a la

variable numero el valor 4. No debe confundirse con la igualdad, que suele

representarse == en lenguaje C y otros lenguajes.

El operador de asignacin puede cambiar dependiendo del lenguaje de programacin. Suele

usarse =, pero tambin:=.

Entrada y salida de datos


La entrada de datos consiste en colocar en la memoria principal datos provenientes desde

algn dispositivo de entrada (teclado, disco, etc.) para que la computadora, de acuerdo a un

programa, realice una tarea.

La salida de datos consiste en enviar datos (que, generalmente, son el resultado de un

procesamiento) desde la memoria principal hacia un dispositivo de salida (pantalla,

impresora, disco, etc.).

La siguiente figura muestra un esquema conceptual del equipo de cmputo.

Esquema conceptual del equipo de cmputo

La consola

En los albores de la computacin, el teclado y la pantalla formaban la consola.

En la actualidad, a la combinacin de teclado y pantalla se les sigue considerando como a la

antigua consola.

En C#, la entrada y la salida de datos se pueden manejar a travs de los mtodos de la clase

Consol.

Entrada de datos desde el teclado

Para la entrada de datos por medio del teclado se pueden utilizar los mtodos Read ( ) y

ReadLine ( ) de la clase Consol.

Ejemplos:

System.Console.Read ( ); // Lee el siguiente carcter desde el flujo de la entrada estndar.

System.Console.ReadLine ( ); // Lee la siguiente lnea de caracteres desde el flujo de la

entrada estndar.

Salida de datos hacia la pantalla

La salida de datos hacia la pantalla se puede realizar utilizando los mtodos Write y
WriteLine ( ) de la clase Consol.

Ejemplos:

System.Console.Write ( ); // Escribe el siguiente carcter en el flujo de la salida estndar (la

pantalla).

System.Console.WriteLine ( ); // Escribe la siguiente lnea de caracteres en el flujo de la

salida estndar.

Decisiones: Son estructuras de control que realizan una pregunta la cual retorna verdadero o

falso (evala una condicin) y selecciona la siguiente instruccin a ejecutar dependiendo la

respuesta o resultado. El siguiente enlace nos dar una mejor visin con respecto a las

decisiones:

Opcin mltiple: En este caso hay un Indicador es una variable o una funcin cuyo valor es

comparado en cada caso con los valores "Valor", si en algn caso coinciden ambos valores,

entonces se ejecutarn las Instrucciones correspondientes. La seccin en otro caso es anloga

a la seccin si no del ejemplo anterior. El siguiente enlace nos dar una mejor visin con

respecto a la opcin mltiple:

Ciclos o bucles (repetir hasta, repetir mientras y repetir desde): Es una sentencia que se

realiza repetidas veces a un trozo aislado de cdigo, hasta que la condicin asignada a dicho

bucle deje de cumplirse.

Generalmente, un bucle es utilizado para hacer una accin repetida sin tener que escribir

varias veces el mismo cdigo, lo que ahorra tiempo, deja el cdigo ms claro y facilita su

modificacin en el futuro.

El bucle y los condicionales representan la base de la programacin estructurada. Es una

evolucin del cdigo ensamblador, donde la nica posibilidad de iterar un cdigo era

establecer una sentencia jump (que en los lenguajes de programacin fue sustituida por el "ir

a" o GOTO).
Los tres bucles ms utilizados en programacin son el bucle while, el bucle for y el bucle

repetir. El siguiente enlace nos dar una mejor visin con respecto a los ciclos:

Bucle mientras

El bucle se repite mientras la condicin sea cierta, si al llegar por primera vez al bucle

mientras la condicin es falsa, el cuerpo del bucle no se ejecuta ninguna vez.

Bucle repetir

Existen otras variantes que se derivan a partir de la anterior. La estructura de control repetir

se utiliza cuando es necesario que el cuerpo del bucle se ejecuten al menos una vez y hasta

que se cumpla la condicin:

Bucle para

Una estructura de control muy comn es el ciclo para, la cual se usa cuando se desea iterar un

nmero conocido de veces, empleando como ndice una variable que se incrementa (o

decremento).

Es importante recalcar que el pseudocdigo no es un lenguaje estandarizado. Eso significa

que diferentes autores podran dar otras estructuras de control o bien usar estas mismas

estructuras, pero con una notacin diferente. Sin embargo, las funciones matemticas y

lgicas toman el significado usual que tienen en matemtica y lgica, con las mismas

expresiones.

PROCEDIMIENTOS

Un procedimiento es un programa que realiza una tarea especfica. Puede recibir cero o ms

valores del programa que llama y devolver cero o ms valores al programa que realiz la

llamada. Un procedimiento est compuesto de un grupo de sentencias a las que se asigna un

nombre (identificador) y constituye una unidad de programa. La tarea asignada

al procedimiento se ejecuta siempre que Pascal encuentra el nombre del procedimiento. Los
procedimientos es obligatorio declararlos y deben ser declarados antes de que puedan ser

referenciados en el cuerpo del programa. En Pascal reciben el nombre de PROCEDURE.

Declaracin de un procedimiento

Al igual que los identificadores, los procedimientos deben declararse dentro del cuerpo del

programa. La declaracin de un procedimiento NO indica a la computadora que ejecute

las instrucciones dadas, sino que indica a la computadora cules son estas instrucciones

y dnde estn localizadas cuando sea necesario.

Cabecera del procedimiento

Proporciona el nombre del mismo y, en caso de existir, una lista de parmetros formales.

Ventajas de utilizar procedimientos

La organizacin de un programa en procedimientos lo hace ms fcil de escribir

y depurar. Los procedimientos no deben exceder de 25 lneas.

Facilita el diseo descendente.

Los procedimientos se pueden ejecutar ms de una vez en un programa y/o en

diferentes programas, ahorrando tiempo de programacin.

El uso de procedimientos facilita la divisin de las tareas entre un equipo

de programadores y se pueden comprobar individualmente.


Universidad Nacional Experimental de Guayana (UNEG)

Facultad

Seccin 1

Ing. Industrial

Вам также может понравиться