Tabla de Contenido Diseño y Análisis de Algoritmo ................................................................................................ 3 Conceptos Básicos.................................................................................................................... 3 Objetivo................................................................................................................................... 3 Introducción ............................................................................................................................ 4 Diseño y análisis de algoritmo.................................................................................................. 5 Características de los algoritmos ............................................................................................. 6
Las características fundamentales que debe cumplir todo algoritmo son ............................. 6
La definición de un algoritmo debe describir tres partes: ................................................... 6
Elementos básicos en el diseño de algoritmos .......................................................................... 7
Seudocódigo .................................................................................................................. 7
Diagramas de Flujo ........................................................................................................ 7
Reglas para la construcción de diagramas de flujo .................................................................. 9 Declaración de los datos..........................................................................................................10 Instrucciones ..........................................................................................................................10 Simbología de los diagramas de flujo ......................................................................................11 Autoevaluación.......................................................................................................................12
UNIDAD 1
1
Diseño y Análisis de Algoritmo Conceptos Básicos Objetivo El alumno definirá el concepto de algoritmo, analizará
y aplicar los conocimientos
que le permitan plantear una metodología para la solución de problemas, utilizando la computadora a través del diseño de algoritmos.
Introducción Al resolver problemas de distinta índole, en muchas ocasiones se sigue una metodología para conseguir tal propósito. Dicha metodología se encuentra caracterizada por una serie de acciones o situaciones llevadas a cabo. Las cuales tienen como propósito, cada una de ellas lograr un objetivo en específico y en conjunto alcanzar un objetivo general. En consecuencia, estas acciones se pueden concebir como algoritmos, por lo que resulta importante conocer la definición, características e importancia que tienen los algoritmos en los distintos ámbitos de la vida cotidiana. De la misma manera los algoritmos son una herramienta vital para la solución de problemas mediante computadora; es por ello que esta unidad pretende dar a conocer los conceptos básicos de los algoritmos.
Diseño y análisis de algoritmo
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. 1. Preciso: el algoritmo debe ejecutar la tarea para el cual fue diseñado.
2. 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.
Características de los algoritmos Las características fundamentales que debe cumplir todo algoritmo son:
Un algoritmo debe ser preciso e indicar el orden de realización de cada paso
Un algoritmo debe estar definido. Si se sigue un algoritmo dos veces, se debe obtener el mismo resultado cada vez
Un algoritmo 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
Salida
Elementos básicos en el diseño de algoritmos Los Algoritmos se puede expresar de
Diagramas de Flujo
muchas maneras, pero en esta guía se tratarán solo dos formas: Seudocódigo y Diagrama de Flujo. En Seudocódigo
la
secuencia
de
instrucciones se representa por medio de frases o proposiciones, mientras que en un Diagrama de Flujo se representa por medio de gráficos.
Seudocódigo El diagrama de flujo es la representación gráfica de un algoritmo; para ello se utiliza un conjunto de símbolos estándares En el diagrama cada símbolo representa una acción en concreto; y cada instrucción del algoritmo
se visualiza dentro
símbolo adecuado.
del
Los símbolos se
El seudocódigo está compuesto por
conectan con flechas para indicar el orden
proposiciones informales en español que
en que se ejecutan las instrucciones.
permiten expresar detalladamente las
Para representar un algoritmo tiene claras
instrucciones que llevan desde un estado
ventajas,
inicial (problema) hasta un resultado
construidos por estudiantes de básica y
deseado (solución). Por lo regular, los
media.
algoritmos se escriben por refinamiento:
Numerosas investigaciones han mostrado
se escribe una primera versión que luego
que el Aprendizaje Visual es uno de los
se descompone en varios subproblemas
mejores métodos para enseñar habilidades
(el número depende de la complejidad del
del pensamiento. Las técnicas que utilizan
problema) independientes entre sí.
formas gráficas para representar ideas e
especialmente
cuando
son
Información ayudan a los estudiantes a
Las ventajas de diseñar un Diagrama de
clarificar su pensamiento, y a procesar,
Flujo antes de empezar a generar el código
organizar y priorizar nueva información.
de un programa son, entre otras• Forzar la
Los diagramas visuales revelan patrones,
identificación de todos los pasos de una
interrelaciones
solución de forma clara y lógica;
además
de
e
interdependencias
estimular
el
pensamiento
• Establecer una visión amplia y objetiva
creativo.
de la solución;
La utilización de Diagramas ayuda a los
• Verificar si se han tenido en cuenta todas
estudiantes a:
las posibilidades;
• Clarificar el pensamiento: Ellos pueden
•
ver cómo se conectan los procesos y se dan
duplicados;
cuenta de cómo estos se pueden organizar
• Representar gráficamente una solución
o agrupar para darles el orden lógico
(es más simple hacerlo con gráficas que
el
correcto
funcionamiento
de
para un
Comprobar
si
hay
procedimientos
mediante palabras);
programa de computador que hacerlo
• Facilitar a otras personas la comprensión
sobre el código.
de la secuencia lógica de la solución
Los Diagramas de Flujo son una de las
planteada;
técnicas más utilizadas para representar
• Posibilitar acuerdos con base en la
gráficamente la secuencia de instrucciones
aproximación común a una solución de un
de un Algoritmo. Estas instrucciones están
problema,
compuestas por operaciones, decisiones
realizar mejoras;
lógicas y ciclos repetitivos, entre otros. La
•
solución de un problema puede contener
(resulta más fácil depurar un programa con
varios
instrucciones
el diagrama que con el listado del código);
(procedimientos o métodos) que tienen
• Agilizar la codificación (traducción) del
como finalidad ejecutar cada uno de los
algoritmo en un lenguaje de programación;
procesos necesarios para
• Servir como elemento de documentación
conjuntos
de
llegar a la
solución de un problema a partir de los datos disponibles (estado inicial).
resolver
Establecer
ambigüedades
posibles
de la solución del problema.
o
modificaciones
Reglas para la construcción de diagramas de flujo Se recomienda mantener uniforme el tamaño de
1. Todo diagrama de flujo debe tener un inicio y un fin. 2. Las líneas de flujo
los símbolos, por lo que el texto que se escribe dentro no debe ser muy extenso, recuérdese que
nunca
el propio símbolo indica la operación a realizar.
deben cruzarse, para evitarlo
La forma en que se capturan los datos de
deben utilizarse el símbolo conector.
siempre
deben en
un
símbolo. 4. No puede llegar más de una línea de flujo a un símbolo. 5. 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. 6. Como regla general el flujo del proceso debe mostrarse de izquierda a derecha y de arriba abajo.
detallarán al codificar el algoritmo en el lenguaje de programación. Esto mismo se
3. Las líneas de flujo terminar
entrada o se muestran los datos de salida se
recomienda
para la
representación
algoritmo en pseudocódigo
del
Declaración de los datos
B. DECLARACION DE LOS DATOS
Se recomiendan nombres cortos y nemotécnicos (su propio nombre indica lo que representan).
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: a.- Se utilizan secuencias de caracteres formadas por caracteres alfabéticos y los dígitos decimales. b.- El primer elemento de la secuencia debe ser un carácter alfabético. c.- No se utilizan signos de acentuación d.- No se utilizan espacios, si se necesita separador debe utilizarse el carácter de subrayado (_) o guion bajo. e.- No se permite el uso de las palabras reservadas o palabras claves
Instrucciones 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. 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 Instrucción de 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.
Instrucción de 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.
Simbología de los diagramas de flujo
SIMBOLOGÍA DE LOS DIAGRAMAS DE FLUJO La estandarización de los símbolos para la elaboración de
Diagramas de Flujo tardó varios años. Con el fin de evitar la utilización de símbolos diferentes para representar procesos iguales, la Organización Internacional para la Estandarización (ISO, por su sigla en inglés) y el Instituto Nacional Americano de Estandarización (ANSI, por su sigla en inglés), estandarizaron los símbolos que mayor aceptación tenían en 1985. Los siguientes son los principales símbolos para elaborar Diagramas de Flujo:
Inicio/Final Se utiliza para indicar el inicio y el final de un diagrama; del Inicio sólo puede salir una línea de flujo y al Final sólo debe llegar una línea.
Decisión Indica la comparación de dos datos y dependiendo del resultado lógico (falso o verdadero) se toma la decisión de seguir un camino del diagrama u otro.
Entrada General Entrada/Salida de datos en General (en esta guía, solo la usaremos para la Entrada).
Flecha Indica la conexión lógica entre símbolo
Entrada por teclado Instrucción de entrada de datos por teclado. Indica que el computador debe esperar a que el usuario teclee un dato que se guardará en una variable o constante.
Salida Impresa Indica la presentación de uno o varios resultados en forma impresa.
Acción/Proceso General Indica una acción o instrucción general que debe realizar el computador (cambios de valores de variables, asignaciones, operaciones aritméticas, etc.).
Conector Indica el enlace de dos partes de un diagrama dentro de la misma página.
Conector Indica el enlace de dos partes de un diagrama en páginas diferentes.
Autoevaluación INSTRUCCIONES: Lee cuidadosamente y subraya la letra que corresponda a la palabra que complete la frase en cuestión.
1. Sus principales características es ser preciso, definido y finito, se habla de un: ________
a) Algoritmo
b) Análisis
c) Diseño
d) Prueba
2. Símbolo que representa el comienzo, “inicio” y el final, “fin” de un programa. Puede representar también una parada o interrupción programada que sea necesario realizar en un programa, denominado: _______
a) Terminal
b) Entrada/Salida
c) Proceso
d) Decisión
3. Símbolo que representa cualquier tipo de operación que pueda originar cambio de valor, formato o posición de la información almacenada en memoria, operaciones matemáticas, de transferencia, etc., llamado: _______
a) Terminal
b) Entrada/Salida
c) Proceso
d) Decisión
4. En función del resultado de la comparación se seguirá uno de los diferentes caminos de acuerdo con dicho resultado, denominado: _______
a) Terminal
b) Proceso
c) Decisión
d) Decisión múltiple
5. Indica el sentido de ejecución de las operaciones, denominado: _______
a) Línea de flujo
b) Línea conectora
c) Conector
d) Pantalla
Consultas sobre algoritmos: http://elvex.ugr.es/decsai/algorithms/slides/1%20Introduction.pdf http://www.dlsi.ua.es/assignatures/daa/descargas/DAA0910-T1-IntrodDAA.pdf http://www.aliat.org.mx/BibliotecasDigitales/sistemas/Analisis_y_disenio_de_algoritmos.