Professional Documents
Culture Documents
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 computadora; mientras esto no se
conozca del todo no tiene mucho caso continuar con la siguiente etapa. Análisis del Problema
2.2 METODOLOGÍA PARA EL DISEÑO DE SOFTWARE: TOP DOWN, BOTTOM UP, MODULAR
Y PROGRAMACIÓN ESTRUCTURADA.
¿Qué hay que saber para construir o elegir una metodología?
5. La metodología debe soportar la determinación de la exactitud del sistema a través del ciclo de
desarrollo.
La programación modular es uno de los métodos de diseño más flexibles y potentes para mejorar
la productividad de un programa. La descomposición de un programa en módulos independientes
más simples se conoce también como el método de “divide y vencerás". Se diseña cada módulo con
independencia de los demás y, siguiendo un método descendente, se llega hasta la descomposición
final del problema en módulos en forma jerárquica.
En consecuencia, el programa se divide en módulos (partes independientes), cada uno de los cuales
ejecuta una única actividad o tarea.
• comenzar
• Fin
• Procesos
• {Indicar aquí TODOS los procesos a utilizar proceso nombre del proceso
• comenzar
• Fin
• Variables
• comenzar
• Fin
Programación estructurada
La programación estructurada es una forma de escribir programación de computadora de forma
clara, para ello utiliza únicamente tres estructuras: secuencial, selectiva e iterativa; siendo
innecesario y no permitiéndose el uso de la instrucción o instrucciones de transferencia
incondicional (GOTO).
Hoy en día las aplicaciones informáticas son mucho más ambiciosas que las necesidades de
programación existentes en los años 60, principalmente debido a las aplicaciones gráficas, por lo
que las técnicas de programación estructurada no son suficientes lo que ha llevado al desarrollo de
nuevas técnicas tales como la programación orientada u objetos y el desarrollo de entornos de
programación que facilitan la programación de grandes aplicaciones.
1. Los programas son más fáciles de entender, ya que pueden ser leído de forma secuencial, sin
necesidad de hacer seguimiento a saltos de línea (GOTO) dentro de los bloques de código para
entender la lógica.
2. La estructura del programa es clara puesto que las instrucciones están más ligadas o relacionadas
entre sí.
3. Reducción del esfuerzo en las pruebas. El seguimiento de los fallos o errores del programa
("debugging") se facilita debido a la estructura más visible, por lo que los errores se pueden detectar
y corregir más fácilmente.
5. Programas más sencillos y más rápidos (ya que es más fácil su optimización).
7. Los GOTO se reservan para construir las instrucciones básicas (selección e iteración)
• 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.
• · Traer gato.
• · Quitar la llanta.
• · Bajar el gato.
• · Fin.
• Lenguaje Natural.
Lenguaje Natural.
Es aquél que describe en español, para nuestro caso, los pasos a seguir utilizando un vocabulario
cotidiano. Se le conoce como lenguaje jerga cuando se utilizan términos especializados de una
determinada ciencia, profesión o grupo.
Diagrama de flujo
Un diagrama de flujo es la forma más tradicional de especificar los detalles algorítmicos de un
proceso. Se utiliza principalmente en programación, economía y procesos industriales; estos
diagramas utilizan una serie de símbolos con significados especiales. Son la representación gráfica
de los pasos de un proceso, que se realiza para entenderlo mejor. Son modelos tecnológicos
utilizados para comprender los rudimentos de la programación lineal.
Rectángulo. Se usa para representar un evento o proceso determinado. Éste es controlado dentro
del diagrama de flujo en que se encuentra. Es el símbolo más comúnmente utilizado. Se usa para
representar un evento que ocurre de forma automática y del cual generalmente se sigue una
secuencia determinada.
Rombo. Se utiliza para representar una condición. Normalmente el flujo de información entra por
arriba y sale por un lado si la condición se cumple o sale por el lado opuesto si la condición no se
cumple. El rombo además especifica que hay una bifurcación
Círculo. Representa un punto de conexión entre procesos. Se utiliza cuando es necesario dividir un
diagrama de flujo en varias partes, por ejemplo por razones de espacio o simplicidad. Una referencia
debe darse dentro para distinguirlo de otros. La mayoría de las veces se utilizan números en los
mismos.
Pseudocódigo.
Es un lenguaje de especificación de algoritmos y no puede ser ejecutado por una computadora, la
ventaja del pseudocódigo es que el programador se puede concentrar en la lógica y en las
estructuras de control y no preocuparse de las reglas de un lenguaje específico. Es fácil de modificar
y puede ser rápidamente traducido a un lenguaje de programación. Representa acciones sucesivas
en un lenguaje similar al humano.
Para ejemplificar los problemas a resolver o para clarificar los conceptos, se usarán herramientas
comunes y familiares para los programadores, estas herramientas son: pseudocódigo y diagramas
de flujo. En esta sección se detallarán las reglas del pseudocódigo que se utiliza en las diferentes
unidades de este material.
ALGORITMO Ejemplo
Es un elemento meramente informativo para otra persona que no sea el creador del pseudocódigo
• VARIABLES. Se deben especificar las variables a utilizar así como su tipo (entero, alfanumérico,
etcétera). Esto sirve para familiarizarse con la creación de variables e ir creando una estandarización
propia de cada programador.
Ejemplo:
En los casos anteriores se usan mayúsculas para identificar el nombre del algoritmo y el o los
nombres de las variables a utilizar.
Es muy importante definir donde comienzan las instrucciones del algoritmo, para que el
programador sepa dónde debe empezar a idear la forma en que trabajará el programa.
Indicar dónde termina el cuerpo del algoritmo facilita la lectura del mismo.
• Ejemplo
ALGORITMO Suma
• INICIO
• FIN
Representación de Ciclos
Para representar un ciclo, hemos usado la palabra Inicio para indicar el inicio del ciclo y Fin para
representar el fin del ciclo. También se representaron ciclos con las palabras Desde y Hasta
ALGORITMO Suma
INICIO
Desde Cont. = 1 Hasta Cont. = 10
FIN
Representación de Decisiones
ALGORITMO Suma
INICIO
ALGORITMO Suma
INICIO
Salir
FIN
• Notas:
1.-Es muy importante tomar en cuenta la indentación, esto hará más claro nuestro pseudocódigo.
2.-Cada programador fija sus reglas y estándares para la creación de pseudocódigo, los creadores
de este material trataron de igualarlo lo más posible al lenguaje natural para que las personas que
están empezando a familiarizarse con estas herramientas lograran una mejor comprensión del
mismo.
3.-Un buen programador hace uso de estas herramientas como apoyo en la creación,
mantenimiento y documentación de sus programas.
El ingreso de la notación algebraica en el desarrollo de algoritmos logró un gran avance para los
programadores ya que fue una forma más tangible de desarrollar sus programas, por medio de la
lógica. Pues este se basa en un método que simplifica las relaciones entre los casos, el la logarítmica
se usan ciertos tipos de cuadros para identificar su comportamiento.
De esta manera se obtiene el programa objeto, que todavía no es ejecutable directamente, pero si
no contiene errores se debe instruir al sistema para que realice la fase de montaje o enlace del
programa objeto con las librerías del programa del compilador; este proceso de montaje produce
un programa ejecutable.
La Depuración es el proceso de encontrar los errores del programa y corregir o eliminar dichos
errores. Cuando se ejecuta un programa, se pueden producir tres tipos de errores:
1.- Errores de compilación. Se producen normalmente por un uso incorrecto de las reglas del
lenguaje de programación y suelen ser errores de sintaxis, por lo tanto la computadora no puede
comprender la instrucción, y obviamente no se obtendrá el programa objeto, y el compilador
imprimirá una lista de todos los errores encontrados durante la compilación.
2.- Errores de ejecución. Estos errores se producen por instrucciones que las computadoras pueden
comprender, pero no ejecutar. Ejemplos de éstos son: una división por cero, y raíces cuadradas de
números negativos; por lo que en este caso se detiene la ejecución del programa y se imprime un
mensaje de error.
3.- Errores lógicos. Se producen en la lógica del programa y la fuente del error suele ser el diseño
del algoritmo. Estos errores son los más difíciles de detectar, ya que el programa puede funcionar y
no producir errores de compilación ni ejecución, y solo puede detectarse cuando se advierte un
error por la obtención de resultados incorrectos.
En este caso se debe volver a la fase del diseño del algoritmo, modificarlo, cambiar el programa
fuente, compilar y ejecutar una vez más.