u3t1

20
Universidad de Los Andes Escuela de Sistemas ISBPR1 1 Dr. Eladio Dapena Gonzalez ISBPR1: Programación 1 ISBPR1: Programación 1 Unidad III : Desarrollo de programas Tema 1 Escuela de Ingeniería de Sistemas Departamento de Computación Desarrollo de Programas Pasos en la resolución de problemas en el computador 1. Análisis del problema Objetivo / Camino Lógico HIPO (Entrada Proceso Salida) HIPO (Entrada Proceso Salida) Diseño de la Estructura de datos 2. Diseño del algoritmo / Diagrama de Flujo 3. Prueba de escritorio 4. Codificación 5. Depuración 6. Ejecución Dr. Eladio Dapena 2 Unidad III Tema 1

Transcript of u3t1

Page 1: u3t1

Universidad de Los AndesEscuela de Sistemas

ISBPR1

1Dr. Eladio Dapena Gonzalez

ISBPR1: Programación 1ISBPR1: Programación 1

Unidad III : Desarrollo de programas

Tema 1

Escuela de Ingeniería de SistemasDepartamento de Computación

Desarrollo de Programas

Pasos en la resolución de problemas en el computador

1. Análisis del problemaObjetivo / Camino Lógico

HIPO (Entrada – Proceso – Salida)HIPO (Entrada – Proceso – Salida)

Diseño de la Estructura de datos

2. Diseño del algoritmo  / Diagrama de Flujo  

3. Prueba de escritorio

4. Codificación

5. Depuración 

6. Ejecución

Dr. Eladio Dapena 2Unidad III Tema 1

Page 2: u3t1

Universidad de Los AndesEscuela de Sistemas

ISBPR1

2Dr. Eladio Dapena Gonzalez

Desarrollo de Programas

Análisis del problemaIdentificar y comprender el problema que se pretende resolver y determinar el o los objetivos.

• Notas, diagramas, casos de prueba, solución manual, algoritmo informal y cualquier herramienta quepermita una comprensión correcta del problema.

• Camino Lógico

EjemploDe terminar si un número es par.

Herramientas de análisis

• HIPO Entrada‐Proceso‐Salida (E‐P‐S)

• Descomposición funcional

Dr. Eladio Dapena 3Unidad III Tema 1

Desarrollo de Programas

Herramientas de análisisEntrada‐Proceso‐Salida (E‐P‐S)

HIPO “Hierarchical Input, Process and Output”, es una herramienta clásica para el análisis de problemas,dividiendo el análisis en tres etapas.

1. Entrada

Identificar que datos se requieren para resolver el problema y su procedencia.

El tipo, sus características, rangos de valores válidos, etc.

2. Proceso

Secuencia de operaciones necesarias para resolver el problema. Algoritmo informal.(Camino Lógico)

3. Salida

Dar las respuestas que solucionan el problema, que pueden ir a un dispositivo de salida,ser almacenada o ser enviada.

Dr. Eladio Dapena 4Unidad III Tema 1

Page 3: u3t1

Universidad de Los AndesEscuela de Sistemas

ISBPR1

3Dr. Eladio Dapena Gonzalez

Desarrollo de Programas

Análisis del problema Ejemplo 3.1: Realice el análisis de Entrada ‐ Proceso – Salida

Suponga que un robot recibe una secuencia de ordenes de movimiento de la siguiente forma [ d , θ ] donde:

d: Representa una distancia medida en metros.

θ: una orientación medida en grados respecto al sistema de coordenadas.

Suponiendo que el robot se encuentra en la posición (0,0) de un plano y recibe las ordenes:

[ 10, 90° ] [ 10, 0° ] [ 20, 270° ] [10,170°]

Indique la posición final del robot luego de ejecutar los comandos.

Dr. Eladio Dapena 5Unidad III Tema 1

Desarrollo de Programas

Análisis del problema Ejemplo 3.1: Entrada ‐ Proceso – Salida

ENTRADA PROCESO SALIDA

Dr. Eladio Dapena 6Unidad III Tema 1

