Você está na página 1de 18

DISEÑO ALGORITMICO

Fundamentos de Programación

Instituto Tecnológico de Iztapalapa

Integrantes:
Arredondo Flores Alexa Ketzali
Cruz Badillo Miriam
Posadas Gil Sergio Eduardo
Salgado Mondragón Adriel

1°”A”

Ing. Sistemas Computacionales

Ing. Yarami García Díaz


INDICE
1.1 CONCEPTOS BASICOS: ALGORITMOS Y APROXIMACIONES

1.1.1 DEFINICION DE ALGORITMO


1.1.1.1 PROPIEDADES DE ALGORITMOS
1.1.1.2 CLASIFICACION DE LOS ALGORITMOS
1.1.1.3 TIPOS DE ALGORITMOS
1.1.1.4 LENGUAJES ALGORITMICOS
1.1.1.4.1 TIPOS DE LENGUAJES ALGORITMICOS
1.1.1.5 TIPO DE EXPRESION DE UN ALGORITMO
1.1.1.6 PASOS PARA LA RESOLUCION DE UN ALGORITMO
1.1.2 DEFINICION DE APROXIMACIONES

1.2 REPRESENTACION DE ALGORITMOS: GRAFICO Y


PSEUDOCODIGO

1.2.1 REPRESENTACION GRAFICA DE UN ALGORITMO (DIAGRAMA DE FLUJO)


1.2.1.1 CARACTERISTICAS DE LAS REPRESENTACIONES GRAFICAS
1.2.1.2 DESCRIPCION DE BLOQUES
1.2.1.3 DISEÑO DE UN DIAGRAMA DE FLUJO
1.2.1.4 RECOMENDACIONES PARA EL DISEÑO DE DIAGRAMAS DE FLUJO
1.2.2 PSEUDOCODIGO
1.2.3 VENTAJAS Y DIFERENCIAS AL UTILIZAR UN PSEUDOCOGIDO A UN DIAGRAMA DE
FLUJO

1.3 DISEÑO DE ALGORITMOS

1.3.1 TECNICAS PARA EL DISEÑO DE ALGORITMOS

1.4 MODELOS DE LAS 6D


1.4.1 INTRODUCCION
1.4.2 METODO
1.4.3 ETAPAS Y PASOS
DISEÑO ALGORÍTMICO

1.1 Conceptos básicos: Algoritmo y Aproximaciones

1.1.1 Definición Algoritmo

La palabra Algoritmo viene de AL-KHOWARIZMI, sobrenombre del célebre


matemático y astrónomo árabe Mohamed Ben Musa, que escribió un tratado sobre la
manipulación de números y ecuaciones en el siglo IX, titulado KITAB AL-JABR
W’ALMUGALABA, la palabra algebra se derivó por su semejanza sonora de AL-JABR

Etimológicamente la palabra derivada del griego PROBALLEIN y significa “algo


lanzado hacia adelante”. Un problema es un asunto o conjunto de cuestiones que se
plantean para ser resueltas, la naturaleza de los problemas varía con el ámbito o con
el contexto donde están planteados: así existen problemas matemáticos, físicos,
filosóficos, etc.

Fig. 1.1 Esquema del desarrollo de algoritmos.

“Un algoritmo es una secuencia de operaciones detalladas y no ambiguas, que al


ejecutarse paso a paso, conducen a la solución de un problema”. En otras palabras es
un conjunto de reglas para resolver una cierta clase de problema.

“Todo problema se puede escribir por medio de un algoritmo”.

“Un algoritmo es la aplicación de pasos lógicos, secuenciales y metódicamente aplicados


para dar solución a un problema en cuestión.” Es una fórmula para resolver problemas.

1.1.1.1 Propiedades de los algoritmos

Todos los algoritmos deben de tener características o propiedades para considerarse


(valga la redundancia) algoritmos, como lo son:

 FINITO:

El algoritmo debe tener, dentro de la secuencia de pasos una situación o condición que
lo detenga, (Debe definir tres partes: Entrada, Proceso Salida) porque por lo contrario
podría llegar a arrojarnos ciclos infinitos que nos impidan llegar a un término.

 PRECISO:

Un algoritmo no debe dar lugar a criterios, los pasos a seguir no deben darnos pie a
seguir otros caminos, se siguen de forma estricta y se debe llegar a un mismo resultado.

