Está en la página 1de 8

Universidad Iberoamericana - Departamento de Ingeniera y Ciencias Qumicas

Computacin Aplicada a Procesos Qumicos


M.C. Javier Lpez Rubio y M.C. Andrea Silva Beard

Programacin y Mtodos Numricos


El hablar de computacin aplicada para ingenieros implica tambin hablar de mtodos
numricos. Estos ltimos constituyen tcnicas mediante las cuales es posible formular problemas
matemticos, de tal forma que pueden resolverse utilizando operaciones aritmticas. Aunque
existen diferentes tipos de mtodos numricos, estos comparten una caracterstica en comn,
invariablemente requieren de un gran nmero de tediosos clculos aritmticos, de aqu la
necesidad de hacer uso de una herramienta computacional.
En la actualidad, las computadoras y los mtodos numricos ofrecen una alternativa para los
clculos complicados. Al usar la potencia de la computadora se obtienen soluciones
directamente, de esta manera se pueden aproximar los clculos sin tener que recurrir a
consideraciones de simplificacin o tcnicas muy lentas. Aunque las soluciones analticas an
son muy valiosas, tanto para resolver problemas como para brindar una mayor compresin, los
mtodos numricos presentan opciones que aumentan, en forma considerable, la capacidad de
enfrentar y resolver los problemas; como resultado, se dispone de ms tiempo para aprovechar
las habilidades creativas personales. En consecuencia, es posible dedicar mayor tiempo a la
formulacin de un problema y a la interpretacin de la solucin.
Algunas otras razones por las que deben emplear mtodos numricos en la solucin de
problemas:

Son herramientas poderosas para la solucin de problemas con gran nmero de


ecuaciones, manejan no linealidades y se pueden resolver geometras complicadas comunes
en la prctica de ingeniera
Ayudan a entender la teora bsica en que se basan algunos paquetes de cmputo
comerciales (eg. Polymath)
Permiten desarrollar programas propios para resolver problemas que no pueden resolverse
con paquetes comerciales y costosos
Son un vehculo eficiente para aprender a servirse de las computadoras. Es bien conocido
que una forma efectiva de aprender programacin consiste en escribir programas para
computadora. Debido a que la mayora de los mtodos numricos estn diseados para
usarlos en las computadoras, son ideales para tal propsito. Adems, son especialmente
adecuados para ilustrar el poder y las limitaciones de las computadoras. Cuando se
desarrollan satisfactoriamente los mtodos numricos y se aplican para la solucin de
problemas, se dispondr de una excelente demostracin de cmo las computadoras sirven
para el desarrollo profesional de un ingeniero
Los mtodos numricos son un medio para esforzar la comprensin de las matemticas, ya
que su funcin es convertir las matemticas superiores en operaciones aritmticas bsicas,
de esta manera se puede profundizar en los temas que de otro modo resultaran oscuros.
Esta perspectiva dar como resultado un aumento de su capacidad de comprensin y
entendimiento de la ingeniera

Los problemas matemticos ms comunes en ingeniera que emplean mtodos numricos para
su solucin se presentan en la Fig. 1.

Universidad Iberoamericana - Departamento de Ingeniera y Ciencias Qumicas


Computacin Aplicada a Procesos Qumicos
M.C. Javier Lpez Rubio y M.C. Andrea Silva Beard

Fig. 1 Resumen de problemas matemticos clsicos en Ingeniera

Universidad Iberoamericana - Departamento de Ingeniera y Ciencias Qumicas


Computacin Aplicada a Procesos Qumicos
M.C. Javier Lpez Rubio y M.C. Andrea Silva Beard

Estructuras de programacin bsica


Los programas computacionales son un conjunto de instrucciones que dirigen a la computadora
para realizar una cierta tarea. Existen diferentes programas de cmputo con un amplio rango de
aplicaciones y capacidades en lenguajes de alto nivel como Fortran 90, C++ y Matlab. En general,
los usuarios de estos programas pueden hacer uso de esta amplia gama de capacidades y
reducir la complejidad de la programacin a unos cuantos tpicos de manera que conlleven a la
solucin de problemas, tales como:

Representacin de informacin sencilla ( declaracin de constantes, variables y tipos)