Page 4: u3t1

Universidad de Los AndesEscuela de Sistemas

ISBPR1

4Dr. Eladio Dapena Gonzalez

Desarrollo de Programas

Algoritmo Computacional– Un algoritmo es una secuencia de pasos ordenados ‐ sin ambigüedad ‐ escritas es un lenguaje de uso

común (Castellano) que conducen a la resolución de un problema.

• Preciso: El algoritmo debe indicar el orden de realización de cada paso.

• Definido: Si se sigue el algoritmo dos veces con los mismos datos deben obtenerse los mismosresultados.

• Finito: El algoritmo debe finalizar en algún momento. Es decir debe contar con un número finito depasos.

Diagrama de Flujo

– Conjunto de símbolos o diagrama que permite seguir la secuencia de ejecución de un programa.

Dr. Eladio Dapena 7Unidad III Tema 1

Desarrollo de Programas

Algoritmo Computacional

Es la representación textual de un algoritmo de manera que dicho texto se encuentre enmarcado en algunasnormas técnicas que faciliten su posterior transcripción a un lenguaje de Programación.

Cuando se habla de algunas normas estamos diciendo que existen unos requisitos que si bien pueden serCuando se habla de algunas normas estamos diciendo que existen unos requisitos que, si bien pueden serviolados, facilitan la posterior transcripción del algoritmo a un Lenguaje de programación de ser cumplidos acabalidad.

Estructura de los Algoritmos

EncabezadoCorresponde a las dos primeras normas referidas a el identificador del algoritmo y declaraciones.

CuerpoSon el conjunto de sentencias que contiene el algoritmo enmarcadas en un inicio y un finSon el conjunto de sentencias que contiene el algoritmo enmarcadas en un inicio y un fin.

Dr. Eladio Dapena 8Unidad III Tema 1

Page 5: u3t1

Universidad de Los AndesEscuela de Sistemas

ISBPR1

5Dr. Eladio Dapena Gonzalez

Desarrollo de Programas

Algoritmo Computacional

Primera Norma (Identificador del Algoritmo)

Siempre se le ha de colocar un nombre o identificador al algoritmo de manera que sea lo primero que selealea.Es conveniente acostumbrarse a que dicho nombre no supere los ocho caracteres y preferiblemente quesea altamente mnemónico o sea que su nombre haga una referencia aproximada a lo que el algoritmorealiza.

Ejemplo: Identificador o nombre del  algoritmo

Notación en Algoritmo

// Algoritmo <Nombre>// Explicación

IDENTIFICACIÓN

Diagrama de Flujo

// Explicación

Dr. Eladio Dapena 9Unidad III Tema 1

Algoritmo : NombreExplicación

Desarrollo de Programas

Algoritmo Computacional

Sengunda Norma (Definiciones y Declaraciones)

En esta norma se definen los nuevos tipos de datos si los hubiere y se realiza la declaración de todas lasariables a tili ar tanto para los datos de entrada como para los datos generados a lo largo del algoritmovariables a utilizar, tanto para los datos de entrada como para los datos generados a lo largo del algoritmo.

Todas las variables a ser utilizadas deben ser declaradas.

Las constantes deben ser definidas.

Los objetivos de la declaración son:

• Asociar un tipo de dato y un identificador único a cada variable.

• Permite que el compilador sepa cuanto espacio se requiere para almacenar el valor de lasq p p p q pvariables y asignar las direccione de memoria donde almacenarlas.

Dr. Eladio Dapena 10Unidad III Tema 1

Page 6: u3t1

Universidad de Los AndesEscuela de Sistemas

ISBPR1

6Dr. Eladio Dapena Gonzalez

Desarrollo de Programas

Algoritmo Computacional

Sengunda Norma Definiciones

Notación en algoritmo Notación Diagrama de Flujo

//Definiciones

Nuevo_Tipo{

} Nombre del nuevo tipo;

Sengunda Norma Declaraciones

Notación en algoritmo Notación Diagrama de Flujo