Si carecen de cualquiera de estas características o propiedades entonces los pasos en


cuestión no pueden considerarse como un algoritmo.
Así mismo debe ser planteado como un sistema de información.

1.1.1.2 Características de los algoritmos

Las propiedades de un algoritmo son las siguientes:

a) El algoritmo debe ser preciso e indicar el orden de realización de cada paso.


b) El algoritmo debe ser definido, si se sigue un algoritmo dos veces, se debe
obtener el mismo resultado cada vez.
c) El algoritmo debe ser finito, si se sigue un algoritmo se debe terminar en algún
momento; o sea debe tener un numero finito de pasos.

El algoritmo debe ser planteado como un sistema de información.

Fig. 1.2 Representación de un algoritmo como un sistema de Información.

1.1.1.3 Clasificación de los Algoritmos

 Secuenciales

La estructura secuencial es aquella en la que una acción (instrucción) sigue a otra en


secuencia. Las tareas se suceden de tal modo que la salida de una es la entrada de la
siguiente y así sucesivamente hasta el fin del proceso.

Fig. 1.3 Esquema de la Estructura secuencial

 Condicionales

También se les conoce como alternativas o selectivas, permiten comparar una variable
contra otro (s) valor (es). Cabe mencionar que esta comparación se puede hacer contra
otra variable o contra otra constante.
Existen tres tipos de básicos de estructuras condicionales: las SIMPLES, DOBLES y
MULTIPLES.

- Simples: Se les conoce como “Tomas de decisión”.


Pseudocódigo
Inicio
Acción A
Si <condición> entonces
Acción (es) B
Fin si
Fin

Fig. 1.4 Esquema de la estructura Condicional simple.

- Dobles: Permiten elegir entre dos opciones o alternativas posibles en función


del cumplimiento o no determinada condición.
Pseudocódigo
Acción A
Si <condición>entonces
Acción (es) B
Si no
Acción C
Fin si
Acción N
Fin

Fig. 1.5 Esquema de la estructura Condicional doble.


- Múltiples: Permiten comparar una variable contra distintos posibles resultados.
Pseudocódigo
Inicio
Acción A
Si <condición> entonces
Acción (es) B
Si no
Si <condición> entonces
Accion (es) C
Si no
Si <condición> entonces
Accion N
Fin si
Fin si
Fin si
Fin

Fig. 1.6 Esquema de la estructura Condicional múltiple.


 Repetitivos

Se llaman problemas repetitivos o ciclos a aquellos en cuya solución es necesario utilizar


un mismo conjunto de acciones que se puedan ejecutar una cantidad específica de
veces. Esta cantidad puede ser fija (previamente determinada por el programador) o
puede ser variable (estar en función de algún dato dentro del programa). Los ciclos se
clasifican en:

- Ciclos con un número determinado de iteraciones

(Para): Son aquellos en que el número de iteraciones se conoce antes de ejecutarse el


ciclo. La forma de esta estructura es la siguiente:
Para <var> <exp1> hasta <exp2> paso <exp3> haga
<tarea a repetir>
Fin para
Dado un valor inicial exp1 asignado a la variable esta se irá aumentando o
disminuyendo de acuerdo a la exp3 hasta llegar a la exp2; si se omite el paso, significa
que la variable aumentara de uno en uno.

- Ciclos con un número indeterminado de iteraciones:


Son aquellos en que el número de iteraciones no se conoce con exactitud, ya que esta
dado en función de un dato dentro del programa.
Mientras que: esta es una estructura que repetirá un proceso durante “N” veces, donde
“N” puede ser fijo o variable. Para esto, la instrucción se vale de una condición que es
la que debe cumplirse para que se siga ejecutando. Cuando la condición ya no se
cumple, entonces ya no se ejecuta el proceso.

1.1.1.4 Tipos de Algoritmos

Cualitativos: Son aquellos en los que se describen los pasos usando palabras.

Cuantitativos: Son aquellos que utilizan cálculos numéricos para definir los pasos del
proceso.

1.1.1.5 Lenguajes Algorítmicos

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

1.1.1.5.1 Tipos de Lenguajes Algorítmicos

• Gráficos: Es la representación gráfica de las operaciones que realiza un


algoritmo (diagrama de flujo)

• No gráficos: Representa en forma descriptiva las operaciones que debe realizar


