fundamentos.de.programacion.con.visual.basic.6.-.luis.miguel.blanco.grupo.eidos.pdf

Upload: marlexir

Post on 31-Oct-2015

64 views

Category:

Documents


7 download

TRANSCRIPT

  • 7/16/2019 Fundamentos.de.Programacion.con.Visual.Basic.6.-.Luis.Miguel.Blanco.Grupo.Eidos.pdf

    1/390

    El texto enfoca elaprendizaje a la maneraclsica de la asignaturade Fundamentos yMetodologa de

    Programacin, tal comose imparte en laenseanza reglada. Lanica diferencia con esteenfoque es que sesustituyen lenguajescomo Pascal o C, con losque habitualmente seimparte la asignatura, porVisual Basic, por unentorno de desarrollomucho ms actualizado y

    que servir a quieneslean este manual enmucha mayor medida queesos otros lenguajespueden hacerlo.

    Este es un texto idealpara los noprogramadores quedeseen adentrarse en elmundo de laprogramacin.

    FFUUNNDDAAMMEENNTTOOSS DDEEPPRROOGGRRAAMMAACCIINN

    CCOONNVVIISSUUAALLBBAASSIICC66LLUUIISSMMIIGGUUEELLBBLLAANNCCOO

    Desarrollo de software

  • 7/16/2019 Fundamentos.de.Programacion.con.Visual.Basic.6.-.Luis.Miguel.Blanco.Grupo.Eidos.pdf

    2/390

  • 7/16/2019 Fundamentos.de.Programacion.con.Visual.Basic.6.-.Luis.Miguel.Blanco.Grupo.Eidos.pdf

    3/390

    ADVERTENCIA LEGAL

    Todos los derechos de esta obra estn reservados a Grupo EIDOS Consultora y Documentacin

    Informtica, S.L.

    El editor prohbe cualquier tipo de fijacin, reproduccin, transformacin, distribucin, ya sea medianteventa y/o alquiler y/o prstamo y/o cualquier otra forma de cesin de uso, y/o comunicacin pblica de la

    misma, total o parcialmente, por cualquier sistema o en cualquier soporte, ya sea por fotocopia, medio

    mecnico o electrnico, incluido el tratamiento informtico de la misma, en cualquier lugar del universo.

    El almacenamiento o archivo de esta obra en un ordenador diferente al inicial est expresamente

    prohibido, as como cualquier otra forma de descarga (downloading), transmisin o puesta a disposicin

    (an en sistema streaming).

    La vulneracin de cualesquiera de estos derechos podr ser considerada como una actividad penal

    tipificada en los artculos 270 y siguientes del Cdigo Penal.

    La proteccin de esta obra se extiende al universo, de acuerdo con las leyes y convenios internacionales.

    Esta obra est destinada exclusivamente para el uso particular del usuario, quedando expresamente

    prohibido su uso profesional en empresas, centros docentes o cualquier otro, incluyendo a sus empleadosde cualquier tipo, colaboradores y/o alumnos.

    Si Vd. desea autorizacin para el uso profesional, puede obtenerla enviando un e-mail [email protected]

    al fax (34)-91-5017824.

    Si piensa o tiene alguna duda sobre la legalidad de la autorizacin de la obra, o que la misma ha llegado

    hasta Vd. vulnerando lo anterior, le agradeceremos que nos lo comunique al e-mail [email protected] al

    fax (34)-91-5012824). Esta comunicacin ser absolutamente confidencial.

    Colabore contra el fraude. Si usted piensa que esta obra le ha sido de utilidad, pero no se han abonado los

    derechos correspondientes, no podremos hacer ms obras como sta.

    Luis Miguel Blanco, 2000

    Grupo EIDOS Consultara y Documentacin Informtica, S.L., 2000

    ISBN 84-88457-07-3

    Fundamentos de programacin con Visual Basic 6Luis Miguel Blanco

    Responsable editorial

    Paco Marn ([email protected])

    AutoedicinMagdalena Marn ([email protected])

    Luis Miguel Blanco ([email protected])

    Coordinacin de la edicin

    Antonio Quirs ([email protected])

    Grupo EIDOSC/ Tllez 30 Oficina 2

    28007-Madrid (Espaa)

    Tel: 91 5013234 Fax: 91 (34) 5017824

    www.grupoeidos.com/www.eidos.es www.LaLibreriaDigital.com

    mailto:[email protected]:[email protected]:[email protected]:[email protected]:[email protected]:[email protected]:[email protected]:[email protected]:[email protected]:[email protected]:[email protected]:[email protected]://www.grupoeidos.com/www.eidos.eshttp://www.grupoeidos.com/www.eidos.eshttp://www.lalibreriadigital.com/http://www.lalibreriadigital.com/http://www.lalibreriadigital.com/http://www.grupoeidos.com/www.eidos.esmailto:[email protected]:[email protected]:[email protected]:[email protected]:[email protected]:[email protected]
  • 7/16/2019 Fundamentos.de.Programacion.con.Visual.Basic.6.-.Luis.Miguel.Blanco.Grupo.Eidos.pdf

    4/390

  • 7/16/2019 Fundamentos.de.Programacion.con.Visual.Basic.6.-.Luis.Miguel.Blanco.Grupo.Eidos.pdf

    5/390

    ndice

    NDICE...................................................................................................................................................5INTRODUCCIN...............................................................................................................................12

    LENGUAJES DE PROGRAMACIN Y PROGRAMAS................................................................................12DIFERENCIAS ENTRE LENGUAJES.......................................................................................................13NIVELES DE LENGUAJES.....................................................................................................................13CREACIN DE EJECUTABLES ..............................................................................................................14DESARROLLO DE PROGRAMAS ...........................................................................................................15

    ALGORITMOS ...................................................................................................................................17

    ESTUDIO DEL PROBLEMA ...................................................................................................................17ALGORITMOS .....................................................................................................................................18

    DIAGRAMAS DE FLUJO .......................................................................................................................18PSEUDOCDIGO .................................................................................................................................24DIAGRAMASNASSI-SHNEIDERMAN ...................................................................................................26

    PROGRAMAS.....................................................................................................................................29

    QU ES UN PROGRAMA?...................................................................................................................29 FASES DE EJECUCIN .........................................................................................................................29COMPONENTES DE UN PROGRAMA.....................................................................................................30PROGRAMAS EN VISUAL BASIC .........................................................................................................31

    ELEMENTOS DEL LENGUAJE......................................................................................................37

    INTRODUCCIN ..................................................................................................................................37

    DATOS ................................................................................................................................................37Simples...........................................................................................................................................37

  • 7/16/2019 Fundamentos.de.Programacion.con.Visual.Basic.6.-.Luis.Miguel.Blanco.Grupo.Eidos.pdf

    6/390

    Numrico ...................................................................................................................................38Carcter......................................................................................................................................38Lgico........................................................................................................................................38

    Compuestos....................................................................................................................................39Definidos por el usuario ................................................................................................................39

    IDENTIFICADORES..............................................................................................................................39PALABRAS RESERVADAS....................................................................................................................39ORGANIZACIN DEL CDIGO .............................................................................................................39EL MDULO DE CDIGO .....................................................................................................................43COMENTARIOS ...................................................................................................................................45VARIABLES ........................................................................................................................................45

    Declaracin ...................................................................................................................................45Denominacin................................................................................................................................46Tipificacin....................................................................................................................................46Asignacin .....................................................................................................................................49Valor inicial...................................................................................................................................51Declaracin obligatoria ................................................................................................................51

    CONTINUACIN DE LNEA DE CDIGO ...............................................................................................54GRABACIN DEL PROYECTO ..............................................................................................................54SEGUIMIENTO DE LA EJECUCIN........................................................................................................55CONSTANTES .....................................................................................................................................57ENTRADAS Y SALIDAS DE INFORMACIN...........................................................................................58MSGBOX() .........................................................................................................................................58INPUTBOX() .......................................................................................................................................61OPERADORES .....................................................................................................................................62

    Aritmticos.....................................................................................................................................62^ Potencia...................................................................................................................................62* Multiplicacin.........................................................................................................................62/ Divisin real ............................................................................................................................63

    \ Divisin entera.........................................................................................................................63Mod............................................................................................................................................64+ Suma.......................................................................................................................................64Resta ..........................................................................................................................................65

    Comparacin .................................................................................................................................65Is ................................................................................................................................................ 67Like............................................................................................................................................68

    Concatenacin...............................................................................................................................69Lgicos...........................................................................................................................................69

    And ............................................................................................................................................ 69Eqv.............................................................................................................................................71Imp.............................................................................................................................................71

    Not ............................................................................................................................................. 73Or...............................................................................................................................................74 Xor.............................................................................................................................................75

    PRIORIDAD DE OPERADORES..............................................................................................................76MODELOS DE PROGRAMACIN ..........................................................................................................77

    Programacin lineal......................................................................................................................77Programacin estructurada........................................................................................................... 77Programacin basada en eventos..................................................................................................78

    PROCEDIMIENTOS ..............................................................................................................................79Sub. ................................................................................................................................................ 79Function.........................................................................................................................................82Paso de parmetros por valor y por referencia.............................................................................84

    ByVal (Por valor) ......................................................................................................................84ByRef (Por referencia)...............................................................................................................85

  • 7/16/2019 Fundamentos.de.Programacion.con.Visual.Basic.6.-.Luis.Miguel.Blanco.Grupo.Eidos.pdf

    7/390

    7

    Static ..............................................................................................................................................86Asistente para la declaracin de procedimientos.......................................................................... 87

    MBITO DE ELEMENTOS DEL LENGUAJE ............................................................................................88Procedimientos ..............................................................................................................................88

    Private........................................................................................................................................88 Public.........................................................................................................................................89

    Variables........................................................................................................................................89Dim............................................................................................................................................90 Static ..........................................................................................................................................90Private........................................................................................................................................90 Public.........................................................................................................................................92

    Constantes......................................................................................................................................93CONVENCIONES DE NOTACIN ..........................................................................................................93

    Variables........................................................................................................................................93Constantes......................................................................................................................................95

    INDENTACIN DEL CDIGO................................................................................................................95ESTRUCTURAS DE CONTROL ..............................................................................................................96

    Seleccin........................................................................................................................................96If...End If....................................................................................................................................97Select Case...End Select.............................................................................................................99

    Repeticin....................................................................................................................................100Do...Loop.................................................................................................................................100While...Wend...........................................................................................................................102 For...Next.................................................................................................................................102GoTo........................................................................................................................................104

    ANIDACIN DE ESTRUCTURAS.........................................................................................................105ARRAYS ...........................................................................................................................................106

    Declaracin .................................................................................................................................107Asignacin ...................................................................................................................................107

    Establecer los lmites en los ndices ............................................................................................108Option Base .............................................................................................................................108To.............................................................................................................................................108

    Recorrer los elementos de un array.............................................................................................109Arrays multidimensionales ..........................................................................................................110Arrays dinmicos.........................................................................................................................112Array() .........................................................................................................................................113

    TIPOS DEFINIDOS POR EL USUARIO ..................................................................................................113EL TIPO ENUMERADO.......................................................................................................................115COMPROBACIN DE TIPOS ...............................................................................................................117FUNCIONES PROPIAS DEL LENGUAJE................................................................................................119

    Numricas....................................................................................................................................119Cadenas de caracteres.................................................................................................................121Fecha y hora. ...............................................................................................................................134

    TCNICAS.........................................................................................................................................141

    RECURSIVIDAD ................................................................................................................................141BSQUEDA DE DATOS ......................................................................................................................142

    Lineal...........................................................................................................................................142Binaria.........................................................................................................................................143

    ORDENACIN DE DATOS ..................................................................................................................144MANEJO DE ERRORES.......................................................................................................................144

    Err................................................................................................................................................145On Error ......................................................................................................................................146On Error GoTo Etiqueta..............................................................................................................146On Error Resume Next.................................................................................................................147

  • 7/16/2019 Fundamentos.de.Programacion.con.Visual.Basic.6.-.Luis.Miguel.Blanco.Grupo.Eidos.pdf

    8/390

    On Error GoTo 0 .........................................................................................................................148

    PROGRAMACIN ORIENTADA A OBJETO (OOP) ................................................................149

    QU VENTAJAS APORTA LA PROGRAMACIN ORIENTADA A OBJETOS? .........................................149OBJETOS ...........................................................................................................................................150CLASES.............................................................................................................................................150CLASES ABSTRACTAS.......................................................................................................................151RELACIONES ENTRE OBJETOS ..........................................................................................................152

    Herencia ......................................................................................................................................152Pertenencia..................................................................................................................................152Utilizacin....................................................................................................................................153

    ELEMENTOS BSICOS DE UN SISTEMA OOP.....................................................................................153Encapsulacin..............................................................................................................................153Polimorfismo................................................................................................................................153Herencia ......................................................................................................................................153

    REUTILIZACIN................................................................................................................................154CREACIN DE CLASES ......................................................................................................................154

    Crear un mdulo de clase............................................................................................................154Definir las propiedades de la clase .............................................................................................155Qu son los procedimientos Property?......................................................................................155Tipos de procedimientos Property...............................................................................................155Ventajas de los procedimientos Property ....................................................................................157Establecer una propiedad como predeterminada........................................................................159Crear los mtodos de la clase...................................................................................................... 161Cundo crear un procedimiento Property o un mtodo?..........................................................161

    INSTANCIAR OBJETOS DE UNA CLASE ..............................................................................................162Variables de objeto y tipos de enlace ..........................................................................................162Instanciar un objeto.....................................................................................................................163Manipulacin de propiedades y mtodos .................................................................................... 164

    Eliminar el objeto ........................................................................................................................165LA PALABRA CLAVE ME ..................................................................................................................165EMPLEAR VALORES CONSTANTES EN UNA CLASE ...........................................................................167EVENTOS PREDEFINIDOS PARA UNA CLASE .....................................................................................169UTILIDADES Y HERRAMIENTAS PARA EL MANEJO DE CLASES .........................................................170

    Generador de clases (Class Wizard) ...........................................................................................170Examinador de objetos (Object Browser) ...................................................................................174

    OBJETOS DEL SISTEMA .....................................................................................................................175

    DESARROLLO DE UN PROGRAMA...........................................................................................177

    CREAR UN NUEVO PROYECTO ..........................................................................................................177CONFIGURAR EL ENTORNO AL INICIO ..............................................................................................178

    ACOPLE DE VENTANAS ....................................................................................................................179DISEO DEL FORMULARIO ...............................................................................................................180LA VENTANA DE PROPIEDADES........................................................................................................181PROPIEDADES DEL FORMULARIO .....................................................................................................182VENTANA DE POSICIN DEL FORMULARIO ......................................................................................183ASIGNAR UN NOMBRE AL PROYECTO ...............................................................................................184CONTROLES .....................................................................................................................................184LABEL ..............................................................................................................................................185

    Propiedades.................................................................................................................................186Propiedades.................................................................................................................................186

    UBICACIN PRECISA DE CONTROLES ...............................................................................................188OPERACIONES CON GRUPOS DE CONTROLES....................................................................................189COPIAR Y PEGAR CONTROLES ..........................................................................................................190CONCEPTOS DE FOCO DE LA APLICACIN Y CAMBIO DE FOCO ........................................................191

  • 7/16/2019 Fundamentos.de.Programacion.con.Visual.Basic.6.-.Luis.Miguel.Blanco.Grupo.Eidos.pdf

    9/390

    9

    COMMANDBUTTON..........................................................................................................................191Propiedades.................................................................................................................................191

    CHECKBOX ......................................................................................................................................192Propiedades.................................................................................................................................192

    LA VENTANA DE CDIGO .................................................................................................................194Configuracin del editor de cdigo.............................................................................................194Modos de visualizacin del cdigo.............................................................................................. 196Divisin del rea de edicin. .......................................................................................................196Bsquedas de cdigo ...................................................................................................................197Asistentes durante la escritura .................................................................................................... 198Marcadores.................................................................................................................................. 199

    BARRAS DE HERRAMIENTAS ............................................................................................................199CODIFICACIN DE EVENTOS ............................................................................................................202GENERAR EL EJECUTABLE DEL PROYECTO ......................................................................................203INICIAR EL FORMULARIO DESDE CDIGO.........................................................................................205

    Variables globales de formulario ................................................................................................ 205Variables declaradas de formulario............................................................................................206

    ASISTENTE PARA CREAR PROCEDIMIENTOS.....................................................................................207IMAGE ..............................................................................................................................................207ARRAYS DE CONTROLES ..................................................................................................................209CREACIN DE CONTROLES EN TIEMPO DE EJECUCIN.....................................................................211PROPIEDADES ACCESIBLES EN TIEMPO DE DISEO Y EN TIEMPO DE EJECUCIN .............................213

    EL DEPURADOR .............................................................................................................................215

    QU ES UN DEPURADOR?................................................................................................................215ACCIONES BSICAS..........................................................................................................................216MODO DE INTERRUPCIN.................................................................................................................216PUNTOS DE INTERRUPCIN ..............................................................................................................217EJECUCIN PASO A PASO..................................................................................................................218

    INSPECCIONES..................................................................................................................................219La ventana de Inspeccin ............................................................................................................220Inspeccin rpida ........................................................................................................................221

    LA VENTANA INMEDIATO ................................................................................................................221LA VENTANA LOCALES ....................................................................................................................222PILA DE LLAMADAS .........................................................................................................................223

    ESTILOS DE FORMULARIOS......................................................................................................227

    APLICACIONES SDI Y MDI..............................................................................................................227 FORMULARIOS MODALES Y NO MODALES........................................................................................230

    Modal...........................................................................................................................................230Modal a la aplicacin...............................................................................................................230

    Modal al sistema......................................................................................................................232No Modal .....................................................................................................................................232

    OTROS CONTROLES BSICOS...................................................................................................233

    OPTIONBUTTON ...............................................................................................................................233Propiedades.................................................................................................................................234

    FRAME..............................................................................................................................................235LISTBOX ..........................................................................................................................................237

    Propiedades.................................................................................................................................237COMBOBOX .....................................................................................................................................239

    Propiedades.................................................................................................................................239TIMER...............................................................................................................................................240

    Propiedades.................................................................................................................................241DRIVELISTBOX, DIRLISTBOX Y FILELISTBOX ...............................................................................242

  • 7/16/2019 Fundamentos.de.Programacion.con.Visual.Basic.6.-.Luis.Miguel.Blanco.Grupo.Eidos.pdf

    10/390

    DriveListBox................................................................................................................................242Propiedades..............................................................................................................................242

    DirListBox....................................................................................................................................242Propiedades..............................................................................................................................242

    FileListBox...................................................................................................................................243Propiedades..............................................................................................................................243

    VALIDACIN DE CONTROLES ...........................................................................................................244

    DISEO DE MENS........................................................................................................................247

    DESCRIPCIN DE UN MEN ..............................................................................................................247CARACTERSTICAS DE UN MEN......................................................................................................247PROPIEDADES DE UN CONTROL MEN.............................................................................................248EL EDITOR DE MENS ......................................................................................................................248AADIR CDIGO A UNA OPCIN DE MEN.......................................................................................250CREACIN DE UN MEN ...................................................................................................................250MENS EN FORMULARIOS MDI .......................................................................................................255

    MANIPULACIN DE FICHEROS.................................................................................................259

    POR QU USAR FICHEROS? .............................................................................................................259APERTURA DE UN FICHERO ..............................................................................................................260CIERRE DE UN FICHERO....................................................................................................................261MODOS DE ACCESO A FICHEROS ......................................................................................................261ACCESO SECUENCIAL ......................................................................................................................262

    Apertura.......................................................................................................................................262Lectura.........................................................................................................................................262Escritura......................................................................................................................................264

    ACCESO ALEATORIO ........................................................................................................................267Apertura.......................................................................................................................................267Escritura......................................................................................................................................267

    Lectura.........................................................................................................................................268ACCESO BINARIO .............................................................................................................................269Apertura.......................................................................................................................................270Escritura......................................................................................................................................270Lectura.........................................................................................................................................270

    OTRAS INSTRUCCIONES PARA MANEJO DE FICHEROS ......................................................................271OBJETOS PARA EL MANEJO DE FICHEROS.........................................................................................275

    Drive ............................................................................................................................................275Propiedades..............................................................................................................................275

    Folder ..........................................................................................................................................277Propiedades..............................................................................................................................277Mtodos ...................................................................................................................................278

    File...............................................................................................................................................280FileSystemObject .........................................................................................................................282

    Propiedades..............................................................................................................................282Mtodos ...................................................................................................................................282

    TextStream...................................................................................................................................288Propiedades..............................................................................................................................288Mtodos ...................................................................................................................................288

    MEJORAR LA FUNCIONALIDAD DEL INTERFAZ VISUAL DEL PROGRAMA..............291

    LA IMPORTANCIA DE DISEAR UN INTERFAZ ATRACTIVO ...............................................................291COMMONDIALOG.............................................................................................................................291

    Color............................................................................................................................................ 293Tipo de letra.................................................................................................................................294Impresin.....................................................................................................................................296

  • 7/16/2019 Fundamentos.de.Programacion.con.Visual.Basic.6.-.Luis.Miguel.Blanco.Grupo.Eidos.pdf

    11/390

    11

    Ayuda........................................................................................................................................... 298Apertura de ficheros ....................................................................................................................300Grabacin de ficheros .................................................................................................................303

    AGREGAR CONTROLES COMPLEMENTARIOS....................................................................................303IMAGELIST .......................................................................................................................................305TOOLBAR.........................................................................................................................................306

    Propiedades.................................................................................................................................306STATUSBAR.....................................................................................................................................311CREAR UNA VENTANA SPLASH O DE INICIO ....................................................................................315

    Creacin ......................................................................................................................................315Configuracin de propiedades.....................................................................................................317Escritura de cdigo y visualizacin.............................................................................................317

    TRATAMIENTO DE DATOS CON ACTIVEX DATA OBJECTS (ADO) ................................ 321

    INTRODUCCIN A LA PROGRAMACIN CON BASES DE DATOS .........................................................321DISEO DE LA BASE DE DATOS ........................................................................................................322

    Establecer el modelo de la aplicacin......................................................................................... 322

    Analizar que informacin necesita la aplicacin........................................................................322Establecer la informacin en tablas ............................................................................................322Normalizacin de la base de datos ..............................................................................................323Relacionar las tablas ...................................................................................................................324Establecer la integridad referencial............................................................................................ 326Definir ndices para las tablas..................................................................................................... 326Definir validaciones en la insercin de datos .............................................................................326

    ACCESO A INFORMACIN BAJO CUALQUIER FORMATO ...................................................................327ACCESO UNIVERSAL A DATOS (UDA) ............................................................................................327OLE DB...........................................................................................................................................328ACTIVEX DATA OBJECTS (ADO)....................................................................................................329

    Connection...................................................................................................................................331

    Propiedades..............................................................................................................................331Mtodos ...................................................................................................................................334Command.....................................................................................................................................339

    Propiedades..............................................................................................................................339Mtodos ...................................................................................................................................340

    Parameter....................................................................................................................................341Propiedades..............................................................................................................................341Mtodos ...................................................................................................................................344

    Recordset .....................................................................................................................................345Propiedades..............................................................................................................................345Mtodos ...................................................................................................................................350

    Field.............................................................................................................................................356

    Propiedades..............................................................................................................................356Mtodos ...................................................................................................................................358

    Property.......................................................................................................................................358Propiedades..............................................................................................................................358

    Error ............................................................................................................................................359Propiedades..............................................................................................................................359

    EL ADO DATA CONTROL ................................................................................................................359VALIDACIONES A NIVEL DE MOTOR.................................................................................................369EL CONTROL DATAGRID..................................................................................................................370ASISTENTE PARA CREAR APLICACIONES..........................................................................................374

    GLOSARIO DE TRMINOS ..........................................................................................................385

    NORMATIVA DE CODIFICACIN .......................................................................................................385

  • 7/16/2019 Fundamentos.de.Programacion.con.Visual.Basic.6.-.Luis.Miguel.Blanco.Grupo.Eidos.pdf

    12/390

    Introduccin

    En las referencias a la sintaxis de los elementos del lenguaje se emplean las siguientes convencionesen el texto:

    El texto contenido entre corchetes -[ ]-, indican que se trata de un elemento del lenguajeopcional, no es obligatorio su uso.

    Cuando encontremos diferentes elementos del lenguaje separados por una barra -|-, se indicaque se puede utilizar slo uno de dichos elementos.

    Lenguajes de programacin y programas

    Un lenguaje de programacin es aquel elemento dentro de la informtica que nos permite crearprogramas mediante un conjunto de instrucciones, operadores y reglas de sintaxis; que pone adisposicin del programador para que este pueda comunicarse con los dispositivos hardware ysoftware existentes.

    Un programa por lo tanto, es un conjunto de instrucciones que siguen una serie de reglas dictadas porel lenguaje de programacin en el que se haya escrito. A ese grupo de instrucciones escritas por elprogramador para obtener el programa, se le denomina cdigo fuente, y tras una fase de compilacin,se convierten en el lenguaje mquina que ejecutar el ordenador en el que se haya instalado dichoprograma.

    El lenguaje mquina consiste en el cdigo en formato binario de las instrucciones escritas en ellenguaje de programacin, y es el nico tipo de cdigo a ejecutar que entiende el ordenador. En esecaso no sera mejor dedicarnos a programar directamente en lenguaje mquina?.

  • 7/16/2019 Fundamentos.de.Programacion.con.Visual.Basic.6.-.Luis.Miguel.Blanco.Grupo.Eidos.pdf

    13/390

    Grupo EIDOS 1. Introduccin

    13

    La respuesta a esta pregunta se encuentra en que el desarrollo de un programa directamente enlenguaje mquina es excesivamente complejo, ya que dicho cdigo se basa en las instrucciones enformato binario que son entendibles directamente por el ordenador. Debido a esto, la fase de creacindel programa se realiza en un lenguaje que sea ms comprensible por el programador, y una vezfinalizada esta fase, se convierte a cdigo mquina en la llamada fase de compilacin.

    Figura 1. Pasos para la conversin a cdigo binario.

    Diferencias entre lenguajes

    Una vez que hemos aclarado el motivo de usar un lenguaje de programacin, cabra hacernos unanueva pregunta, ya que debemos usar un lenguaje comprensible para desarrollar el programa no serams fcil que existiera un nico lenguaje con el que desarrollar todos los programas?. Por qu existetal profusin de lenguajes de programacin?

    En este caso podramos establecer una semejanza entre varios oficios que utilicen herramientasmanuales. Cada oficio tiene una tarea concreta que resolver, y para ello el trabajador emplea unconjunto de herramientas especializadas que le ayudan en dicha labor.

    Pues algo parecido podramos aplicar en el caso informtico. No es lo mismo crear un programa pararealizar la facturacin de una empresa, que tener que realizar una serie de operaciones que afecten

    directamente a los componentes fsicos del equipo, o realizar clculos cientficos avanzados. Por estemotivo, para cada uno de estos problemas encontraremos un lenguaje que est especializado en algunade estas reas: gestin, matemtico, hardware, etc.; y ese ser el lenguaje que debamos emplear, yaque estar dotado de un conjunto de utilidades que ayuden al programador en ese aspecto en concretoque deba resolver.

    Niveles de lenguajes

    Dentro del tipo de problema a resolver, los lenguajes se pueden clasificar en una serie de niveles:

    Bajo nivel. En este tipo de lenguajes no existen estructuras de control complejas. El acceso alos dispositivos fsicos del ordenador est muy optimizado y el cdigo compilado que segenera es el que est ms prximo al lenguaje mquina, ya que por cada instruccin en ellenguaje se genera una instruccin en lenguaje mquina. Por otra parte, al ser un lenguaje muyprximo al hardware de la mquina es ms difcil de programar. El ejemplo ms claro de estelenguaje es el Ensamblador.

    Medio nivel. Aqu ya se dispone de estructuras de control complejas y tipos de datos. Tambinexiste una alta capacidad de acceso a los dispositivos hardware, sin embargo, su complejidadqueda en un punto intermedio entre un lenguaje de bajo nivel y uno de alto: no es tancomplicado como el primero, pero exige una mayor curva de aprendizaje que el segundo. Ellenguaje "C" es el ejemplo de este tipo.

  • 7/16/2019 Fundamentos.de.Programacion.con.Visual.Basic.6.-.Luis.Miguel.Blanco.Grupo.Eidos.pdf

    14/390

    Fundamentos de programacin con Visual Basic Grupo EIDOS

    14

    Alto nivel. Son los que suelen aportar un mayor nmero de estructuras de control y tipos dedatos. Igualmente dispone de una sintaxis en lenguaje ms natural y un amplio conjunto defunciones internas que ayudan al programador en diversas situaciones, as como un nmerodeterminado de utilidades y asistentes que ahorran tiempo y trabajo al programador. VisualBasic es uno de los ejemplos de este tipo de lenguaje.

    Creacin de ejecutables

    Un programa finalizado y listo para utilizar, es bsicamente un fichero con extensin EXE oejecutable. Dependiendo del sistema operativo en el que ese programa deba funcionar y su finalidad,estar acompaado por una serie de ficheros adicionales como puedan ser ficheros de libreras, basesde datos, etc.

    En teora, un fichero EXE es autosuficiente, es decir, que no necesita de ningn otro fichero paraejecutarse, pero debido a lo comentado sobre ficheros adicionales, la falta de cierta librera, o la base

    de datos sobre la que se realiza un mantenimiento de informacin, puede hacer que nuestro programano funcione al detectar la ausencia de alguno de estos elementos. Debido a esto, el concepto deprograma, no puede circunscribirse en la mayora de las ocasiones nicamente al ejecutable,entendiendo como programa al compendio formado por el ejecutable, libreras de cdigo, bases dedatos, controles que se instalan junto al programa, etc.

    A pesar de todo, el punto de apoyo principal de un programa es el fichero EXE, que es creado por elprogramador y forma el elemento de unin entre el resto de componentes de un programa. A grandesrasgos, las fases de creacin de un ejecutable son las siguientes, una vez que el programador hafinalizado la escritura del cdigo fuente del programa, las vemos tambin en la Figura 2

    Compilacin. Consiste en convertir el cdigo escrito por el programador en el llamado cdigo

    objeto, previo a la fase de obtencin del ejecutable. Dependiendo del lenguaje utilizado, elcdigo objeto se almacenar en forma de fichero o ser pasado directamente a la siguiente fasede creacin del ejecutable. Para transformar el cdigo fuente a cdigo objeto se emplea elcompilador, que es un programa o utilidad encargada de esta tarea.

    Enlace. En esta fase se toman el cdigo objeto generado por el compilador y mediante unprograma o utilidad denominado enlazador, se une para obtener el ejecutable final (ficheroEXE).

    Figura 2. Fases de generacin de ejecutables.

  • 7/16/2019 Fundamentos.de.Programacion.con.Visual.Basic.6.-.Luis.Miguel.Blanco.Grupo.Eidos.pdf

    15/390

    Grupo EIDOS 1. Introduccin

    15

    En antiguos lenguajes de programacin, las labores antes descritas, deban ser realizadas por elprogramador de forma manual, ya que todos los elementos utilizados para la creacin del programa, seencontraban separados. Disponamos por un lado de un programa que consista en un editor de cdigofuente, por otro lado el compilador, enlazador, etc. Sin embargo, con el cada vez mayor auge de losentornos de desarrollo integrados, que incorporan en un slo programa todos los elementos necesarios

    para el desarrollo de programas. Estas tareas se han automatizado hasta tal nivel, que el programadorslo necesita escribir el cdigo del programa, mientras que los pasos de compilacin, enlazado ygeneracin del ejecutable las realiza internamente el propio entorno.

    Desarrollo de programas

    No existen una serie de normas absolutas a la hora de escribir un programa, ya que se trata de unproceso creativo en el que se mezclan por un lado los requerimientos del problema a afrontar, lascapacidades que nos proporciona el lenguaje empleado por otro y la pericia e inventiva delprogramador para resolver dicho problema.

    Sin embargo, s podemos establecer unas pautas generales a seguir, en lo que se puede llamar ciclo dedesarrollo del programa, y que podemos dividir en dos grandes etapas:

    Analtica del problema. En esta etapa debemos encargarnos de estudiar en que consiste elproblema y desarrollar los procesos para resolverlo. Se subdivide en tres pasos:

    Estudio del problema.

    Desarrollo del algoritmo.

    Comprobacin del algoritmo.

    Implementacin del programa. En esta etapa se procede a aplicar en el ordenador el resultadode la fase anterior. Los pasos de esta etapa son los siguientes:

    Escritura del programa basndose en los resultados del algoritmo

    Ejecucin del programa.

    Depuracin del programa.

    Documentacin del programa.

  • 7/16/2019 Fundamentos.de.Programacion.con.Visual.Basic.6.-.Luis.Miguel.Blanco.Grupo.Eidos.pdf

    16/390

  • 7/16/2019 Fundamentos.de.Programacion.con.Visual.Basic.6.-.Luis.Miguel.Blanco.Grupo.Eidos.pdf

    17/390

    Algoritmos

    Estudio del problemaAntes de proceder a la creacin del algoritmo de un proceso o programa, debemos estudiarcuidadosamente el problema planteado e identificar la informacin de que disponemos para resolverloo informacin de entrada, y el resultado a obtener o informacin de salida. Pongamos el siguienteejemplo:

    "Una empresa de desarrollo de software recibe el encargo de realizar un programa. Dicha empresacobra la hora de programacin a 3.600 ptas., empleando 45 horas en desarrollar el programa. Alimporte total de horas trabajadas se aplicar un IVA del 16%. Averiguar el importe total a pagar antesy despus de impuestos y la cantidad de impuesto aplicado".

    La informacin reconocida tras este enunciado sera la siguiente:

    Entrada:

    - Importe/hora: 3.600 ptas.

    - Horas trabajadas: 45.

    - Impuesto a aplicar: 16%.

    Salida:

    - Total antes de impuestos: 162.000 ptas.

  • 7/16/2019 Fundamentos.de.Programacion.con.Visual.Basic.6.-.Luis.Miguel.Blanco.Grupo.Eidos.pdf

    18/390

    Fundamentos de programacin con Visual Basic Grupo EIDOS

    18

    - Impuestos: 25.920 ptas.

    - Total despus de impuestos: 187.920 ptas.

    Es muy importante disponer de la suficiente informacin para resolver el problema, ya que sin ella, no

    podremos obtener los datos que supondrn el resultado del planteamiento. Supongamos este otroproblema:

    "Una oficina compra cartuchos para sus impresoras. Obtener el importe total a pagar y el porcentaje deIVA correspondiente".

    En este caso no podemos resolver el problema, ya que tras analizarlo, falta la informacin de entradacomo el nmero de cartuchos comprados, importe por cartucho y el IVA a aplicar, por lo que resultaimposible obtener los datos de salida.

    AlgoritmosUn algoritmo se puede definir como el conjunto de acciones a realizar para resolver un determinadoproblema.

    El modo de afrontar la creacin de un algoritmo, pasa por descomponer el problema planteado enproblemas ms pequeos y fciles de resolver independientemente. Una vez resueltos lossubproblemas por separado, se unirn obteniendo de esta forma el correspondiente algoritmo.

    El proceso indicado por un algoritmo debe ser claro y tener sus pasos bien definidos, de forma que sirealizamos dicho proceso varias veces, empleando siempre los mismos valores en el algoritmo,deberemos obtener el mismo resultado.

    Cuando finalicemos la escritura de un algoritmo, es muy conveniente realizar una ejecucin de pruebapara el mismo, empleando datos reales para comprobar que el resultado es el adecuado. En el caso deque obtengamos resultados no esperados, o bien, consideremos que es posible optimizar el proceso deejecucin del algoritmo, modificaremos las partes que consideremos necesarias para mejorarlo; esteproceso se denomina depuracin.

    No existe una tcnica nica para la escritura de algoritmos, si bien disponemos de algunas que dadassus caractersticas, nos facilitan dicha tarea, por lo que son mayormente utilizadas. Entre los sistemasde creacin de algoritmos, tenemos los diagramas de flujo y el pseudocdigo.

    Diagramas de flujoUn diagrama de flujo consiste en una representacin grfica basndose en smbolos de los pasos quedebe realizar un algoritmo. Estos smbolos pueden clasificarse de mayor a menor importancia, en:

    Bsicos.

    Terminador. Indica el principio o fin de un algoritmo, o bien una pausa. Figura 3

    Figura 3. Terminador

  • 7/16/2019 Fundamentos.de.Programacion.con.Visual.Basic.6.-.Luis.Miguel.Blanco.Grupo.Eidos.pdf

    19/390

    Grupo EIDOS 2. Algoritmos

    19

    Datos. Contiene informacin de entrada o salida que ser utilizada por el algoritmo paraobtener un resultado. Figura 4

    Figura 4. Datos.

    Proceso. Indica una o ms operaciones a realizar durante la ejecucin del algoritmo.Figura 5.

    Figura 5. Proceso.

    Decisin. Contiene una operacin que da como resultado un valor lgico, en funcin de lacual, el flujo del algoritmo se bifurcar en una determinada direccin. Figura 6.

    Figura 6. Decisin.

    Direccin. Indica el camino seguido por el flujo del algoritmo. Tambin suelen utilizarselneas simples para conectar smbolos en el diagrama. Figura 7.

    Figura 7. Direccin.

    Principales.

    Decisin mltiple. Variante del smbolo de decisin, en la que el resultado de la operacinque contiene puede ser uno de varios posibles, en lugar del simple verdadero o falso de ladecisin sencilla. Figura 8.

    Figura 8. Decisin mltiple.

  • 7/16/2019 Fundamentos.de.Programacion.con.Visual.Basic.6.-.Luis.Miguel.Blanco.Grupo.Eidos.pdf

    20/390

    Fundamentos de programacin con Visual Basic Grupo EIDOS

    20

    Conectores. Unen dos puntos de un diagrama. El circulo indica una conexin dentro de lamisma pgina, y el conector de direccin entre pginas diferentes del diagrama. Figura 9.

    Figura 9. Conectores.

    Rutina. Indica una llamada a un procedimiento externo al algoritmo actual. Una vezprocesado dicho procedimiento, el flujo del proceso volver a este punto y continuar conel siguiente paso del algoritmo. Figura 10.

    Figura 10. Rutina.

    Complementarios.

    Teclado. Indica una accin de entrada de datos en el algoritmo. Figura 11.

    Figura 11. Teclado.

    Pantalla. Indica una accin de salida de datos en el algoritmo. Figura 12.

    Figura 12. Pantalla.

    Impresora. Indica una accin de salida de datos en el algoritmo. Figura 13.

    Figura 13. Impresora.

    En el proceso de diseo de un diagrama de flujo, se indicarn las operaciones mediante el smbolocorrespondiente, introduciendo dentro del smbolo si es necesario, o este lo requiere, una nota con laoperacin que va a realizarse.

    Un algoritmo no sirve nica y exclusivamente para ser aplicado en la resolucin de problemasinformticos. Es posible emplear algoritmos para resolver variados problemas, incluso tareas simples.

  • 7/16/2019 Fundamentos.de.Programacion.con.Visual.Basic.6.-.Luis.Miguel.Blanco.Grupo.Eidos.pdf

    21/390

    Grupo EIDOS 2. Algoritmos

    21

    Por este motivo, en la Figura 14, vamos a desarrollar un ejemplo de algoritmo resuelto mediante undiagrama de flujo, aplicndolo a un problema tan natural como abrir una puerta con una llave.

    Figura 14. Diagrama para abrir una puerta.

    Anteriormente hemos mencionado la depuracin como la tcnica que nos permite corregir o mejorar elproceso desarrollado por un algoritmo o programa; pues bien, dicho sistema puede ser aplicado a estealgoritmo que acabamos de representar en forma de optimizacin. El anterior ejemplo slo contemplala posibilidad de una llave para abrir la puerta, pero normalmente suele suceder que tengamos variasllaves entre las que tenemos que elegir la correcta. Teniendo este aspecto en cuenta, depuremos el

    anterior algoritmo tal y como se muestra en la Figura 15, de manera que nos sirva para introducir depaso un elemento de decisin.

    Figura 15. Diagrama para abrir una puerta con depuracin

    Operadores, identificadores.

  • 7/16/2019 Fundamentos.de.Programacion.con.Visual.Basic.6.-.Luis.Miguel.Blanco.Grupo.Eidos.pdf

    22/390

    Fundamentos de programacin con Visual Basic Grupo EIDOS

    22

    Dentro de los elementos de un diagrama de flujo es frecuente la necesidad de realizaroperaciones para obtener diversos resultados. En funcin de la accin o partcula de la accina representar, emplearemos un conjunto de caracteres en mayor o menor medidageneralizados, de los cuales pasamos a describir los ms comunes.

    Cuando necesitemos indicar una operacin aritmtica, emplearemos los siguientes caracteres:

    + Suma.

    - Resta.

    * Multiplicacin.

    / Divisin.

    \ Divisin entera.

    ^ Potenciacin.

    Para establecer una comparacin utilizaremos estos smbolos:

    > Mayor que.

    >= Mayor o igual que.

    < Menor que.

  • 7/16/2019 Fundamentos.de.Programacion.con.Visual.Basic.6.-.Luis.Miguel.Blanco.Grupo.Eidos.pdf

    23/390

    Grupo EIDOS 2. Algoritmos

    23

    Figura 16. Algoritmo para calcular importe de cartuchos de impresora.

    Suponiendo que el diagrama de la Figura 16 se basa en una primera versin del algoritmo, la Figura 17muestra el proceso de depuracin y optimizacin aplicado a dicho algoritmo para realizar el clculo deun IVA del 16% sobre el importe de los cartuchos facturados y como afecta al total de la factura.

    Figura 17. Algoritmo depurado del clculo de cartuchos de impresora.

    Los algoritmos representados hasta el momento se basan en un proceso simple de toma de datos,clculo de operaciones y muestra de resultados. Pero una de las ventajas de la programacin consisteen la posibilidad de repetir un nmero determinado de veces un mismo proceso en una estructuraiterativa o bucle.

    Otra particularidad relacionada con las estructuras repetitivas, es que normalmente se necesita

    acumular un valor en un identificador a cada iteracin de la estructura. Para ello, slo debemos hacer

  • 7/16/2019 Fundamentos.de.Programacion.con.Visual.Basic.6.-.Luis.Miguel.Blanco.Grupo.Eidos.pdf

    24/390

    Fundamentos de programacin con Visual Basic Grupo EIDOS

    24

    algo tan simple como poner dicho identificador adems de en la parte izquierda de la asignacin,tambin en la parte derecha.

    El siguiente caso, muestra las situaciones antes mencionadas en un problema algo ms complejo ycompleto que los mostrados hasta el momento. El algoritmo a desarrollar se basa en un programa de

    venta de artculos; cada cliente puede comprar un nmero de artculos variable, por lo que el usuariodel programa debe de ir introduciendo el precio de cada artculo. Una vez hecho esto, se comprobarel precio del artculo, y si sobrepasa el importe de 5.000 ptas., se le aplicar un descuento del 8%. Enel caso de que el importe sea menor, se le otorgar al cliente un punto de bonificacin sobre el artculopara la prxima compra. Cuando se hayan procesado todos los artculos, deberemos obtener el importetotal de la compra y la cantidad de puntos de bonificacin, finalizando de esta manera el algoritmo. Eldiagrama de flujo correspondiente quedara como muestra la Figura 18.

    Figura 18. Diagrama de compra de artculos.

    Pseudocdigo

    El sistema de representacin de algoritmos mediante diagramas de flujo, si bien es un medio grfico yfcil de comprender, presenta el inconveniente de la lentitud en su proceso de creacin y dificultad de

    mantenimiento, ya que un cambio de planteamiento en un diagrama largo, puede significar el rediseode gran parte del mismo.

  • 7/16/2019 Fundamentos.de.Programacion.con.Visual.Basic.6.-.Luis.Miguel.Blanco.Grupo.Eidos.pdf

    25/390

    Grupo EIDOS 2. Algoritmos

    25

    Como solucin a este problema se haca necesario una tcnica de diseo de algoritmos que permitierauna creacin ms gil del mismo mediante un lenguaje sencillo de escribir y mantener.

    La respuesta la encontramos en el pseudocdigo, que consiste en una forma de expresar el desarrollode un proceso empleando palabras de nuestro lenguaje cotidiano junto con smbolos y palabras clave

    genricas de la mayora de lenguajes de programacin, es decir, un sistema que se encuentra a mediocamino entre el lenguaje natural y el de programacin.

    No hay un conjunto de normas establecidas o sintaxis para la escritura de pseudocdigo, existiendouna serie de recomendaciones para el desarrollo de algoritmos mediante esta tcnica, quedando elresto en manos de cada programador, que lo aplicar segn sus necesidades o experiencia.

    Partiendo de lo anterior, cuando en pseudocdigo necesitemos realizar operaciones que impliquen unclculo matemtico o comparacin entre elementos, emplearemos los operadores explicados en elanterior apartado dedicado a los diagramas de flujo, cuya finalidad es equivalente.

    En las indicaciones de principio, fin del algoritmo, lectura y escritura de datos, usaremos tambin lasmismas palabras clave que empleamos en los diagramas de flujo.

    Para estructuras repetitivas o bloques de instrucciones que se ejecuten basados en una condicin,podemos utilizar las siguientes palabras: Si...FinSi, Para...Siguiente, Mientras...FinMientras,Seleccionar Caso...FinCasos.

    Como medio de facilitar la legibilidad de las lneas del algoritmo, indentaremos aquellas que formenparte de un bloque o estructura.

    Si debemos escribir comentarios aclaratorios en las operaciones del algoritmo, podemos emplear dosbarras invertidas //, comilla ', llaves { }, etc.

    Comencemos con un ejemplo sencillo de pseudocdigo, basado en el problema anterior de la aperturade una puerta despus de elegir la llave correcta, que mediante este sistema, quedara de la siguienteforma.

    AperturaComienzo

    elegir una llaveSi podemos introducir llave en cerrojo

    abrir la puertaFinSi

    Final

    Pasemos a continuacin, a otro de los ejemplos anteriores realizados para un diagrama, de esta formapodremos establecer las comparaciones necesarias entre una y otra tcnica. En este caso, escribiremosel pseudocdigo para el algoritmo de compra de cartuchos de impresora que incluye clculo deimpuestos.

    CompraCartuchosComienzo

    Lectura CartuchosImporteCartuchos = Cartuchos * 2100IVA = ImporteCartuchos * 0.16TotalFac = ImporteCartuchos + IVAEscritura ImporteCartuchos, IVA, TotalFac

    Final

  • 7/16/2019 Fundamentos.de.Programacion.con.Visual.Basic.6.-.Luis.Miguel.Blanco.Grupo.Eidos.pdf

    26/390

    Fundamentos de programacin con Visual Basic Grupo EIDOS

    26

    Finalmente, convertiremos a pseudocdigo el diagrama del ejemplo sobre compra de artculos

    CompraArticulosComienzo

    Mientras haya artculos

    Lectura PrecioSi Precio > 5000

    Descuento = Precio * 0.08Precio = Precio Descuento

    SinoPuntosBonif = PuntosBonif + 1

    FinSiTotalCompra = TotalCompra + Precio

    FinMientrasEscritura TotalCompra, PuntosBonif

    final

    Diagramas Nassi-Shneiderman

    Este tipo de diagramas se basa en la representacin de los pasos del algoritmo mediante recuadros, enlos que cada paso ir a su vez encerrado en otro rectngulo.

    En el caso ms simple, ejecucin de varias instrucciones sin ningn tipo de condicin o desvo en elflujo del programa, como es el ejemplo de apertura de llave sin seleccin, un diagrama de este tipopara dicho algoritmo quedara de cmo se muestra en la Figura 19.

    Figura 19. Diagrama N-S de apertura de puerta.

    Este mismo algoritmo con seleccin de llave, y una pequea variacin, se representara segn laFigura 20.

    En este tipo de diagramas, como observar el lector, los bloques de instrucciones que estn a un mayornivel de profundidad o que en pseudocdigo deberamos indentar, se representan en recuadrosinteriores al cuadro principal del diagrama. Veamos en la Figura 21, como quedara el algoritmo decompra de artculos en un diagrama de este tipo, pero eliminando la condicin de que el artculo tengadescuento o bonificacin para no recargar en exceso el diagrama.

  • 7/16/2019 Fundamentos.de.Programacion.con.Visual.Basic.6.-.Luis.Miguel.Blanco.Grupo.Eidos.pdf

    27/390

    Grupo EIDOS 2. Algoritmos

    27

    Figura 20. Diagrama N-S de apertura de puerta con seleccin de llave.

    Figura 21. Diagrama N-S de compra de artculos.

  • 7/16/2019 Fundamentos.de.Programacion.con.Visual.Basic.6.-.Luis.Miguel.Blanco.Grupo.Eidos.pdf

    28/390

  • 7/16/2019 Fundamentos.de.Programacion.con.Visual.Basic.6.-.Luis.Miguel.Blanco.Grupo.Eidos.pdf

    29/390

    Programas

    Qu es un programa?Como se defini en un tema anterior, un programa se compone de instrucciones o lneas de cdigofuente, que se obtienen al trasladar las indicaciones de un diagrama de flujo o pseudocdigo allenguaje de programacin elegido para desarrollar el programa. Una vez escrito el programa en unlenguaje determinado, podremos ejecutarlo para resolver los problemas para los que ha sido diseado.

    Fases de ejecucin

    De forma muy genrica, las fases o pasos que se llevan a cabo durante el periodo de funcionamiento

    (ejecucin) de un programa son tres: captura de datos, proceso de informacin, muestra de resultados.Las podemos ver representadas en la Figura 22.

    La captura de datos consiste en la solicitud al usuario de informacin, que posteriormente utilizarnlos procesos escritos en el programa para resolver los problemas planteados.

    El proceso de informacin es la etapa que se encarga de ejecutar el algoritmo/s planteado en elprograma utilizando los datos introducidos por el usuario en la fase de captura.

    La muestra de resultados es la fase final en la ejecucin de un programa, en la que se obtiene lainformacin resultante de ejecutar el problema del algoritmo, mostrndola al usuario.

  • 7/16/2019 Fundamentos.de.Programacion.con.Visual.Basic.6.-.Luis.Miguel.Blanco.Grupo.Eidos.pdf

    30/390

    Fundamentos de programacin con Visual Basic Grupo EIDOS

    30

    Figura 22. Fases de ejecucin de un programa.

    Componentes de un programa

    Los componentes son todos aquellos elementos del lenguaje que utilizaremos para escribir elprograma. A continuacin se muestran de forma esquemtica los principales componentes, que sernexplicados en el prximo tema del curso.

    Datos.

    - Simples.

    - Compuestos.

    - Definidos por el programador.

    Identificadores.

    - Variables.

    - Constantes.

    - Subrutinas.

    Palabras reservadas.

    - Comandos (instrucciones).

    - Funciones propias del lenguaje.

    - Objetos propios del lenguaje.

    Operadores.

    - Aritmticos.

    - Relacionales.

    - Lgicos.

    Expresiones.

    Estructuras de control.

    - Seleccin.

    - Repeticin.

    --------------------

  • 7/16/2019 Fundamentos.de.Programacion.con.Visual.Basic.6.-.Luis.Miguel.Blanco.Grupo.Eidos.pdf

    31/390

    Grupo EIDOS 3. Programas

    31

    - Contadores.

    - Acumuladores.

    - Interruptores.

    Programas en Visual Basic

    Este curso est diseado para explicar los conceptos de comn aplicacin en todos los lenguajes deprogramacin, de manera que una vez finalizado, el lector pueda comenzar el aprendizaje de cualquierherramienta de programacin, aparte de Visual Basic, que es el lenguaje impartido aqu.

    Sin embargo, ya que los ejemplos a exponer requieren estar realizados en un lenguaje determinado, yen este caso dicho lenguaje es Visual Basic, vamos a introducirnos en este apartado en lascaractersticas principales de su entorno de desarrollo. Por el momento nos limitaremos a los

    elementos que implican la escritura de cdigo; ms adelante, trataremos los aspectos de laprogramacin con formularios y controles.

    En los antiguos lenguajes basados en modo texto, el programador dispona de un conjunto deutilidades separadas para la creacin de programas: un editor de texto para escribir el cdigo fuente delos programas, el compilador y el enlazador formaban bsicamente los utensilios de trabajo.Adicionalmente se poda disponer de un programa para crear y manipular bases de datos, otro para lacreacin de libreras de cdigo, etc., pero esta forma de desarrollo era bastante artesanal.

    Posteriormente, con el auge de Windows y el aumento de aspectos a tratar en un programadesarrollado para este sistema operativo, comenzaron a proliferar herramientas de programacin queincluan todos los elementos antes mencionados: editor de cdigo, compilador, etc., ms todas las

    utilidades necesarias para un programa que deba funcionar bajo una interfaz grfica: editor deventanas, controles, etc., aglutinados en lo que se conoce como IDE (Entorno integrado de desarrollo).

    Figura 23. Entorno de desarrollo de Visual Basic.

  • 7/16/2019 Fundamentos.de.Programacion.con.Visual.Basic.6.-.Luis.Miguel.Blanco.Grupo.Eidos.pdf

    32/390

    Fundamentos de programacin con Visual Basic Grupo EIDOS

    32

    Visual Basic o VB como tambin lo llamaremos a partir de ahora, es una de estas herramientas deprogramacin, que ofrece un entorno de desarrollo con todos los componentes necesarios para lacreacin de programas. La Figura 23 muestra el aspecto tpico de una sesin de trabajo en VB.

    Quiz el elevado nmero de elementos a nuestra disposicin, pueda a primera vista asustar al lector,

    pero no se preocupe, con un poco de prctica rpidamente nos adaptaremos a este modo de desarrolloy a desenvolvernos con soltura.

    Entre las ventanas del entorno que formarn parte de nuestro trabajo habitual, destacamos lassiguientes:

    Explorador de proyectos (Figura 24). Esta ventana muestra todos los elementos que formanparte del programa (proyecto, como se denomina en Visual Basic) que estamos desarrollando:formularios, cdigo, etc.

    Figura 24. Explorador de proyectos.

    Aparece por defecto al crear un nuevo proyecto o abrir uno existente, pero podemos mostrarlatambin mediante la opcin del men de VB Ver+Explorador de proyectos, la combinacin deteclado Ctrl+R o el botn de la barra de herramientas(Figura 25).

    Figura 25. Botn del Explorador de proyectos en la barra de herramientas.

    Cdigo. En esta ventana escribiremos todo el cdigo fuente que precisemos para nuestroprograma. Dependiendo de si estamos escribiendo el cdigo de un formulario o instrucciones

    que no estn directamente relacionadas con un formulario, tendremos varias ventanas como laque se muestra en la Figura 27, a nuestra disposicin.

    Podemos visualizar esta ventana mediante la opcin del men de VB Ver+Cdigo, y el botnde la barra de herramientas del Explorador de proyectos que vemos en la Figura 26

    Figura 26. Botn de la ventana de cdigo en la barra de herramientas del Explorador de proyectos.

  • 7/16/2019 Fundamentos.de.Programacion.con.Visual.Basic.6.-.Luis.Miguel.Blanco.Grupo.Eidos.pdf

    33/390

    Grupo EIDOS 3. Programas

    33

    Figura 27. Ventana de cdigo.

    Formulario (Figura 28). Nos permite la creacin de una ventana de las que formarn parte delprograma. Ya que VB emplea el trmino formulario para referirse a las ventanas de Windows,

    tambin ser el utilizado en este curso.

    Figura 28. Ventana de formulario.

    Esta ventana se muestra por defecto al abrir un proyecto, pudiendo ser abierta tambin con laopcin Ver+Objeto del men de Visual Basic, la combinacin de teclado Mays+F7 y el botn dela barra de herramientas del Explorador de proyectos, que aparece en la Figura 29.

    Figura 29. Botn de la ventana de formulario en la barra de herramientas del Explorador de proyectos.

    Propiedades (Figura 30). Nos permite la edicin de las propiedades del formulario o controlque estemos creando o modificando actualmente. Tambin permite manipular las propiedadesde cualquier otro elemento del proyecto que tengamos seleccionado.

  • 7/16/2019 Fundamentos.de.Programacion.con.Visual.Basic.6.-.Luis.Miguel.Blanco.Grupo.Eidos.pdf

    34/390

    Fundamentos de programacin con Visual Basic Grupo EIDOS

    34

    Figura 30. Ventana de propiedades.

    Normalmente, esta ventana se encuentra abierta, pero podemos acceder a ella enx el caso de que noest visible con la opcin Ver+Ventana Propiedades del men de VB, la tecla F4 y el botn de labarra de herramientas de VB (Figura 31).

    Figura 31. Botn de la ventana de Propiedades en la barra de herramientas.

    Cuadro de herramientas (Figura 32). Muestra el conjunto de controles que se encuentrandisponibles en el proyecto para poder ser insertados en un formulario.

    Figura 32. Cuadro de herramientas.

  • 7/16/2019 Fundamentos.de.Programacion.con.Visual.Basic.6.-.Luis.Miguel.Blanco.Grupo.Eidos.pdf

    35/390

    Grupo EIDOS 3. Programas

    35

    Aparece por defecto en el entorno y tambin podemos visualizarla con la opcin Ver+Cuadro deherramientas del men de VB y el botn de la barra de herramientas de VB que aparece en laFigura 33

    Figura 33. Botn del Cuadro de herramientas en la barra de herramientas.

  • 7/16/2019 Fundamentos.de.Programacion.con.Visual.Basic.6.-.Luis.Miguel.Blanco.Grupo.Eidos.pdf

    36/390

  • 7/16/2019 Fundamentos.de.Programacion.con.Visual.Basic.6.-.Luis.Miguel.Blanco.Grupo.Eidos.pdf

    37/390

    Elementos del lenguaje

    IntroduccinUn lenguaje de programacin se compone de una serie de elementos que se utilizan para escribir lasdiferentes instrucciones y expresiones de que consta un programa. Adems de los mencionadoselementos, existen una serie de reglas de construccin de expresiones, que son las encargadas dedecidir si determinada lnea o lneas de cdigo estn bien escritas, de forma que nuestro programa seejecute correctamente. Al conjunto de normas establecidas para la correcta escritura del cdigo en unlenguaje de programacin se le denomina sintaxis.

    Datos

    Los datos es la informacin que utiliza un programa para poder realizar operaciones. En funcin de lainformacin que contengan se pueden clasificar en varios grupos: simples, compuestos y definidos porel programador.

    Simples

    Un dato simple est formado por una sola unidad de informacin; dependiendo del contenido de esainformacin, los datos simples se dividen en:

  • 7/16/2019 Fundamentos.de.Programacion.con.Visual.Basic.6.-.Luis.Miguel.Blanco.Grupo.Eidos.pdf

    38/390

    Fundamentos de programacin con Visual Basic Grupo EIDOS

    38

    Numrico

    Como su nombre indica, este tipo de dato contiene un nmero, que pueden ser entero (sin partedecimal) o real (con parte decimal).

    Como ejemplos de nmero enteros podemos mostrar los siguientes:

    8 1000 415 -80

    Como ejemplos de nmero reales tenemos estos otros:

    8.35 120.55 -28.42

    Debido a la naturaleza de los ordenadores, hay que tener presente que para representar un nmero realen un programa, tal y como acabamos de observar, debemos utilizar como separador decimal el puntoen lugar de la coma.

    Carcter

    Un dato de tipo carcter est formado por un nico elemento, que puede ser cualquier letra, smbolo onmero, teniendo en cuenta que los nmeros que son representados como caracteres no se puedenutilizar para realizar operaciones aritmticas.

    Para representar un dato de este tipo en un programa, se utilizan los denominados delimitadores, entrelos que se encierra el carcter correspondiente, suelen ser habitualmente y para la mayora de loslenguajes de programacin, los smbolos de comilla simple o doble, como se muestra a continuacinen los siguientes ejemplos:

    "a" "?" "4" "+"

    Cuando se desarrollan programas, es poco frecuente o til el uso de un tipo carcter, siendo muchoms habitual agrupar varios datos de este tipo en lo que en programacin se conoce como cadena decaracteres. Este aspecto puede resultar un tanto confuso, ya que una cadena es un dato compuesto y nosimple, pero existen ciertos lenguajes que tratan las cadenas como datos de tipo simple, Visual Basices uno de ellos, por lo que en este curso al referirnos a una cadena de caracteres la consideraremos undato simple. Las siguientes lneas muestran ejemplos de datos de tipo cadena.

    "el reloj marca las cinco"

    "apagar el monitor antes de salir"

    "el importe del ticket es: 5.000 ptas."

    Algo similar ocurre con las fechas, aunque combinan nmeros, letras y smbolos para surepresentacin, son tratadas por el lenguaje como una unidad de informacin.

    Lgico