Representacin de informacin ms compleja (estructuras de datos, arreglos y registros)
Modelos matemticos (asignacin, reglas de prioridad y funciones intrnsecas)
Entrada / salida de informacin
Representacin lgica (secuencia, seleccin y repeticin)
Programacin modular (funciones y subrutinas).

De los tpicos anteriores, los ms importantes son los dos ltimos, el primero de stos
representa la estructura lgica para la coherencia y precisin de un algoritmo de clculo; el
segundo contribuye de manera importante a la organizacin de un programa, de manera que los
mdulos que se generan son un medio de almacenar algoritmos utilizados frecuentemente en un
formato adecuado para aplicaciones subsecuentes.

Programacin estructurada
La programacin estructurada proyecta la posibilidad de cmo generar el cdigo real del
programa, de modo que sea fcil de entender, corregir y modificar. En trminos generales se
puede definir como un conjunto de reglas que aconsejan buenos hbitos de estilo a los
programadores.
La idea clave detrs de la programacin estructurada radica en que cualquier algoritmo de
clculo requiere tan solo de tres estructuras de control fundamentales: secuencia, seleccin y
repeticin, as como, el empleo de un diagrama de flujo o pseudocdigo.
El diagrama de flujo es la representacin visual o grfica de un algoritmo, emplea una serie de
cajas o bloques y flechas, cada una de las cuales representa un determinado paso u operacin
del algoritmo. Las flechas representan el orden en los que se realizarn las operaciones
El pseudocdigo es otra manera de expresar el algoritmo de clculo y constituye un punto de
unin entre los diagramas de flujo y el cdigo de computadora. Es el primer medio que se usa
para comunicar algoritmos relacionados con los mtodos numricos.

Secuencia

La estructura secuencial expresa la trivial idea de que, a menos que se indique otra cosa, el
cdigo debe realizarse instruccin por instruccin como se muestra en el diagrama de flujo la
Fig. 2

Seleccin

La seleccin ofrece un medio de dividir el flujo del programa en ramas considerando el resultado
de una condicin lgica tal y como se observa en la Fig. 3

Universidad Iberoamericana - Departamento de Ingeniera y Ciencias Qumicas


Computacin Aplicada a Procesos Qumicos
M.C. Javier Lpez Rubio y M.C. Andrea Silva Beard

Instruccin
Instruccin
Instruccin

Instruccin
2

Instruccin
Instruccin
a) Diagrama de flujo

b) Pseudocdigo

Fig. 2. Diagrama de flujo y pseudocdigo para la estructura secuencial

Diagrama de flujo

Condicin
?

Pseudocdigo

Verdadero

IF

condicin THEN
Bloque verdadero
ENDIF

Bloque
verdadero

a) Estructura (IF/THEN) para una sola alternativa

Falso

Bloque
falso

Condicin
?

Verdadero

IF

condicin THEN
Bloque verdadero

ELSE
Bloque
verdadero

Bloque falso
ENDIF

b) Estructura (IF/THEN/ELSE) para dos alternativas

Fig. 3. Diagrama de flujo y pseudocdigo para las estructuras de seleccin simple

Universidad Iberoamericana - Departamento de Ingeniera y Ciencias Qumicas


Computacin Aplicada a Procesos Qumicos
M.C. Javier Lpez Rubio y M.C. Andrea Silva Beard

La decisin de una sola alternativa (IF/THEN) permite una desviacin en el flujo del programa si
una condicin lgica es verdadera, si esta condicin es falsa no ocurre nada y el programa
contina (Fig. 3 (a)).
La decisin entre dos alternativas (IF/THEN/ELSE) se comporta de la misma forma si la
condicin es verdadera, sin embargo la condicin es falsa, el programa realiza las instrucciones
entre el ELSE y el ENDIF (Fig. 3 (b)).

Repeticin

Proporciona una manera de llevar a cabo instrucciones repetidamente. Las estructuras


resultantes, llamadas loops o ciclos se pueden representar como se muestra en la Fig. 4.

Diagrama de flujo

WHILE
Bloque1
IF condicin EXIT
Bloque2
END

Bloque 1

Condicin
?

Pseudocdigo

Verdadero

Falso

Bloque 2

Fig. 4. Diagrama de flujo y pseudocdigo para la estructura de repeticin

Otra manera de llevar a cabo ciclos o repeticiones es empleando la funcin FOR y se estructura
con se muestra en la Fig. 5.

