sábado, 10 de mayo de 2014




                     ALGORITMOS DIAGRAMAS DE FLUJO Y PSEUDOCODIGO

                                            




Un algoritmo: se define como un método que se realiza paso a paso para solucionar un problema que termina en un número finito de pasos. Las características fundamentales que debe cumplir todo algoritmo son:

  •  Debe ser preciso. e indicar el orden de realización de cada paso.
  •  Debe ser definido. Si se sigue un algoritmo dos veces, se debe obtener el mismo resultado cada vez.
  •  Debe ser finito. Si se sigue un algoritmo, se debe terminar en algún momento ; o sea debe tener un número finito de pasos. la definición de un algoritmo debe describir tres partes : Entrada, Proceso y Salida
Diagrama de Flujo.
Es aquél que se vale de diversos símbolos para representar las ideas o acciones a desarrollar. Es útil para organizar las acciones o pasos de un algoritmo pero requiere de etapas posteriores para implementarse en un sistema de cómputo.
También se puede decir que es la representación gráfica de un algoritmo, entre las características importantes de un diagrama de flujo podemos encontrar:
·         Es fácil de darle seguimiento a las operaciones
·         Es más fácil de corregir
·         No existen problemas con el lenguaje, tal y como podría suceder con un algoritmo
Pseudocódigo.
En ciencias de la computación, y análisis numérico el pseudocódigo (o falso lenguaje) es una descripción de un algoritmo informático de programación de alto nivel compacto e informal que utiliza las convenciones estructurales de un lenguaje de programación verdadero, pero que está diseñado para la lectura humana en lugar de la lectura en máquina, y con independencia de cualquier otro lenguaje de programación. Normalmente, el pseudocódigo omite detalles que no son esenciales para la comprensión humana del algoritmo, tales como declaraciones de variables, código específico del sistema y algo
Un lenguaje de programación es un lenguaje que puede ser utilizado para controlar el comportamiento de una máquina, particularmente una computadora. Consiste en un conjunto de reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos, respectivamente. Aunque muchas veces se usa lenguaje de programación y lenguaje informático como si fuesen sinónimos, no tiene por qué ser así, ya que los lenguajes informáticos engloban a los lenguajes de programación y a otros más, como, por ejemplo, el HTML

CLASIFICACIÓN DE LOS LENGUAJES DE PROGRAMACIÓN

Los lenguajes de programación se pueden clasificar de acuerdo con diversos criterios. El criterio más simple que se puede considerar hace referencia a la proximidad del lenguaje con la máquina o con el lenguaje natural. De acuerdo con este criterio, existen tres niveles:

            • Lenguajes de bajo nivel: Lenguajes máquina.

            • Lenguajes de nivel medio: Lenguajes ensambladores y macroensambladores.

            • Lenguajes de alto nivel: El resto de los lenguajes, a los que ya hemos hecho referencia.
Dado que los lenguajes de programación, en cierto modo, han tenido un desarrollo paralelo a la evolución de los ordenadores, se pueden clasificar atendiendo a su desarrollo histórico. Esta clasificación distingue cinco generaciones de lenguajes     • Primera generación: Lenguajes máquina.

            • Segunda generación: Ayudas a la programación, como los ensambladores.
           
            • Tercera generación: Lenguajes de alto nivel imperativos, que siguen vigentes en la actualidad, como Pascal, Modula• 2, Fortran, Cobol, C y Ada.

            • Cuarta generación: Lenguajes o entornos de programación orientados básicamente a aplicaciones de gestión y bases de datos, como SQL, Natural, etc.

            • Quinta generación: Lenguajes orientados a aplicaciones en Inteligencia Artificial, como Lisp y prolog

LA PROGRAMACION EN LOS COMPUTADORES