Nuevo_Tipo

//Declaraciones

Tipo < Lista de Variables>

Dr. Eladio Dapena 11Unidad III Tema 1

DeclaracionesTipo <Lista de variables>

Desarrollo de Programas

Algoritmo Computacional

Sengunda Norma (Definiciones y Declaraciones)

Ejemplo

//Definiciones

Nuevo_Tipo estructura{

Real x,y,z;}Punto3D;

//Declaraciones

Nuevo_Tipo{ Real x,y,z;

}Punto3D;

Punto3D P1,P2,P3,P4;Real x,y,z;Entero i,j,k;

Dr. Eladio Dapena 12Unidad III Tema 1

Punto3D   P1,P2,P3,P4;Real x,y,z;Entero i,j,k;

Page 7: u3t1

Universidad de Los AndesEscuela de Sistemas

ISBPR1

7Dr. Eladio Dapena Gonzalez

Desarrollo de Programas

Algoritmo Computacional

Sengunda Norma ConstantesNotación en algoritmo Notación Diagrama de Flujo

//Constantes//Constantes

Constante <identificador> <valor>

Ejemplo

//Constantes

Constante PI  3.14159

Constante  <Indentificador>   < valor>

Constante Piezas  1000Constante  Mensaje  “Error”

Dr. Eladio Dapena 13Unidad III Tema 1

Constante  PI  3.14159Constante  Piezas  1000Constante  Mensaje “Error”

Desarrollo de Programas

Algoritmo Computacional

Tercera Norma Cuerpo del algoritmo

Todo el cuerpo del algoritmo deberá ir “encerrado” entre las palabras Inicio y Fin indicando en dondei d d i l d ódicomienza y en donde termina el seudocódigo.

Notación en algoritmo Notación Diagrama de Flujo

0 Inicio Inicio

# Fin

Dr. Eladio Dapena 14Unidad III Tema 1

Fin

Page 8: u3t1

Universidad de Los AndesEscuela de Sistemas

ISBPR1

8Dr. Eladio Dapena Gonzalez

Desarrollo de Programas

Algoritmo Computacional

Cuarta Norma Secuencias ( Salida )

Salida

Cuando queremos que aparezca en pantalla u otro dispositivo de salida alguna información utilizamosla sentencia Escribir.

Notación en algoritmo Notación Diagrama de Flujo

# Escribir <“ Texto “> , < Lista de variables >;

1. Salida de un mensaje

# Escribir “ Prueba de salida “;

Dr. Eladio Dapena 15Unidad III Tema 1

“Prueba de Salida”

Desarrollo de Programas

Algoritmo Computacional

Cuarta Norma Secuencias ( Salida )

Salida

2. Salida de variables

# Escribir x,y,z;

3. Salida de Mensaje y variables

# Escribir “El punto es : “, x,y,z;

x,y,z

“El punto es: ” x,y,z;

Dr. Eladio Dapena 16Unidad III Tema 1

Page 9: u3t1

Universidad de Los AndesEscuela de Sistemas

ISBPR1

9Dr. Eladio Dapena Gonzalez

Desarrollo de Programas

Algoritmo Computacional

Cuarta Norma Secuencias ( Entrada )

Entrada

Cuando queremos realizar la entrada de un dato desde algún dispositivo de entrada para seralmacenado en una variable utilizamos la sentencia Leer.

Notación en algoritmo Notación Diagrama de Flujo

# Leer <Lista de Variables> ; Lista de Variables

Ejemplo

# Leer x,y,x;

Dr. Eladio Dapena 17Unidad III Tema 1

x,y,z

Desarrollo de Programas

Algoritmo Computacional

Cuarta Norma Secuencias ( Entrada )

Entrada

Ejemplo

# Escribir “Indique las coordenadas del punto x,y,z”;# Leer x,y,x;

x,y,z

“Indique las coordenadas del punto x,y,z”

Indique las coordenadas del punto x,y,z

Monitor

Dr. Eladio Dapena 18Unidad III Tema 1

Cursor

Page 10: u3t1