un algoritmo (Pseudocódigo)
1.1.1.6 Tipo de expresión de un Algoritmo

 Lenguaje Natural: Es el uso del lenguaje natural.


 Lenguaje simbólico: Es la forma de representación de un algoritmo que además
permite una introducción a la programación estructural.
 Lenguaje Grafico: Es una forma de escribir una secuencia de pasos en forma de
diagrama, en la práctica se denominan como diagramas de flujo.
La resolución de un problema exige el diseño de un algoritmo que resuelva el
problema propuesto.
1.1.1.7 Los pasos para la resolución de un problema son:

1. Diseño de algoritmo, que describe la secuencia ordenada de pasos que


conducen a la solución de un problema dado. (Análisis del problema y desarrollo
del algoritmo).

2. Expresar el algoritmo como un programa de lenguaje de programación


adecuado. (Fase decodificación.)

3. Ejecución y validación del programa por la computadora.

Para llegar a la realización de un programa es necesario el diseño previo de


algoritmo, de modo que sin algoritmo no puede existir un programa.

Los algoritmos son independientes tanto del lenguaje de programación en que se


expresan como dela computadora que lo ejecuta.

1.1.2 Definición de aproximaciones

La mayor parte de las técnicas tiene la característica de poseer errores. Aunque la


perfección es una meta digna de alabarse, es difícil, si no imposible, alcanzarla. Sin
embargo, sus distribuciones aleatorias se agrupan muy próxima alrededor de la
predicción.

En algunos conceptos básicos de los Métodos Numéricos podemos encontrar los


siguientes: Cifra Significativa, Precisión, Exactitud, Incertidumbre Y Sesgo. Que forman
parte a las aproximaciones y predicciones numéricas adecuadas.

1.1.2.1 Cifras significativas

Cuando se emplea un número en un cálculo, debe haber seguridad de que pueda


usarse con confianza. El concepto de cifras significativas tiene dos implicaciones
importantes en el estudio de los métodos numéricos.

1.- Los métodos numéricos obtienen resultados aproximados. Por lo tanto, se


debe desarrollar criterios para especificar qué tan precisos son los resultados
obtenidos.

2.- Aunque ciertos números representan número específicos, no se pueden


expresar exactamente con un número finito de cifras.

Por lo que podemos tener un ALGORITMO DE APROXIMACION


Dado un problema completo, es probable que no sepamos resolverlo de manera
precisa y completa utilizando un algoritmo polimico en tiempo. Para este tipo de
problemas, los algoritmos que no conducen a una solución óptima se llaman
algoritmos de aproximación. Sin embargo, resulta parcialmente interesante que estos
garanticen una cota en el margen de imprecisión.

EXACTITUD Y PRECISION: La exactitud se refiere a que tan cercano está el valor


calculado o medido del valor verdadero. La precisión se refiere a qué tan cercano
está un valor individual medido o calculado respecto a los otros.

1.1.3 Técnicas para la formulación de Algoritmos

Para representar un algoritmo se debe utilizar algún método que permita


independizar dicho algoritmo del lenguaje de programación elegido. Ello permitirá
que un algoritmo pueda ser codificado inmediatamente en cualquier lenguaje.

Las herramientas utilizadas comúnmente para diseñar algoritmos son:

 Pseudocódigo
 Diagrama de flujo
 Diagramas Nassi/Sheneiderman-S (Chapin)
 Método Warnier
 Método Jackson
 Método Bertini
 Método Tabouruer

1.2 Representación de Algoritmos: Grafica y Pseudocódigo


1.2.1 Representación Gráfica de un algoritmo (Diagrama de Flujo)
Un diagrama de flujo es también la representación gráfica de como deber realizarse
los pasos en la computadora para producir resultados.
Esta representación gráfica se da cuando varios símbolos se relacionan entre si
mediante líneas que indican el orden e que se deben ejecutar los procesos.
1.2.1.1Características de las representaciones graficas
Todas las representaciones gráficas, de cualquier tipo deben cumplir las siguientes
cualidades:
 Sencillez: Un método grafico debe permitir la construcción de estos de manera
fácil y sencilla
 Claridad: Necesita ser interpretado por otra persona distinta de la que lo diseñó,
debe estar lo suficientemente claro para su un fácil reconocimiento de todos los
elementos
 Normalización: Tanto los diseñadores de programas como los usuarios que
