Sunteți pe pagina 1din 20

DISEÑO DE

ALGORITMOS 1ra
PARTE

Programación de computadores aplicados a


la Ingeniería Civil.
Oscar Andrés Gutiérrez Bolaños
Maestría en Ingeniería-estructuras, investigación
osagutierrezbo@unal.edu.co
1
RESOLUCIÓN DE
Datos de
PROBLEMAS CON PC
entrada
salida!
y
Análisis: el problema se analiza teniendo en cuenta la especificación
de los requisitos dados por el cliente. Qué va a hacer?
Diseño: una vez analizado el problema se diseña una solución que
conducirá a un algoritmo que resuelva el problema. Cómo hacerlo?
Codificación: La solución se escribe en la sintaxis del lenguaje de
alto nivel
Compilación, ejecución: la solución se ejecuta y se eliminan todos
los errores de compilación que puedan aparecer
Verificación y depuración: el programa se verifica con una amplia
variedad de datos de entrada. La depuración es el proceso de
encontrar errores del programa y corregirlos o eliminarlos
Documentación: cómo se hizo?, manuales de usuario, etc.

Programación de computadores aplicados


a la Ingeniería Civil.
Oscar Andrés Gutiérrez Bolaños

2
QUÉ ES UN ALGORITMO

Abu Abdallah Muhammad ibn


Musa al-Jwarizmi (780-850)
Matemático, astrónomo y
geógrafo persa-musulmán

Programación de computadores aplicados


a la Ingeniería Civil.
Oscar Andrés Gutiérrez Bolaños

3
QUÉ ES UN ALGORITMO

Algoritmo
Es un método para resolver
un problema mediante una
serie de pasos precisos
definidos y finitos

Programación de computadores aplicados


a la Ingeniería Civil.
Oscar Andrés Gutiérrez Bolaños

4
CARACTERÍSTICAS DE UN
ALGORITMO
Preciso: indicar el orden de realización de cada paso

Definido: si se sigue n-veces un algoritmo, se debe obtener el mismo


resultado cada vez

Finito: si se sigue un algoritmo, se debe terminar en algún momento,


por lo tanto, debe tener un número finito de pasos

Programación de computadores aplicados


a la Ingeniería Civil.
Oscar Andrés Gutiérrez Bolaños

5
DISEÑO DE UN
ALGORITMO
Divide y vencerás

La resolución de un problema complejo se realiza dividiendo el


problema en sub-problemas y a continuación dividir, si es necesario,
en otros de nivel más bajo. A este proceso de sub-dividir un problema
en forma más detallada se denomina refinamiento sucesivo.
Los programas estructurados así se les denomina diseño
descendente o diseño modular y su proceso programación modular

Diseño del algoritmo = análisis + diseño del problema

Programación de computadores aplicados


a la Ingeniería Civil.
Oscar Andrés Gutiérrez Bolaños

6
HERRAMIENTAS DE
DISEÑO
Diagramas de flujo: es una
representación gráfica de un
algoritmo. Sus símbolos están
normalizados por el Instituto
Nacional Estadounidense de
Estándares, ANSI.

Pseudocódigo: el posible
algoritmo se escribe en
palabras, de tal manera que el
programador exprese su
análisis y posible diseño.

Programación de computadores aplicados


a la Ingeniería Civil.
Oscar Andrés Gutiérrez Bolaños

7
VERIFICACIÓN Y
DEPURACIÓN DE UN
PROGRAMA
Verificación: es el proceso de ejecución del programa con una amplia
gama variedad de datos de entrada.

Depuración: es el proceso de encontrar los errores del programa y


corregir o eliminar dichos errores.

Programación de computadores aplicados


a la Ingeniería Civil.
Oscar Andrés Gutiérrez Bolaños

8
VERIFICACIÓN Y
DEPURACIÓN DE UN
PROGRAMA
Errores de compilación: se producen por un uso incorrecto de las
reglas del lenguaje de programación, errores de sintaxis.

