LAJARA VIZCAÍNO, JOSÉ RAFAEL / PELEGRÍ SEBASTIÁ, JOSÉ
Cap¡tulo 1
	Introducci¢n a LabVIEW. Entorno ......................................................... 21
	1.1. Entorno ............................................................................................. 22
	1.2. Men£s (paletas) ................................................................................. 26
	1.2.1. Men£ de herramientas ............................................................. 26
	1.2.2. Controles ................................................................................ 27
	1.2.2.1. Personalizaci¢n de controles ...................................... 30
	1.2.3. Funciones ................................................................................ 32
	1.2.4. Personalizaci¢n de los men£s .................................................. 35
	1.3. Creaci¢n de programas .................................................................. 36
	1.4. Flujo de ejecuci¢n .......................................................................... 37
	1.5. VI y subVI ..................................................................................... 39
	1.5.1. Librer¡as ............................................................................... 43
	1.5.2. Polimorè smo ........................................................................ 44
	1.6. Proyectos ....................................................................................... 46
	1.7. Depuraci¢n de c¢digo .................................................................... 47
	1.8. Otras herramientas ......................................................................... 50
	1.8.1. Snippet ................................................................................. 50
	1.8.2. Opciones .............................................................................. 51
	1.8.3. Jerarqu¡a ............................................................................... 52
	1.8.4. Ventana de navegaci¢n ......................................................... 52
	1.8.5. Compilaci¢n masiva ............................................................. 53
	1.8.6. B£squeda y comparaci¢n ..................................................... 53
	1.8.7. Seguridad ............................................................................. 53
	1.8.8. Ejemplos .............................................................................. 54
	1.9. Ejercicios ....................................................................................... 54
	1.10. Bibliograf¡a .................................................................................. 55
	Cap¡tulo 2
	Estructuras ................................................................................................ 57
	2.1. SEQUENCE ..................................................................................... 58
	2.2. CASE ................................................................................................ 59
	2.3. WHILE ............................................................................................. 61
	2.4. FOR ................................................................................................... 64
	2.5. EVENT ............................................................................................. 65
	2.6. TIMED LOOP y TIMED SEQUENCE ............................................ 68
	2.7. DISABLE STRUCTURE ................................................................. 71
	2.8. FORMULA NODE ........................................................................... 72
	2.9. Scripts ............................................................................................... 74
	2.10. Ejemplos ......................................................................................... 76
	2.10.1. Ejemplo I: Filtro promediador ........................................... 76
	2.10.1.1. Explicaci¢n te¢rica .............................................. 76
	2.10.1.2. C¢digo ................................................................. 77
	2.10.1.3. Resultado ............................................................. 78
	2.10.2. Ejemplo II: Generaci¢n de n£meros primos ...................... 79
	2.10.2.1. Explicaci¢n te¢rica ............................................. 79
	2.10.2.2. C¢digo ................................................................ 80
	2.10.2.3. Resultado ............................................................ 81
	2.10.3. Ejemplo III: Bingo ............................................................. 81
	2.10.3.1. Explicaci¢n te¢rica ............................................. 81
	2.10.3.2. C¢digo ................................................................ 81
	2.10.3.3. Resultado ............................................................ 83
	2.11. Ejercicios ............................................................................... 83
	2.12. Bibliograf¡a ........................................................................... 84
	Cap¡tulo 3
	Tipos de datos ............................................................................................ 85
	3.1. Tipos de terminales ........................................................................... 85
	3.2. Tipos de datos ................................................................................... 87
	3.2.1. Boolean ................................................................................... 88
	3.2.2. Numeric ................................................................................... 88
	3.2.3. Strings ..................................................................................... 91
	3.2.3.1. Transformaciones n£mero-texto ................................. 92
	3.2.4. Path .......................................................................................... 94
	3.2.5. Arrays ...................................................................................... 94
	3.2.6. Clusters .................................................................................... 96
	3.2.7. Waveforms ............................................................................... 97
	3.2.8. Referencias .............................................................................. 97
	3.2.9. Variant ..................................................................................... 97
	3.2.10. Dynamic ................................................................................ 98
	3.3. Manipulaci¢n de datos ...................................................................... 98
	3.3.1. Manipulaci¢n de bytes y bits ................................................... 98
	3.2.3. Otras transformaciones ............................................................ 98
	3.3.3. Type Cast ................................................................................. 99
	3.4. Variables y propiedades .................................................................. 100
	3.4.1. Variables locales .................................................................... 100
	3.4.2. Variables globales .................................................................. 101
	3.4.3. Variables compartidas ........................................................... 102
	3.4.4. Nodos de propiedades y m?todos .......................................... 103
	3.4.5. Referencias ............................................................................ 105
	3.5. Ejemplos ......................................................................................... 105
	3.5.1. Ejemplo I: varios m?todos para convertir
	la representaci¢n ASCII a su valor ........................................ 105
	3.5.1.1. Explicaci¢n te¢rica ................................................... 105
	3.5.1.2. C¢digo ...................................................................... 105
	3.5.2. Ejemplo II: Carrera de f¢rmula 1 .......................................... 106
	3.5.2.1. Explicaci¢n te¢rica ................................................... 106
	3.5.2.2. C¢digo ...................................................................... 107
	3.5.2.3. Resultados ................................................................. 107
	3.6. Ejercicios ........................................................................................ 108
	3.7. Bibliograf¡a ..................................................................................... 108
	Cap¡tulo 4
	Ficheros .................................................................................................... 109
	4.1. Ficheros de texto ............................................................................. 109
	4.1.1. Ejemplo I: Ficheros de texto y binarios ................................ 113
	4.1.2. Ejemplo II: Loter¡a ................................................................ 114
	4.2. Ficheros de conè guraci¢n ............................................................... 115
	4.2.1. Ejemplo ................................................................................. 116
	4.3. Ficheros XML ................................................................................. 117
	4.3.1. Ejemplo I: Agenda ................................................................. 119
	4.3.2. Ejemplo II: Buscador en la agenda ....................................... 121
	4.4. Ficheros de imagen ......................................................................... 123
	4.4.1. Ejemplo ................................................................................. 123
	4.5. Ficheros de sonido .......................................................................... 124
	4.5.1. Ejemplo I: Lectura de è chero y procesado ............................ 124
	4.5.2. Ejemplo II: Adquisici¢n y VIs Express ................................. 125
	4.6. Acceso al registro de Windows ....................................................... 127
	4.6.1. Ejemplo: Registro de LabVIEW ........................................... 128
	4.7. Reports ............................................................................................ 128
	4.7.1. Ejemplo: Generaci¢n de un è chero PDF ............................... 129
	4.8. Storage ............................................................................................ 130
	4.8.1. Ejemplo ................................................................................. 131
	4.9. Datalog ............................................................................................ 132
	4.9.1. Ejemplo ................................................................................. 133
	4.10. Waveform ...................................................................................... 134
	4.11. Ejercicios ...................................................................................... 134
	Cap¡tulo 5
	Comunicaci¢n serie ................................................................................. 137
	5.1. Introducci¢n .................................................................................... 137
	5.2. Historia ........................................................................................... 138
	5.3. RS-232 ............................................................................................ 138
	5.3.1. Conectores ............................................................................. 139
	5.3.2. Puertos ................................................................................... 140
	5.3.3. Handshake ............................................................................. 141
	5.3.4. Otros est ndares .................................................................... 141
	5.4. Comunicaciones serie en LabVIEW ............................................... 142
	5.4.1. VISA ...................................................................................... 145
	5.5. Ejemplos ......................................................................................... 147
	5.5.1. Ejemplo I: Comunicaci¢n con un microcontrolador ............. 147
	5.5.1.1. Explicaci¢n te¢rica ................................................... 147
	5.5.1.2. C¢digo del microcontrolador .................................... 148
	5.5.1.3. C¢digo en LabVIEW ................................................ 149
	5.5.1.4. Resultado .................................................................. 150
	5.5.2. Ejemplo II: Control de un instrumento de laboratorio .......... 150
	5.5.2.1. Explicaci¢n te¢rica ................................................... 150
	5.5.2.2. C¢digo ....................................................................... 151
	5.5.2.3. Resultado .................................................................. 152
	5.5.3. Ejemplo III: Manejo de eventos ............................................ 152
	5.5.3.1. Explicaci¢n te¢rica ................................................... 153
	5.5.3.2. C¢digo ...................................................................... 153
	5.6. Ejercicios .................................................................................. 153
	5.7. Bibliograf¡a .............................................................................. 154
	Cap¡tulo 6
	GPIB ......................................................................................................... 155
	6.1. Introducci¢n .................................................................................... 155
	6.2. El est ndar IEEE 488.1 ................................................................... 157
	6.2.1. Cableado ................................................................................ 158
	6.2.2. Handshake ............................................................................. 159
	6.2.3. Funcionamiento ..................................................................... 160
	6.3. El est ndar IEEE 488.2 ................................................................... 162
	6.4. SCPI ................................................................................................ 167
	6.5. GPIB en LabVIEW ......................................................................... 169
	6.5.1. VISA ...................................................................................... 172
	6.5.2. Drivers ................................................................................... 173
	6.6. Ejemplos ......................................................................................... 175
	6.6.1. Ejemplo I: Esc ner del bus .................................................... 175
	6.6.1.1. Explicaci¢n te¢rica ................................................... 175
	6.6.1.2. C¢digo ...................................................................... 175
	6.6.1.3. Resultado .................................................................. 176
	6.6.2. Ejemplo II: Osciloscopio Tektronix TDS210 ........................ 177
	6.6.2.1. Explicaci¢n te¢rica ................................................... 177
	6.6.2.2. C¢digo ...................................................................... 177
	6.6.2.3. Resultado .................................................................. 183
	6.6.3. Ejemplo III: Uso de VI Express, Instrument I/O Assistant ... 183
	6.6.3.1. Explicaci¢n te¢rica ................................................... 183
	6.6.3.2. Procedimiento ........................................................... 184
	6.6.4. Ejemplo IV: Generador HP 33120A usando un driver .......... 186
	6.7. Ejercicios ........................................................................................ 186
	6.8. Bibliograf¡a ..................................................................................... 187
	Cap¡tulo 7
	Adquisici¢n de datos ............................................................................... 189
	7.1. Introducci¢n ..................................................................................... 189
	7.2. Adquisici¢n de se¿ales anal¢gicas .................................................. 190
	7.2.1. Conè guraciones de terminales .............................................. 190
	7.2.2. Conversi¢n a digital .............................................................. 193
	7.2.3. Procesamiento ....................................................................... 194
	7.3. Tarjeta de adquisici¢n de datos NI PCI-6221M .............................. 195
	7.4. Measurement & Automation Explorer (MAX) ............................... 197
	7.5. DAQ en LabVIEW ......................................................................... 199
	7.5.1. DAQ Assistant ....................................................................... 203
	7.6. Ejemplos ......................................................................................... 204
	7.6.1. Ejemplo I: Crear un osciloscopio y un generador
	de funciones con la tarjeta PCI-6221M ................................. 204
	7.6.1.1. Explicaci¢n te¢rica ................................................... 204
	7.6.1.2. C¢digo ...................................................................... 204
	7.6.1.3. Resultado .................................................................. 205
	7.6.2. Ejemplo II: Medida de la temperatura ................................... 206
	7.6.2.1. Explicaci¢n te¢rica ................................................... 206
	7.6.2.2. C¢digo ...................................................................... 208
	7.6.3. Ejemplo III: Control de un motor paso a paso ...................... 209
	7.6.3.1. Explicaci¢n te¢rica ................................................... 209
	7.6.3.2. C¢digo ...................................................................... 211
	7.6.3.3. Resultados ................................................................. 212
	7.7. Ejercicios ........................................................................................ 212
	7.8. Bibliograf¡a ..................................................................................... 214
	Cap¡tulo 8
	TCP y UDP ................................................................................................ 215
	8.1. TCP/IP ............................................................................................. 215
	8.1.1. Nivel de red ........................................................................... 217
	8.1.2. Nivel de transporte ................................................................ 217
	8.1.3. Nivel de aplicaci¢n ................................................................ 218
	8.2. Arquitecturas habituales .................................................................. 219
	8.3. TCP/IP en LabVIEW ...................................................................... 220
	8.4. HTTP en LabVIEW ........................................................................ 222
	8.5. Ejemplos ......................................................................................... 225
	8.5.1. Ejemplo I: Servidor de Telnet ............................................... 225
	8.5.1.1. Explicaci¢n te¢rica de Telnet ................................... 225
	8.5.1.2. C¢digo ...................................................................... 225
	8.5.1.3. Resultados ................................................................. 226
	8.5.2. Ejemplo II: Transmisi¢n de voz ............................................ 227
	8.5.2.1. Explicaci¢n te¢rica ................................................... 227
	8.5.2.2. C¢digo ...................................................................... 227
	8.5.2.3. Resultados ................................................................. 228
	8.5.3. Ejemplo III: Obtener è cheros a trav?s de HTTP ................... 228
	8.5.3.1. Explicaci¢n te¢rica ................................................... 228
	8.5.3.2. C¢digo ...................................................................... 229
	8.5.3.3. Resultados ................................................................. 230
	8.6. Ejercicios ........................................................................................ 231
	8.7. Bibliograf¡a ..................................................................................... 231
	Cap¡tulo 9
	VI Server y comunicaciones avanzadas ................................................ 233
	9.1. Acceso remoto ................................................................................ 233
	9.1.1. Paneles remotos ..................................................................... 233
	9.1.2. Publicaci¢n en web ............................................................... 234
	9.2. Enlaces de datos .............................................................................. 236
	9.2.1. DataSocket ............................................................................ 237
	9.2.1.1. API ............................................................................ 238
	9.2.1.2. M?todo directo .......................................................... 239
	9.2.2. Shared variables .................................................................... 240
	9.2.3. Data Binding ......................................................................... 242
	9.2.4. Networks Streams ................................................................. 243
	9.3. VI Server ......................................................................................... 245
	9.4. Servicios web .................................................................................. 249
	9.4.1. Servicios web en LabVIEW .................................................. 251
	9.5. Ejemplos ......................................................................................... 254
	9.5.1. Ejemplo I: Chat ..................................................................... 254
	9.5.1.1. Explicaci¢n te¢rica ................................................... 254
	9.5.1.2. C¢digo ...................................................................... 254
	9.5.1.3. Resultados ................................................................. 254
	9.5.2. Ejemplo II: Controlar Decorations ........................................ 255
	9.5.2.1. Explicaci¢n te¢rica ................................................... 255
	9.5.2.2. C¢digo ...................................................................... 255
	9.5.3. Ejemplo III: Rendimiento de VI ............................................ 257
	9.5.3.1. Explicaci¢n te¢rica ................................................... 257
	9.5.3.2. C¢digo ...................................................................... 257
	9.5.3.3. Resultados ................................................................. 257
	9.5.4. Ejemplo IV: Sistema distribuido con variables compartidas ... 258
	9.5.4.1. Explicaci¢n te¢rica ................................................... 258
	9.5.4.2. C¢digo ...................................................................... 258
	9.6. Ejercicios ........................................................................................ 260
	9.7. Bibliograf¡a ..................................................................................... 260
	Cap¡tulo 10
	Sincronizaci¢n y multihilo ...................................................................... 261
	10.1. Multihilo en LabVIEW ................................................................. 262
	10.1.1. Sistemas de ejecuci¢n ....................................................... 263
	10.1.2. Prioridades ........................................................................ 264
	10.1.3. VI reentrantes .................................................................... 266
	10.1.4. Pipeline .............................................................................. 268
	10.1.5. Paralelismo ........................................................................ 270
	10.2. Multin£cleo ................................................................................... 272
	10.2.1. FOR ................................................................................... 272
	10.2.2. TIMED LOOP ................................................................... 274
	10.3. Sincronizaci¢n .............................................................................. 275
	10.3.1. Occurrences ....................................................................... 275
	10.3.2. Sem foros .......................................................................... 276
	10.3.3. Notiè caciones .................................................................... 277
	10.3.4. Colas .................................................................................. 278
	10.3.5. Rendezvous ....................................................................... 280
	10.4. Problemas t¡picos de la programaci¢n multihilo .......................... 282
	10.4.1. Condici¢n de carrera ......................................................... 283
	10.4.2. Inanici¢n ............................................................................ 284
	10.4.3. Inversi¢n de prioridad ....................................................... 285
	10.4.4. Interbloqueo ...................................................................... 287
	10.5. Eventos ......................................................................................... 288
	10.5.1. Ejemplo I: Eventos din micos .......................................... 289
	10.5.2. Ejemplo II: Eventos de usuario ......................................... 290
	10.6. Ejercicios ...................................................................................... 291
	10.7. Bibliograf¡a ................................................................................... 291
	Cap¡tulo 11
	Modelos de programaci¢n ...................................................................... 293
	11.1. Estructuras de interfaz de usuario ................................................. 293
	11.2. Temporizaci¢n ............................................................................... 296
	11.3. Manejo de errores ......................................................................... 298
	11.4. M quinas de estado ....................................................................... 303
	11.4.1. M quinas de estados en LabVIEW ................................... 306
	11.4.2. Ejemplo: M quina expendedora ....................................... 310
	11.4.2.1. Explicaci¢n te¢rica ............................................. 310
	11.4.2.2. C¢digo ................................................................ 312
	11.4.2.3. Resultados .......................................................... 312
	11.5. Comunicaciones ............................................................................ 313
	11.5.1. Maestro/esclavo ................................................................. 313
	11.5.2. Productor/consumidor ....................................................... 314
	11.5.3. Ejemplo: keylogger ........................................................... 314
	11.5.3.1. Explicaci¢n te¢rica ............................................. 314
	11.5.3.2. C¢digo ................................................................. 314
	11.5.3.3. Resultado ............................................................ 315
	11.6. Orientado a objetos ....................................................................... 316
	11.6.1. Programaci¢n orientada a objetos en LabVIEW ............... 320
	11.6.1.1. Ejemplo: Fichas de empleados ........................... 322
	11.7. Scripting ........................................................................................ 326
	11.7.1. Introducci¢n ...................................................................... 326
	11.7.2. XNodes .............................................................................. 328
	11.7.3. Ejemplo I ........................................................................... 330
	11.7.3.1. C¢digo ................................................................ 330
	11.7.4. Ejemplo II: Metaprograma ................................................ 331
	11.7.4.1. C¢digo ................................................................ 331
	11.7.4.2. Resultado ............................................................ 333
	11.8. Ejercicios ...................................................................................... 334
	11.9. Bibliograf¡a ................................................................................... 334
	Cap¡tulo 12
	C¢digo externo ........................................................................................ 335
	12.1. Librer¡as externas .......................................................................... 335
	12.1.1. CIN .................................................................................... 338
	12.1.2. Librer¡as compartidas en LabVIEW ................................. 338
	12.1.3. Ejemplo I: Creaci¢n de una DLL y su uso en LabVIEW .... 341
	12.1.3.1. Explicaci¢n te¢rica ............................................. 341
	12.1.3.2. C¢digo en C++ ................................................... 342
	12.1.3.3. C¢digo en LabVIEW .......................................... 342
	12.1.4. Ejemplo II: Wait ( s) ......................................................... 343
	12.1.4.1. Explicaci¢n te¢rica ............................................. 343
	12.1.4.2. C¢digo ................................................................ 343
	12.1.4.3. Resultados .......................................................... 345
	12.1.5. Ejemplo III: CIN ............................................................... 346
	12.1.5.1. Explicaci¢n te¢rica ............................................. 346
	12.1.5.2. C¢digo en C++ ................................................... 346
	12.1.5.3. C¢digo en LabVIEW .......................................... 347
	12.2. Comunicaciones entre aplicaciones .............................................. 347
	12.2.1. ActiveX ............................................................................. 347
	12.2.1.1. ActiveX en LabVIEW ........................................ 348
	12.2.1.2. Ejemplo: Creaci¢n de un control ActiveX
	y su uso en LabVIEW ........................................ 350
	12.2.2. .NET .................................................................................. 354
	12.2.2.1. .NET en LabVIEW ............................................. 357
	12.2.2.2. Ejemplo I: Creaci¢n de una librer¡a
	de clases .NET y su uso en LabVIEW ............... 357
	12.2.2.3. Ejemplo II: Navegador Web ............................... 361
	12.3. Creaci¢n de librer¡as y ejecutables con LabVIEW ....................... 363
	12.4. Ejercicios ...................................................................................... 364
	12.5. Bibliograf¡a ................................................................................... 364
	Cap¡tulo 13
	Optimizaci¢n de la interfaz .................................................................... 365
	13.1. Elementos del Panel Frontal ......................................................... 365
	13.1.1. Otros tipos de gr è cos ....................................................... 365
	13.1.2. Subpaneles ........................................................................ 369
	13.1.3. Splitters ............................................................................. 370
	13.2. Localizar la interfaz ...................................................................... 370
	13.3. Interactuando con el usuario programadamente ........................... 372
	13.3.1. Men£s personalizados ....................................................... 372
	13.3.2. Teclado .............................................................................. 375
	13.3.3. Drag & Drop ..................................................................... 376
	13.4. XControls ...................................................................................... 377
	13.4.1. Ejemplo: Pol¡metro virtual ................................................ 379
	13.4.1.1. Explicaci¢n te¢rica ............................................. 379
	13.4.1.2. Metodolog¡a ....................................................... 380
	13.4.1.3. Resultados .......................................................... 383
	13.5. Consejos para dise¿ar una interfaz .................. 
