universidad rafael urdaneta escuela de ingeniería de ... · una de las partes sea menor que la del...

42
Prof. MSc Jaime Soto Universidad Rafael Urdaneta Escuela de Ingeniería de Computación

Upload: lamdieu

Post on 29-Sep-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Universidad Rafael Urdaneta Escuela de Ingeniería de ... · una de las partes sea menor que la del programa completo, lo ... PARTES CONSTITUTIVAS DE UN PROGRAMA ... realiza con el

Prof. MSc Jaime Soto

Universidad Rafael Urdaneta

Escuela de Ingeniería de Computación

Page 2: Universidad Rafael Urdaneta Escuela de Ingeniería de ... · una de las partes sea menor que la del programa completo, lo ... PARTES CONSTITUTIVAS DE UN PROGRAMA ... realiza con el

Los programas suelen subdividirse en partes menores(módulos), de modo que la complejidad algorítmica de cadauna de las partes sea menor que la del programa completo, locual ayuda al desarrollo del programa.

Según Niklaus Wirth un programa está formado por algoritmosy estructura de datos.

Se han propuesto diversas técnicas de programación, cuyoobjetivo es mejorar tanto el proceso de creación de softwarecomo su mantenimiento. Entre ellas se pueden mencionar lasprogramaciones lineal, estructurada, modular y orientada aobjetos.

Page 3: Universidad Rafael Urdaneta Escuela de Ingeniería de ... · una de las partes sea menor que la del programa completo, lo ... PARTES CONSTITUTIVAS DE UN PROGRAMA ... realiza con el

La primera programadora de computadora conocida fue Ada Lovelace, hija de

Anabella Milbanke Byron y Lord Byron. Anabella introdujo en las matemáticas a Ada,

quien después de conocer a Charles Babbage, tradujo y amplió una descripción de su

máquina analítica. Incluso aunque Babbage nunca completó la construcción de

cualquiera de sus máquinas, el trabajo que Ada realizó con éstas le hizo ganarse el

título de primera programadora de computadoras del mundo. El nombre del lenguaje

de programación Ada fue escogido como homenaje a esta programadora.

Page 4: Universidad Rafael Urdaneta Escuela de Ingeniería de ... · una de las partes sea menor que la del programa completo, lo ... PARTES CONSTITUTIVAS DE UN PROGRAMA ... realiza con el

Corrección: un programa es correcto si hace lo que debe hacer. Paradeterminar si un programa hace lo que debe es muy importante especificarclaramente qué debe hacer el programa antes de desarrollarlo y una vezacabado compararlo con lo que realmente hace.

Claridad: es muy importante que el programa sea lo más claro y legibleposible para mejorar el mantenimiento del software. Cuando se acaba deescribir el código del programa, se deben buscar errores y corregirlos. Másconcretamente, cuando el programa está concluido, es necesario hacerleampliaciones o modificaciones, según la demanda de los usuarios, esta laborpuede ser llevada acabo por el mismo programador que implementó elprograma o por otros.

Eficiencia: debe consumir la menor cantidad de recursos posible.Normalmente al hablar de eficiencia se suele hacer referencia al consumo detiempo y/o memoria. La eficiencia y la claridad de un programa pueden serobjetivos contrapuestos: se puede conseguir mayor claridad sacrificandoparte de la eficiencia o viceversa. Pero hay que tener en cuenta que el tiempodel programador es caro, y que hoy en día el precio de los ordenadores esrazonable y cada vez son más baratos.

Page 5: Universidad Rafael Urdaneta Escuela de Ingeniería de ... · una de las partes sea menor que la del programa completo, lo ... PARTES CONSTITUTIVAS DE UN PROGRAMA ... realiza con el

La palabra Algoritmo: se deriva de la traducción al latín de la palabra Abu