necesitan la documentación de estos deben utilizar las mismas normas de
documentación
 Flexibilidad: Todo método grafico de representación debe permitir sin grandes
dificultades la modificación de algunas partes y la inserción de alguna nueva.
1.2.1.2 Descripción de los bloques utilizados
Los símbolos utilizados han sido y fueron normalizados por el instituto norteamericano
de normalización (ANSI).
1.2.1.3 Diseño de un diagrama de flujo
1.2.1.4 Recomendaciones para el diseño de Diagramas de Flujo
1. Deben usar solamente líneas de flujo horizontales y/o verticales
2. Se debe evitar el cruce de cualquiera de las líneas utilizando los conectores
3. Usar conectores solo cuando sea necesario
4. No deben quedar líneas de flujo sin conectar
5. Usar símbolos de manera que se puedan leer de arriba hacia abajo y de
izquierda a derecha
6. Todo texto escrito dentro de un símbolo deberá ser escrito claramente, evitando
el uso de muchas palabras
1.2.2 Pseudocódigo
Es la mezcla del lenguaje de programación y español (o cualquier lenguaje natural)
que se emplea dentro de la programación estructurada, para realizar el diseño de un
programa. En esencial, el Pseudocódigo se puede definir como un lenguaje de
especificaciones de algoritmos.
Es la representación narrativa de los pasos que se debe seguir en un algoritmo para
dar la solución a un problema determinado. El Pseudocódigo utiliza las palabras que
nos indican el proceso a realizar.
El inicio de un algoritmo es Pseudocódigo comienza en la palabra Inicio y termina con
la palabra Fin.
Las líneas que están entre llaves ({}) se denominan cometario.
Ejemplo:
Calcula el área de un cuadrado.
Inicio
Leer (lado)
A <- lado * lado
Imprimir (A)

Fin.
1.2.2.1 Ventajas de utilizar un Pseudocódigo a un Diagrama de Flujo
1. Ocupa menos espacio en una hoja de papel
2. Permite representar en forma fácil operaciones repetitivas complejas
3. Es fácil de pasar un pseudocódigo a un programa en algún lenguaje de
programación
4. Si se siguen las reglas se puede observar claramente los niveles que tiene cada
operación.

1.3 Diseño de algoritmos