Programacin modular
En la programacin modular los programas se pueden dividir en pequeos subprogramas o
mdulos que se pueden escribir o probar por separado. La caracterstica de esta forma de
programacin es ser independiente y autosuficiente como sea posible, y adems casi siempre se
disea para realizar una funcin especfica y bien definida.
Cada mdulo se conoce como subrutina, la cual es un conjunto de instrucciones de cmputo que
realiza una tarea. Un programa llama a estos mdulos a medida que se necesitan. Por lo tanto,
el programa principal dirige cada una de estas partes de manera lgica.
Algunas de las ventajas de la programacin modular son: a) facilita la proyeccin y la
comprensin de la lgica subyacente para el programador y el usuario, b) el desarrollo de un

Universidad Iberoamericana - Departamento de Ingeniera y Ciencias Qumicas


Computacin Aplicada a Procesos Qumicos
M.C. Javier Lpez Rubio y M.C. Andrea Silva Beard

programa se puede efectuar con mayor facilidad ya que cada subrutina se puede crear
aisladamente, c) el usuario puede disponer de una biblioteca de mdulos que puede aprovechar
en otros programas, d) aumenta la facilidad de depurar e identificar errores en un programa y e)
el mantenimiento y modificaciones de programas se facilita.

Diagrama de flujo

Verdadero

i > fin
?

i = inicio
i = i+incr.

Pseudocdigo

FOR i = inicio: incremento: fin


Bloque1
END

Falso

Bloque 1

Fig. 5. Diagrama de flujo y pseudocdigo para la estructura de repeticin FOR

Estructuras de control fundamentales

Universidad Iberoamericana - Departamento de Ingeniera y Ciencias Qumicas


Computacin Aplicada a Procesos Qumicos
M.C. Javier Lpez Rubio y M.C. Andrea Silva Beard

Ejercicios de programacin.
Problema 1. Desarrollar un algoritmo de clculo que determine las races de una ecuacin
cuadrtica ax + bx + c = 0 mediante la frmula general:
2

xi =

b b 2 4ac
2a

Actividades:
a) Construir un diagrama de flujo para el desarrollo del algoritmo
b) Empleando las estructuras de control obtener un algoritmo de clculo que realice los
siguientes pasos
Pida al usuario las coeficientes a, b y c
Realice las operaciones de la frmula cuadrtica previendo todas las eventualidades
(como, por ejemplo, permitir races complejas solucin de races iguales, solucin de
ecuaciones lineales y races reales diferentes.)
Despliegue la solucin, es decir, los valores de xi
Permita al usuario la opcin de volver a repetir el proceso.

Universidad Iberoamericana - Departamento de Ingeniera y Ciencias Qumicas


Computacin Aplicada a Procesos Qumicos
M.C. Javier Lpez Rubio y M.C. Andrea Silva Beard

Problema 2. Desarrollar un algoritmo de clculo que evale una funcin f(x,y) para diferentes
valores de x & y. La funcin est definida de la siguiente manera:

x+ y
x + y2

f ( x, y ) = 2
x +y
x 2 + y 2

x0
x0
x<0
x<0

&
&
&
&

y 0
y < 0

y 0
y < 0

Evaluar los cuatro posibles caminos empleando los siguientes datos: (x,y) = (2,3), (2,-3),(-2,3) y
(-2,-3).
Nota: El algoritmo de clculo debe desarrollarse con las estructuras de control necesarias para
que realice los siguientes pasos:
Solicite al usuario los valores de: x & y,
Evale la funciones segn corresponda
Despliegue el valor de la funcin resultante
Permita al usuario la opcin de volver a repetir el proceso.
Problema 3. Ejemplo de programacin de la estructura case
Problema 4. Obtener el diagrama de fases y la curva de equilibrio lquido-vapor para el sistema
binario Benceno-Hexano a la presin de la UIA. Las temperaturas de ebullicin del benceno y
tolueno son 69.95 C y 58.79 C respectivamente, las constantes de la ecuacin de Antoine (ec.
3) para estos compuestos son:
Compuesto
Benceno
Hexano

A
6.89745
6.87773

B
1206.350
1171.530

C
220.237
224.366

La presin est dada en mmHg y la temperatura en C.


Nota: Ver en pgina web la ayuda para resolver este problema.

También podría gustarte