Abdallah Muḥammad ibn Mūsā al-Jwārizmī (Abu Yāffar) ( بن محمد هللا عبد أبو

conocido ,(جعفر ابو الخوارزمي موسى generalmente como al-Juarismi, nombre

de un matemático y astrónomo persa que escribió un tratado sobre

manipulación de números y ecuaciones en el siglo IX .

Un Algoritmo es una secuencia no ambigua, finita y ordenada de instrucciones

que han de seguirse para resolver un problema. Un programa normalmente

implementa (traduce a un lenguaje de programación concreto) un algoritmo.

Nótese que es la secuencia de instrucciones en sí la que debe ser finita, no el

número de pasos realizados como la ejecución de ellas.

Un Algoritmo es el medio por el que se explica cómo puede resolverse un

problema, mediante aproximaciones paso a paso. Se puede formular de

muchas formas con el cuidado de que no exista ambigüedad.

Al conjunto formado por la representación de datos utilizada y el algoritmo

mismo se llama Programa.

Page 6: Universidad Rafael Urdaneta Escuela de Ingeniería de ... · una de las partes sea menor que la del programa completo, lo ... PARTES CONSTITUTIVAS DE UN PROGRAMA ... realiza con el
Page 7: Universidad Rafael Urdaneta Escuela de Ingeniería de ... · una de las partes sea menor que la del programa completo, lo ... PARTES CONSTITUTIVAS DE UN PROGRAMA ... realiza con el

A través del tiempo se ha evidenciado grandes avances tecnológicos en los

sistemas de cómputo, pero esto no implica que todos los software que se

diseñen se ejecuten eficientemente. Además, de la maquina debemos tener

en cuenta la forma como esta diseñado la estructura de la Aplicación.

Un factor importante que debemos resaltar es la manipulación de un

conjunto de datos, su tamaño y el incremento de este a través del tiempo,

ya que a mayor cantidad de datos tienden a ser mayor el número de

operaciones a realizar para la publicación de la información.

Elaborar un algoritmo eficiente da como resultado un gran aprovechamiento

de los recursos que tenemos disponibles para optimizar los procesos que se

ejecutan en una aplicación. El análisis de algoritmos es una herramienta que

nos permite acercarnos más a este propósito.

Page 8: Universidad Rafael Urdaneta Escuela de Ingeniería de ... · una de las partes sea menor que la del programa completo, lo ... PARTES CONSTITUTIVAS DE UN PROGRAMA ... realiza con el

¿Porque pasamos por esta fase intermedia? Porque así la persona queresuelve el problema no tiene porque saber nada lenguaje que seutilizará después por hacer la codificación a programa, quizás que nisiquiera sepa cual será este lenguaje.

Los algoritmos deben representar dos cosas: las acciones que hacefalta hacer y los objetos sobre los cuales se hacen estas acciones, esdecir los objetos que el algoritmo manipula. Para hacer esto de unamanera que lo pueda entender cualquier programador se haceutilizando lo que se llama pseudo-código, que no es más que, ennuestro caso, castellano con unas reglas sintácticas concretas pararepresentar las acciones y los objetos.

Page 9: Universidad Rafael Urdaneta Escuela de Ingeniería de ... · una de las partes sea menor que la del programa completo, lo ... PARTES CONSTITUTIVAS DE UN PROGRAMA ... realiza con el

El científico de computación Donald Knuth ofreció una lista de cinco

propiedades, que son ampliamente aceptadas como requisitos para un

algoritmo:

Carácter finito. "Un algoritmo siempre debe terminar después de un número

finito de pasos".

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".

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".

Salida. "Un algoritmo tiene una o más salidas: cantidades que tienen una

relación específica con las entradas".

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".

Page 10: Universidad Rafael Urdaneta Escuela de Ingeniería de ... · una de las partes sea menor que la del programa completo, lo ... PARTES CONSTITUTIVAS DE UN PROGRAMA ... realiza con el

Análisis del Problema: Tener presente la especificación de los requisitos dados por el

cliente de la empresa o por la persona que encarga el programa.

Diseño: Se diseña una solución que conducirá a un algoritmo que resuelva el problema.

Codificación (Implementación): La solución se escribe en la sintaxis del lenguaje de alto

nivel (C) y se obtiene un programa.

Compilación, ejecución y verificación: El programa se ejecuta, se comprueba

rigurosamente y se eliminan todos los errores que puedan aparecer.

Depuración y mantenimiento: El programa se actualiza y modifica cada vez que sea

necesario, de modo que se cumplan todas las necesidades de cambio de los usuarios.

Documentación: Escritura de las diferentes fases del ciclo de vida del software,

esencialmente el análisis, diseño y codificación, unidos a manuales de usuarios y de

referencia, así como normas para el mantenimiento.

Page 11: Universidad Rafael Urdaneta Escuela de Ingeniería de ... · una de las partes sea menor que la del programa completo, lo ... PARTES CONSTITUTIVAS DE UN PROGRAMA ... realiza con el

Esta fase requiere una clara definición donde se contempleexactamente lo que debe hacer el programa y el resultado osolución deseada. Dado que se busca una solución se precisanespecificaciones de entrada y salida.

Para poder definir bien un problema es conveniente responder a lassiguientes preguntas:

¿Qué entradas se requieren? (cantidad y tipo)

¿Cuál es la salida deseada? (cantidad y tipo)

¿Qué método produce la salida deseada?

Page 12: Universidad Rafael Urdaneta Escuela de Ingeniería de ... · una de las partes sea menor que la del programa completo, lo ... PARTES CONSTITUTIVAS DE UN PROGRAMA ... realiza con el

Resolución de un problema

Análisis del problema

Diseño del Algoritmo

Resolución del problema

con Computadora

Page 13: Universidad Rafael Urdaneta Escuela de Ingeniería de ... · una de las partes sea menor que la del programa completo, lo ... PARTES CONSTITUTIVAS DE UN PROGRAMA ... realiza con el

En la fase de análisis en el proceso de programación se determina que

hace el programa. En la fase de diseño se determina como hace el

programa la tarea solicitada.

Los métodos utilizados para el proceso del diseño se basan en el conocido

divide y vencerás. Es decir la resolución de un problema complejo se

realiza dividiendo el problema en subproblemas y a continuación dividir

estos subproblemas en otros de nivel más bajo, hasta que sea

implementada una solución en la computadora. Este método se conoce

técnicamente como diseño descendente (top-down) o modular.

Cada programa bien diseñado consta de un programa principal (el módulo

de nivel más alto) que llama a subprogramas (módulos) de nivel más bajo,

que a su vez pueden llamar a otros subprogramas.

Page 14: Universidad Rafael Urdaneta Escuela de Ingeniería de ... · una de las partes sea menor que la del programa completo, lo ... PARTES CONSTITUTIVAS DE UN PROGRAMA ... realiza con el

Los módulos pueden ser planeados, codificados, comprobados ydepurados independientemente y a continuación combinarlos entresí. Este proceso implica la ejecución de estos pasos hasta que elprograma se ha terminado:

Programar un módulo

Comprobar el módulo

Si es necesario, depurar el módulo

Combinar el módulo, con el resto de los otros módulos

El diseño del algoritmo es independiente del lenguaje deprogramación en el que se vaya a codificar posteriormente.

Page 15: Universidad Rafael Urdaneta Escuela de Ingeniería de ... · una de las partes sea menor que la del programa completo, lo ... PARTES CONSTITUTIVAS DE UN PROGRAMA ... realiza con el

Diseño de un Algoritmo

Diseño Descendente

Refinamiento por pasos

Herramientas de Programación:

1.Diagramas de Flujo2.Pseudocódigo

Page 16: Universidad Rafael Urdaneta Escuela de Ingeniería de ... · una de las partes sea menor que la del programa completo, lo ... PARTES CONSTITUTIVAS DE UN PROGRAMA ... realiza con el

Las herramientas de programación, son aquellas que permitenrealizar aplicativos, programas, rutinas, utilitarios y sistemaspara que la parte física del computador u ordenador, funcione ypueda producir resultados.

Las herramientas de programación mas utilizadas comúnmentepara diseñar algoritmos son:

Pseudocódigos

Diagramas de flujo

Siendo el pseudocódigo el más popular por su sencillez y suparecido al lenguaje humano.

Page 17: Universidad Rafael Urdaneta Escuela de Ingeniería de ... · una de las partes sea menor que la del programa completo, lo ... PARTES CONSTITUTIVAS DE UN PROGRAMA ... realiza con el

DIAGRAMAS DE FLUJO

Es una representación gráfica de un algoritmo. Los símbolosutilizados han sido normalizados por el Instituto Norteamericanode Normalización (ANSI).

Terminal Subprograma

Entrada / Salida

Decisión

Proceso ConectoresNo

Si

Page 18: Universidad Rafael Urdaneta Escuela de Ingeniería de ... · una de las partes sea menor que la del programa completo, lo ... PARTES CONSTITUTIVAS DE UN PROGRAMA ... realiza con el

PSEUDOCÓDIGO

Es una herramienta de programación en la que las instruccionesse escriben en palabras similares al inglés o español, que facilitatanto la escritura como la lectura de programas. El pseudocódigose puede definir como un lenguaje de especificaciones dealgoritmos.

Page 19: Universidad Rafael Urdaneta Escuela de Ingeniería de ... · una de las partes sea menor que la del programa completo, lo ... PARTES CONSTITUTIVAS DE UN PROGRAMA ... realiza con el

Para implementar un algoritmo en la

computadora, se debe ejecutar los siguientes

pasos:

Codificación

Compilación y ejecución

Verificación

Depuración

Documentación

Page 20: Universidad Rafael Urdaneta Escuela de Ingeniería de ... · una de las partes sea menor que la del programa completo, lo ... PARTES CONSTITUTIVAS DE UN PROGRAMA ... realiza con el

Conjunto de instrucciones – órdenes dadas a la máquina

– que producirán la ejecución de una determinada tarea.

Es un medio para conseguir un fin. Es la información

necesaria para solucionar un problema.

Fases de un Programa: Definición y análisis del Problema.

Diseño de Algoritmo (pseudocódigo).

Codificación del programa.

Depuración y verificación del programa.

Documentación.

Mantenimiento.

Page 21: Universidad Rafael Urdaneta Escuela de Ingeniería de ... · una de las partes sea menor que la del programa completo, lo ... PARTES CONSTITUTIVAS DE UN PROGRAMA ... realiza con el

Definición del

Problema

Diseño del

algoritmo

Codificación del

Programa

Depuración y Verificación

D

O

C

U

M

E

N

T

A

CI

Ó

N

MANTENIMIENTO

Page 22: Universidad Rafael Urdaneta Escuela de Ingeniería de ... · una de las partes sea menor que la del programa completo, lo ... PARTES CONSTITUTIVAS DE UN PROGRAMA ... realiza con el

BLOQUES DE UN

PROGRAMA

ENTRADA PROGRAMA SALIDA

PARTES CONSTITUTIVAS DE UN PROGRAMA

Page 23: Universidad Rafael Urdaneta Escuela de Ingeniería de ... · una de las partes sea menor que la del programa completo, lo ... PARTES CONSTITUTIVAS DE UN PROGRAMA ... realiza con el

Codificación: Es la escritura en un lenguaje de programación

de la representación de un algoritmo. Dado que el diseño del

algoritmo es independiente del lenguaje de programación

utilizado en su implementación, el código puede ser escrito

con igual facilidad en un lenguaje o en otro.

Page 24: Universidad Rafael Urdaneta Escuela de Ingeniería de ... · una de las partes sea menor que la del programa completo, lo ... PARTES CONSTITUTIVAS DE UN PROGRAMA ... realiza con el

Compilación y ejecución: Una vez que el algoritmo se ha convertido en un

programa fuente, es preciso introducirlo en memoria mediante el teclado y

almacenarlo posteriormente en un disco. Esta operación se realiza con un

editor de texto, posteriormente el programa fuente se convierte en un

archivo de programa que se guarda en un disco.

El programa fuente debe ser traducido a lenguaje máquina. Este proceso se

realiza con el compilador y el sistema operativo que se encarga

prácticamente de la compilación. Si al compilar el programa fuente se

presentan errores (errores de compilación), es necesario volver a editar el

programa, corregir los errores y compilar de nuevo.

Page 25: Universidad Rafael Urdaneta Escuela de Ingeniería de ... · una de las partes sea menor que la del programa completo, lo ... PARTES CONSTITUTIVAS DE UN PROGRAMA ... realiza con el

Esto se repite hasta que ya no se presenten mas errores, obteniéndose el

programa objeto, el cual todavía no es ejecutable directamente. Al ya no

existir errores en el programa fuente se debe instruir al sistema operativo para

que efectúe la fase de montaje o enlace, del programa fuente con las librerías

del programa del compilador. Este proceso de montaje produce un programa

ejecutable.

Cuando se ha creado un programa ejecutable este se puede ya ejecutar desde

el sistema operativo con solo teclear su nombre.

Suponiendo que no existen errores durante la ejecución (errores en tiempo de

ejecución), se obtendrá la salida de resultados correctos del programa.

Page 26: Universidad Rafael Urdaneta Escuela de Ingeniería de ... · una de las partes sea menor que la del programa completo, lo ... PARTES CONSTITUTIVAS DE UN PROGRAMA ... realiza con el

Verificación y depuración: Es el proceso de ejecución del

programa con una amplia variedad de datos de entrada,

llamados datos de test o prueba como son: valores normales

de entrada, valores externos de entrada que comprueben los

límites del programa y valores de entrada que comprueben

aspectos especiales del programa. Estos determinarán si el

programa contiene errores o no.

Page 27: Universidad Rafael Urdaneta Escuela de Ingeniería de ... · una de las partes sea menor que la del programa completo, lo ... PARTES CONSTITUTIVAS DE UN PROGRAMA ... realiza con el

Al ejecutar un programa se pueden producir tres tipos deerrores:

Errores de Compilación: Se producen normalmente por un usoincorrecto de las reglas del lenguaje de programación, suelen sererrores de sintaxis.

Errores de Ejecución: Se producen por instrucciones que lacomputadora puede comprender pero no ejecutar. En estoscasos se detiene la ejecución del programa y se imprime unmensaje de error. Ejemplo de esto puede ser una división porcero.

VERIFICACIÓN Y DEPURACIÓN DEL ALGORITMO

Page 28: Universidad Rafael Urdaneta Escuela de Ingeniería de ... · una de las partes sea menor que la del programa completo, lo ... PARTES CONSTITUTIVAS DE UN PROGRAMA ... realiza con el

Errores Lógicos: Se producen en la lógica del programa y la

fuente del error suele ser el diseño del algoritmo, son mas

difíciles de detectar puesto que el programa puede funcionar y

no producir errores de compilación ni de ejecución pero

regresará resultados incorrectos. En este caso se debe regresar a

la fase de diseño, modificar el algoritmo, cambiar el programa

fuente y compilar y depurar una vez mas.

Page 29: Universidad Rafael Urdaneta Escuela de Ingeniería de ... · una de las partes sea menor que la del programa completo, lo ... PARTES CONSTITUTIVAS DE UN PROGRAMA ... realiza con el

La importancia de la documentación debe ser destacada por suinfluencia en la etapa final, ya que programas pobrementedocumentados son difíciles de leer, mas difíciles de depurar y casiimposibles de mantener y modificar.

Puede ser interna y externa. La documentación interna es lacontenida en líneas de comentarios. La documentación externaincluye análisis, diagramas de flujo y/o pseudocódigos, manuales deusuarios con instrucciones para ejecutar el programa y parainterpretar los resultados.

Page 30: Universidad Rafael Urdaneta Escuela de Ingeniería de ... · una de las partes sea menor que la del programa completo, lo ... PARTES CONSTITUTIVAS DE UN PROGRAMA ... realiza con el

La documentación es vital cuando se desea corregir posibles

errores futuros o bien cambiar el programa. Estos cambios se

denominan mantenimiento del programa.

Además es de buena costumbre para todo buen programador,

dejar comentado su código, esto es para que el futuro

programador pueda darle mantenimiento fácilmente a el

programa, o incluso, si es el mismo creador quien debe darle

mantenimiento.

Page 31: Universidad Rafael Urdaneta Escuela de Ingeniería de ... · una de las partes sea menor que la del programa completo, lo ... PARTES CONSTITUTIVAS DE UN PROGRAMA ... realiza con el

Algunas teorías de la programación se centran en las técnicas

de programación modular y programación estructurada. El

diseño de un programa entraña la descomposición del

problema en módulos o partes independientes – programación

modular –, la programación de cada módulo mediante

métodos estructurados – programación estructurada – y su

unión posterior.

Page 32: Universidad Rafael Urdaneta Escuela de Ingeniería de ... · una de las partes sea menor que la del programa completo, lo ... PARTES CONSTITUTIVAS DE UN PROGRAMA ... realiza con el

Es la base de la construcción de grandes programas.

Una estrategia muy utilizada para la resolución de problemas complejos

con la computadora, es como lo he venido comentando, la división del

problema en otros problemas mas pequeños o subproblemas. Estos

subproblemas se implementan mediante módulos o subprogramas.

Los subprogramas son una herramienta importante para el desarrollo de

algoritmos y programas de modo que normalmente un proyecto de

programación esta compuesto generalmente de un programa principal y

un conjunto de subprogramas con las llamadas a los mismos dentro del

programa principal.

Los subprogramas se clasifican en: procedimientos y funciones.

Page 33: Universidad Rafael Urdaneta Escuela de Ingeniería de ... · una de las partes sea menor que la del programa completo, lo ... PARTES CONSTITUTIVAS DE UN PROGRAMA ... realiza con el

Se refiere a un conjunto de técnicas que han ido evolucionando.

Estas técnicas aumentan considerablemente la productividad del

programa reduciendo el tiempo requerido para escribir, verificar,

depurar y mantener los programas. La programación estructurada

utiliza un número limitado de estructuras de control que minimizan

la complejidad de los problemas y que reducen los errores.

Ésta incorpora entre otros elementos: el diseño descendente,

recursos abstractos y estructuras básicas.

Page 34: Universidad Rafael Urdaneta Escuela de Ingeniería de ... · una de las partes sea menor que la del programa completo, lo ... PARTES CONSTITUTIVAS DE UN PROGRAMA ... realiza con el

1. Los programas son más fáciles de entender, ya que pueden ser leídos de

forma secuencial.

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.

4. Reducción de los costos de mantenimiento de los programas.

5. Programas más sencillos y más rápidos (ya que es más fácil su

optimización).

6. Los bloques de código son auto explicativos, lo que facilita a la

documentación.

Page 35: Universidad Rafael Urdaneta Escuela de Ingeniería de ... · una de las partes sea menor que la del programa completo, lo ... PARTES CONSTITUTIVAS DE UN PROGRAMA ... realiza con el

El principal inconveniente de este método de programación, es que se

obtiene un único bloque de programa, que cuando se hace demasiado

grande puede resultar problemático su manejo, esto se resuelve

empleando la programación modular, definiendo módulos

interdependientes programados y compilados por separado.

Un método un poco más sofisticado es la programación por capas, en

la que los módulos tienen una estructura jerárquica muy definida y se

denominan capas

Page 36: Universidad Rafael Urdaneta Escuela de Ingeniería de ... · una de las partes sea menor que la del programa completo, lo ... PARTES CONSTITUTIVAS DE UN PROGRAMA ... realiza con el

Uno de los métodos fundamentales para resolver un problema es dividirlo en

problemas mas pequeños, llamados subproblemas, en referencias sucesivas.

Estos problemas a su vez pueden ser divididos repetidamente en problemas

mas pequeños hasta que los problemas mas pequeños puedan ser

solucionados.

Esta técnica de dividir el problema principal en subproblemas se denomina

frecuentemente divide y vencerás. El método de diseño se denomina diseño

descendente, debido a que se comienza en la parte superior con un problema

general y se diseñan soluciones especificas a sus subproblemas.

Page 37: Universidad Rafael Urdaneta Escuela de Ingeniería de ... · una de las partes sea menor que la del programa completo, lo ... PARTES CONSTITUTIVAS DE UN PROGRAMA ... realiza con el

El problema principal se resuelve con el programa principal

(también llamado conductor del programa), y los subproblemas

(módulos) mediante subprogramas: procedimientos y funciones.

Un subprograma realiza una tarea concreta que se describe con

una serie de instrucciones.

Modulo Principal

Módulo (1) Módulo (2) Módulo (3)

Page 38: Universidad Rafael Urdaneta Escuela de Ingeniería de ... · una de las partes sea menor que la del programa completo, lo ... PARTES CONSTITUTIVAS DE UN PROGRAMA ... realiza con el

Consiste en descomponer una determinada acción compleja en

términos de un número de acciones más simples capaces de

resolverla, ejecutarlas, o que constituyan instrucciones de

computadoras disponibles.

Page 39: Universidad Rafael Urdaneta Escuela de Ingeniería de ... · una de las partes sea menor que la del programa completo, lo ... PARTES CONSTITUTIVAS DE UN PROGRAMA ... realiza con el

Las estructuras de control de un lenguaje de programación se

refieren al orden en que las instrucciones de un algoritmo se

ejecutarán. El orden de ejecución de las sentencias o instrucciones

determinan el flujo de control.

Estas estructuras de control son por consiguiente fundamentales

en los lenguajes de programación y en los diseños de algoritmos

especialmente los pseudocódigos.

Page 40: Universidad Rafael Urdaneta Escuela de Ingeniería de ... · una de las partes sea menor que la del programa completo, lo ... PARTES CONSTITUTIVAS DE UN PROGRAMA ... realiza con el

Las tres estructuras de control básico son:

secuencia

selección

repetición

La programación estructurada hace los programas mas fáciles de

escribir, verificar, leer y mantener, utiliza un número limitado de

estructuras de control que minimizan la complejidad de los

problemas.

Page 41: Universidad Rafael Urdaneta Escuela de Ingeniería de ... · una de las partes sea menor que la del programa completo, lo ... PARTES CONSTITUTIVAS DE UN PROGRAMA ... realiza con el

En mayo de 1996, Bôhm y Jacopin demostraron que un programa

propio puede ser escrito utilizando solamente tres tipos de

estructuras de control: secuenciales, selectivas y repetitivas.

Un programa se define como propio si cumple lo siguiente:

Posee un solo punto de entrada y salida o fin para control del

programa.

Existen caminos desde la entrada hasta la salida que se pueden

seguir y que pasan por todas las partes del programa.

Todas las instrucciones son ejecutadas y no existen lazos o bucles

infinitos.

Page 42: Universidad Rafael Urdaneta Escuela de Ingeniería de ... · una de las partes sea menor que la del programa completo, lo ... PARTES CONSTITUTIVAS DE UN PROGRAMA ... realiza con el

El programa completo tiene un diseño modular.

Los módulos se diseñan con metodología descendente (método top-

down).

Cada módulo se codifica utilizando las 3 estructuras de control

básicas: secuenciales, selectivas, repetitivas.

Estructuración y modularidad son complementarios mas no iguales.