Errores de ejecución: se producen por instrucciones que la


computadora puede comprender pero no ejecutar, como por ejemplo
divisiones por cero, Inf, etc.

Errores lógicos: se producen en la lógica del programa, es decir, por


errores en el diseño del algoritmo, y sólo se pueden advertir por la
obtención de resultados incorrectos.

Programación de computadores aplicados


a la Ingeniería Civil.
Oscar Andrés Gutiérrez Bolaños

9
PROGRAMACIÓN MODULAR
El programa se divide en módulos (partes independientes), cada una
de las cuales ejecuta una única actividad. Estos se analizan, codifican
y ponen a punto independientemente de otros módulos.

Programación de computadores aplicados


a la Ingeniería Civil.
Oscar Andrés Gutiérrez Bolaños

10
PROGRAMACIÓN
ESTRUCTURADA
Significa escribir un programa de acuerdo a las siguientes reglas:

1. El programa tiene un diseño modular


2. Los módulos son diseñados de modo descendente
3. Cada módulo se codifica utilizando las tres estructuras de control
básicas: secuencial, selectiva y repetitiva.

Programación de computadores aplicados


a la Ingeniería Civil.
Oscar Andrés Gutiérrez Bolaños

11
ESTRUCTURAS
DE CONTROL
 Secuencial

Es aquella en la que una acción (instrucción) sigue a otra en


secuencia u orden, es decir, que una instrucción no se ejecuta hasta
que se ejecute la anterior.

Ejemplo: permutación de valores

Programación de computadores aplicados


a la Ingeniería Civil.
Oscar Andrés Gutiérrez Bolaños

12
ESTRUCTURAS
DE CONTROL
 Selectiva

La utilizamos cuando en el desarrollo de la solución de un problema


debemos tomar una decisión, para establecer un proceso o señalar
un camino alternativo a seguir.
Ejemplo:

Si “condición” entonces Si “condición” entonces


hacer operación hacer operación 1
Fin sino
hacer operación 2
Fin
Programación de computadores aplicados
a la Ingeniería Civil.
Oscar Andrés Gutiérrez Bolaños

13
ESTRUCTURAS
DE CONTROL

 Repetitiva

La utilizamos cuando en el desarrollo de la solución de un problema


debemos ejecutar un conjunto o no de operaciones repetidas. A priori,
podemos conocer el número de veces de repetición, for. En otros
casos, NO podemos conocer el número de veces de repetición, while.

Programación de computadores aplicados


a la Ingeniería Civil.
Oscar Andrés Gutiérrez Bolaños

14
ESTRUCTURAS
DE CONTROL
 Repetitiva
Ejemplo:

Programación de computadores aplicados


a la Ingeniería Civil.
Oscar Andrés Gutiérrez Bolaños

15
PROGAMA PROPIO
1. Posee un solo punto de entrada y uno de salida o fin para control
del programa.
2. Existen caminos desde la entrada hasta la salida que se puedan
seguir y que pasan por todas las partes del programa.
3. Todas las instrucciones son ejecutables y no existen bucles
infinitos.

Programación de computadores aplicados


a la Ingeniería Civil.
Oscar Andrés Gutiérrez Bolaños

16
DIAGRAMAS DE FLUJO

Mirar los símbolos para diagramas de flujo

Programación de computadores aplicados


a la Ingeniería Civil.
Oscar Andrés Gutiérrez Bolaños

17
DIAGRAMAS DE FLUJO

Programación de computadores aplicados


a la Ingeniería Civil.
Oscar Andrés Gutiérrez Bolaños

18
DIAGRAMAS DE FLUJO

Programación de computadores aplicados


a la Ingeniería Civil.
Oscar Andrés Gutiérrez Bolaños

19
DIAGRAMAS DE FLUJO

Conjunto de reglas para construir diagramas de flujo

Programación de computadores aplicados


a la Ingeniería Civil.
Oscar Andrés Gutiérrez Bolaños

20

S-ar putea să vă placă și