Una Computadora no tiene la capacidad de solucionar problemas más que cuando
se le proporciona los sucesivos pasos a realizar. Estos Pasos sucesivos que se indican las
instrucciones a ejecutar por la maquina constituye, como ya conocemos, el algoritmo.
La información proporcionada al algoritmo constituye su entrada y la información
producida por el algoritmo constituye su salida.
Los problemas más complejos se pueden subdividir en sub problemas que sean más
fáciles de solucionar que el original (Divide y vencerás).
La descomposición del problema original en sub problemas más simples y a
continuación dividir estos en sub problemas en otros más simples que pueden ser
implementados para su solución en la computadora se denomina diseño descendente.
A. DISEÑO DESCENDENTE (DIVIDE Y VENCERÁS): El diseño descendente es una
forma de afrontar un proyecto de programación que consiste en empezar por lo más
general e ir avanzando nivel a nivel hacia lo más particular. Consiste en dividir el
problema en sub problemas más pequeños, que se pueden tratar de forma separada.
B. REFINAMIENTO POR PASOS: El diseño de un algoritmo no se hace de una sola
vez, sino que se va resolviendo en una secuencia de pasos (llamados pasos de refinami
ento).
En cada paso el problema es refinado agregando detalles significativos, por lo que el
método se conoce como: método de los refinamientos sucesivos.
Como es natural, dependiendo de la complejidad del problema se necesitaran
diferentes y sucesivos niveles de refinamiento antes de que pueda obtenerse un
algoritmo con suficiente nivel de detalle.
1.3.1 Técnicas de diseño de algoritmos
Existen varias técnicas de diseño de algoritmos que permiten desarrollar la solución al
problema planteado, algunas de ellas son:
Algoritmos voraces (greedy): seleccionan los elementos más prometedores del
conjunto de candidatos hasta encontrar una solución. En la mayoría de los casos la
solución no es óptima.
Algoritmos paralelos: permiten la división de un problema en subproblemas de forma
que se puedan ejecutar de forma simultánea en varios procesadores.
Algoritmos probabilísticos: algunos de los pasos de este tipo de algoritmos están en
función de valores pseudoaleatorios
Algoritmos determinísticos: El comportamiento del algoritmo es lineal: cada paso del
algoritmo tiene únicamente un paso sucesor y otro ancesor.
Algoritmos no determinísticos: El comportamiento del algoritmo tiene forma de árbol
y a cada paso del algoritmo puede bifurcarse a cualquier número de pasos
inmediatamente posteriores, además todas las ramas se ejecutan simultáneamente.
Divide y vencerás: dividen el problema en subconjuntos disjuntos obteniendo una
solución de cada uno de ellos para después unirlas, logrando así la solución al
problema completo.
Metaheurísticas: encuentran soluciones aproximadas (no óptimas) a problemas
basándose en un conocimiento anterior (a veces llamado experiencia) de los mismos.
Programación dinámica: intenta resolver problemas disminuyendo su coste
computacional aumentando el coste espacial.
Ramificación y acotación: se basa en la construcción de las soluciones al problema
mediante un árbol implícito que se recorre de forma controlada encontrando las
mejores soluciones.
Vuelta Atrás (Backtracking): se construye el espacio de soluciones del problema en un
árbol que se examina completamente, almacenando las soluciones menos costosas.
1.4 Modelos de las 6D
1.4.1 Introducción
Durante el transcurso de nuestra vida nos enfrentamos a diversos problemas. Algunos
de ellos podemos solucionarlos fácilmente, mientras que otros se complican de tal
forma que nos afectan de una manera muy profunda.
Algunos problemas, por su naturaleza, pueden ser resueltos utilizando una
computadora. Estos problemas generalmente son de tipo estructurado, es decir,
tienen una solución determinada y pueden ser desde muy sencillos hasta muy
complejos.
Para resolver problemas estructurados utilizando la computadora es importante
utilizar un método. Este método debe ser fácil de comprender y nos debe guiar paso
a paso hasta la solución del problema.
El método propuesto y utilizado en el presente texto es el Método de las 6’D, que está
compuesto de seis etapas, cada una de las cuales consta de una serie de pasos, los
cuales se van modificando (ajustando) dependiendo del grado de complejidad del
problema y las herramientas que se utilicen para su solución.
Con la finalidad de recordar el método, se ha definido que el nombre de cada una de
las etapas del método comience con la misma letra, la letra “D”. Es decir, el método
tiene seis etapas y el nombre de cada una de las etapas comienza con la letra “D”, de
modo que este se pueda recordar como el Método de las 6’D.}
1.4.2 Método
En la siguiente figura se muestra el Método de las 6D con sus respectivas etapas:

Fig. 1.7 Método de las 6D

1.4.3 Etapas Y Pasos


Descripción de la Etapa 01 – “Descripción del problema”
En esta etapa, en primer lugar, es necesario identificar cual es el problema que se
desea resolver. Esto que parece algo sumamente sencillo, muchas veces resulta una
tarea agotadora ya que generalmente existen muchas opiniones de cual es el
problema central. Identificarlo es una de las tareas mas importantes que los analistas
deben afrontar.
Identificando el problema es necesario poder comprenderlo en su totalidad, es decir,
comprender que es exactamente lo que se desea que se resuelva.
Finalmente se deberá escribir un enunciado claro, concreto y conciso del problema a
resolver.
PASOS
 Identificacion del problema
 Descripción general del problema
 Enunciado claro y preciso del problema

El resultado obtenido en esta etapa es un enunciado claro del problema que se desea
solucionar.
Descripción 2 – “Definición de la solución”:
En esta etapa, es necesario estudiar a fondo el problema para poder solucionarlo,
saber exactamente en qué consiste y poder descomponerlo en cada una de sus partes
para facilitar su comprensión y posterior solución. Esta es una regla que siempre
deberá ser aplicada se utilice o no una computadora en la solución de un problema.
Una vez entendido el problema, se está en condiciones de estudiarlo a fondo y
plantear diversas alternativas que permitan solucionar el problema, para finalmente,
seleccionar la alternativa más adecuada
PASOS
 Definir el resultado deseado
 Determinar los datos que se deben ingresar o generar para obtener el
resultado deseado
 Determinar la forma en que los datos serán procesados para transformarlos en