Programar una computadora consiste en escribir las instrucciones para que la computadora realice una tarea; se suele decir que la computadora resuelve problemas, pero lo correcto es decir que la computadora ejecuta las instrucciones que resuelven el problema, en este sentido la tarea consiste en ejecutar las instrucciones. Al conjunto de instrucciones específicas para que la computadora realice la tarea se le llamaprograma.
La computadora, normalmente viene preparada para ser utilizada, es decir viene con todos los programas necesarios para realizar las tareas que se desean realizar con ella, por ejemplo, un conjunto de programas para que con la ayuda de la computadora se pueda llevar la contabilidad de una empresa; un editor de texto para escribir un libro, o un programa para jugar a las cartas con la computadora, etc. Estos programas fueron desarrollados por personas, denominadas programadores de computadoras. Los programadores de computadoras deben adquirir la habilidad de poder escribir instrucciones para una maquina que simplemente las ejecuta como un autómata, sin ninguna actividad pensante, pero que al ejecutar las instrucciones realiza la tarea para la cual fue programada.
Para ilustrar la forma en que se ejecuta un programa almacenado en la computadora se presenta el modelo conceptual de computadora conocido como la Máquina de Von Newman, este modelo fue diseñado por el matemático húngaro John Von Newman. Este modelo es la base de la arquitectura de la mayoría de las computadoras actuales.



  
Monografias.com

conceptualmente, la computadora esta integrada por cuatro componentes que interactúan entre sí, estas son la memoria, el procesador, la unidad de control y la unidad de entrada/salida.
La memoria es el dispositivo donde se almacena el programa, y se le denomina la memoria principal, además del programa en ella también se almacena los datos.El procesador es el dispositivo que ejecuta las instrucciones, todo procesador es fabricado con un conjunto básico de instrucciones que puede ejecutar, como por ejemplo: las operaciones aritméticas, comparaciones, decidir entre ejecutar o no una instrucción de acuerdo al resultado de una condición, tomar datos de la memoria o colocar datos en la memoria, etc. Este conjunto de instrucciones puede variar de acuerdo al fabricante

La unidad de control recupera una a una las instrucciones del programa almacenado en la memoria y las transfiere al procesador a fin de que éste realice la operación especificada, además de las instrucciones se le proporcionan los datos, conocidos como datos de entrada, éstos se procesan de acuerdo a las instrucciones indicadas, obteniendo los resultados, que se conocen como datos de salida.


El programa y los datos son transferidos a la memoria principal a través de un dispositivo de entrada, como por ejemplo el teclado, y el resultado del proceso se muestra a través de un dispositivo de salida, como por ejemplo impresos, utilizando una impresora, desplegados en la pantalla del monitor o estos resultados pueden almacenarse en otros dispositivos de memoria, denominados memoria secundaria, tales como undisco duro, un disquete o una memoria portátil.
El programa debe estar escrito o codificado en un lenguaje especial, denominado lenguaje de programación, algunos ejemplos de lenguajes de programación son: PASCAL, C, FORTRAN, DELPHIVisual Basic, etc.

ALGORITMOS
Los algoritmos son el fundamento de la programación de computadoras, para que la computadora pueda ejecutar una tarea es necesario que primero se diseñe el algoritmo correspondiente, es decir, especificar las operaciones necesarias para transformar los datos de entrada en datos de salida. Una vez diseñado y probado el algoritmo, se trasforma en el programa correspondiente. El programa esta compuesto por el algoritmo, la especificación de los datos y las instrucciones que permiten la comunicación entre los usuarios del programa y la máquina.
Definición de algoritmo: Un algoritmo es un conjunto finito de instrucciones cuyo fin es realizar una tarea; este conjunto finito de instrucciones debe también ser preciso y determinístico.
  • Preciso: el algoritmo debe ejecutar la tarea para el cual fue diseñado.
  • Determinístico: significa que el resultado debe depender estrictamente de los datos suministrados, siempre que el algoritmo se ejecute con un mismo conjunto de datos de entrada, el resultado debe ser siempre el mismo.
