Colegio De Estudios Cientificos y Tecnologicos

Colegio De Estudios Cientificos y Tecnologicos
Algoritmos

jueves, 19 de mayo de 2011

Diagrama Estrucutrado Nassi-Scheneiderman

El diagrama estructurado Nassi-Scheneiderman también conocido como diagrama de Chapín es una mezcla de un diagrama de flujo con el pseudocódigo. Este diagrama se denomina en honor a sus inventores.

Se parece al diagrama de flujo ya que de manera visual podemos identificar el camino que se sigue para resolver un algoritmo, pero sin utilizar flechas, ya que todas las acciones se colocan en cajas contiguas. Se parece al pseudocódigo debido a que cada acción a realizar se escribe de igual manera pero dentro de las ya mencionadas cajas sin utilizar una numeración la cual en ocasiones es difícil de realizar.

Un buen diagrama N-S debe cumplir con lo siguiente:

  • En la primera caja de acción se coloca el encabezado o título del algoritmo.
  • En la segunda la palabra inicio y en la última la instrucción fin.
  • En la tercera las variables, funciones (solo la declaración), estructuras y constantes.
  • En caso de la estructuras de selección y cíclicas, indicar el valor del camino posible para evitar confusiones.
  • Debe quedar diseñado completamente en una sola página; nunca se debe continuar un diagrama en otra hoja (salvo un módulo o función), ya que éste es considerado como una sola acción.
  • Sin embargo, presenta los siguientes inconvenientes:
  • Difíciles de entender cuando el problema se vuelve muy compleo
  • Difíciles de actualizar y cuando se tienen que modificar, la labor se vuelve tediosa pues hay que redibujar las cajas que lo componen.
  • Generalmente no caben en el ancho de una hoja
  • Se necesitan hojas grandes para diseñarlos y aun así es muy probable que no sea el espacio suficiente.
  • Aunque cada una de las acciones a realizar se coloca dentro de una caja, las estructuras de selección y ciclicas tienen una pequeña variación.

miércoles, 18 de mayo de 2011

Diagramas de Flujo

Diagrama de Flujo

Un diagrama de flujo es la representación gráfica de un algoritmo. También se puede decir que es la representación detallada en Forma Gráfica de como deben realizarse los pasos en la coputadora para producir resultados.

Esta representación gráfica se da cuando varios símbolos (que indican diferentes procesos en la computadora el símbolo por sí solo te dice que hay que hacer), se relacionan entre sí mediante líneas que indican el orden en que se deben ejecutat los procesos.

Nota: Estos procesos son casi los mismos que se detallaron en la técnica no gráfica (pseudocódigo), pero representados con símbolos.

Los símbolos utilizados han sido normalizados por el instituto norteamericano de normalización (ANSI)

   
Tabla de Conjunto de símbolos para diseñar diagramas de flujo. 

 Nota: El símbolo de decisión es utilizado para representar a las estructuras cíclicas y a las estrucuras de selección.

Reglas para diseñar un buen diagrama de flujo:

  • Al no haber un símbolo para colocar el encabezado del diagrama, se recomienda colocarlo en la parte superior como un comentario.
  • Se debe comenzar el algoritmo con el símbolo inicio, al igual que indicar el término con el símbolo fin.
  • Después del símbolo inicio, se colocan todas las funciones, módulos, estrucutras, variables y constantes a usar en el símbolo dato.
Nota: La descripción de la función o módulo se debe de realizar en un diagrama de flujo independiente.

  • Todas las líneas que conectan a dos símbolos deben de tener una punta de flecha. Una flecha con doble sentido es incorrecta.
  • Se deben usar solamente líneas de flujo horizontal y/o vertical.
  • Se debe evitar el cruce de líneas utilizando los conectores.
  • Se deben usar conectores solo cuando sea necesario.
  • No deben de quedar líneas de flujo sin conectar.
  • Se deben trazar los símbolos de manera que se pueden leer de arriba hacia abajo y de izquierda a derecha.
  • Todo texto escrito dentro de un símbolo deberá ser escrito claramente, evitando el uso de muchas palabras.
  • Al tomar una decisión, se debe indicar el vaor de los caminos posibles, generalmente son falso y verdadero.
     
Por ejemplo el algoritmo de la suma se represntaría así:


                              
                                                                              
                                                                                                                      




                                

Algoritmos