información

El resultado obtenido en esta etapa son las especificaciones de lo que se debe hacer
para solucionar el problema
Descripción 3 – “Diseño de la solución”
Definida la solución, se procede a diseñar la lógica modelando y desarrollando
algoritmos. Para el modelado de la solución del problema se utiliza el Lenguaje
Unificado de Modelado (Unified Modeling Language, UML), el cual es una
herramienta usada para describir clases, objetos y sus relaciones .Para el desarrollo de
algoritmos se utiliza Pseudocódigos o Diagramas de Flujo (DF), los cuales son
herramientas utilizadas para diseñar los algoritmos de los diferentes métodos de una
clase. Finalizado el desarrollo de los algoritmos es necesario verificar si se ha incluido
soluciones para todas las formas en que se presente el problema. A este tipo de
prueba se le denomina “Prueba de escritorio”.
PASOS
 Definir un nombre para el proyecto
 Definición de diagramas, relaciones y clases
 Desarrollo de algoritmos

El resultado obtenido en esta etapa son los diagramas y algoritmos que especifican
como se debe hacer para solucionar el problema.
Descripción de la etapa 4 – “Desarrollo de la solución”
Una vez previstas todas las posibilidades y alternativas que puedan presentarse y que
pasen sin inconvenientes por la clase y los algoritmos, se podrá proceder a la
codificación del problema en algún lenguaje de programación. La codificación
involucra traducir los diagramas, las especificaciones de las clases (expresadas en
notación UML), y los pasos del algoritmo de cada método (expresado en DF o
pseudocódigo), en sentencias de un lenguaje de programación determinado. Estas
sentencias son almacenadas en un proyecto (o archivo) lógico, y constituyen lo que la
computadora podrá ejecutar.
PASOS
 Codificar el proyecto
 Desarrollar comentarios internos en los programas de computadora
 Desarrollar copias de seguridad de los programas de computadora

El resultado obtenido en esta etapa son los programas y/o clases, codificados en un
lenguaje de programación, que permite solucionar el problema.
Descripción de la Etapa 5 – “Depuración y pruebas”
Luego que se codifiquen los programas y/o clases, deben ser probados mediante la
ejecución de los mismos (esto es conocido como corrida del programa). Al realizarse
ésta, pueden surgir diferentes tipos de errores, siendo los errores de lógica y sintaxis los
más comunes. Hay que corregir el programa; anular, modificar o crear nuevas
sentencias, volver a probar el programa y continuar con la corrección y pruebas hasta
conseguir el resultado deseado.
PASOS
 Realizar la depuración y verificar la correcta escritura de los programas
 Realizar pruebas de sintaxis
 Realizar pruebas de lógica

El resultado obtenido en esta etapa son las pruebas que registran el adecuado
funcionamiento de la solución del problema.
Descripción de la etapa 6 – “Documentación”
En esta etapa se recopila toda la documentación generada en las etapas anteriores,
la cual va a servir como base para la elaboración del manual técnico. Dedicarle
tiempo a esta etapa nos ayudará a desarrollar buenos hábitos, los cuales serán
necesarios cuando se desarrolle software en forma profesional.
El manual técnico debe incluir, como minimo:
- Descripción del problema
- Resultados esperados y datos necesarios para generar dichos resultados
- Diagramas UML, DF y/o Pseudocódigo
- Pruebas desarrolladas
- Listado de programas con comentarios internos
PASOS
 Recopilar el material generado en cada una de las etapas anteriores
 Generar el manual del programa
 Generar el manual del usuario

El resultado obtenido en esta etapa son los manuales que permiten un adecado
manejo de la solución desarrollada.
Adicionalmente la “Ingeniería Inversa” entre las etapas 3, 4, 5:
La ingeniería reversa nos permite crear o actualizar el modelo preliminar realizado
en la ETAPA 03 “Diseño de la solución” a partir del código del programa realizado en
la ETAPA 04“Desarrollo de la solución” y corregido en la ETAPA 05 “Depuración y
pruebas”. Es decir, a través de la Ingeniería Reversa es posible programar o codificar
algunas partes (hasta su correcto funcionamiento) que no estén especificadas en la
Etapa 03 “Diseño dela Solución”. A partir de esta solución se actualizan los diagramas
de la Etapa 03 y se continúa con el proceso hasta llegar a la solución deseada.
PASOS
 Exportar proyecto (archivos class o java) al disco de la PC, si esta trabajando