Son ejemplos de algoritmos los métodos utilizados en aritmética para sumar, restar, multiplicar y dividir cantidades; la aplicación de la fórmula cuadrática para encontrar las raíces de un polinomio de segundo grado En todos ellos se cumplen las tres características anteriores.
Un algoritmo eficiente y confiable es el producto de un análisis exhaustivo del problema, para determinar la mejor alternativa de solución.

ELEMENTOS BASICOS EN EL DISEÑO DE ALGOTITMOS

  • HERRAMIENTAS PARA EL DISEÑO DE ALGORITMOS
Las dos herramientas más utilizadas para diseñar algoritmos son el Pseudocódigo y el Diagrama de flujo.
  • 1. Pseudocódigo
Es un lenguaje simplificado para describir un algoritmo utilizando una mezcla de frases en lenguaje común, y palabras claves que indican el inicio y el fin del algoritmo y las instrucciones específicas a realizar.
Por ejemplo, el siguiente pseudocódigo corresponde al algoritmo para calcular el área del rectángulo: el algoritmo calcula el área (a) de un rectángulo cualquiera, si se le suministra la longitud de de la base (b) y la longitud de la altura (h).

 Diagrama de flujo
El diagrama de flujo es la representación gráfica de un algoritmo; para ello se utiliza un conjunto de símbolos estándares mundialmente utilizados y desarrollados por organizaciones tales como ANSI (American National Institute) e ISO (International Standard Organization para la elaboración de diagramas de flujo;
En el diagrama cada símbolo representa una acción en concreto; y cada instrucción del algoritmo se visualiza dentro del símbolo adecuado. Los símbolos se conectan con flechas para indicar el orden en que se ejecutan las instrucciones.
Por ejemplo, el siguiente diagrama de flujo corresponde al algoritmo para calcular el área del rectángulo

 Monografias.com


El ovalo rotulado con la palabra Inicio indica el comienzo del algoritmo, el paralelogramo es el símbolo de entrada de datos e indica que se lee el valor de la base (b) y el valor de la altura (h), el rectángulo es el símbolo de proceso e indica que se realiza un proceso sobre los datos de entrada para calcular el área (a) multiplicando la base por la altura, (utilizaremos el * como operador de multiplicación), el siguiente es el símbolo de salida y representa un documento e indica que se muestra el valor del área obtenido, en cualquier dispositivo de salida, finalmente el ovalo rotulado con la palabra Fin indica que se ha llegado al fin del algoritmo.
Los símbolos que se utilizaran para dibujar los diagramas de flujo son los siguientes:


tiposde algoritmos:
  • algoritmo de ordenamiento
  • algoritmo de búsqueda


1     lenguaje algoritmico  Es una serie de símbolos y reglas que se utilizan para describir de   manera explícita un proceso

El ovalo rotulado con la palabra Inicio indica el comienzo del algoritmo, el paralelogramo es el símbolo de entrada de datos e indica que se lee el valor de la base (b) y el valor de la altura (h), el rectángulo es el símbolo de proceso e indica que se realiza un proceso sobre los datos de entrada para calcular el área (a) multiplicando la base por la altura, (utilizaremos el * como operador de multiplicación), el siguiente es el símbolo de salida y representa un documento e indica que se muestra el valor del área obtenido, en cualquier dispositivo de salida, finalmente el ovalo rotulado con la palabra Fin indica que se ha llegado al fin del algoritmo.
Los símbolos que se utilizaran para dibujar los diagramas de flujo son los siguientes:


Monografias.com




Reglas para la construcción de diagramas de flujo

  •  Todo diagrama de flujo debe tener un inicio y un fin.
  •  Las líneas de flujo nunca deben cruzarse, para evitarlo deben utilizarse el símbolo conector.. Las líneas de flujo deben terminar siempre en un símbolo.
  •  No puede llegar más de una línea de flujo a un símbolo.
  • Todos los símbolos en un diagrama deben estar conectados mediante una línea de flujo; todo símbolo debe tener una línea de flujo entrando y otra saliendo salvo el símbolo que indica inicio o fin del diagrama.
  •  Como regla general el flujo del proceso debe mostrarse de izquierda a derecha y de arriba abajo.
Se recomienda mantener uniforme el tamaño de los símbolos, por lo que el texto que se escribe dentro no debe ser muy extenso, recuérdese que el propio símbolo indica la operación a realizar. La forma en que se capturan los datos de entrada o se muestran los datos de salida se detallarán al codificar el algoritmo en el lenguaje de programación. Esto mismo se recomienda para la representación del algoritmo en pseudocódigo

  • DECLARACION DE LOS DATOS
Como ya se dijo los datos a procesar y los datos resultantes del proceso se almacenan en la memoria principal de la computadora, también conocida como memoria RAM (Random Access Memory), y también se destinan localidades de memoria cuando se necesita almacenar resultados de cálculos intermedios. Para poder localizar los datos en la memoria se les asignan nombres; que en el ambiente de la programación se conocen como identificadores de datos. Nombraremos los datos siguiendo las reglas para definir identificadores especificadas en la mayoría de los lenguajes de programación:
  • Se utilizan secuencias de caracteres formadas por caracteres alfabéticos y los dígitos decimales.
  • El primer elemento de la secuencia debe ser un carácter alfabético.
  • No se utilizan signos de acentuación
  • No se utilizan espacios, si se necesita separador debe utilizarse el carácter de subrayado (_) o guión bajo.
  • No se permite el uso de las palabras reservadas o palabras claves
Se recomiendan nombres cortos y nemotécnicos (su propio nombre indica lo que representan).
Por ejemplo:

 Son identificadores válidos los siguientes:
longitud, altura, dato1, dato2, Coeficiente_a, numero_menor, EDAD
No son identificadores válidos los siguientes:
ºC , porque el carácter º no es un carácter permitido
dato, porque comienza con un dígito
numero menor, porque tiene un espacio en blanco como separador
leer, escribir e inicio, porque son palabras reservadas
  • INSTRUCCIONES
Un algoritmo normalmente incluye una gran cantidad de instrucciones, también llamadas sentencias; inicialmente se presentan las instrucciones de asignación, lectura y escritura; definiendo cada una de ellas y mostrando su representación en pseudocódigo, su correspondiente símbolo en el diagrama de flujo y ejemplos.


Instrucción de asignación
Esta instrucción asigna valor a un identificador, cuando se ejecuta una instrucción de asignación se almacena el valor asignado en la localidad de memoria reservada para el identificador, este identificador también se conoce con el nombre de variable y se caracteriza porque puede tomar diferentes valores durante la ejecución del algoritmo.
El formato de la instrucción de asignación es el siguiente:


                        
                               Monografias.com


Donde variable es un identificador válido y expresión puede estar formada por un valor, por un conjunto de valores y operadores o por una función En el espacio de memoria asignado a la variable se almacena el valor resultante de la expresión.
Una asignación tiene tres partes, la variable, el signo de asignación = y la expresión cuyo valor se asigna a la variable. La variable siempre va a la izquierda del símbolo =, mientras que la expresión siempre estará a la derecha.
Instrucción Leer
Se define la instrucción Leer para indicar que se debe enviar información desde un dispositivo de entrada de datos, como el teclado, hacia la memoria En la memoria los datos serán ubicados a través de su nombre o identificador asignado.
El formato de esta instrucción es el siguiente


                       Monografias.com
Los símbolos < > no se incluyen en la codificación, lo que indican es que el programador debe definir lo que se le pide, en este caso una lista de variables.
Instrucción Escribir
Se define la instrucción Escribir para indicar que se va a enviar información desde la memoria hacia un dispositivo de salida de datos, como la impresora o la pantalla del monitor.
El formato de esta instrucción es el siguiente:


                        Monografias.com



Una constante puede ser un número cualquiera o una secuencia de caracteres, por ejemplo, el numero 15 o la secuencia "Error". Si la constante es una secuencia de caracteres se escribirá entre apóstrofos, para indicar que lo que se escribe es la secuencia. Por ejemplo
Escribir "Error"
Escribir 3.1416
Generalmente dentro del símbolo solo se podrán escribir listas cortas, dado que el espacio es limitado y el tamaño de los símbolos en un diagrama de flujo debe ser uniforme; para solventar este inconveniente deben utilizarse varios símbolos de salida. En el caso de formulas muy largas, se puede hacer referencia a su numero dentro del símbolo.
  • METODOLOGIA A SEGUIR EN EL DISEÑO DE ALGORITMOS
El procedimiento a seguir para diseñar algoritmos se presenta a continuación:
Entender el problema
Para determinar la secuencia de instrucciones que deben constituir el algoritmo, es importante entender el problema que se pretende resolver, para asegurarse que entiende el problema el programador debe resolverlo con papel, lápiz grafito y borrador procurando hacer varios ejercicios de aplicación, generalmente se encuentran diferentes formas de resolver el problema, por lo que se debe seleccionar la mejor alternativa de solución.
Declaración de datos


  • Datos de Entrada: Los datos que se suministran
  • Datos de Salida: los datos o resultados que se esperan
  • Datos de trabajo: estos son posiciones de memoria donde se almacenaran resultados de cálculos intermedios, necesarios para obtener los datos de salida


  • Se debe asignar nombre a los datos de acuerdo a las reglas para formar identificadores. Al hacer la declaración de los datos también debe especificarse el tipo de dato que va a almacenarse en la posición de memoria especificada, los tipos de datos son: numérico, un carácter, una cadena de caracteres o un valor lógico (verdadero o falso)
    Especificar las formulas a utilizar
    Las fórmulas deben escribirse utilizando los nombres asignados a los datos.
    Diseño del algoritmo.
    Se debe representar la alternativa de solución seleccionada mediante un algoritmo, el cual puede desarrollarse utilizando el pseudocódigo o el diagrama de flujo a preferencia del programador; luego se verifica si el algoritmo cumple con las características de un algoritmo. Esta verificación se conoce como prueba de escritorio.
    Prueba de escritorio: Se debe ejecutar el algoritmo con diferentes datos de entrada para verificar si se obtienen los datos de salida esperados, en caso contrario se procede a hacer las modificaciones necesarias al algoritmo. Se recomienda verificar los resultados obtenidos en los ejercicios realizados en la etapa de análisis del problema. Los datos de prueba deben escogerse de modo a someter al algoritmo a todas las posibles situaciones que puedan darse.

    El diseño del algoritmo esta listo si la prueba de escritorio muestra que éste satisface las características de un algoritmo; si la prueba no es satisfactoria se revisa el pseudocódigo o el diagrama de flujo y se procede de esta manera hasta obtener los resultados esperados. La siguientes etapas son la codificación del algoritmo en el lenguaje de programación seleccionado y su prueba en la computadora.
    A continuación utilizamos esta metodología en el diseño de un algoritmo:
    Problema 1: Diseñar un algoritmo para convertir una temperatura dada en grados Fahrenheit a la correspondiente temperatura en grados Centígrados.
    Entender el problema
    El agua se congela a 0º Centígrados y hierve a 100º Centígrados. El agua se congela a 32º Fahrenheit y hierve a 212º Fahrenheit. Lo que indica una diferencia de 180º. Por lo tanto cada grado en la escala Fahrenheit es igual a 100/180 o 5/9 grados en la escala Celsius.
    Para convertir grados Fahrenheit a grados Celsius se resta 32º a los grados Fahrenheit y el resultado se multiplica por 5/9 




                                          Monografias.com

    Se selecciona esta alternativa de solución y se procede con el siguiente paso.
    Declaración de los datos
    Se selecciona esta alternativa de solución y se procede con el siguiente paso.
    Declaración de los dato
                  Monografias.com













    No hay comentarios:

    Publicar un comentario