INGENIERA QUMICA
Equipo docente principal
UNIDAD TEMTICA 1
Introduccin al manejo de EXCEL y VISIO
INTRODUCCIN
VII.CARACTERISTICAS AVANZADAS
VIII. IMPRESIN
2
Introduccin
Excel es una aplicacin del tipo hoja de clculo, integrada en el entorno Windows y
desarrollada por Microsoft, en la cual se combinan las capacidades de una hoja de
clculo, base de datos, programa de grficos bidimensionales y tridimensionales,
lenguaje propio de programacin y generacin de macros, todo dentro de la misma
aplicacin.
Una hoja de clculo est compuesta de los siguientes elementos:
Hojas: Son las pginas tabulares de la hoja de clculo.
Celdas: Son los cuadros que forman una hoja de Excel.
Filas: Son un conjunto de celdas horizontales.
Columnas: Son un conjunto de celdas verticales.
Identificador de celda o etiqueta: Es la unin de la interseccin de la letra de la
columna y el nmero de la fila en un punto. Ej: A8 C20.
Libro de trabajo: es un archivo de Excel que est compuesto por hojas.
Frmula: es una expresin que representa una operacin matemtica.
Operador: son los signos matemticos-aritmticos que permiten realizar una
operacin en Excel. (+ - * / ).
Funcin: son palabras reservadas de Excel que realizan un clculo ya definido.
Rango: Conjunto de celdas sobre las que acta una frmula o funcin.
3
Celda Activa: es la celda en la que se encuentra actualmente posicionado el cursor.
Introduccin
Barra de Ttulo
Banda de
Opciones
Botn de
Ayuda
Barra de Frmulas
Barra de
Estado
Barra de
Etiquetas
Barra
desplazamiento
Introduccin
Banda de opciones
Alt + letra nmero
Archivo
TECLADO
Flecha abajo
Flecha arriba
Flecha derecha
Flecha izquierda
AvPg
RePg
Ctrl + Inicio
Fin + Flecha arriba
Fin + Flecha abajo
Fin + Flecha
izquierda o Inicio
Fin + Flecha derecha
Barra de Frmulas
7
Portapapeles de Excel
9
CAUSAS
Ancho de una columna no es suficiente o cuando se utiliza una fecha
o una hora negativa
#DIV/0!
#N/A
#NUM!
#NOMBRE?
#REF!
#NULO!
11
13
Barra de Frmulas
14
Asistente de Funciones
15
EXP (nmero)
FACT (nmero)
NUMERO.ROMANO (nmero,forma)
PI( )
POTENCIA (nmero;potencia)
PRODUCTO (nmero1;nmero2;...)
RAIZ (nmero)
RESIDUO (nmero;nm_divisor)
DESCRIPCIN
Devuelve el valor absoluto de un nmero
Devuelve un nmero entre 0 y 1
Devuelve el nmero de combinaciones
determinado de elementos
Devuelve el coseno de un ngulo
para
un
nmero
16
MEDIA.ARMO (nmero1;nmero2;...)
MAX (nmero1;nmero2;...)
MIN (nmero1;nmero2;...)
MEDIANA (nmero1;nmero2;...)
MODA (nmero1;nmero2;...)
PROMEDIO (nmero1;nmero2;...)
VAR (nmero1;nmero2;...)
K.ESIMO.MAYOR (matriz;k)
K.ESIMO.MENOR (matriz;k)
MEDIA.ARMO (nmero1;nmero2;...)
MAX (nmero1;nmero2;...)
MIN (nmero1;nmero2;...)
MEDIANA (nmero1;nmero2;...)
DESCRIPCIN
Botn Autosuma
17
OFICINAS
MADRID
BARCELONA
BILBAO
VALENCIA
SEVILLA
DLARES
1000
2000
1790
2600
5160
DLARES /$
CAMBIOS A
0,8651
MARCOS
500
680
300
190
429
FRANCOS
3000
3089
1290
2600
1790
PESETAS
200000
386000
568000
689000
1452000
ESCUDOS
500000
985000
1369000
2000000
4580000
DRACMAS
TOTAL
1000000
8160,05
2000000 15555,14
1850000 17440,86
4000000 28403,58
9000000 62494,67
MARCOS
/M
FRANCOS /F PESETAS /Pts ESCUDOS /E DRACMAS /D TOTAL
0,5115
0,1524
0,00601
0,0049
0,00293 132054,29
18
Men Celdas
19
Herramientas de la tabla
21
Formulario de datos
22
Men Datos
Seccin Ordenar y filtrar
23
DESCRIPCIN
BDCONTAR (datos;campo;criterios)
BDCONTARA (datos;campo;criterios)
BDMAX (datos;campo;criterios)
BDMIN (datos;campo;criterios)
BDPRODUCTO (datos;campo;criterios)
BDPROMEDIO (datos;campo;criterios)
BDSUMA (datos;campo;criterios)
BDEXTRAER (datos;campo;criterios)
BDVAR (datos;campo;criterios)
BDVARP (datos;campo;criterios)
BDDESVEST (datos;campo;criterios)
BDDESVESTP (datos;campo;criterios)
24
Calcula la desviacin estndar sobre todos los valores de un campo
25
Men Opciones
26
27
Crear grficos
1. Seleccionar los datos a representar.
2. Ejecutar el comando Insertar / Grfico.
28
Ventas mensuales
ABRIL
2481
2722
3437
4917
4751
4310
6000
6000
CANTIDADES
5000
5000
4000
4000
3000
PERAS
PATATAS
3000
2000
CEREZAS
MANZANAS
1000
MELOCOTONES
2000
MELN
MAYO
TOTAL
4146
17598
3229
16298
2312
12010
1898
16996
3421
18375
3482
17259
20000
18000
16000
14000
12000
10000
8000
6000
4000
2000
0
29
ENERO
FEBRERO
MARZO
ABRIL
MAYO
FEBRERO
MARZO
ABRIL
MAYO
TOTAL
1000
ENERO
30
Ventas
25000
Total Ventas ()
Total Compras ()
Total salarios ()
BUSCAR OBJETIVO
Compras Precio Venta () Precio Compra ()
7900
220
150
Trabajadores
30
Salario ()
128849,9
5500000
1184503
3865496,7
31
Beneficios ()
450000
32
33
34
VENTAS
25000
COMPRAS
7900
TOTAL VENTAS ()
TOTAL COMPRAS ()
TOTAL SALARIOS ()
5500000
1184503
3765497
BENEFICIOS ()
550000
SOLVER
PRECIO VENTA () PRECIO COMPRA () TRABAJADORES SALARIO ()
220
150
29
130000
35
Conversin=a+btc
Tiempo (min)
10
20
30
40
50
60
a
b
0,56
1,5
0,95
36
37
38
Disea una hoja de clculo que refleje estos datos y permita obtener los
siguientes conceptos:
Ventas totales por trimestres
Ventas totales por vendedor
Media mensual de ventas por vendedor
Promedio de ventas por trimestre
39
AOS
Exportaciones
% sobre el total
Importaciones
% sobre el total
DIFERENCIA Import/export (%)
Importaciones/Exportaciones
1998
1999
2000
24000
27000
36500
29000
35000
TOTAL
51000
Actividad Deseada
Natacin
Equitacin
Tenis
Equitacin
Natacin
Tenis
Equitacin
Natacin
Equitacin
Tenis
Natacin
Cantidad de inscriptos:
Cant. Nios de 8 aos:
Cant.nios menores de 8 aos:
Cant.nios que practicarn natacin:
Cant.nios que practicarn tenis
Cant.nios que practicarn equitacin:
Mayor edad registrada:
Menor edad registrada:
Promedio de edades:
41
UNIDAD TEMTICA 1
Introduccin al manejo de EXCEL y VISIO
MACROS EN EXCEL
ndice
I.
INTRODUCCIN
MACROS EN EXCEL
I.
Introduccin
Una Macro son una serie de pasos que se almacenan y se pueden activar con alguna
tecla de control y una letra. Sirven para automatizar tareas y si utilizamos el
lenguaje de programacin en el que hablan las macros, Visual Basic para Aplicaciones
(VBA), podremos desarrollar desde tareas y funciones simples para usos especficos
hasta aplicaciones complejas.
Men Desarrollador
MACROS EN EXCEL
I.
Introduccin
- Cdigo: comandos que accionan herramientas relacionadas con el cdigo VBA de las
macros.
Visual Basic: inicia el editor de cdigo VBA. Adems de abrirlo desde este icono,
tambin podremos iniciar el editor si presionamos la combinacin de las teclas Alt
+ F11.
Grabar macros: guarda todas las acciones que realizamos y las transforma en
cdigo VBA.
Macros: inicia la ventana mediante la cual podremos ejecutar las macros.
Seguridad de macros: accede a la configuracin de las opciones de seguridad
relacionadas con las macros.
- Controles: cuadro de texto, botn o algo ms complejo como una aplicacin.
Insertar: Los controles de formulario son los botones, los cuadros de texto, las
etiquetas, los botones de opcin, los cuadros combinados, etc.
Modo Diseo: sirve para ajustar las opciones de los controles insertados.
Propiedades: modifica las diferentes opciones referidas a los controles ActiveX
incrustados.
- XML (eXtensible Markup Language): los documentos XML contienen etiquetas que
definen la estructura, el significado y la apariencia de la informacin de un
4
documento.
MACROS EN EXCEL
II. Visual Basic
Visual Basic es una herramienta de diseo de aplicaciones para Windows. En una
aplicacin Visual Basic, el programa est formado por una parte de cdigo puro, y
otras partes asociadas a los objetos que forman la interfase grfica.
La creacin de un programa bajo Visual Basic lleva los siguientes pasos:
1. Anlisis. Es el estudio de las necesidades que han dado origen a la creacin de ese
programa.
2. Creacin de una interfase de usuario. Esta interfase ser la principal va de
comunicacin hombre mquina, tanto para salida de datos como para entrada.
3. Definicin de las propiedades de los controles. Se dar la forma, posicin, y todas
las caractersticas necesarias a los controles que hayamos colocado en ese formulario.
4. Generacin del cdigo asociado a los eventos que ocurran a estos controles. A la
respuesta a estos eventos (clic, doble clic, una tecla pulsada, etc.) le llamamos
Procedimiento, y deber generarse de acuerdo a las necesidades del programa.
5. Generacin del cdigo del programa. Este cdigo puede introducirse en unos bloques
llamados Mdulos, en otros bloques llamados Funciones, y otros llamados
Procedimientos.
5
MACROS EN EXCEL
II. Visual Basic
Tipos, declaraciones y alcances de las variables
Booleana
Byte
Integer
Long
Single
Doble
Currency
String
Date
Objet
Variant
(2 Bytes)
(1 Byte)
(2 Bytes)
(4 Bytes)
(4 Bytes)
(8 Bytes)
(8 Bytes)
(*)
(8 Bytes)
(4 Bytes)
(**)
(*) Una variable tipo String ocupa el mismo nmero de bytes que caracteres tenga la
cadena.
(**) Una variable tipo Variant ocupa 16 bytes si se trata de un nmero y 22 bytes +
longitud de la cadena si se trata de un dato tipo cadena de caracteres.
6
MACROS EN EXCEL
II. Visual Basic
Tipos, declaraciones y alcances de las variables
-DIM: declarar una variable como Privada. Puede emplearse en un Procedimiento,
Funcin, Formulario o Mdulo. La sintaxis es de la siguiente forma:
Dim nombrevariable As Integer (o el tipo que sea)
-Sentencia PRIVATE: declarar una variable como Privada. Puede emplearse solamente
en la seccin de declaraciones de un Formulario o Mdulo. La sintaxis a emplear es la
siguiente:
Private nombrevariable As Tipovariable
-Sentencia PUBLIC: declarar una variable como Pblica. Puede emplearse solamente en
la seccin de declaraciones de un Formulario o Mdulo. La sintaxis es la siguiente:
Public nombrevariable As Tipovariable
Si no estamos en ese Formulario, habr que citarla por el nombre del Formulario,
seguido del nombre de la variable, separados por un punto:
NombreFormulario.Nombrevariable
MACROS EN EXCEL
II. Visual Basic
Tipos, declaraciones y alcances de las variables
-Declaracin Implcita (Opcin Explicit): para identificar variables tipo: Integer, Long,
Single, Double, String y Currency.
Integer
Long
Single
Double
String
Currency
%
&
!
#
$
@
MACROS EN EXCEL
II. Visual Basic
Tipos, declaraciones y alcances de las variables
Para declarar variables podemos hacerlo, resumidamente, del siguiente modo:
-En un Procedimiento:
MACRO EN EXCEL
IV. Ejecutar una macro
Men Macros
MACROS EN EXCEL
V. Crear una macro manualmente
1. Seleccionar el icono Visual Basic o presionar la tecla Alt + la tecla de funcin F11
(Alt + F11). Excel nos traslada al Editor de Visual Basic.
2. Seleccionar del men Insertar la opcin Modulo. Un mdulo de trabajo que es
donde se almacena el cdigo de las funciones o procedimientos de las macros.
3. Acceder al men Insertar y seleccionar la opcin Procedimiento. En este momento
aparecer el cuadro de dilogo del Men Procedimiento. Dentro de este men
encontramos los campos: Nombre, Tipo y mbito.
Men Procedimiento
MACROS EN EXCEL
V. Crear una macro manualmente
Ejercicios
1. Trasladarse a una Celda: Range("B1").Select
2. Escribir en una Celda: Activecell.FormulaR1C1="Mara"
3. Letra Negrita: Selection.Font.Bold = True
6. Centrar Texto:
7.Alinear a la izquierda:
With Selection
.HorizontalAlignment = xlCenter
End With
With Selection
.HorizontalAlignment = xlLeft
End With
12
MACROS EN EXCEL
V. Crear una macro manualmente
Ejercicios
8. Alinear a la Derecha:
With Selection
.HorizontalAlignment = xlRight
End With
With Selection.Font
.Name = "AGaramond"
End With
10. Tamao de Letra (Tamao de Fuente):
With Selection.Font
.Size = 18
End With
11. Copiar: Selection.Copy
12. Pegar: ActiveSheet.Paste
13.Cortar: Selection.Cut
13
MACROS EN EXCEL
V. Crear una macro manualmente
Ejercicios
14. Ordenar Ascendente:
Selection.Sort Key1:=Range("B1"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
15. Orden Descendente:
Selection.Sort Key1:=Range("B1"), Order1:=xlDescending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
16. Buscar:
Cells.Find(What:="Mara", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False).Activate
17. Insertar Fila: Selection.EntireRow.Insert
14
MACROS EN EXCEL
V. Crear una macro manualmente
Ejercicios
20. Eliminar Columna: Selection.EntireColumn.Delete
21. Abrir un Libro:
Workbooks.Open Filename:="C:\Mis documentos\video safe 3.xls"
15
UNIDAD TEMTICA 1
Introduccin al manejo de EXCEL y VISIO
I.
II. ENTRADAS
Y
SALIDAS
MESSAGEBOX E INPUTBOX
III. ESTRUCTURAS
DE
RAMIFICACIONES Y CICLOS
SENCILLAS
CON
DECISIONES:
Cuadro de Herramientas
Botn
de
Comando
3
MACROS EN EXCEL
II. Entradas y salidas sencillas con MessageBox e InputBox
Las cajas de mensajes o MessageBox (MsgBox) tienen como funcin mostrar una
determinada informacin, aviso, o pregunta para que el usuario tenga conocimiento de
ella y acte. Hay 2 formas diferentes de mostrar informacin:
- El aviso tiene por objetivo mostrar una informacin de inters.
- El aviso muestra una informacin esperando que el usuario seleccione una de las
respuestas posibles para que el programa la trate.
EJEMPLOS
Sub Msgbox1()
MsgBox "hola
End Sub
Sub Msgbox2()
MsgBox "hola", , "Ejemplo"
End Sub
Sub Msgbox3()
MsgBox "Hola" & vbCrLf &
"Esto es un ejemplo.", ,
"Ejemplo"
End Sub
MACROS EN EXCEL
II. Entradas y salidas sencillas con MessageBox e InputBox
Existen cuatro iconos: mensaje crtico, de pregunta, exclamativo y de informacin:
Mensaje
Mensaje
Mensaje
Mensaje
crtico:
VbCritical
de pregunta: VbQuestion
exclamativo:
VbExclamation
de informacin:VbInformation
16
32
48
64
EJEMPLO
Sub Msgbox4()
MsgBox "Hola" & vbCrLf & "Esto es un ejemplo.", vbQuestion, "Ejemplo"
End Sub
MACROS EN EXCEL
II. Entradas y salidas sencillas con MessageBox e InputBox
Para mostrar varios botones. Para este propsito, tenemos los siguientes parmetros:
Aceptar
Aceptar y Cancelar
Anular, Reintentar, Ignorar
S, No y Cancelar
S y No
Reintentar y Cancelar
Aplicacin modal
vbOKOnly
vbOKCancel
vbAbortRetryIgnore
vbYesNoCancel
vbYesNo
vbRetryCancel
vbApplicationModal
0
1
2
4
0 (sin icono)
EJEMPLO
Sub Msgbox5()
MsgBox "Hola" & vbCrLf & "Esto es un ejemplo.", vbQuestion + vbYesNo +
vbDefaultButton2, "Ejemplo"
End Sub
MACROS EN EXCEL
II. Entradas y salidas sencillas con MessageBox e InputBox
Para mostrar un mensaje esperando una respuesta o conocer que botn ha pulsado el
usuario, esto se puede conseguir mediante el siguiente cdigo de respuestas:
Aceptar
Cancelar
Anular
Reintentar
Ignorar
S
No
vbOK
vbCancel
vbAbort
vbRetry
vbIgnore
vbYes
vbNo
1
2
3
4
5
6
7
EJEMPLO
Sub Msgbox6()
Dim Resp As Integer
Resp = MsgBox("Hola" & vbCrLf & "Esto es un ejemplo.", vbQuestion + vbYesNo +
vbDefaultButton2, "Ejemplo")
If Resp = 6 Then
MsgBox "Ha pulsado SI"
Else
MsgBox "Ha pulsado NO"
10
End If
End Sub
MACROS EN EXCEL
II. Entradas y salidas sencillas con MessageBox e InputBox
EJEMPLO
11
MACROS EN EXCEL
II. Entradas y salidas sencillas con MessageBox e InputBox
La caja de entrada o InputBox nos permite sacar una caja donde el usuario pasar un
parmetro, valor o dato para que el programa lo trate y lo ejecute. La sentencia es:
Val = InputBox (Mensaje, Titulo, ValorPredeterminado)
EJEMPLO
Sub inputbox2()
Dim Val As String
Val = InputBox("Deme su nombre", "Ejemplo")
MsgBox "Su nombre es: " & Val
End Sub
12
MACRO EN EXCEL
III. Estructuras de decisiones: Ramificaciones y ciclos
Los dispositivos como If, Then y Select Case hacen que el programa contine en una
direccin cuando se encuentra una condicin particular.
Las construcciones en ciclos como While, se usan para repetir un cierto bloque
limitado de instrucciones hasta que las condiciones especificadas son True (cierta) o
False (Falsa).
-Las sentencias de cdigo que representaran una sentencia condicional seran de la
siguiente forma:
If condicin then
bloque de sentencias
Else
bloque de sentencias
End If
-Para bloques de sentencias que estn formados por una sola instruccin podemos
utilizar la versin reducida que ocupa una sola lnea:
If condicin then sentencia else sentencia
13
MACRO EN EXCEL
III. Estructuras de decisiones: Ramificaciones y ciclos
14
MACRO EN EXCEL
III. Estructuras de decisiones: Ramificaciones y ciclos
La sentencia Select Case permite realizar operaciones diferentes dependiendo del
valor de una variable.
EJEMPLO
Dependiendo del valor numrico de la nota se ejecutar un mensaje con suspenso,
aprobado, notable o sobresaliente.
Sub selectcase()
Dim notafinal As Double
notafinal = InputBox("Nota final de alumno", "Examen final")
Select Case notafinal
Case Is < 5
MsgBox "el alumno tiene la calificacion de:" & vbCrLf & "SUSPENSO"
Case 5 To 7
MsgBox "el alumno tiene la calificacion de:" & vbCrLf & "APROBADO"
Case 7 To 9
MsgBox "el alumno tiene la calificacion de:" & vbCrLf & "NOTABLE"
Case Else
MsgBox "el alumno tiene la calificacion de:" & vbCrLf & "SOBRESALIENTE"
End Select
Load Ejemplo_Option_Button
15
End Sub
MACRO EN EXCEL
III. Estructuras de decisiones: Ramificaciones y ciclos
EJEMPLO
16
MACRO EN EXCEL
III. Estructuras de decisiones: Ramificaciones y ciclos
Un bucle es una sucesin repetitiva de instrucciones, que se estarn realizando
mientras se cumpla una condicin o mientras no se cumpla otra condicin.
Existen dos formas de bucle:
17
MACRO EN EXCEL
III. Estructuras de decisiones: Ramificaciones y ciclos
Dim Iter As Integer
Dim Ciclo As Integer
Ciclo = 0
Iter = InputBox("Introduce un valor < 10", "Introduccin del nmero de iteraciones",
1)
Do While Iter > Ciclo
If Ciclo >= 10 Then
MsgBox "Nmero a iterar > 10"
Exit Do
Else
Ciclo = Ciclo + 1
MsgBox "Iteracin numero" & Ciclo
End If
Loop
2. Do Until: repite un bloque de cdigo mientras una condicin no sea True o hasta
que la condicin sea True.
18
MACRO EN EXCEL
III. Estructuras de decisiones: Ramificaciones y ciclos
Dim Iter As Integer
Dim Ciclo As Integer
Ciclo = 0
Iter = InputBox("Introduce un valor < 10", "Introduccin del nmero de iteraciones",
1)
Do Until Ciclo = Iter
If Ciclo >= 10 Then
MsgBox "Nmero a iterar > 10"
Else
Ciclo = Ciclo + 1
MsgBox "Iteracin numero " & Ciclo
End If
Loop
-Para salir de un bucle, podemos esperar a que se complete, bien porque se ha
cumplido la condicin o a que se haya llegado al final de la cuenta. Pero se puede
salir del bucle sin haber terminado la ejecucin total del mismo. Para ello, basta con
ejecutar la sentencia Exit Do (cuando hemos comenzado el bucle con Do While), o
19
con Exit For (cuando lo hemos comenzado con For To).
MACRO EN EXCEL
IV. Guardar archivos como Macros
Para almacenar una Macros que hemos creado debemos seleccionar la opcin Guardar
como. En el desplegable Guardar como Tipo se debe hacer clic en Libro de Excel
habilitado para macros (*.xlsm).
20
MACRO EN EXCEL
Ejemplo General
Calcular el rea de un crculo de tres modos diferentes: desde celdas de Excel,
desde InputBox a MsgBox y con botones de Excel
-Desde celdas de Excel:
Sub ejemplo1()
Dim area As Double
Dim radio As Double
Const PI = 3.141592653
radio = Range("A1")
area = PI * radio * radio
Range("B1") = area
End Sub
21
MACRO EN EXCEL
Ejemplo General
Calcular el rea de un crculo de tres modos diferentes: desde celdas de Excel,
desde InputBox a MsgBox y con botones de Excel
-Desde InputBox a MsgBox:
22
MACRO EN EXCEL
Ejemplo General
Calcular el rea de un crculo de tres modos diferentes: desde celdas de Excel,
desde InputBox a MsgBox y con botones de Excel
-En aplicaciones con botones desde Excel:
Sub BOTN_CALCULAR()
Dim radio As Double
Dim area As Double
Const Pi = 3.1416
radio = Range("A3")
area = Pi * radio * radio
Range("B3") = area
End Sub
Sub BOTN_ELIMINAR()
Range("A3") = Empty
Range("B3") = Empty
End Sub
CALCULAR
ELIMINAR
23
UNIDAD TEMTICA 1
Introduccin al manejo de EXCEL y VISIO
I.
INTRODUCCIN
Introduccin
Introduccin
Introduccin
Introduccin
Introduccin
Pgina de dibujo
15
UNIDAD TEMTICA 1
Introduccin al manejo de EXCEL y VISIO
ndice
I.
II. CREACIN
PROCESOS
DE
DIAGRAMAS
DE
INGENIERIA
DE
III. EJEMPLOS
I.
1. Iniciar Visio. En la ventana Elegir un tipo de dibujo, en Categora, debe hacer clic en
Diagrama de flujo.
2. En Plantilla, hacer clic en Diagrama de flujo bsico.
3. Arrastrar una forma, como Proceso, desde Formas para diagramas de flujo bsicos
hasta la pgina de dibujo.
4. Arrastrar una segunda forma (Proceso) hasta la pgina de dibujo.
5. En la barra de herramientas Estndar, hacer clic en la herramienta Conector y
arrastrar el puntero desde un punto de conexin de la primera forma hasta un punto de
conexin de la segunda forma. Los extremos del conector se deben volver de color rojo
para indicar que estn pegados a los puntos de conexin que haya especificado.
6. Para cambiar el estilo del conector, hacer clic en l con el botn secundario y, a
continuacin, hacer clic en Conector de ngulo recto o Conector recto en el men
contextual.
7. Seleccionar la forma Proceso y hacer clic en la flecha situada junto a los botones
Color de lnea y escoger el color negro. Posteriormente, seleccionar Color de relleno en la
barra de herramientas Formato para seleccionar el color anaranjado claro.
8. Hacer clic en la herramienta Texto y, despus, hacer clic en la forma y aadir el
texto que deseemos introducir.
9. Continuar agregando y conectando formas hasta completar el diagrama deseado. 3
I.
11
12
Seider, W.D., Seader, J.D. Lewin, D.R. Process Design Principles. 1999
UNIDAD TEMTICA 2
Resolucin de problemas numricos mediante EXCEL
At = a'ij 1i n a'ij = a ji
( )
1 j n
Suma de matrices
C = A B cij =
aik bkj
k =1
Producto de un escalar por una matriz
C = Acij = aij
Traza de una matriz
trA = aii
i =1
a11 a12
det A = a21 a22
a13
a23
a31 a32
a33
Matriz inversa
0
1
A B = BA = I B = A I =
0
0
Valores propios
0
1
0
0
0
0
1
0
0
0
1 2 1
-1 -4 3
A = 4 3 7 B = 5 -8 1
4 6
2 4 9
8
Evalese:
AT
A-1
3*A
A + B
Eliminacin gaussiana
Descomposicin LU
x1 + 12 x 2 + 13 x 3 + ..... + 1n x n = c1
x 2 + 23 x 3 + ..... + 2n x n = c2
x 3 + ..... + 3n x n = c3
A = L U
x n = cn
0 ... 0
11
11 12 ... 1n
21 22 ... 0
0 22 ... 2n
L =
U =
...
... ... ...
...
... ... ...
...
0
0
...
n2
nn
nn
n1
A x = (L U ) x = L (U x ) = c L y = c U x = y
x1 + 12 x2 + 13 x3 + ..... + 1n xn = c1
0 + 22 x2 + 23 x3 + ..... + 2n xn = c2
.......................................................
0 + n 2 x2 + n3 x3 + ..... + nn xn = c
4.Se repite todo el proceso, desde el paso 1, para el sistema ms pequeo resultante
9
de suprimir la primera fila y la primera columna. As sucesivamente hasta conseguir
la
triangularizacin completa del sistema.
3x1 2 x2 + x3 = 3
2 x1 + 4 x2 2 x3 = 2
4 x1 2 x2 3x3 = 12
10
x
=
3
1
2
3
3 x1 2 x2 + x3 = 3
4 x1 2 x2 3x3 = 12
2
4
2 x1 + 4 x2 2 x3 = 2 2 x1 + 4 x2 2 x3 = 2 2 x1 + 4 x2 2 x3 = 2
3x 2 x + x = 3
4 x1 2 x2 3 x3 = 12 3x1 2 x2 + x3 = 3
1
2
3
2 x1 + 4 x2 2 x3 = 2
2 x1 x2 x3 = 6
2
1
13
x
+
x3 = 12 16
64
1
3
2
x3 = 4
2
4
x
=
1
x1 x2 x3 = 3
3
5
5 x2 x3 = 8
5
2
4
1
1
8
1
1
8 x2 + x3 =
1
8
20
10 x2 x3 =
5 x2 x3 = 8 x2 x3 = 2
x2 = 2
2
10
5
10
5
3 x1 2 x2 + x3 = 3
1
13
1
3
x
+
x
=
12
x
x
=
3
2
3
1
2
3
16
64
x1 = 1
3
9
2
4
2
4
x
=
3 x1 x2 x3 = 9
3
5
5
2
4
1
13
x2 + x3 = 12
2
4
11
12
ij = aij
i 1
ik kj
k =1
j 1
1
ij =
aij ik kj
jj
k =1
De aqu:
yn
x
=
n
11
nn
i 1
n
1
1
ci ij y j ; i = 2,3,..., n
yi =
yi ij x j ; i = n 1, n 2,....,1
xi =
ii
ii
j =1
j = i +1
c
y1 = 1
13
2 x1 2 x2 + x3 = 1
x1 + x2 3x3 = 3
3x1 2 x2 x3 = 1
14
2 2 1
1
n = 3 A = 1 1 3 C = 3
3 2 1
1
A = L U
0 ... 0
11
11 12 ... 1n
21 22 ... 0
0 22 ... 2n
L =
U =
...
... ... ...
...
... ... ...
...
0
0
...
n2
nn
nn
n1
A x = (L U ) x = L (U x ) = c L y = c U x = y
15
0
0
2 2 1
11
0
A = 1 1 3
L = 21 22
3 2 1
31 32 33
n = 3
A = L U
1
11 12 13
C = 3
U = 0 22 23
1
0
0
33
A x = (L U ) x = L (U x ) = c L y = c U x = y
Paso 1 : 11 = 22 = 33 = 1
Paso 2 : Para cada j = 1, 2, 3 realizar de forma consecutiva estos dos procedimientos :
Para cada i = 1, 2, , j calcular ij = aij
i 1
ik kj
k =1
j 1
1
Para i = j + 1, j + 2,, 3 calcular ij =
a
jj ij k =1 ik kj
16
2 2 1
A
=
1
1
0
0
11
11 12
3 2 1
0 U = 0 22
L = 21 22
1
0
0
31 32 33
C = 3
11 = 22 = 33 = 1
13
23
33
i 1
ik kj
k =1
j 1
1
aij ik kj
jj
k =1
{i = 1 11 = a11 = 2}
i = 1 12 = a12 = 2
1
1
i = 2 21 =
[a21 ] =
i = 2 22 = a22 2112 = 2
j = 1
11
2 j = 2
1
1
1
3
[
]
i
=
3
=
a
32
32
31 12
i = 3 31 =
[a31 ] =
22
11
2
i = 1 13 = a13 = 1
j = 3 i = 2 23 = a23 2113 =
3
i = 3 33 = a3 [ 3113 + 32 23 ] =
4
17
2 2 1
A
=
1
1
1
1
L =
2
1
3
C = 3
0
1
1
2
0
2
2
1
7
0 U = 0 2
2
1
0 0
c
y = 1
y1 = 1
1
11
1
5
[
]
y
=
c
y
=
2
2
21
1
i 1
22
2
1
ci ij y j ; i = 2,3
yi =
ii
1
j =1
y3 =
[c3 (31 y1 + 32 y2 )] = 15
33
4
y
x = 5
x3 = 3
3
33
1
[y2 23 x3 ] = 10
x
=
2
n
1
22
yi ij x j ; i = 2,1
xi =
ii
1
j =i +1
x1 =
[y1 (12 x2 + 13 x3 )] = 8
11
18
x1 x2
2 x1 + x2 3x3
3x2 4 x3 + 2 x4
x3 5 x4
=1
=1
=3
=3
19
a11 a12
a21 a22
1
1
AA = A A = I
...
...
an1 an 2
... ...
...
...
... ann bn1 bn 2
... b1n 1
... b2n 0
=
... ...
...
... bnn 0
0 ... 0
1 ... 0
... ... ...
0 ... 1
21 1n
2n n1
22 22
23 32
2n n 2
22 2n
23 3n
2n nn
,
,....,
.......................................................
.......................................................
.......................................................
an1b11 + an 2b21 + an3b31 + ..... + annbn 2 = 0 an1b12 + an 2b22 + an3b32 + ..... + annbn 2 = 0
an1b1n + an 2b2n + an3b3n + ..... + annbnn = 1
det A =
jj
j =1
(matriz U)
20
f ( x ) = f ( x1 ) + f ( x1 )(x x1 )
f ( x 2 ) f ( x1 )
( x x1 )
f ( x ) = f ( x1 ) +
x
x
2
1
f ( x 2 ) f ( x1 )
f ( x1 ) =
x 2 x1
21
P( x ) = L k ( x )f ( x k ) L k ( x ) =
k =0
(x x j )
j= 0
j k
n
(x k x j )
j= 0
j k
22
16
23
f (x2 ) f (x1 )
(x x1 ) = 4 + 9 4 (2.9 2) = 8.5
x2 x1
3 2
i
0
1
2
3
x xj
j =0
jk
Lagrange : P( x) = Lk ( x) f ( xk ) Lk ( x) = n
k =0
xk x j
j =0
j k
n + 1 = 4
P ( x) = L0 ( x) f ( x0 ) + L1( x) f ( x1) + L2 ( x) f ( x2 ) + L3 ( x) f ( x3 )
n = 3
(x x1 )(x x2 )(x x3 ) ; k = 1 L ( x) = (x x0 )(x x2 )(x x3 )
k = 0 L0 ( x) =
1
(x0 x1 )(x0 x2 )(x0 x3 )
(x1 x0 )(x1 x2 )(x1 x3 )
k = 2 L2 ( x) =
x
1
2
3
4
y=f(x)
1
4
9
16
P (2.9) = 8.41
25
ndice de refraccin
10
1.3479
15
1.3557
20
1.3639
25
1.3723
30
1.3811
35
1.3902
26
xn = b
f(x)
n f ( x ) + f ( x )
i
i 1
f ( x)dx
i =1
x =a
f(x)
xn x0
h
h
=
x
x
=
i
i 1
n
xn
a
f ( x0 ) n 1
f ( xn )
f ( x)dx h 2 + f ( xi ) + 2
i =1
x0
x2 m
)
)
1
3
2 m 1
x0
27
0.4
x exp( x)dx
28
n=2m=10, h= (xn-x0)/n=0.04
xn =10
f ( x0 ) 9
f ( x10 )
Trapecios : IT = f ( x)dx h
+ f ( xi ) +
2
2
x10 =0.4
i =1
x0
x exp( x)dx
x2 m=10
h ( f ( x0 ) + f ( x10 ) ) + 2( f ( x2 ) + f ( x4 ) + f ( x6 ) + f ( x8 ) +
x0 =0
Simpson
:
I
=
f
(
x
)
dx
+ 4( f ( x ) + f ( x ) + f ( x ) + f ( x ) + f ( x ) )
3
1
3
5
7
9
x0
I T = 6.1472 10 2 I S = 6.1552 10 2
I real = 6.1550 10 2
ndice
0
1
2
3
4
5
6
7
8
9
10
x
0
0.04
0.08
0.12
0.16
0.2
0.24
0.28
0.32
0.36
0.4
f(x)
0
0.03843158
0.07384931
0.10643045
0.13634301
0.16374615
0.18879069
0.21161945
0.23236769
29
0.25116348
0.26812802
30
5 * exp(3 x) * sin(10 x) * x
2
3
0
1+ x
dx
31
xn
x0
32
y(x)
-1.6
20
7.6
40
15.4
60
26.1
100
42.2
200
60.6
400
60.6
y ( x)dx
7 .6
33
x
y(x)
ndice
0
7.6
40
1
15.4
60
2
26.1
100
3
42.2
200
4
60.6
400
60.6
4 y ( x ) + y ( x )
1
(
)
x
x
=
i
i
1
y( x)dx =
i =1
7.6
60 + 40
100 + 60
(15.4 7.6) +
(26.1 15.4) +
=
2
2
200 + 100
400 + 200
(42.2 26.1) +
(60.6 42.2) = 918134
+
2
2
35
11
15
y(x)
0.368
0.572
0.675
0.793
0.906
1.042
1.176
Evalese la integral
14
y ( x)dx
2 .5
f ( x + h) f ( x )
f ( x)
h
5
h
=
10
x
f ( x + h) 2 f ( x) + f ( x h)
f ( x)
h2
37
f ( x) = x x = 0.1
f ( x) = ln x x = 10
3
38
f ( x)
f ( x + h) f ( x )
h
(
x + h )2 x 2
=
= 0.200001
h
f ( x) = ln x x = 10 h = 10 *105 = 10 4
f 'a (x ) =
1
ln( x + h) ln( x)
= 0.1 f 'n =
= 0.1
x
h
[
(
x + h )3 * sen( x + h) + cos( x + h)] [x3 * sen( x) + cos( x)]
f 'n =
= 1.01496 10 2
h
39
f (x )
xi +1 = xi f ( xi )
i
f(x)
x2
x1
x0
x2 = x1 f (x1 )
x2 x0
x 2 x1
3. Si x 2
y x2
la siguiente condicin:
x1 x0
f ( x1 ) f ( x0 )
f ( x) = x exp( x) + x 5 exp( x) 5
usando
1. El mtodo de Newton
2. El mtodo de la falsa posicin (utilizar x=4.2 como segunda aproximacin)
42
xi exp( xi ) + xi 5 exp( xi ) 5
f ( xi )
xi +1 = xi = xi
f ( xi )
4 exp( xi ) + xi exp( xi ) + 1
x x
A = i +1 i
xi +1
Si A < 0.001 el proceso iterativo acaba; sino se vuelve al principio
i
0
1
2
3
4
xi
6
5.49938108
5.16587055
5.02348373
5.00053539
f(xi)
f'(xi)
xi+1
A
404.428793 807.857587 5.49938108 0.09103187
122.618297 367.65945 5.16587055 0.06456037
29.2247167 205.24875 5.02348373 0.02834424
3.59159508 156.507812 5.00053539 0.00458918
43
0.08003673 149.572141 5.00000028 0.00010702
x0
4.2
4.41254475
4.58421947
4.71491686
4.80941565
4.87497523
4.91907417
4.94809499
4.96691011
4.97898824
4.98669173
4.99158464
x1
6
6
6
6
6
6
6
6
6
6
6
6
f(x0)
-54.1490648
-49.0402269
-41.1318053
-32.1002281
-23.5676459
-16.499632
-11.1577163
-7.36564635
-4.78422053
-3.07459279
-1.96231965
-1.24689972
f(x1)
404.428793
404.428793
404.428793
404.428793
404.428793
404.428793
404.428793
404.428793
404.428793
404.428793
404.428793
404.428793
x2
4.41254475
4.58421947
4.71491686
4.80941565
4.87497523
4.91907417
4.94809499
4.96691011
4.97898824
4.98669173
4.99158464
4.99468414
f(x2)
-49.0402269
-41.1318053
-32.1002281
-23.5676459
-16.499632
-11.1577163
-7.36564635
-4.78422053
-3.07459279
-1.96231965
-1.24689972
-0.79007674
, volver calcular x2
A
0.04816829
0.03744906
0.02771998
0.0196487
0.01344819
0.00896488
0.00586505
0.00378809
0.00242582
0.00154481
0.00098023
0.00062056
B
0.35975958
0.30883786
0.2725569
0.24755281
0.23077548
0.21974172
0.21258788
0.20799448
0.2050641
0.20320251
0.20202309
0.2012771644
45
xtg ( x) = x x + 1
si sta est comprendida entre 0.5 y 1.
46
47
100
f ( x) = x
x +1
48
49
Bn1 = A pn1 = tr ( B n1 )
B j = A B j +1 p j +1 I
n
n 1
n 1
) p
tr ( B j )
n j
..... p1 p0 = 0
A =
p0
(B1 p1 I )
50
51
52
y p = b + b x
1
2
(xi , yi ) i = 1,2,..., n 2 n p
2 n
2
= y ( xi ) yi = (b1 + b2 xi yi )
i =1
i =1
n
n
n
y j
n [xi yi ] xi yi
j
=
1
2
i
i =1 i =1
n
b2 = i =1
i =1
2
n
n
n xi xi
r =
2
i =1
i =1
n
n
n
y j
n
yi b2 xi
j =1
yi
i
=
1
i
=
1
b1 =
i =1
n
n
53
0.9
2.3
3.3
4.5
5.7
6.7
1.1
1.6
2.6
3.2
4.0
5.0
y = a0 + a1x
54
0.9
2.3
3.3
4.5
5.7
6.7
1.1
1.6
2.6
3.2
4.0
5.0
i
1
2
3
4
5
6
SUMATORIOS:
xi
0.9
2.3
3.3
4.5
5.7
6.7
23.4
a1=
a0=
r=
0.67208904
0.29551941
0.99173834
yi
1.1
1.6
2.6
3.2
4
5
17.5
xi^2
0.81
5.29
10.89
20.25
32.49
44.89
114.62
xi*yi
0.99
3.68
8.58
14.4
22.8
33.5
83.95
y = a0 + a1x
(yi-(yi/n))^2
3.300277778
1.733611111
0.100277778
0.080277778
1.173611111
4.340277778
10.72833333
(a0+a1xi-yi)^2
0.039840342
0.05823737
0.007497267
0.014380828
0.015983771
0.04059581
0.176535388
55
56
y
0.5
0.8
1.0
1.5
1.8
1.9
2.0
2.1
2.12
2.15
ax
y=
b+x
57
5.7
10.4
16.0
22.4
29.4
y = ax
58
b2
T + b3
b 3
b2
[
]
r
=
b
C
exp
Velocidad de reaccin:
1 A
T
n
2
2 = yip yi
i =1
ax
y=
b+x
x
y
0.1
0.5
0.5
0.8
1
1.0
2
1.5
3
1.8
4
1.9
5
2.0
6
2.1
7
2.12
8
2.15
Supngase como estimaciones iniciales de a y b las siguientes: 4 y 2,
5
respectivamente.
y = a exp(bx)
1.5
2.0
2.5
3.0
3.5
y(x)
3.3
3.5
3.7
3.9
4.0
4.3
x
j
j=1
n f ( x , x ,....., x )
n d
0 = f i ( x1, x 2 ,....., x n ) + i 1 2
j
x
j
j=1
n f ( x , x ,....., x )
n d = f ( x , x ,....., x )
i 1 2
j
i 1 2
n
x
j
j=1
x10 , x 02 ,....., x 0n
ci = f i ( x1r , x r2 ,....., x rn )
f
i = 1,2,..., n j = 1,2,..., n
a ij = i
x j x1r , x r2 ,....., x rn
.......................................................
a n1d1 + a n 2 d 2 + a n 3d 3 + ..... + a nn d n = c n
4.Se calcula
x ir +1 = x ir + d i i = 1,2,..., n
x ir +1 x ir
< 103
5.La secuencia acaba cuando para todo i=1, 2, , n:
x ir +1
x10 , x20
a11d1 + a12 d 2 = c1
a21d1 + a22 d 2 = c2
se obtiene d1, d2
4.Se calcula
x1r+1 x1r
x2r+1 x2r
3
3
5.La secuencia acaba cuando A1 = x1r+1 < 10 y A 2 = x2r+1 < 10
10
11
2
2
f1 ( x1, x2 ) = 2 x1 + 3x2 50 = 0
2
f 2 ( x1, x2 ) = 2 x1 x2 9 = 0
12
Resolucin
2) Evaluar
2
2
2
c1 = f1( x1r , x2r ) = 2 x1r + 3 x2r 50 = 45; c2 = f 2 ( x1r , x2r ) = 2 x1r x2r 9 = 8
[] []
[]
f
f
a11 = 1
= 4 x1r = 4; a12 = 1
= 6 x2r = 6
x1 x1r , x2r
x2 x1r , x2r
f
f
a21 = 2
= 4 x1r = 4; a22 = 2
= 1
x1 x1r , x2r
x2 x1r , x2r
c1 a12 d 2
d
=
= 3.3214286
1
a11d1 + a12 d 2 = c1
a11
3) Resolver el sistema :
a21d1 + a22 d 2 = c2
c a a c
d 2 = 2 11 21 1 = 5.2857143
r +1
r
x2 = x2 + d 2 = 6.2857143
x1r +1 x1r
x2r +1 x2r
5) La secuencia acaba cuando : A1 =
= 0.7686 y A2 =
= 0.8409 < 103 sino r r + 1 y13
volver a 2)
r +1
r +1
x1
x2
(x1)r
(x2)r
c1
c2
a11
1
1
45
8
4
4.32142857 6.28571429 -105.880102 -22.0637755 17.2857143
2.91976402 4.12071692 -17.9909678 -3.929327 11.6790561
2.53651767 3.57408825 -1.19016425 -0.29375554 10.1460707
2.50362864 3.5341494 -0.00694871 -0.00216338 10.0145146
r
0
1
2
3
4
d1
3.32142857
-1.40166455
-0.38324635
-0.03288903
-0.00023754
d2
5.28571429
-2.16499736
-0.54662867
-0.03993885
-0.00021551
(x1)r+1
4.32142857
2.91976402
2.53651767
2.50362864
2.5033911
(x2)r+1
6.28571429
4.12071692
3.57408825
3.5341494
3.53393389
a12
6
37.7142857
24.7243015
21.4445295
21.2048964
a21
4
17.2857143
11.6790561
10.1460707
10.0145146
A1
0.76859504
0.4800609
0.15109154
0.01313654
9.4889E-05
A2
0.84090909
0.52539337
0.15294213
0.01130084
6.0982E-05
a22
-1
-1
-1
-1
-1
14
15
1.203 = ln( x1 ) x2
0.939 = ln( x2 ) x1
16
y
x + =3
x
2
y + xy = 6
17
Descripcin general
yi ( t = 0) = (yi )0
dyi
= yi = f i ( t; y1, y 2 ,...., y N )
dt
i = 1,2,..., N
Mtodo de Euler
y i ( t + h ) = y i ( t ) + hf i (t; y1 ( t ), y 2 ( t ),..., y N ( t ) )
1.Conocidos
2.Calcular
3.Si
y i ( t + h ) = y i ( t ) + hf i (t; y1 ( t ), y 2 ( t ),..., y N ( t ) )
t+h=tf
y volver a 2.
18
1.Conocido
2.Calcular
y (t + h) = y (t ) + hf (t ; y (t ) )
t t +h
y volver a 2.
19
1
[ki1 + 2ki 2 + 2ki3 + ki 4 ]
6
h
1
1
1
h
1
1
1
k = hf t + ; y (t ) + k , y (t ) + k ,..., y (t ) + k
i
1
12 2
22
N
N 2
i3
2
2
2
2
t t + hy
volver a 2.
20
1
[k1 + 2k2 + 2k3 + k4 ]
6
k1 = hf (t ; y (t ) )
h
1
k2 = hf t + ; y (t ) + k1
2
h
1
k = hf t + ; y (t ) + k
2
3
2
2
k4 = hf (t + h; y (t ) + k3 )
3.Si
t t +h
y volver a 2.
21
Ejercicio
Calclese el valor y(0.5) usando los mtodos de Euler y Runge-Kutta de cuarto
orden donde
dy
= x exp(y) y(0) = 1
dx
22
Resolucin (Euler)
dy
= x exp(y) y(0) = 1
dx
1) x = 0, y(x = 0) = 1, h = 0.1, x f = 0.5
2) y(x + h) = y(x) + hf ( x; y(x)) = y(x) + h "# x exp ( y(x))$%
3) Si x + h = x f entonces finalizar sino t t + h y volver a 2)
x
0
0.1
0.2
0.3
0.4
y(x)
1
1
1.08595962
1.21843686
1.403671
f(x;y(x))
0
0.85959619
1.32477239
1.85234139
2.57416608
x+h
0.1
0.2
0.3
0.4
0.5
y(x+h)
1
1.08595962
1.21843686
1.403671
1.6610876123
Resolucin (Runge-Kutta)
dy
= x exp(y) y(0) = 1
dx
1) x = 0, y(x = 0) = 1, h = 0.1, x f = 0.5
1
[k1 + 2k2 + 2k3 + k4 ]
6
k1 = hf ( x; y(x)) = h "# x exp ( y(x))$%
&
&
h
1 ) "
h
1 )$
k2 = hf ( x + ; y(x) + k1 + = h , x + exp ( y(x) + k1 +'
'
2
2 * #
2
2 *%
&
&
h
1 ) "
h
1 )$
k3 = hf ( x + ; y(x) + k2 + = h , x + exp ( y(x) + k2 +'
'
2
2 * #
2
2 *%
k4 = hf ( x + h; y(x) + k3 ) = h "# x + h exp ( y(x) + k3 )$%
3) Si x + h = x f entonces finalizar sino t t + h y volver a 2)
2) y(x + h) = y(x) +
24
Resolucin (Runge-Kutta)
x
0
0.1
0.2
0.3
0.4
dy
= x exp(y) y(0) = 1
dx
1) x = 0, y(x = 0) = 1, h = 0.1, x f = 0.5
1
[k1 + 2k2 + 2k3 + k4 ]
6
k1 = hf ( x; y(x)) = h "# x exp ( y(x))$%
&
&
h
1 ) "
h
1 )$
k2 = hf ( x + ; y(x) + k1 + = h , x + exp ( y(x) + k1 +'
'
2
2 * #
2
2 *%
2) y(x + h) = y(x) +
y(x)
1
1.05639996
1.17389444
1.34998618
1.60878043
k1
0
0.09094706
0.14465414
0.21127698
0.31601992
x+h/2
0.05
0.15
0.25
0.35
0.45
y(x)+k1/2
1
1.10187349
1.24622151
1.45562467
1.76679039
k2
0.06078263
0.11656904
0.17385898
0.25363185
0.3925668
k3
0.06265825
0.11807201
0.17641637
0.2590604
0.40788292
x+h
0.1
0.2
0.3
0.4
0.5
y(x)+k3
1.06265825
1.17447197
1.35031081
1.60904657
2.01666334
k4
0.09151802
0.14473771
0.21134558
0.31610404
0.53126446
y(x+h)
1.05639996
1.17389444
1.34998618
1.60878043
2.01681106
y(x)+k2/2
1.03039131
1.11468448
1.26082393
1.4768021
1.80506383
&
&
h
1 ) "
h
1 )$
k3 = hf ( x + ; y(x) + k2 + = h , x + exp ( y(x) + k2 +'
'
2
2 * #
2
2 *%
k4 = hf ( x + h; y(x) + k3 ) = h "# x + h exp ( y(x) + k3 )$%
3) Si x + h = x f entonces finalizar sino t t + h y volver a 2)
25
26
Ejemplo
Considrese el siguiente conjunto de ecuaciones diferenciales de primer orden:
y1
10 y1 y 2 exp
dy1
=
dx
100
1 + x2
y1
y1 y 2 exp
dy2
100
=
dx
1 + x2
27
2
( (0) = 0
! d $
d
+# & = 0 )
q = (1+ )
" dx %
dx
* (1) = 1
" x1 = 0
#
$ x N+2 = 1
CL
CL
ED
Las derivadas se representaran de la siguiente manera:
28
2
(0) = 0
d
d
(1 + ) 2 + = 0
q = (1 + )
dx
dx
dx
(1) = 1
d 2
N+2=4
i = 1;
1 = 0
i = 2;
# 2 + & # &
(1+ 2 ) %$ 3 22 1 (' + %$ 3 1 (' = 0
x
2x
i = 3;
i = 4;
# 4 2 3 + 2 & # 4 2 &
1+
(+%
( =0
( 3 ) %$
' $ 2x '
x 2
4 1 = 0 4 = 1
x =
1
= 0.33333
3
Solucin
0.33333
0.66666
0.4130
0.7314
)
# 31 + 4 2 3 &
q
0
=
1+
( = 1.381
(
)
(
)
+
1 %
+
$
'
2x
*
+q 1 = 1+ # N 4 N+1 + 3 N+2 & = 1.462
(
4 )%
+, ( ) (
$
'
2x
29
30
x =
1
= 0.25
4
Solucin
x
0.25
0.3221
0.5
0.75
0.58056 0.8025
)
# 31 + 4 2 3 &
( = 1.416
+q ( 0 ) = (1+ 1 ) %
+
$
'
2x
*
+q 1 = 1+ # N 4 N+1 + 3 N+2 & = 1.483
(
4 )%
+, ( ) (
$
'
2x
1
1
1
N+2=4
0.8
N+2=5
0.6
0.4
0.2
31
0
0
0.2
0.4
0.6
0.8
=
c
x
dx
=
= 0.166665
dx
dx
c(1) = 1
0
1
Solucin (N+2=5): x = 4 = 0.25
)
# 3c1 + 4c2 c3 &
%
(=0 +
$
'
2x
+
x
0
0.25
0.5
0.75
1
+
c3 2c2 + c1
36c2 = 0 +
c
-0.00178
0.01420
0.06215
0.24992
1
2
x
+
+
c4 2c3 + c2
36c
=
0
*
3
N+2 $
1
c ( xi ) + c ( xi1 ) '
x 2
+
=
c
x
dx
)( xi xi1 ) = 0.2063
( ) &%
+
c5 2c4 + c3
2
(
0
36c4 = 0+
i=2
2
x
+
c5 1 = 0
+
+,
d 2c
i = 1;
i = 2;
i = 3;
i = 4;
i = 5;
32
El error cometido, respecto a la solucin exacta, es del 23.8 %.El error
disminuye al 3% cuando N+2= 12. Comprubese.
x = 0; y = 1
d y
dy
2
(
)
=
x
10
y
+
x
+
x
dy
2
dx
dx
x = 0.5; dx = 0
2
33
UNIDAD TEMTICA 3
Introduccin a la programacin en EXCEL-VBA y aplicaciones
q Dentro de los lenguajes de alto nivel disponibles comercialmente hay que destacar
el Visual Basic que deriva, en origen, del BASIC (Beginner's All-purpose Symbolic
Instruction Code).
q El BASIC original, el Dartmouth BASIC, fue diseado en 1964 por John George
Kemeny y Thomas Eugene Kurtz en el Dartmouth College en New Hampshire,
Estados Unidos, como un medio para facilitar la programacin de computadores a
estudiantes y profesores que no tuvieran formacin cientfica o tecnolgica; en
realidad fue concebido como una herramienta de enseanza. Este lenguaje y sus
variantes llegaron a ser ampliamente utilizados desde finales de los aos setenta
y durante toda la dcada de los ochenta.
q En 1991 aparece la primera versin del lenguaje Visual Basic con la intencin de
simplificar la programacin orientada a objetos. Fue desarrollado para Microsoft
por el alemn Alan Cooper.
q Por su parte, Microsoft VBA (Visual Basic for Applications) es el lenguaje de
macros de Microsoft Visual Basic que se utiliza para programar aplicaciones
Windows y que se incluye en varias aplicaciones Microsoft.
q La facilidad de conexin de la aplicacin Excel a los simuladores comerciales de
procesos ms empleados: HYSYS y ASPEN, UNISIM y PROMAX, hace posible
3
diseos y optimizaciones de procesos muy complejos con cdigos VBA muy simples.
Los datos de tipo entero son aquellos que no gestionan valores con parte decimal.
En VBA pueden manejarse dos tipos de datos enteros:
Ejemplo:
Private J As Long
Public Sub Enteros ()
Dim I As Integer
I = 7
J = 50000
10
Los tipos reales manipulan valores que no slo guardan la parte entera sino tambin la
decimal o fraccionaria de un nmero. Pueden ser de dos tipos:
q Real de simple precisin (tipo Single). Ocupan 4 bytes y consideran 7 cifras
significativas en formato exponencial. Representan nmeros comprendidos entre
-3,402823E+38 a -1,401298E-45, para valores negativos, entre 1,401298E-45 a
3,402823E+38, para valores positivos, y el cero.
q Real de doble precisin (tipo Double). Ocupan 8 bytes y consideran 15 cifras
significativas en formato exponencial. Representan nmeros comprendidos entre
1.79769313486231E+308 a -4,94065645841247E-324, para valores negativos,
entre 4,94065645841247E-324 a 1,79769313486232E+308, para valores
positivos, y el cero.
Ejemplo:
Private s As Single
Public Sub reales ()
Dim r As Double
r = 1.5E+300
s = -1.34E-23
11
Los tipos carcter o cadena (tipo String) se usan para el manejo de caracteres. Los
tipos de cadena se gestionan a travs de variables que pueden almacenar
hasta
65535 caracteres.
Ejemplo
Dim S As String
S = "base de datos"
...
Si se definiera una variable de la forma
Dim NombreEmp As String * 50
Los tipos lgicos (tipo Boolean) posibilitan la declaracin de variables que almacenan
valores lgicos. Ocupan dos bytes y su rango de variacin es binario: False o True
(Verdadero o Falso, respectivamente).
Ejemplo
If Recorder.Direction = 1 Then
BlnEjecutando = True
End If
13
Una constante se representa con un nombre que hace referencia a un nmero o una
cadena que no vara durante la ejecucin de la aplicacin. Las constantes definidas por
el usuario se declaran mediante la instruccin Const:
La definicin de una constante con Const tiene igual alcance que una declaracin de
variable; adems, se le aplican las mismas reglas:
q Para crear una constante disponible para todos los procedimientos de un mdulo,
pero no para el cdigo que est fuera del mdulo, sta ha de ser declarada en la
seccin Declaraciones del mdulo con la palabra clave Private.
q Para crear una constante disponible para toda la aplicacin, sta ha de ser
declarada en la seccin Declaraciones de un mdulo con la palabra clave Public.
Una variable es la representacin de una cantidad que ocupa un rea de memoria del
ordenador. Las variables tienen nombre y un tipo de dato asociado (que determina
cmo se almacenan stas en la memoria del equipo.
Private I As Integer
Dim Cantidad As String
Public PagadoPorJuan As Boolean
15
Es recomendable que todas las variables y por extensin, todas las matrices, sean
definidas de forma explcita. Para ello, ha de incluirse la siguiente instruccin en la
seccin Declaraciones del mdulo:
Option Explicit
Ejemplo:
Option Explicit
Public Sub Calcular (num As Integer, SafeSqr As Double)
Dim TempVal as Integer
TempVal = Abs (num)
SafeSqr = Sqr (TempVal)
16
End Sub
Caso 1
Generar una aplicacin EXCEL-VBA que lea el contenido de las celdas (3,2) y (7,2).
La primera de ellas contiene el dato 1.3456 que ha de ser asignado a una variable
entera, I, a una variable real de doble precisin, z, y a una variable de tipo cadena,
ch; cada una de estas variables se escribirn en las celdas (2,5), (3,5) y (4,5). La
celda (7,2) contendr el valor True; ste ser asignado a una variable de tipo lgico,
bool, que se escribir en la celda (7,5).
17
18
19
Alcance
Privado
Pblico
Nivel de
No es aplicable. No se puede
procedimiento
dentro de un procedimiento
Dim
Nivel de mdulo
Private
Public
20
21
22
23
24
25
26
Matrices dinmicas
qPara crear una matriz dinmica declrese con las instrucciones Public, Private o
Dim de la siguiente forma:
qLa instruccin ReDim acepta la misma sintaxis que se utiliza en las matrices fijas:
T (i) = A(i)
1.2
28
29
30
n n
n n
Calculo = Ti , j Ti , j
i =1 j =1
i =1 j =1
31
32
33
Operaciones aritmticas
q Operaciones bsicas: suma (+), resta (-), multiplicacin (*), divisin (/),
exponenciacin (^), cociente entero, que devuelve la parte entera de la operacin,
(\), resto de la divisin entera (mod):
q Todos los clculos que se deseen deben especificarse explcitamente. As, para
multiplicar las variables A y B se escribir
A * B B * A
34
Operaciones lgicas
Relaciones lgicas
Las expresiones que se relacionan han de ser todas del mismo tipo. El resultado de
una relacin lgica puede ser o False o True:
A = 2; B = 3
(A * B) > (A + B)
True
7 < 5
False
Operadores lgicos
Not Cambia el valor de True a
False y viceversa
And Producto lgico
Or Suma lgica
Not A
A And B
A Or B
True
True
False
True
True
True
False
False
False
True
False
True
True
False
True
False
False
True
False
False
35
Una expresin lgica est constituida por una constante lgica, una variable lgica y/
o una relacin lgica
Ejemplo:
Dim L As Boolean, M As Boolean, N As Boolean
.
L = True
M = L
N = 6 > 3
Ejemplo:
36
Caso 5
Generar una aplicacin EXCEL-VBA que realice, para cualquier combinacin de
valores lgicos de AL y BL, las siguientes operaciones:
Not AL; AL Or BL;AL And BL;(AL And (Not BL)) Or (True And (Not AL))
Asimismo, deber realizar la siguiente operacin:
((A < (B + C)) And (Not (I = 1))) Or (K <= M)
donde A = 5; B = 3; C = 2; I =1; J = 0; K = 0; M = 3.
37
38
1.Parntesis
2.Cualquier operacin aritmtica en este orden:
Exponenciacin (^)
Negacin de resultados (-)
Producto o cociente real (*, /)
Cociente entero (\)
Mdulo o resto de la divisin entera (mod)
Suma o resta (+, -)
3.Relaciones lgicas (<, >, =, <=, >=, <>)
4.Cualquier operacin lgica en este orden:
Not
And
Or
39
B + (8 * C) * A^2 * B + A^2
B + 16 * A^2 * B + A^2
B + 16 * 25 * B + A^2
B + 16 * 25 * B + 25
B + 400 * B + 25
B + 1200+ 25
1203+ 25
1228
40
False Or (K <= M)
False Or True
True
41
qUn algoritmo debe ser preciso e indicar el orden de realizacin de cada paso.
qUn algoritmo debe estar definido. Si se sigue un algoritmo dos veces, se debe
obtener el mismo resultado cada vez.
qUn algoritmo debe ser finito. Si se sigue un algoritmo, se debe terminar en algn
momento.
qLa definicin de un algoritmo debera describir tres partes:
Entrada
Proceso
Salida
42
Un algoritmo, por tanto, describe la transformacin de la entrada en la salida.
q
q
q
q
q
Un programa informtico puede ser escrito utilizando los tres tipos siguientes de
estructuras de control:
SECUENCIAL
SELECTIVA
ITERATIVA
43
Ejemplo:
Dim Altura As Double, Base As Double, Area As Double
Altura = 12.30
Base = 10.80
Area = Base * Altura
44
Reglas de conversin:
SECUENCIAL: Asignacin
Expresin
Variable
Integer
Double
Integer
Asignar
Truncar y asignar
Double
Asignar
45
Cells(Fila, Columna)
Hay que tener en cuenta que mientras las Filas en Excel se refieren mediante un
nmero, las columnas lo hacen con una letra. En este ltimo caso es necesario
establecer la siguiente equivalencia
A1; B2; C3; D4; E5; F6; G7; H8; I9; J10
Entrada = Cells ( 2 , 7 )
Cells ( 3 , 9 ) = Salida
46
Ejemplo:
Ejemplo:
Sheets("DEFINICION").Select
47
Genrese una aplicacin EXCEL-VBA que defina las variables i y hinteger del tipo
Integer y las variables h, caja e idouble como del tipo Double.
48
Caso 6
49
Caso 6
50
Alternativa simple
51
VBA permite la anidacin de tantos If como se quiera.
Alternativa doble
52
Al igual que en el caso anterior no existe limitacin en el uso de anidamientos.
53
54
55
56
Do-While
Do While condicin
Sentencia ejecutable 1
Sentencia ejecutable 2
.
Sentencia ejecutable n
Loop
58
59
60
qSi una sentencia For aparece dentro de otra For, Do-While If, su rango debe
estar comprendido dentro del bucle que lo contiene.
qLa variable contador nunca puede ser modificada dentro del bucle.
61
62
Caso 9
63
Caso 9
64
Algoritmo de burbuja
A(1)
A(2)
A(3)
A(4)
Inicial
Comp. 1
Comp. 2
Comp. 3
Comp. 4
Comp. 5
FIN
For I = 1 To N-1
For J = I + 1 To N
If A( I ) < A ( J ) Then
C = A( I )
A( I ) = A( J )
A( J ) = C
End If
Next J
Next I
65
VIII.Algoritmos de utilidad
Sumatorios
S=
AI
I =1
Dim I As Integer
Dim Suma As Double
Suma = 0
For I = 1 To N
Suma = Suma + A( I )
Next I
66
VIII.Algoritmos de utilidad
Ejercicios
Desarrllese un cdigo que permita evaluar los siguientes sumatorios
N A
S = I
4
1
+
A
I =1
I
N
1
S = (1 + AI )
I =1
J =1 1 + AJ
67
VIII.Algoritmos de utilidad
Productorios
S = AI
I =1
Dim I As Integer
Dim Producto As Double
Producto = 1
For I = 1 To N
Producto = Producto * A( I )
Next I
68
VIII.Algoritmos de utilidad
Ejercicios
Desarrllese un cdigo que permita evaluar los siguientes productorios
N
S = (1 + AI ) ( AI AJ )
I =1
J =1
(1 + AJ )
N
J =1
S =
N
I =1
2
( AI + (A j 1)
J =I
69
1
S = i
i =0 2
70
x1 + 2x 2 x 3
=2
4x 2 x 3 + x 4 = 9
2x 3 x 4 = 2
usando el algoritmo de Thomas, cuya secuencia es la siguiente:
c j a j , j 1 q j 1
a12
1.Calcular:
qj =
p1 =
a j , j a j , j 1 p j 1
c N a N , N 1 q N 1
a11
q N =
c1
a j , j +1
a N , N a N , N 1 p N 1
q1 =
pj =
a
a j , j a j , j 1 p j 1
11
2 a N 1
2.Para la ltima secuencia de descomposicin se tiene que x n = q n
x j1 = q j1 p j1x j
y, de forma recurrente, de j=n a 2
71 y la
Disese un mdulo que incluya la lectura de datos, el proceso de clculo
escritura de los resultados.
P0 (mm Hg)
-1.6
20
7.6
40
15.4
60
26.1
100
42.2
200
60.6
400
Este mtodo se basa en considerar un conjunto de n+1 puntos (xi,fi) donde i=0, 1,
2, , n. Para cualquier valor de x no coincidente con alguno de los valores xi,
puede evaluarse el correspondiente valor de f, que se denominar genricamente
n
P( x ) = L k ( x )f ( x k ) L k ( x ) =
k =0
j= 0
j k
n
(x k x j )
j= 0
j k
72 y la
Disese un mdulo que incluya la lectura de datos, el proceso de clculo
escritura de los resultados.
PROGRAMACIN MODULAR
ndice
I. Introduccin
II. Programacin modular
III.Organizacin general de los mdulos en VBA
IV. Subrutinas
V. Funciones predefinidas en VBA
VI. Ejemplos
PROGRAMACIN MODULAR
I.Introduccin
Caractersticas fundamentales a la hora de disear un programa
PROGRAMACIN MODULAR
II.Programacin modular
Programacin modular
qConsiste en dividir el programa en mdulos
qHa de existir otro mdulo que controle y relacione todos los dems (mdulo raz)
Concepto de mdulo
PROGRAMACIN MODULAR
II.Programacin modular
Programacin modular
Mdulo
Caractersticas
PROGRAMACIN MODULAR
II.Programacin modular
Programacin modular
Tcnicas
qEstudio de las especificaciones del problema
qCodificacin de cada mdulo
qPruebas parciales con cada uno de los mdulos componentes
qPrueba final con los mdulos enlazados
La programacin modular se basa en el diseo descendente (top-down) que permite
comprobar el funcionamiento de cada mdulo mediante mdulos ya comprobados.
Mdulo Raz
Mdulo 1
Mdulo 5
Mdulo 2
Mdulo 3
Mdulo 6
Mdulo 7
Mdulo 8
Mdulo 9
Mdulo 4
PROGRAMACIN MODULAR
II.Programacin modular
Programacin modular
Criterios de modularizacin
PROGRAMACIN MODULAR
III.Organizacin general de los mdulos en VBA
Secciones (en orden de aparicin)
PROGRAMACIN MODULAR
IV.Subrutinas
Un procedimiento Sub es un bloque de cdigo que se ejecuta como respuesta a un
evento.
Sintaxis
[Private\Public] Sub nombreProcedimiento (argumentos)
instrucciones
End Sub
qCuando una subrutina se declara Public (es la declaracin por defecto), sta puede
ser llamada desde cualquier parte de la aplicacin. Si se declara Private, slo puede
ser llamada desde procedimientos definidos en el mismo mdulo.
qCada vez que se llama al procedimiento se ejecutan las instrucciones que hay
entre Sub y End Sub.
qLa llamada se produce mediante la sentencia Call. Cada vez que se llama a un
procedimiento se establece una correspondencia entre los parmetros de cada
llamada y los formales del procedimiento.
qLos argumentos de un procedimiento son como las declaraciones de variables; se
declaran variables que se pasan desde el procedimiento que hace la llamada.
qSe pueden pasar matrices completas. Para ello slo es preciso que, tanto en la
8
llamada como en la lista de parmetros formales de la cabecera, los identificadores
de las matrices vayan seguidos de una pareja de parntesis.
PROGRAMACIN MODULAR
IV.Subrutinas
Ejemplo
Dim I as Integer, S as Double, A() as Double
.
ReDim A(I)
End Sub
El nmero de argumentos ha de ser el mismo (3); el tipo ha de coincidir uno a uno
(variable-Integer, variable-Double, matriz-Double); el nombre no tiene porque coincidir
(se hace referencia a posiciones de memoria diferentes: S del mdulo raiz y S de
Prueba); en el caso de matrices, la matriz de la subrutina recibe las dimensiones y
nmero de elementos de la matriz definida en el mdulo raz.
Entrada en Prueba: JI, SS, B()A()
Salida de Prueba: IJ, SS, A()B()
9
PROGRAMACIN MODULAR
IV.Subrutinas
Caso 10
10
PROGRAMACIN MODULAR
IV.Subrutinas
Caso 10
11
PROGRAMACIN MODULAR
IV.Subrutinas
Caso 10
12
PROGRAMACIN MODULAR
IV.Subrutinas
Caso 10
13
PROGRAMACIN MODULAR
IV.Subrutinas
Caso 11
Generar una aplicacin EXCEL-VBA que permita transformar un vector A en otro B
i
de forma que:
14
PROGRAMACIN MODULAR
IV.Subrutinas
Caso 11
15
PROGRAMACIN MODULAR
IV.Subrutinas
Caso 11
16
PROGRAMACIN MODULAR
IV.Subrutinas
Caso 11
17
PROGRAMACIN MODULAR
V.Funciones predefinidas en VBA
Una funcin es un subprograma que recibe como argumento o parmetros datos de
tipo numrico o no numrico y devuelve un resultado. Su formato es:
Ln(x )
log n (x ) =
Ln(n )
Sintaxis
Argumentos
Valor devuelto
Abs (a)
Atn (a)
Cdbl (a)
Cint (a)
Valor absoluto
Arco tangente
Conversin a Double
Redondea al entero ms
prximo
Cint (a)
Clng (a)
Cos (a)
Csng (a)
Eof (a)
Exp (a)
Fix (a)
Int (a)
Conversin a nteger
Conversin a Long
Coseno
Conversin a Single
Final de fichero
Exponencial
Trunca un nmero real
Devuelve el entero
inferior al arg.
Log (a)
Rnd
Sgn (a)
Logaritmo neperiano
Nmero aleatorio [0,1]
-1 si el arg. es negativo
0 si el arg. es cero
1 si el arg. es positivo
Sin (a)
Sqr(a)
Tan (a)
Seno
Raz cuadrada
18
Tangente
PROGRAMACIN MODULAR
V.Funciones predefinidas en VBA
Reglas de uso
Sintaxis
Asc (cadena)
Argumentos
Cadena
Chr$ (exp.
numrica)
Nmero
Date$
Lcase$ (cadena)
Left$(cadena,
nmero)
Cadena
Cadena y entero
Len (cadena)
Right$ (cadena,
nmero)
Cadena
Cadena y entero
Nmero
Time$
Timer
Ucase$ (cadena)
Val (cadena)
Cadena
Cadena
Valor devuelto
Devuelve cdigo
ASCII del primer
carcter
Devuelve el carcter
ASCII corresp. al
nmero
Fecha del sistema
Transf. en maysculas
Devuelve subcadena
formada por tantos
carecteres como
indique el segundo
argumento empezando
desde el primero
Longitud de la cadena
Igual que Left$ pero
empezando por el
ltimo
Devuelve cadena de
caracteres
Hora del sistema
Nmero de segundos
transcurridos desde la
medianoche.
Transf. en minsculas
Valor de la cadena si
se dispone de caracteres que permiten la
19 si no,
transformacin,
devuelve cero
PROGRAMACIN MODULAR
VI.Ejemplos
Ejemplo 1
Constryase una aplicacin EXCEL-VBA que permita realizar la suma y
producto de dos nmeros complejos. Cada una de estas operaciones ha de
estar codificadas en subrutinas de tipo pblico escritas en sendos mdulos.
Considrese los siguientes nmeros complejos:
z1 = 7 5i z 2 = 1 + 3i
20
PROGRAMACIN MODULAR
VI.Ejemplos
Ejemplo 2
Constryase una aplicacin EXCEL-VBA que permita resolver sistemas de ecuaciones
diferenciales ordinarias de primer orden mediante el mtodo de Euler. Se han de
codificar dos mdulos: uno que incluya el algoritmo de Euler para la resolucin de un
nmero indefinido de ecuaciones diferenciales ordinarias y otro en el que se defina las
funciones que se desean integrar. El procedimiento operativo parte del conocimiento
de las condiciones iniciales para t=0 y consta de las siguientes etapas:
1. Conocidos
2. Calcular
y i ( t + h ) = y i ( t ) + hf i (t; y1 ( t ), y 2 ( t ),..., y N ( t ) )
3. Si
t tf
dy1
dt
dy 2
dt
t t +h
y volver a 2.
y
10 y1 y2 exp 1 y (t = 0) = 1
1
100
=
2
y2 (t = 0) = 1
1+ t
y1 t F = 0.5
y1 y2 exp
100 h = 10 6
1+ t2
21
I.
II.
Interpolacin numrica
CONSTMAT
Subrutina de acceso
CONSMAT
Argumentos de entrada
KF (Filas de la matriz)
KCOL (Columnas de la matriz)
P (Constante)
Argumentos de salida
Argumentos de entrada/salida
DETMAT
Subrutina de acceso
DETERMAT
Argumentos de entrada
N (Orden de la matriz)
A() (Matriz)
Argumentos de salida
Argumentos de entrada/salida
Subrutinas privadas del mdulo
Subrutinas pblicas que requiere
Definicin subrutina
INVMATR
Subrutina de acceso
INVMAT
Argumentos de entrada
K (Orden de la matriz)
A() (Matriz)
Argumentos de salida
Argumentos de entrada/salida
Subrutinas privadas del mdulo
TRANSMT
Subrutina de acceso
TRANSMAT
Argumentos de entrada
KF (Filas de la matriz)
KCOL (Columnas de la matriz)
A() (Matriz)
Argumentos de salida
Argumentos de entrada/salida
Subrutinas privadas del mdulo
Subrutinas pblicas que requiere
Definicin subrutina
PRDMAT
Subrutina de acceso
PRODMAT
Argumentos de entrada
Argumentos de salida
Argumentos de entrada/salida
Subrutinas privadas del mdulo
Subrutinas pblicas que requiere
Definicin subrutina
SMMAT
Subrutina de acceso
SUMMAT
Argumentos de entrada
KF (Filas)
KCOL (Columnas)
A() (Primera matriz)
B() (Segunda matriz)
Argumentos de salida
Argumentos de entrada/salida
Subrutinas privadas del mdulo
Subrutinas pblicas que requiere
Definicin subrutina
LUDESCOMP
Descomposicin LU
Subrutina de acceso
LUDEC
Argumentos de entrada
N (Orden de la matriz)
A() (Matriz)
Argumentos de salida
AL() (Matriz L)
AU() (Matriz U)
Argumentos de entrada/salida
Subrutinas privadas del mdulo
Subrutinas pblicas que requiere
Definicin subrutina
RSELU
Subrutina de acceso
RSELLU
Argumentos de entrada
N (Nmero de ecuaciones)
A() (Matriz de coeficientes)
G() (Matriz de trminos independientes)
Argumentos de salida
Argumentos de entrada/salida
Subrutinas privadas del mdulo
Subrutinas pblicas que requiere
Subrutinas pblicas que requiere
Definicin subrutina
RSSEL
Subrutina de acceso
RESSEL
Argumentos de entrada
N (Nmero de ecuaciones)
A() (Matriz de coeficientes)
G() (Matriz de trminos independientes)
Argumentos de salida
Argumentos de entrada/salida
Subrutinas privadas del mdulo
Subrutinas pblicas que requiere
Subrutinas pblicas que requiere
Definicin subrutina
THMAS
Subrutina de acceso
THOMAS
Argumentos de entrada
N (Nmero de ecuaciones)
CF() (Matriz de coeficientes)
D() (Matriz de trminos independientes)
Argumentos de salida
X () (Matriz de resultados)
Argumentos de entrada/salida
Subrutinas privadas del mdulo
Subrutinas pblicas que requiere
Definicin subrutina
11
LAGINTERP
Subrutina de acceso
LAGRANGE
Argumentos de entrada
N (Nmero de datos)
X() (Variables independientes)
F() (Variables dependientes)
XCAL (Variable cuya ordenada se desea
interpolar)
Argumentos de salida
Argumentos de entrada/salida
Subrutinas privadas del mdulo
Subrutinas pblicas que requiere
Definicin subrutina
XCAL As Double,
FCAL As Double)
12
SPLINESCUB
Subrutina de acceso
SPLINES3
Argumentos de entrada
N (Nmero de datos)
X() (Variables independientes)
Y() (Variables dependientes)
NDAT (Nmero de datos a interpolar)
XDAT() (Variables independientes a interpolar)
Argumentos de salida
Argumentos de entrada/salida
Subrutinas privadas del mdulo
13
ROMBINT
Subrutina de acceso
ROMBERG
Argumentos de entrada
A (Lmite inferior)
B (Lmite superior)
Argumentos de salida
VALINT (Integral)
Argumentos de entrada/salida
Subrutinas privadas del mdulo
Subrutinas pblicas que requiere
Definicin subrutina
14
SIMPSONINT
Subrutina de acceso
SIMPSON
Argumentos de entrada
A (Lmite inferior)
B (Lmite superior)
N (Intervalos de integracin)
Argumentos de salida
VALINT (Integral)
Argumentos de entrada/salida
Subrutinas privadas del mdulo
Subrutinas pblicas que requiere
Definicin subrutina
15
FUNINTEG
Subrutina de acceso
FUNINT
Argumentos de entrada
Argumentos de salida
F (Funcin subintegral)
Argumentos de entrada/salida
Subrutinas privadas del mdulo
Subrutinas pblicas que requiere
Definicin subrutina
16
INTDISCRE
Subrutina de acceso
INTDATDIC
Argumentos de entrada
N (Nmero de datos)
X() (Variable independiente)
F() (Variable dependiente)
Argumentos de salida
VALINT (Integral)
Argumentos de entrada/salida
Subrutinas privadas del mdulo
Subrutinas pblicas que requiere
Definicin subrutina
17
FUNDERUNA
Subrutina de acceso
FUNDER1
Argumentos de entrada
X(Variable independiente)
Argumentos de salida
F (Valor de la funcin en X)
FDER (Derivada)
Argumentos de entrada/salida
Subrutinas privadas del mdulo
Subrutinas pblicas que requiere
Definicin subrutina
18
FUNDEUNA
Subrutina de acceso
FUND1
Argumentos de entrada
X (Variable independiente)
Argumentos de salida
F (Funcin)
Argumentos de entrada/salida
Subrutinas privadas del mdulo
Subrutinas pblicas que requiere
Definicin subrutina
19
FALPOSICION
Subrutina de acceso
FALPOS
Argumentos de entrada
X0 (Aproximacin inicial)
X1 (Aproximacin inicial)
Argumentos de salida
F (Valor de la funcin en X)
X (Raz de la funcin)
N (Iteraciones)
Argumentos de entrada/salida
Subrutinas privadas del mdulo
Subrutinas pblicas que requiere FUNCION1 (Definicin de la funcin)
Definicin subrutina
NEW1F
Subrutina de acceso
NEWTON
Argumentos de entrada
Argumentos de salida
Argumentos de entrada/salida
Definicin subrutina
21
FUNUNA
Subrutina de acceso
FUNCION1
Argumentos de entrada
X (Variable independiente)
Argumentos de salida
F (Funcin)
Argumentos de entrada/salida
Subrutinas privadas del mdulo
Subrutinas pblicas que requiere
Definicin subrutina
22
TODASRAICES
Subrutina de acceso
TODRPOL
Argumentos de entrada
Argumentos de salida
Argumentos de entrada/salida
Subrutinas privadas del mdulo
PREAL() As
PIMAG() As Double)
Double,
23
FADEEV
Subrutina de acceso
FADLEV
Argumentos de entrada
K (Orden de la matriz)
A() (Matriz)
Argumentos de salida
Argumentos de entrada/salida
Subrutinas privadas del
mdulo
polinomio)
SUMCOMP (Suma de complejos)
PRODCOMP (Producto de complejos)
DIVCOMP (Divisin de complejos)
POTCOMP (Potenciacin de complejos)
PRODMATG (Producto de matrices)
24
RGLIN
Regresin lineal
Subrutina de acceso
REGLIN
Argumentos de entrada
N (Nmero de datos)
X() (Variable independiente)
Y() (Variable dependiente)
Argumentos de salida
Argumentos de entrada/salida
Subrutinas privadas del mdulo
Subrutinas pblicas que requiere
Definicin subrutina
25
26
MARQUARDT
CALFMARQ
Subrutinas de acceso
FUNMAR y DERFUNC
Argumentos de entrada
M (Nmero de datos)
K (Nmero de parmetros)
NX (Nmero de variables independientes)
N (Nmero de funciones a ajustar)
NV (Nmero de funciones totales)
B() (Estimacin inicial de los parmetros)
Y() (Variable/s dependiente/s)
Argumentos de salida
Argumentos de entrada/salida
Subrutinas privadas del mdulo
Subrutinas pblicas que requiere
Definicin subrutina
28
MARQUARDNL
Subrutina de acceso
Argumentos de entrada
Argumentos de salida
Argumentos de entrada/salida
MARQNL
K (Nmero de ecuaciones)
XMIN() (Valor mnimo de las incgnitas)
XMAX() (Valor mximo de las incgnitas)
ICON (Iteraciones)
F() (Valor de las funciones en la ltima iteracin)
X2 (Valor de la funcin objetivo en la ltima
iteracin)
X() (Estimacin inicial y valor final de las
incgnitas)
Definicin subrutina
29
NWRAPH
Subrutina de acceso
Argumentos de entrada
Argumentos de salida
Argumentos de entrada/salida
NEWRAPH
K (Nmero de ecuaciones)
XMIN() (Valor mnimo de las incgnitas)
XMAX() (Valor mximo de las incgnitas)
F() (Valor de las funciones en la ltima
iteracin)
ICON (Iteraciones)
X() (Estimacin inicial y valor final de las
incgnitas)
requiere
Definicin subrutina
30
NOLNF
Subrutina de acceso
NOLINF
K (Nmero de ecuaciones)
X() (Valor de las incgnitas)
F() (Valor de cada una de las ecuaciones)
Argumentos de entrada
Argumentos de salida
Argumentos de entrada/salida
Subrutinas privadas del mdulo
Subrutinas pblicas que requiere
Definicin subrutina
31
RKFEHLBERG
Subrutina de acceso
Argumentos de salida
RKFBERG
NV (Nmero de ecuaciones)
H1 (Paso de integracin inicial)
XF (Punto final de integracin)
IREC (Nmero de puntos seleccionados)
XREC() (Variable independiente en puntos
seleccionados)
FREC () (Variables dependientes en puntos
seleccionados)
PASOS (Pasos de integracin)
Argumentos de entrada/salida
Argumentos de entrada
32
BADERDEUF
Subrutina de acceso
Argumentos de entrada
Argumentos de salida
BDEUF
NV (Nmero de ecuaciones)
H1 (Paso de integracin inicial)
XF (Punto final de integracin)
IREC (Nmero de puntos seleccionados)
XREC() (Variable independiente en puntos seleccionados)
FREC () (Variables dependientes en puntos seleccionados)
PASOS (Pasos de integracin)
Argumentos de entrada/salida
Definicin subrutina
Public Sub BDEUF (NV As Integer, H1 As Double, XF As Double, F() As Double, IREC
As Integer, XREC() As Double, FREC() As Double, PASOS As Long)
33
RUNGEKUTT
Subrutina de acceso
Argumentos de salida
RUNKUTT
NV (Nmero de ecuaciones)
H1 (Paso de integracin inicial)
XF (Punto final de integracin)
IREC (Nmero de puntos seleccionados)
XREC() (Variable independiente en puntos
seleccionados)
FREC () (Variables dependientes en puntos
seleccionados)
PASOS (Pasos de integracin)
Argumentos de entrada/salida
Definicin subrutina
Argumentos de entrada
34
ECDIFC
Subrutina de acceso
ECDIF
NV (Nmero de ecuaciones)
H (Paso de integracin)
XH (Variable independiente)
FX() (Variable dependiente)
ED() (Valor de las ecuaciones diferenciales)
Argumentos de entrada
Argumentos de salida
Argumentos de entrada/salida
Subrutinas privadas del mdulo
Subrutinas pblicas que requiere
Definicin subrutina
35
3
2
f 1 ( x, y ) = x y + 2 y x 3
f ( x, y ) = ( x + y ) y + (1 + y ) x 4
36
NWRAPH
Subrutina de acceso
Argumentos de entrada
Argumentos de salida
Argumentos de entrada/salida
NEWRAPH
K (Nmero de ecuaciones)
XMIN() (Valor mnimo de las incgnitas)
XMAX() (Valor mximo de las incgnitas)
F() (Valor de las funciones en la ltima iteracin)
ICON (Iteraciones)
X() (Estimacin inicial y valor final de las
incgnitas)
Definicin subrutina
37
NOLNF
Subrutina de acceso
NOLINF
K (Nmero de ecuaciones)
X() (Valor de las incgnitas)
F() (Valor de cada una de las ecuaciones)
Argumentos de entrada
Argumentos de salida
Argumentos de entrada/salida
Subrutinas privadas del mdulo
Subrutinas pblicas que requiere
Definicin subrutina
38
39
40
41
42
Caso 12
Solucin
43
44
11
15
y(x)
0.368
0.572
0.675
0.793
0.906
1.042
1.176
45
LAGINTERP
Subrutina de acceso
LAGRANGE
Argumentos de entrada
N (Nmero de datos)
X() (Variables independientes)
F() (Variables dependientes)
XCAL (Variable cuya ordenada se desea
interpolar)
Argumentos de salida
Definicin subrutina
46
INTDISCRE
Subrutina de acceso
INTDATDIC
Argumentos de entrada
N (Nmero de datos)
X() (Variable independiente)
F() (Variable dependiente)
Argumentos de salida
VALINT (Integral)
Definicin subrutina
47
MDULO RAZ
LAGINTERP
INTDISCRE
48
49
50
51
52
a
2
(3x
53
NEW1F
Subrutina de acceso
NEWTON
Argumentos de entrada
Argumentos de salida
Argumentos de entrada/salida
Definicin subrutina
54
FUNUNA
Subrutina de acceso
FUNCION1
Argumentos de entrada
X (Variable independiente)
Argumentos de salida
F (Funcin)
Argumentos de entrada/salida
Subrutinas privadas del mdulo
Subrutinas pblicas que requiere
Definicin subrutina
55
ROMBINT
Subrutina de acceso
ROMBERG
Argumentos de entrada
A (Lmite inferior)
B (Lmite superior)
Argumentos de salida
VALINT (Integral)
Argumentos de entrada/salida
Subrutinas privadas del mdulo
Subrutinas pblicas que requiere
Definicin subrutina
FUNINTEG
Subrutina de acceso
FUNINT
Argumentos de entrada
Argumentos de salida
F (Funcin subintegral)
Argumentos de entrada/salida
Subrutinas privadas del mdulo
Subrutinas pblicas que requiere
Definicin subrutina
57
MDULO EVENTO
MDULO RAZ
NEW1F
FUNUNA
ROMBINT
FUNINTEG
58
59
60
61
62
63
0.72
(
3
x
En este caso slo habra que actuar sobre los mdulos FUNINTER y FUNUNA
y generar una variable de tipo pblico.
64
65
66
67
f(x) = - x + x + 3x
68
CA
10
dC A
n
= k (C A ) C A (t = 0 ) = 1
dt
RESOLUCIN DE PROBLEMAS DE LA IQ
ndice
I. Flujo de fluidos
II. Transmisin de calor
III.Transferencia de materia
IV. Ingeniera de la reaccin qumica
V. Control de procesos qumicos
RESOLUCIN DE PROBLEMAS DE LA IQ
I.Flujo de fluidos
Ejemplo 1
Se desea transportar 30 m3/h de agua desde una presa a un depsito abierto a
la atmsfera. Presa y depsito se encuentran unidos por una conduccin recta de
600 m de longitud con un desnivel de 300 m. Calclese el dimetro de tubo
necesario.
RESOLUCIN DE PROBLEMAS DE LA IQ
I.Flujo de fluidos
Ejemplo 1
RESOLUCIN DE PROBLEMAS DE LA IQ
I.Flujo de fluidos
Ejemplo 1
RESOLUCIN DE PROBLEMAS DE LA IQ
II.Transmisin de calor
Ejemplo 2
Una placa paralepipdica de acero de 0.5 x 0.3 x 0.02 m3, aislada por sus
bases mayores est, sometida en dos lados contiguos a una temperatura
constante de 673 K, el lado mayor restante se encuentra a 473 K y el menor a
323 K. Determnese la distribucin de temperaturas en el interior de la placa.
RESOLUCIN DE PROBLEMAS DE LA IQ
II.Transmisin de calor
Ejemplo 2
RESOLUCIN DE PROBLEMAS DE LA IQ
III.Transferencia de materia
Ejemplo 3
Las mezclas de n-heptano(1), metilciclohexano(2) y tolueno(3) se comportan
idealmente en el intervalo de temperaturas de ebullicin extremas a presin
atmosfrica. Calcular la temperatura de burbuja de una mezcla lquida con la
siguiente composicin: x1= 0.254, x2= 0.500 y x3= 0.246.
Datos:
Presiones de vapor (kN/m2) de los componentes puros en funcin de la
temperatura (K)
2921
2931
3094
0
0
0
ln P1 = 13.88
; ln P2 = 13.70
; ln P3 = 14.00
T 56.05
T 51.04
T 53.60
RESOLUCIN DE PROBLEMAS DE LA IQ
III.Transferencia de materia
Ejemplo 3
RESOLUCIN DE PROBLEMAS DE LA IQ
III.Transferencia de materia
Ejemplo 3
RESOLUCIN DE PROBLEMAS DE LA IQ
IV.Ingeniera de la reaccin qumica
Ejemplo 4
Un compuesto B, obtenido por descomposicin de un reactivo A, se isomeriza a
su vez en un producto C, de acuerdo a una reaccin en serie del tipo
A BC
t(min)
CA (mol/l)
CB (mol/l)
CC (mol/l)
10
9.05
0.94
0.02
8.19
1.75
0.06
10
6.07
3.60
0.34
15
4.72
4.60
0.68
20
3.68
5.23
1.09
60
0.50
4.77
4.74
120
0.02
1.99
7.99
10
RESOLUCIN DE PROBLEMAS DE LA IQ
IV.Ingeniera de la reaccin qumica
Ejemplo 4
11
RESOLUCIN DE PROBLEMAS DE LA IQ
IV.Ingeniera de la reaccin qumica
Ejemplo 4
12
RESOLUCIN DE PROBLEMAS DE LA IQ
IV.Ingeniera de la reaccin qumica
La cintica de la reaccin cataltica
Ejemplo 5
AR + S
est dada por:
p p
kK A p A R S
K
r=
1 + K A p A + K R p R + K S pS
La reaccin se lleva a cabo de forma isoterma en un lecho fijo que funciona como
flujo pistn. El alimento contiene 0.155 moles de agua por mol de reactante. Este
agua acta como inerte.
Calclasela longitud del reactor requerida para alcanzar una conversin a la salida
del 40%.
Datos
RESOLUCIN DE PROBLEMAS DE LA IQ
IV.Ingeniera de la reaccin qumica
Ejemplo 5
14
RESOLUCIN DE PROBLEMAS DE LA IQ
IV.Ingeniera de la reaccin qumica
Ejemplo 5
15
RESOLUCIN DE PROBLEMAS DE LA IQ
IV.Ingeniera de la reaccin qumica
Ejemplo 6
Una descomposicin en fase gaseosa
AR + S
14
1
10000
k = 10 exp
,h
T ( K )
( )
16
RESOLUCIN DE PROBLEMAS DE LA IQ
IV.Ingeniera de la reaccin qumica
Ejemplo 6
17
RESOLUCIN DE PROBLEMAS DE LA IQ
IV.Ingeniera de la reaccin qumica
Ejemplo 6
18
RESOLUCIN DE PROBLEMAS DE LA IQ
IV.Ingeniera de la reaccin qumica
Ejemplo 6
19
RESOLUCIN DE PROBLEMAS DE LA IQ
V.Control de procesos qumicos
Ejemplo 7
Determinar si los procesos dinmicos representados por las siguientes funciones
de transferencia presentan estabilidad:
s + 2s + 3
4
s 1
10
+ 5s s + 10s + 25
20
RESOLUCIN DE PROBLEMAS DE LA IQ
V.Control de procesos qumicos
Ejemplo 7
21
RESOLUCIN DE PROBLEMAS DE LA IQ
V.Control de procesos qumicos
Ejemplo 7
22
UNIDAD TEMTICA 4
Introduccin al manejo de ASPEN HYSYS y PROMAX
como herramienta de simulacin de procesos qumicos
Tema 12. Introduccin al manejo de ASPEN HYSYS y
PROMAX
Tema 13. Uso de ASPEN HYSYS y PROMAX en la
simulacin de procesos qumicos simples
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Cuestin
Es vlida la correlacin de Peng-Robinson en este caso? En
caso contrario, proponer una alternativa. Podra ser vlida
la correlacin PRSV?
Calclese
Composicin de las dos corrientes efluentes.
Calor eliminado/aportado en el condensador (W) para
cumplir con las condiciones de diseo.
28
29
30
31
32
Reactores qumicos
Comparativas de resultados entre ASPEN HYSYS y
PROMAX
correlaciones
a)
b)
c)
d)
T= 111.4C
P= 1.5 bar
Q=0
1
CAMBIADOR CALOR
T= 100C
F=100 kmol /h
T=25 C ; P=1 bar
P= 1 bar
VAPOR
P= 1.5 bar
T= 111.4C
REACTOR
X: 25%
HCHO
CH3OH
H2
CH3OH
T=675C
Q
4
1
SO2 O2 SO3
2
a distintas temperaturas y 1 atm de presin. Para ello se emplear la correlacin
PR.
a) Determnese cul sera la conversin de equilibrio a las temperaturas que se
indican, suponiendo que las reacciones se dosifican en cantidades
estequiomtricas:
T (C)
100
200
300
400
500
Conversin (%)
Pvapor (bar)
Tvapor (C)
mvapor (kg/h)
3
3.5
5
Emplese la correlacin ASME Steam.
Comntense los resultados obtenidos.
10
Presin (bar)
Caudales (kmol/h)
Propeno
2-propanol
1
2
3
4
5
11
xCO
Duty (kcal/h)
12
13
CH 4 2O2 CO2 2 H 2O
7
C2 H 6 O2 2CO2 3H 2O
2
C3H8 5O2 3CO2 4 H 2O
14