Universidad de Los AndesEscuela de Sistemas

ISBPR1

10Dr. Eladio Dapena Gonzalez

Desarrollo de Programas

Algoritmo Computacional

Cuarta Norma Secuencias ( Asignación )

Asignación

La operación de asignación permite llevar o cargar datos a las variables, es decir modifica el contenidode la memoria.

Notación en algoritmo Notación Diagrama de Flujo

# Variable = Expresión;Variable = Expresión

Expresión puede ser:Una variableUna constanteUna combinación de operadores y operandos.

Dr. Eladio Dapena 19Unidad III Tema 1

Desarrollo de Programas

Algoritmo Computacional

Cuarta Norma Secuencias ( Asignación )

Asignación

a) La sentencia de asignación es una forma de dar valores a una variable.

b) Al lado izquierdo del igual solo puede haber una variable.

c) Al lado derecho del igual puede haber una constante, una variable o una expresión.

d) El computador siempre resuelve lo de la derecha del igual y su resultado lo almacena en la variableque esté a la izquierda del igual.

e) Cada vez que se le entra un nuevo valor a una variable, el valor anterior se pierde.

f) La sentencia de asignación modifica el contenido de la memoria.

Dr. Eladio Dapena 20Unidad III Tema 1

Page 11: u3t1

Universidad de Los AndesEscuela de Sistemas

ISBPR1

11Dr. Eladio Dapena Gonzalez

Desarrollo de Programas

Algoritmo Computacional

Cuarta Norma Secuencias ( Asignación )

Asignación

Ejemplos

HT=40;SPH=20;S=HT*SPH;S=‘F’;

HT=40;SPH=20;S=HT*SPH;S=‘F’;

Dr. Eladio Dapena 21Unidad III Tema 1

Desarrollo de Programas

Algoritmo Computacional

Ejemplo 3.1Algoritmo Notación Diagrama de Flujo

Algoritmo : Posición_del_RobotCálculo de la posición final

xf=10*cos(90) + 10*cos(0) + 20*cos(270) + 10*cos(170)

INICIO

Real xf, yf

// Algoritmo Posición_del_Robot// Cálculo de la posición final// Declaraciones  Constantes y Variables */

Real xf, yf;

0 Inicio1 xf=10*cos(90) + 10*cos(0) + 20*cos(270) + 10*cos(170);2 yf=10*sin(90)  + 10*sin(0)  + 20*sin(270)  + 10*sin(170);3 Escribir “Posición final “, xf, yf;4 Fin

Dr. Eladio Dapena 22Unidad III Tema 1

xf=10*cos(90) + 10*cos(0) + 20*cos(270) + 10*cos(170)yf=10*sin(90)  + 10*sin(0)  + 20*sin(270)  + 10*sin(170)

FIN

Escribir “Posición final “, xf, yf

Page 12: u3t1

Universidad de Los AndesEscuela de Sistemas

ISBPR1

12Dr. Eladio Dapena Gonzalez

Desarrollo de Programas

Algoritmo Computacional

Ejercicios Normas 1, 2, 3, y 4

Realice análisis, diseño de la estructura de datos, algoritmo y diagrama de flujo para los problemas:

1. Recibir como dato de entrada una distancia medida en metros y la convierta a: Centímetros yKilómetros.

2. Convertir una temperatura en grados centígrados a una temperatura en Grados kelvin.

3. Dado un lado de un cuadrado obtenga: el área, perímetro y la longitud de la diagonal.

4. Dada la base y altura de un triangulo calcule su área.

5. Dados los coeficientes de una ecuación de segundo grado obtenga sus raíces reales.

Dr. Eladio Dapena 23Unidad III Tema 1

Desarrollo de Programas

Algoritmo Computacional

Quinta Norma (Decisiones)

Muchas acciones dependen de la toma de decisiones. En este caso el lenguaje deberá incluir algúnmecanismo que permita evaluar condiciones y dependiendo de su resultado se ejecutar o no ciertasmecanismo que permita evaluar condiciones y dependiendo de su resultado se ejecutar o no ciertasinstrucciones.

