Professional Documents
Culture Documents
Tecnológico
de
Minatitlán
Cuestionario Unidad 3
Técnicas de Diseño
Detallado
Un algoritmo es un conjunto finito de instrucciones o pasos que sirven para ejecutar una
tarea o resolver un problema. De un modo más formal, un algoritmo es una secuencia
finita de operaciones realizables, no ambiguas, cuya ejecución da una solución de un
problema. Para identificar mas claro la ruta para solucionar un problema, lo que nos
ahorra mas tiempo, los problemas complejos pueden ser divididos en partes mas simples
y ser solucionado aparte. En la vida diaria, en la resolución de problemas en la vida
cotidiana, en el planeamiento de un problema enfocado a un lenguaje de programación.
Algoritmo voraz:
Algoritmo backtracking:
a) Descripción Narrada
b) Pseudocódigo
c) Diagramas de Flujo
d) Diagramas N- S (Nassi-Schneiderman o de Chapin)
A) DESCRIPCION NARRADA:
B) PSEUDOCODIGO:
este permite definir lo que realmente hara el algoritmo y la solucion a la que se desea
llegar pues solo es una representacion como un borrador para saber en que posible paso
se puede modificar o pueda este tener errores digamos que es una prueba de escritorio.
C) DIAGRAMAS DE FLUJO
es una representacion con simbolos de un algoritmo este sirve solo para diseñar los
procesos con simbologia propia de una diagrama de flujo pues es muy util su estructura
para que el algoritmo tenga un cierto orden para su elaboracion.
D) DIAGRAMAS NS:
• tiene un inicio
• lectura de datos
• proceso realizado
• salida o impresion de resultados
• un final
LAS VENTAJAS DE USAR FUJOGRAMAS:
Estos se utilizan para representar y diseñar un algoritmo y pues son una prueba de
escritorio el cual nos sirve para tener una nocion de lo que puede llegar a realizar dicho
procedimiento.
Son usados como modelos de estructura para saber lo que hara futuramente y tienen que
diseñarse y comprenderse todos los pasos de su elaboracion.
Los diagramas que lleven muchos pasos es decir los más complejos suelen ser muy
laborioso y se puede tornar tedioso para el diseñador de algoritmos.
En un proceso de decision puede seguirse varios caminos y puede llegar a ser que se
pierda informacion o no se elabore adecuadamente.
Diseño Algorítmico
Los algoritmos son utilizados como guías o modelos para poder realizar un programa,
debido a que representa de forma efectiva y simple las instrucciones y las acciones que se
llevarian a cabo en el, por lo que se recomienda realizar siempre primero el algoritmo
antes de tratar de programar directamente.
• pseudocódigo
• diagrama de flujo
1.-inicio
2.-introduce las variables
3.-proceso realizado para el resultado
4.-impresion en pantalla del resultado
5.-fin
inicio
leer valor
fin
DIAGRAMA DE FLUJO: Se dice que es la representacion grafica de los algoritmos en si, este
consta de una simbologia como es proceso, entrada, salida, monitor, decision, conector,
teclado y otros simbolos que nos ayudan a representar los diferentes estados de un
algoritmo, esto facilita la representacion de un algoritmo asi es como la realizacion del
pseudocodigo se reconoce por su simbologia empleada en estos diagramas para su
entendimiento.
A continuación un ejemplo de diagrama de flujo:
5. Realice un mapa mental conceptual que ilustre los elementos fundamentales de las
técnicas de diseño detallado
1.-incio
2.-introduce las variables
3.-proceso realizado para el resultado
4.-impresión en pantalla del resultado
5.-fin
6. Explique ampliamente cuales son las diferencias fundamentales entre el diseño UML y
el diseño algorítmico
1. Carácter finito. "Un algoritmo siempre debe terminar después de un número finito
de pasos".
2. Precisión. "Cada paso de un algoritmo debe estar precisamente definido; las
operaciones a llevar a cabo deben ser especificadas de manera rigurosa y no
ambigua para cada caso".
3. Entrada. "Un algoritmo tiene cero o más entradas: cantidades que le son dadas
antes de que el algoritmo comience, o dinámicamente mientras el algoritmo corre.
Estas entradas son tomadas de conjuntos específicos de objetos".
4. Salida. "Un algoritmo tiene una o más salidas: cantidades que tienen una relación
específica con las entradas".
5. Eficacia. "También se espera que un algoritmo sea eficaz, en el sentido de que
todas las operaciones a realizar en un algoritmo deben ser suficientemente básicas
como para que en principio puedan ser hechas de manera exacta y en un tiempo
finito por un hombre usando lápiz y papel".
Knuth admite que, aunque su descripción pueda ser intuitivamente clara, carece de rigor
formal, puesto que no está exactamente claro qué significa "precisamente definido", "de
manera rigurosa y no ambigua", o "suficientemente básicas", y así sucesivamente
*Entre más complejo es el sistema que se desea crear más beneficios presenta el uso
de UML ("Unified Modeling Language"), las razones de esto son evidentes, sin
embargo, existen dos puntos claves : El primero se debe a que mediante un
plano/visión global resulta más fácil detectar las dependencias y dificultades implícitas
del sistema, y la segunda razón radica en que los cambios en una etapa inicial (Análisis)
resultan más fáciles de realizar que en una etapa final de un sistema como lo seria la
fase intensiva de codificación.
*su base radica en otro paradigma empleado en diseños de sistemas de alto nivel que
es la orientación a objetos, por lo que para trabajar en UML puede ser considerado un
pre-requisito tener experiencia en un lenguaje orientado a objetos.
7. Realice el algoritmo (diagrama de flujo y pseudocódigo) que usted utilizo para entrar
al itmina y llegar a la materia de fundamentos de programación
INICIO
Ingresar a
www.itmina.edu.mx
Leer
convocatoria
Llenar solicitud de
preficha
Presentar
documentos
Pago de examen
ingreso
Imprimir solicitud
Presentar examen de
ingreso
Leer resultados en
periódico
Presentarse a
inscripción
Pago de inscripción y
requisitos
Asistir a curso de
inducción
Presentarse a clases
fin
Pseudocodigo
Inicio
Ingresar a www.itmina.edu.mx
Leer convocatoria
Llenar solicitud de preficha
Presentar documentos
Pago de examen de ingreso
Imprimir solicitud
Presentar examen de ingreso
Leer resultados en periódico
Presentarse a inscripción
Pago de inscripción y requisitos
Asistir a curso de inducción
Presentarse a clases
Asistir a clase de Fundamentos de programación
Fin
8. Explique ampliamente en qué consiste el pseudocódigo UPSAM (referencia libro de
fundamentos de algoritmos de Jose Luis Joyanes Anexo a libro que se encuentra en la
biblioteca del itmina
9. Describa en que consiste el prototipado de expresiones (nomenclatura general para
escribir expresiones en diferentes lenguajes y escriba 10 ejemplos de estos
Se comienza elaborando un prototipo del producto final: qué aspecto tendrá, cómo
funcionará,...Para muchas interfaces de usuario, este modelo puede resultar tan simple
como unos dibujos con lápiz y papel o tan complejo como el propio código operativo final.
Para interfaces de hardware o estaciones de trabajo, el modelo puede consistir en
maquetas de espuma, caucho, cartón o cartulina. Cuanto más próximo se encuentre el
prototipo al producto real, mejor será la evaluación, si bien se pueden obtener magníficos
resultados con prototipos de baja fidelidad.
Esta técnica puede ser utilizada en cualquier etapa del desarrollo. A medida que el
proceso progresa y el producto se completa, el prototipo ha de abarcar, cada vez más las
características del producto final. Llegados a un punto, la construcción de prototipos
adicionales resultará menos eficiente que usar las construcciones iniciales para el
producto.
Hay un cierto número de términos que se oyen en conjunción con los métodos de
prototipado. Los siguientes son una muestra de algunas de estas distinciones
Metodología de diseño que desarrolla rápidamente nuevos diseños, los evalúa y prescinde
del prototipo cuando el próximo diseño es desarrollado mediante un nuevo prototipo.
El prototipo cubre sólo un pequeño número de funciones operativas. Resulta muy útil
para evaluar el uso real sobre una pequeña parte del producto.
El prototipo se implementa con papel y lápiz, emulando la función del producto real sin
mostrar el aspecto real del mismo. Resulta muy útil para realizar tests baratos.