Pseudocodigo
Pseudocodigo
Pseudocodigo
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 utilizara para la codificacin del mismo. Las principales caractersticas de este lenguaje son:
Se puede ejecutar en un ordenador Es una forma de representacin sencilla de utilizar y de manipular. Facilita el paso del programa al lenguaje de programacin. Es independiente del lenguaje de programacin que se vaya a utilizar. Es un mtodo que facilita la programacin y solucin al algoritmo del programa.
Instrucciones primitivas Instrucciones de proceso Instrucciones de control Instrucciones compuestas Instrucciones de descripcin
Cuerpo:
Para comentar en pseudocdigo se le antepone al comentario dos asteriscos (*) Ejemplos * Programa que calcula el rea de un cuadrado a partir de un lado dado por teclado.
Programa: area_cuadrado Modulo: main **( tambin se puede llamar principal) Variables: lado: natural area: natural Inicio Visualizar "Introduce el lado del cuadrado" Leer lado Area<- lado * lado Visualizar "El rea del cuadrado es", area Fin * Programa que visualice la tabla de multiplicar del numero introducido por teclado Programa: Tabla multiplicar Modulo: main Variables: t: entero num : entero Inicio Visualizar "Introduce un nmero" Leer num Desde t=1 hasta t=10 repetir Visualizar num, " X", t, "=", num*t Fin desde Fin
Definicin
Mucho se habla del pseudo cdigo en las carreras de Analista de Sistemas y Programacin. Pero no existe mucha bibliografa al respecto. En este articulo voy a tratar de echar un poco de luz sobre algo de lo que siempre se habla, pero que muchos no saben a ciencia cierta que es y como se usa. 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 pseudo cdigo 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.
No hay que confundirlo con un diagrama de flujo. En el diagrama de flujo se representa el transcurso del programa, el momento donde se obtienen los datos, cuando se procesan y el momento de presentar los resultados. Si bien son dos herramientas que se utilizan en conjunto, cada una representa dos partes distintas en el diseo de un sistema. El pseudo cdigo 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 que 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 pseudo cdigo, 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 pseudo cdigo 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.
En esta sentencia tenemos que si se cumple una condicin, se ejecutar determinado proceso, en caso contrario, se ejecutar otro. Mediante pseudo cdigo podemos representarlo como Si condicion1 =valor Entonces { ejecutar algo } Si no { ejecutar algo } Fin si
Pseudo cdigo - Monografias.com www.monografias.com Computacion Programacion - En cach Pseudocdigo www.desarrolloweb.com/articulos/pseudocodigo.html - En cach 9 Feb 2007
Diagrama de flujo
Introduccin. Los diagramas de flujo son una manera de representar visualmente el flujo de datos a travz de sistemas de tratamiento de informacin. Los diagramas de flujo describen que operacines y en que secuencia se requieren para solucionar un problema dado. Un diagrama de flujo u organigrama es una representacin diagramtica que ilustra la secuencia de las operaciones que se realizarn para conseguir la solucin de un problema. Los diagramas de flujo se dibujan generalmente antes de comenzar a programar el cdigo frente a la computadora. Los diagramas de flujo facilitan la comunicacin entre los programadores y la gente del negocio. Estos diagramas de flujo desempean un papel vital en la programacin de un problema y facilitan la comprensin de problemas complicados y sobre todo muy largos. Una vez que se dibuja el diagrama de flujo, llega a ser fcil escribr el programa en cualquier idima de alto nivel. Vemos a menudo cmo los diagramas de flujo nos dan ventaja al momento
de explicar el programa a otros. Por lo tanto, est correcto decir que un diagrama de flujo es una necesidad para la documentacin mejor de un programa complejo. Reglas para dibujar un diagramas de flujo. Los Diagramas de flujo se dibujan generalmente usando algunos smbolos estndares; sin embargo, algunos smbolos especiales pueden tambin ser desarrollados cuando san requeridos. Algunos smbolos estndares, que se requieren con frecuencia para diagramar programas de computadora se muestran a continuacin:
Inicio o fin del programa Pasos, procesos o lneas de instruccion de programa de computo Operaciones de entrada y salida
Cinta magntica
Disco magntico
Conector de pagina
Lneas de flujo
Anotacin
Observacin: Para obtener la correcta elaboracin de los smbolos, existen plantillas. Las puedes conseguir en Papeleras.
Simbolos grficos Dentro de los simbolos fundamentales para la creaacin de diagramas de flujo, los smbolos grficos son utilizdos especificamente para para operacines aritmticas y relacines condicionales. La siguiente es una lista de los smbolos ms comunmente utilizados:
+ * / = > < Sumar Menos Multiplicacin Divisin Mas o menos Equivalente a Mayor que Menor que Mayor o igual que Menor o igual que
5. Todo texto escrito dentro de un smbolo debe ser legible, preciso, evitando el uso de muchas palabras. 6. Todos los smbolos pueden tener ms de una lnea de entrada, a excepcin del smbolo final. 7. Solo los smbolos de decisin pueden y deben tener mas de una lnea de flujo de salida.
Ejemplos de diagramas de flujo Diagrama de flujo que encuentra la suma de los primeros 50 numeros naturales
Bueno, y ahora la descripcin del diagrama anterior Suma, es la variable a la que se le va agregando la valor de cada nmero natural. N, es el contador. ste recorrer lo nmeros hasta llegar al 50.
El segundo bloque, es un Smbolo de procesos En este bloque se asume que las variables suma y N han sido declaradas previamente y las inicializa en 0 para comenzar a el conteo y la suma de valores (Para declararlas existe el bloque Tarjeta perforada).
El tercer bloque, es tambin un Smbolo de procesos En ste paso se incrementa en 1 la variable N (N = N + 1). Por lo que, en la primera pasada esta N valdr 1, ya que estaba inicializada en 0. El cuarto bloque es exactamente lo mismo que el anterior
Pero en ste, ya se le agrega el valor de N a la variable que contendr la suma (En el primer caso contendr 1, ya que N = 1). El quinto bloque es uno Smbolo de Toma de decisiones y Ramificacin Lo que hay dentro del bloque es una pregunta que se le hace a los valores que actualmente influyen en el proceso (Por decir algo, no se como decirlo, soy muy sope :D)
Es N=50?, Obviamente la respuesta es no, ya que N todava es 1. por lo que el flujo de nuestro programa se dirigir haca la parte en donde se observa la palabra no: Tercer Bloque, ste le sumar 1 (N=N+1) y vuelve a llegar a ste bloque, donde preguntar Es N=50?... No!, todava es 2. Ha pues, regresa al Tercer bloque y vuelve hacer lo mismo. Y as hasta llegar a 50, obteniendo as la suma de los primeros 50 primeros nmeros naturales. Por ltimo indicamos que el resultado ser mostrado en la impresora (Este lo puedes
Relacionados Como citar este artculo: Rodolfo Quispe-Otazu. Que es un Algoritmo?. Blog de Rodolfo Quispe-Otazu [Internet]. Marzo 2007. Disponible en: http://www.rodolfoquispe.org/blog/que-es-unalgoritmo.php
Nuestra herramienta mental ms importante para competir con la complejidad es la abstraccin. Por tanto, un problema no deber considerarse inmediatamente en trminos de instrucciones de un lenguaje, sino de elementos naturales del problema mismo, abstrados de alguna manera. [Niklaus Wirth, Creador del Lenguaje Pascal] Definicion: Algoritmo Podemos encontrar muchas definiciones de algoritmo en los textos de programacion, todas ellas muy similares:
Conjunto ordenado y finito de pasos que permite hallar la solucin de un problema. Una secuencia de pasos que conducen a la realizacin de una tarea. 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 de sentencias / instrucciones en lenguaje nativo, los cuales expresan la lgica de un programa. Es un sistema por el cual se llega a una solucin, teniendo en cuenta que debe de ser definido, finito y preciso. 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. 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. Un conjunto de smbolos y procedimientos usados en la realizacin de un clculo.
Secuencia finita de instrucciones, reglas o pasos que describen de forma precisa las operaciones de un ordenador debe realizar para llevar a cabo un tarea en un tiempo mas finito. [Donald E. Knuth, 1968]
Descripcion de un esquema de comportamiento expresado mediante un reportorio finito de acciones y de informaciones elementales, identificadas, bien comprendidas y realizables a priori. Este repertorio se denomica lexico [Pierre Scholl, 1988] 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. [Rodolfo Quispe-Otazu, 2004]
Caracteristicas: Las caractersticas fundamentales que debe cumplir todo algoritmo son:
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. 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.
Algoritmo
Algoritmo. Artculo de la Enciclopedia. enciclopedia.us.es/index.php/Algoritmo - En cach
Conjunto de instrucciones que aplicado a un nmero finito de datos, despus de un nmero finito de iteraciones entrega un resultado. Un algoritmo es un conjunto finito de instrucciones o pasos que sirven para ejecutar una tarea o resolver un problema. En la vida cotidiana empleamos algoritmos en multitud de ocasiones para resolver diversos problemas como por ejemplo para poner una lavadora (conjunto de instrucciones pegadas en la tapa de la mquina), para tocar msica (partituras), para construir un aeroplano a escala (expresados en las instrucciones), para hacer trucos de magia (pasos para hacer el truco) o, incluso, para hacer recetas de cocina
(pasos de la receta). Otros ejemplos, como el algoritmo de la divisin para calcular el cociente de dos nmeros o el algoritmo de Euclides para calcular el mximo comn divisor de dos enteros positivos pertenecen al mbito de las matemticas. De un modo ms formal, un algoritmo es una secuencia finita de instrucciones realizables, no ambiguas, cuya ejecucin conduce a una resolucin de un problema. Otra definicin de algoritmo es la siguiente: Un algoritmo es una metodologia para resolver un problemas mediante una serie de fases o etapas precisas, definidas y finitas. El algoritmo nos da la solucin genrica a un problema y lo podremos emplear todas las veces que se nos presente ese mismo problema: por ejemplo el algoritmo de la divisin es genrico e independiente de los nmeros que tengamos que dividir. Una vez descubierto un algoritmo para efectuar una tarea, la realizacin de sta ya no requiere entender los principios en que se basa dicho algoritmo, pues el proceso se reduce a seguir las instrucciones del mismo. Por ejemplo, podemos hacer una divisin siguiendo el algoritmo sin entender por qu funciona el algoritmo. La inteligencia requerida para llevar a cabo la tarea est codificada en el algoritmo. Las mquinas algortmicas son aquellas capaces de llevar a cabo algoritmos, y entre ellas estn los ordenadores. En el mbito de los ordenadores, los algoritmos se expresan como programas. Los programas son algoritmos codificados con un lenguaje no ambiguo cuya sintaxis y semntica "entiende" el ordenador. . Hay muchos lenguajes de programacin de ordenadores, entre ellos, Fortran, PASCAL, C... As pues, si queremos que un ordenador efecte una tarea, primero debemos descubrir un algoritmo para llevarla a cabo; programar el algoritmo en la mquina consiste en representar ese algoritmo de modo que se pueda comunicar a una mquina. En otras palabras, debemos transformar el algoritmo conceptual en un conjunto de instrucciones y representar estas ltimas en un lenguaje sin ambigedad. Gracias a la capacidad para comunicar nuestros pensamientos mediante algoritmos, podemos construir mquinas cuyo comportamiento simula inteligencia. El nivel de inteligencia que simula la mquina, estar limitado por la inteligencia que podamos comunicarle por medio de algoritmos. Las mquinas slo pueden realizar tareas algortmicas. Si encontramos un algoritmo para dirigir la ejecucin de una tarea, podemos construir una mquina para llevarla a cabo siempre que la tecnologa haya avanzado lo suficiente. Si no encontramos un algoritmo, es posible que la ejecucin est fuera de las capacidades de las mquinas. Un computador es todo aparato o mquina destinada a procesar informacin, entendindose por proceso, las sucesivas fases, manipulaciones o transformaciones que sufre la informacin para resolver un problema determinado, siguiendo las instrucciones de un programa registrado.