Buenas tardes compañeros del Cecyte y otras escuelas, nosotras somos Claudia Griselda Loredo Vázquez y Gricelda Sarahí Trejo Chávez del grupo 4ºF, en la especialidad de Técnico en Mantenimiento De Equipo
 y Sistemas del Colegio de Estudios Científicos y Tecnólogicos, plantel II del Estado de San Luis Potosí.
El propósito del siguiente Blog es que les proporcionemos información acerca de los algoritmos y los diagramas de flujo.

¿Qué es Algoritmo?

 La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi, nombre de un matemático y astrónomo árabe que escribió un tratado sobre manipulación de números y ecuaciones en el siglo IX

Un algoritmo es una serie de pasos organizados que describe el proceso que se debe seguir, para dar solución a un problema específico.


Introducción
Cuando hayamos estudiado y comprendido este tema, habremos dado el primer paso para diseñar algoritmos, ya que sabremos cuales son las tres diferentes técnicas que existen para crearlos.

Es por lo anterior donde radica la importancia de este blog, debido a que apartir de este momento, podremos identificarnos con qué técnia algorítmica nos sentimos más agusto y con cual tendremos mayor facilidad de uso.

                                     ¿Tipos de Algoritmos...?

Existen dos tipos de algoritmos y son llamados así por su naturaleza:

  • Cualitativos: Son aquellos en los que se describen los pasos para hacer algo común. cotidiano que no pueden ser probados en la computadora, no son formales. Por ejemplo una receta de cocina, como la carlota, es un algoritmo informal, cualitativo o también un instructivo para armar un mueble, etcétera.
  • Cuantitativos: Son aquellos en los que se utilizan cálculos numéricos para definir los paso del proceso matemático, contable, estadístico y pueden ser procesados en la  computadora, se les conoce como formales.
Este tema se encuentra dividido en tres secciones, donde cada una aborda a uno de los diferentes métodos.

  •  El primer subtema nos presenta a la técnica algorítmica NO gráfica llamada Pseudocódigo.
  • El segundo subtema nos muestra tema nos muestra la gráfica para la resolución de problemas orientados a computadoras llama Diagramas de Flujo , que según nuestra consideración, es la más facil y entendible de las tres tácticas.
  • El tercer subtema nos exhibe al método híbrido llamado Diagramas Nassi-Scheidermann o Diagramas N-S.
Este tema junto con el primero son los más faciles debido a que son teóricos, sin embargo, no por eso habrá que restarles importancia., por lo cual esperemos que lo asimilen al 100%.


Pseudocódigo
El pseudocódigo o pseudolenguaje, son una serie de instrucciones en nuestro lenguaje natural (español, inglés, etc.) y expresiones muy simples y entendibles que representan cada uno de los pasos que resuelven un problema específico (algoritmo), es el que se encarga de expresar el algoritmo.

Es la representación narrativa de los pasos que debe seguir un algoritmo para dar solución a un problema determinado. El pseudocódigo utiliza palabras que indican el proceso a realizar, por todo lo anterior es una técnica NO GRÁFICA.

Se considera un primer borrador, dado que el pseudocódigo tiene que traducirse posteriormente a un lenguaje de programación. Cabe señalar que el pseudocódigo no puede ser ejecutado por una computadora.

Para diseñar el algoritmo no gráfico es necesario:

  • DEFINICIÓN DEL PROBLEMA:
Esta fase está dada por el enunciado del problema, el cual requiere una definición clara y precisa. Es importante que se conozca lo que se desea que realice la computadota pero recuerden antes de resolverlo utilizando la computadora, es necesario hacer el algoritmo en hojas d epapel; mientras esto no se conozca del todo no tiene mucho caso continuar con la siguiente etapa.

  • ANÁLISIS DEL PROBLEMA
Una vez que se ha comprendido lo que se desea hacer en el algoritmo, es necesario definir:
  1. Los datos de entrada
  2. Cual es la información que se desea producir (salida)
  3. Los métodos y fórmulas que se necesitan para procesar los datos.
Una recomendación muy práctica es, por ejemplo, si tu fueras a preparar una bebida que se llama Vampiro...¿porqué?, tienes sed y ese es tu problema. ¿Qué es lo que necesitas? ¡Claro!, ingredeintes como es tequila, refresco de toronja, sangrita, jugo de naranja, limón y sal. Ya que tienes todos esos ingredientes, los colocas uno a uno en un vaso agitador o coctelera, lo tapas y lo mueves de un lado a otro.
¿Ves? Ese es el prpceso que se hace al mezclar todos los ingredientes y al destapar y servir...¿Qué tenemos? ¡Sí! La bebida de nombre Vampiro.