con un IDE
 Importar proyecto (archivos class o java) a una herramienta CASE y realizar
la ingeniería inversa
 Organizar el modelo obtenido en la herramienta CASE.
BIBLIOGRAFIAS

 https://es.slideshare.net/SlimsColmenarez/algoritmo-secuenciales
 Metodología de la programación ¨Algoritmos¨ - Dpl. Ing. Carlos Balderrama
Vásquez
 http://estructurascondicionales.blogspot.mx/
 http://jjflorescueto-algoritmos.blogspot.mx/2012/09/metodo-de-las-6d.html
 http://jjflorescueto-algoritmos.blogspot.mx/2012/09/metodo-de-las-6d.html
 https://es.slideshare.net/SlimsColmenarez/algoritmo-repetitivo
 https://sites.google.com/site/metodosnumericosmecanica/home/unidad-i/1-1-
conceptos-basicos-algoritmos-y-aproximaciones
CONCLUCIONES
Arredondo Flores Alexa Ketzali
Luego de realizar este trabajo hemos visto como los algoritmos son una de las
herramientas más complejas y aplicables en el área no solo de la informática y el
mundo de los computadores sino también en el mundo empresarial y de trabajo.
Pudimos comprobar que mientras más potente, completo y eficiente es el
computador o la aplicación que corre sobre el mismo más grande, complejo y exacto
es el algoritmo que utiliza. Las técnicas de desarrollo de algoritmos nos permiten
encontrar la mejor solución a los problemas que se nos presentan y deben ser
solucionados por el computador, estas técnicas están orientadas para utilizarse en
cada uno de los niveles de complejidad y variedad o alternativas para las cuales se
aplican los algoritmos. Un algoritmo es el conjunto de operaciones y procedimientos
que deben seguirse para resolver un problema, es por ellos que se deben
implementar con más frecuencia.
Cruz Badillo Miriam
mi conclusión es que el diseño algorítmico abarca muchos temas desde que significa
básicamente, como se representa, que herramientas utiliza como el pseudocódigo y
los diagramas de flujo ambas herramientas con lenguajes de programación breves y
precisos, como se tiene que ir resolviendo cada problema que se convierte en
pequeños subtemas fáciles de representar o son procesos a seguir mediante un
sistema de símbolos como por ejemplo el triángulo, ovalo, rectángulo, etc., el diseño
que dice que la computadora no tiene la capacidad de solucionar problemas solo
cuando se le proporciona los pasos sucesivos a realizar como en el diseño descendente
que dice una frase muy fácil de entender que es divide y vencerás es decir que
consiste en empezar por lo más general e ir avanzando nivel a nivel hacia lo más
popular o como el refinamiento por pasos que dice que un algoritmo no se hace de
una sola vez si no que se va resolviendo en una secuencia de pasos,
Modelos de las 6 D se basan en etapas y son 6 (Descripción, Definición, Diseño,
Desarrollo, Depuración, Documento) la etapa uno es la descripción del problema, la
etapa 2 es la definición de la solución, la etapa 3 es la diseño de la solución, la etapa 4
desarrollo de la solución, etapa 5 depuración de las pruebas y etapa 6 documento.
Todos esos pasos o conceptos nos ayudaran a realiza el diseño algorítmico para la
programación.
Posadas Gil Sergio Eduardo
Los algoritmos pueden estar representados en cualquier cosa, no siempre de la misma
forma o representación, pero si siempre presente para guiarnos del cómo hacer algo,
como llegar, como lograr, como conseguir o hacer y deshacer un objeto, a final de
cuentas siempre nos ayuda con el resultado de quitarnos o resolvernos un problema,
sus diferentes representaciones representan una serie de complejidad diferente,
aunque el punto es el mismo, ayudar a despejar un problema.
Sus características, sus prácticas y sus explicaciones tan detalladas y exactas no
pueden variar o dejarnos con una situación a elección puesto que esto nos traería el
cambio o la diferencia en el resultado final, sin importar quién o que lo resuelva tiene
que llegar al producto final, al mismo sin ningún tipo de variaciones o alteraciones.
Los diseños, lenguajes y formas de estos pueden varear más no su finalidad y
producto resultante.

Você também pode gostar