Escolar Documentos
Profissional Documentos
Cultura Documentos
Fundamentos de Programación
Integrantes:
Arredondo Flores Alexa Ketzali
Cruz Badillo Miriam
Posadas Gil Sergio Eduardo
Salgado Mondragón Adriel
1°”A”
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.
Secuenciales
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.
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.
Es una serie de símbolos y reglas que se utilizan para describir de manera explícita un
proceso.
Pseudocódigo
Diagrama de flujo
Diagramas Nassi/Sheneiderman-S (Chapin)
Método Warnier
Método Jackson
Método Bertini
Método Tabouruer
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.
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.