En este libro se pretende dar al lector una visión completa de todos los aspectos de LabVIEW, incluyendo los concernientes a la versión 2010. El libro parte de una introducción al entorno para lectores que no tengan conocimientos previos del programa y, poco a poco, se va aumentando el nivel hasta llegar a abarcar prácticamente todas las posibilidades que permite LabVIEW, permitiendo a lectores con experiencia descubrir nuevas posibilidades.El libro se divide en cuatro bloques temáticos: una introducción en la que se presenta el entorno y se explican los tipos de datos y las estructuras de control; un segundo bloque de adquisición y comunicaciones, siendo ésta la aplicación más tradicional de LabVIEW; a continuación se presentan los aspectos más avanzados donde el lector podrá obtener un conocimiento profundo del compilador y las técnicas de programación más adecuadas para cada situación; y por último, en esta segunda edición se han añadido varios capítulos sobre otros programas y librerías de National Instruments como LabWindows/CVI, Measurement Studio, DIAdem y TestStand.En cada capítulo se parte de una introducción teórica general de la temática que se trata para, a continuación, presentar las funciones específicas de LabVIEW. Una vez hecho esto se asentarán los conocimientos a través de varios ejemplos y ejercicios prácticos. Los ejemplos son prácticos y amenos para que se disfrute con la lectura del libro mientras se adquieren nuevos conocimientos, esperamos que esto fomente la iniciativa de los lectores para modificarlos, mejorarlos y adaptarlos a sus requerimientos.National Instruments ha elaborado unos recursos adicionales para esta edición tales como la versión de evaluación de LabVIEW, notas técnicas, etc., a los cuales podrá acceder visitando ni.com/spain e ingresando el código que hallará en el prólogo del libro.Contenido del CD: el libro incluye un CD que contiene todos los ejemplos del libro, así como ejercicios resueltos.
En este libro se pretende dar al lector una visión completa de todos los aspectos de LabVIEW, incluyendo los concernientes a la versión 2010. El libro parte de una introducción al entorno para lectores que no tengan conocimientos previos del programa y, poco a poco, se va aumentando el nivel hasta llegar a abarcar prácticamente todas las posibilidades que permite LabVIEW, permitiendo a lectores con experiencia descubrir nuevas posibilidades. El libro se divide en cuatro bloques temáticos: una introducción en la que se presenta el entorno y se explican los tipos de datos y las estructuras de control; un segundo bloque de adquisición y comunicaciones, siendo ésta la aplicación más tradicional de LabVIEW; a continuación se presentan los aspectos más avanzados donde el lector podrá obtener un conocimiento profundo del compilador y las técnicas de programación más adecuadas para cada situación; y por último, en esta segunda edición se han añadido varios capítulos sobre otros programas y librerías de National Instruments como LabWindows/CVI, Measurement Studio, DIAdem y TestStand. En cada capítulo se parte de una introducción teórica general de la temática que se trata para, a continuación, presentar las funciones específicas de LabVIEW. Una vez hecho esto se asentarán los conocimientos a través de varios ejemplos y ejercicios prácticos. Los ejemplos son prácticos y amenos para que se disfrute con la lectura del libro mientras se adquieren nuevos conocimientos, esperamos que esto fomente la iniciativa de los lectores para modificarlos, mejorarlos y adaptarlos a sus requerimientos. National Instruments ha elaborado unos recursos adicionales para esta edición tales como la versión de evaluación de LabVIEW, notas técnicas, etc., a los cuales podrá acceder visitando ni.com/spain e ingresando el código que hallará en el prólogo del libro. Contenido del CD: el libro incluye un CD que contiene todos los ejemplos del libro, así como ejercicios resueltos.