Bien, pues éste es el proceso que se lleva a cabo para desarrollar algoritmos. Como se mencionó anteriormente: primero necesito tener el problema y luego al analizarlo tengo que ver qué es lo que necesito, a este punto es al que se le llama datos de entradaa ¡Sí! ¡Es como cuando se mezclan todos los ingredientes en el vaso coctelero! El resultado de éste proceso es el que se conoce como la salida de datos.

No es tan difícil. Solo basta determinar muy bien qué es lo que se quiere obtener y qué es lo que tengo para obtenerlo.

  • DISEÑO DEL ALGORITMO
Las características de un buen algoritmo son:
  • Debe tener una secuencia lógica a seguir
  • Debe tener un punto particular de inicio
  • Debe ser definido, no debe permitir dobles interpretaciones
  • Debe ser general, es decir, soportar la mayoría de las variantes que se pueden presentar en la definición del problema
  • Debe ser finito en tamaño y tiempo de ejecución
  • Diseño del Algoritmo
  • Prueba de escritorio o Depuración
Se denomina prueba de escritorio a la comprobación que se hace de un algoritmo para saber si está bien hecho.Esta prueba consiste en tomar datos específicos como entrada y seguir la secuencia indicada en el algoritmo hasta obtener un resultado, el análisis de estos resultados inidcará si el algoritmo está correcto o si por el contrario hay necesidad de corregirlo o hacerle ajustes.

A continuación tenemos el ejemplo de cómo se utiliza el pseudocódigo, en un algoritmo, donde el problema es:

El hijo de don Quique cursa el primer año de primaria y le están enseñando a hacer sumas de dos números, pero al niño se le dificulta un poco, don Quique como está muy ocupado le pide ayuda a los alumnos del tercer sesmestre de Mantenimiento de Equipo y Sistemas por que sabe que ellos saben hacer secuencias de pasos para que otros puedan entenderlas y que después esas secuencias de pasos las puedan ejecutar en la computadora.

  • Análisis
Los alumnos determinan que si el niño de don Quique quiere aprender a hacer sumas entonces lo ideal es hacerle una secuenca de pasos que lo lleve a hacerlas
Los alumnos suponen que si las sumas que el niño pretende hacer son de dos números y esos números no siempre son los mismos entonces van a establecer una fórmula con elementos variantes como sigue:

RESULTADO:= NUM1+NUM+2

  • Al tener esta fórmula se dan cuenta que de aquí se pueden sacar los ingredientes, y además ver cual es posible resultado, y determinar que proceso es el que se hará. Como ya tienen los elementos a utilizar es recomendable que los clasifiquen de la siguiente forma.
Entrada       Salida
Num1         Resultado
Num2

  • Y este es el proceso:
                                                           Resultado:= Num1 + Num2

Si aquí se mezclan los datos. Ya que tienes estos datos ahora si puedes hacer la secuencia de pasos (el algoritmo).
  • Algoritmo:
  1. Inicio
  2. "Dame el valor de un número a sumar en" [Num1]
  3. "Dame el valor de un segundo número a sumar en" [Num2]
  4. "Sustituye los valores en la siguiente formula"
                Resultado:=Num1+Num2
    5. "El resultado de la suma es" [Resultado]
    6. "Fin"

¡Ven qué sencillo! Ahora si eres experto tu diseño será así

Inicio
Leer Num1, Num2
Resultado:=Num1+Num2
Escribe "El resultado de la suma es", Resultado
Fin

Pero crees que el niño de don Quique lo entenderá?

¿Cuál consideras que es mas entendible? y ¿Por Qué?

Recuerda que tu diséñas los algoritmos para que otros los entiendan y los ejecuten y los traduces a un lenguaje de programación para facilitarles la vida a los usuarios.

Ventajas de utilizar el Pseudocódigo
  • Ocupa muy poco espacion en una hoja de papel
  • Permite representar en forma fácil operaciones repetitivas complejas
  • Es muy fácil pasar de pseudocódigo a un programa en algun lenguaje de programación ya que sólo basta con aprender como se maneja cierta instrucción con ese lenguaje.
  • Si se siguen las reglas se puede observar claramente los niveles que tiene cada operación debido a la numeración, subnumeración y sangrías.