1. Decisión Simple (Notación Algorítmica)

Permite ejecutar instrucciones dependiendo del resultado de evaluar una expresión lógica (Verdadera oFalsa).

Algoritmo Notación Diagrama de Flujo

# Si <expresión lógica> Entonces

[ Instrucciones ]ifin_si ( # )

Dr. Eladio Dapena 24Unidad III Tema 1

EXPRESIÓN Instruccionessi

no

Page 13: u3t1

Universidad de Los AndesEscuela de Sistemas

ISBPR1

13Dr. Eladio Dapena Gonzalez

Desarrollo de Programas

Algoritmo Computacional

Quinta Norma (Decisiones)

1. Decisión Compuesta (Notación Algorítmica)

i d l i j i i d di d d l l d l ió ló i SiPermite dos alternativas para ejecutar instrucciones dependiendo de el valor de la expresión lógica. Sila expresión es verdadera se ejecuta un grupo de instrucciones y si es falsa se ejecutara otro grupo deinstrucciones de manera excluyente.

Algoritmo Notación Diagrama de Flujo

# Si <expresión lógica> Entonces

[ Instrucciones ]

contrario

[ Instrucciones ]

EXPRESIÓN Instruccionessino

Instrucciones

[ Instrucciones ]

fin_si ( # )

Dr. Eladio Dapena 25Unidad III Tema 1

Desarrollo de Programas

Algoritmo Computacional

Quinta Norma (Decisiones)

1. Decisión Anidadas (Notación Algorítmica)

El grupo de instrucciones dentro de una estructura de decisión puede ser de cualquiera de losEl grupo de instrucciones dentro de una estructura de decisión puede ser de cualquiera de lospermitidos en el algoritmo, incluyendo otras estructuras de decisión.

Algoritmo

# Si <expresión lógica>#.1 Si < expresión lógica > Entonces

[ Instrucciones ]contrario

[ Instrucciones ]Fin_si (#.1)

[ Instrucciones ]contrario

#.2 Si < expresión lógica > Entonces[ Instrucciones ]

Fin_si (#.2)[ Instrucciones ]

Fin_si (#)

Dr. Eladio Dapena 26Unidad III Tema 1

Page 14: u3t1

Universidad de Los AndesEscuela de Sistemas

ISBPR1

14Dr. Eladio Dapena Gonzalez

Desarrollo de Programas

Algoritmo Computacional

Quinta Norma (Decisiones)

1. Decisión Anidadas (Notación Algorítmica)

# Si <expresión lógica>#.1 Si < expresión lógica > Entonces

[ Instrucciones ]contrario

[ Instrucciones ]Fi i (# 1)

Notación Diagrama de Flujo

EXPRESIÓNsino

EXPRESIÓN Instruccionessino

InstruccionesEXPRESIÓN Instruccionessi

Fin_si (#.1)[ Instrucciones ]

contrario#.2 Si < expresión lógica > Entonces

[ Instrucciones ]Fin_si (#.2)[ Instrucciones ]

Fin_si (#)

Dr. Eladio Dapena 27Unidad III Tema 1

Instrucciones

no

Instrucciones

Desarrollo de Programas

Algoritmo Computacional

Quinta Norma (Decisiones)

1. DecisiónMúltiple (Notación Algorítmica)Caso <Expresión>

Diagrama de Flujo

Algoritmo

# En caso de <expresión>

caso <valor 1>:Instrucciones;salir;

caso <valor n>:Instrucciones;salir;

t

Caso <Valor 1> Instrucciones

Caso <Valor n> Instrucciones

O C

si

si

no

no

otro caso:Instrucciones;

Fin caso (#)

Dr. Eladio Dapena 28Unidad III Tema 1

Otro Caso

Instrucciones

Page 15: u3t1

Universidad de Los AndesEscuela de Sistemas

ISBPR1

15Dr. Eladio Dapena Gonzalez

Desarrollo de Programas

Algoritmo Computacional

Quinta Norma (Decisiones)

Ejercicios

1. Dada una hora es notación Militar en Horas Minutos y Segundos. Indicar la hora militarcorrespondiente 15 segundos después.

2. La empresa de autobuses “Santa Bárbara” desea contratarlo a Ud. para que realice unprograma que permita calcular el costo de los pasajes. Los boletos tienen un costo según elkilometraje del recorrido. En función de la siguiente tabla:

Kilómetros Costos

Km ≤ 500 3000 Bs/Km

La empresa ofrece un descuento para la tercera edad (mayor de 60 años), del 35% del costodel boleto, adicionalmente si el usuario compra el boleto de ida y vuelta se le descontará un7,5%.

Dr. Eladio Dapena 29Unidad III Tema 1

500 < Km ≤ 800 2600 Bs/Km

Km > 800 2000 Bs/Km

Desarrollo de Programas

Algoritmo Computacional

Sexta Norma (Ciclos)

Cuando se requiere que un grupo de instrucciones se realice en forma repetitiva, es decir una o másvecesveces.

1. Repetición indexada ( Repita Para )

Permite repetir un número de veces conocido un conjunto de instrucciones.

Algoritmo Notación Diagrama de Flujo

# Repita Para <var>= < VI > , < VF>, < I >

[ Instrucciones ]

f.r.p. (#)

Donde

VI : Valor Inicial VF : Valor Final I : Incremento

VI, VF, I son expresiones.

Dr. Eladio Dapena 30Unidad III Tema 1

Var = VI, VF, I SENTECIASVar ≤ VF

Var > VF

Page 16: u3t1

Universidad de Los AndesEscuela de Sistemas

ISBPR1

16Dr. Eladio Dapena Gonzalez

Desarrollo de Programas

Algoritmo Computacional

Sexta Norma (Ciclos)

2. Repetición condicionada Repita Mientras

Primero evalúa una expresión lógica y de ser verdadera realiza un conjunto de instrucciones, mientrasel resultado de evaluar la expresión lógica sea verdadero continuará ejecutando el bloque deinstrucciones. Puede ejecutarse cero ( 0 ) o más veces.

Algoritmo Notación Diagrama de Flujo

# Repita Mientras < Expresión Lógica >

[ Instrucciones ]si

Expresión

f.r.m. (#)

Dr. Eladio Dapena 31Unidad III Tema 1

INSTRUCCIONES

no

ExpresiónLógica

Desarrollo de Programas

Algoritmo Computacional

Sexta Norma (Ciclos)

2. Repetición condicionada Hacer Mientras

Primero evalúa una expresión lógica y de ser verdadera realiza un conjunto de instrucciones, mientrasel resultado de evaluar la expresión lógica sea verdadero continuará ejecutando el bloque deinstrucciones. Puede ejecutarse cero ( 0 ) o más veces.

Algoritmo Notación Diagrama de Flujo

# Hacer

[ Instrucciones ]Instrucciones

Hacer

Mientras < Expresión Lógica >

Dr. Eladio Dapena 32Unidad III Tema 1

Instrucciones

si

no

ExpresiónLógica

Page 17: u3t1

Universidad de Los AndesEscuela de Sistemas

ISBPR1

17Dr. Eladio Dapena Gonzalez

Desarrollo de Programas

Algoritmo Computacional

Sexta Norma (Ciclos)

Ejercicios

1. Suponga que contamos con un dispositivo de campo que emite una ficha diaria con la temperaturamáxima y mínima registrada. Obtener las temperaturas promedio tanto máximo como mínimo paraun mes de 30 días.

2. Escriba un programa para que dada una serie de números reales ninguno de ellos negativos, obtengala sumatoria de los cuadrados de dichos números y sus promedios.

3. Dada una serie de calificaciones de una prueba de (0,20) escriba un programa que permita sabercantidad de aprobados, promedio aprobatorio, promedio general, máxima y mínima nota.

Dr. Eladio Dapena 33Unidad III Tema 1

Desarrollo de Programas

Pasos en la resolución de problemas en el computador

Prueba de escritorio  ( Corrida en Frio )

• La prueba de escritorio consiste en ejecutar el algoritmo tal como lo haría un computador, con el objeto d d i l f i i d l ide determinar el funcionamiento correcto del mismo.

• Para pruebas de escritorio del algoritmo se seleccionan datos de datos de entrada adecuados cuyos resultados esperados son conocidos y  siguiendo los pasos del algoritmo se validan los resultados.

Codificación

• Traducir el algoritmo producido en el paso anterior en un programa escrito en un lenguaje deprogramación de alto nivel (programa fuente o código fuente). En nuestro caso Lenguaje C.

• Los diferentes pasos de un algoritmo se expresan en los programas como instrucciones (término usadopara los lenguajes de máquina y bajo nivel), sentencias o proposiciones (términos usados para loslenguajes de alto nivel).

Dr. Eladio Dapena 34Unidad III Tema 1

Page 18: u3t1

Universidad de Los AndesEscuela de Sistemas

ISBPR1

18Dr. Eladio Dapena Gonzalez

Desarrollo de Programas

Pasos en la resolución de problemas en el computador

Depuración y Pruebas

• El proceso de depuración es realizado simultáneamente con la codificación y consiste en la correcciónd l d i i d d l difi ióde los errores de sintaxis generados durante la codificación.

• Las pruebas de funcionamiento del programa consiste en utilizar como datos de entrada losseleccionados en la prueba de escritorio y verificar los resultados.

• Pruebas por etapas.

• La selección de los casos de prueba deben permitir explorar todos los pasos del programa.

L t h f tú li d d é it l b• La puesta en marcha se efectúa una vez realizadas y superadas con éxito las pruebascorrespondientes.

Dr. Eladio Dapena 35Unidad III Tema 1

Desarrollo de Programas

Diagrama

Análisis

Verificar

Algoritmo

Codificación

Pruebas

Depuración

36Unidad III Dr. Eladio Dapena Gonzalez

Pruebas

Ejecución

Page 19: u3t1

Universidad de Los AndesEscuela de Sistemas

ISBPR1

19Dr. Eladio Dapena Gonzalez

Desarrollo de Programas

Compilador

Programa Fuente C

Encadenador

Códigoobjeto

Funciones delibrería

Diseño delAlgoritmo Editor

Algoritmo

Errores de Sintaxis

Si

Encadenador

No

Cargador

Códigoobjeto

Ejecución

Códigoejecutable

Errores delógica

ResultadosSi

AnálisisE‐P‐S

Documento delAnálisis

37Unidad III Dr. Eladio Dapena Gonzalez

jlógica

No

Solución delproblema

Problema

Desarrollo de Programas

Teorema de C. Bhöm y G. Jacopini:

“Todo programa propio se puede escribir utilizando únicamente las estructuras de control secuencial,condicional e iterativa.”

Un programa propio es aquel que:

ú d d d l d1. Tiene un único punto de entrada y de salida.

2. Existen caminos que van desde la entrada hasta la salida que pasan por todas las partes delprograma.

3. Todas las instrucciones son ejecutables y no existen lazos sin fin.

Programación Estructurada

• Enfoque disciplinado que permite escribir programas estructurados, utilizando las siguientes tresestructuras de control bien definidas:

1. Secuencial (asignación, lectura, escritura)2. Decisión o selección (simple, doble, múltiple)3. Repetición (repita‐mientras, hacer‐mientras, repita‐para)

• Los programas estructurados son fáciles de probar, depurar y modificar.

• Programación orientada a acciones donde la unidad básica es la función.

Dr. Eladio Dapena 38Unidad III Tema 1

Page 20: u3t1

Universidad de Los AndesEscuela de Sistemas

ISBPR1

20Dr. Eladio Dapena Gonzalez

ISBPR1: Programación 1ISBPR1: Programación 1

Unidad III : Desarrollo de programas

Final Unidad III

Escuela de Ingeniería de SistemasDepartamento de Computación