tutorial visual basic

16
ENGIN310 Tutorial Visual Basic Programación y Algoritmos

Upload: francisco-gallardo-soto

Post on 06-Nov-2015

82 views

Category:

Documents


1 download

DESCRIPTION

Tutorial para aprender términos en Visual Basic para Visual Studio Community 2013 para Windows.

TRANSCRIPT

  • ENGIN310

    Tutorial Visual Basic Programacin y Algoritmos

  • INICIANDO EN VISUAL BASIC

    Para comenzar a programar en Visual Basic, debemos abrir una aplicacin de consola como se muestra a

    continuacin:

    Las aplicaciones de consola son una manera sencilla de crear y programar diferentes procesos.

  • ESTRUCTURA BSICA DE UN PROGRAMA

    La estructura mnima que puede tener un programa Visual Basic para ser utilizado en la consola es la siguiente:

    El scope de una variable se refiere a la partes del cdigo donde es posible utilizarla. El bloque de un cdigo es

    todo aquel cdigo que tiene el mismo nivel. En el caso de Visual Basic, es todo lo que se encuentra dentro de

    los parntesis {}

    Una variable siempre se puede usar en el mismo bloque en el que se declar y en los bloques hijos.

    VARIABLES

    Para poder utilizar las variables, se deben hacer al menos dos operaciones claves:

    1. Declaracin: se establece que existir una variable con un cierto nombre y con un cierto tipo de

    dato.

    2. Asignacin: se almacena un valor del mismo tipo que se ha declarado en la variable.

    Las variables y datos pueden ser de los siguientes tipos:

    1.- Integer: nmeros enteros.

    2.- Double: nmeros reales.

    3.- String: cadena de texto. Se debe siempre escribir el valor entre comillas.

    4.- Boolean: valores binarios, que toman el valor de verdadero o falso. Es usado en el caso de las

    banderas, las cuales sirven para recordar algn hecho o dato.

    A continuacin, se muestran algunas de las formas de crear una variable:

    En cualquiera de las 3 formas, lo que hace C# es crear una variable llamada x:

    a.- Forma 1: Visual Basic reconoce una variable del tipo integer llamada nombre_variable, que

    almacenar nmeros naturales.

    b.- Forma 2: C Visual Basic reconoce una variable del tipo integer llamada nombre_variable, que

    almacenar nmeros naturales y que tiene el valor 1 asignado a ella.

    c.- Forma 3: Visual Basic reconoce una variable del tipo integer llamada nombre_variable, que

    almacenar nmeros naturales y que tiene el valor 1 asignado a ella. Pese a que no se indic que era del tipo

    integer, al asignarle el valor 1, inmediatamente Visual Basic asume que es un integer. Si hubisemos asignado

    una palabra, Visual Basic hubiese asignado que era una variable string, pero este ejemplo no es el caso.

  • COMANDOS DE ENTRADA Y SALIDA

    Para que el programa entregue datos, utilizamos:

    1.- Console.Write: el texto introducido por el usuario se escribir a continuacin de la frase que

    escribamos con Console.Write.

    2.- Console.WriteLine: muestra el texto que escribimos y luego avanza a la siguiente lnea.

    Si se necestian recibir datos del exterior, usamos:

    1.- Console.ReadLine: lee lo que se escribe en la consola. Recibe todos los caracteres hasta un smbolo

    de nueva lnea.

    2.- Console.ReadKey: la tecla presionada por el usuario se muestra en la ventana de la consola. Siempre

    es recomendable usar Console.ReadKey, pues as nos aseguramos de que la consola no se cierre

    automticamente tras su uso, de modo tal que podemos ver los resultados.

    El valor recibido se debe asignar inmediatamente a una variable, en caso de que nos interese usarlo

    posteriormente.

    PARSE

    Los comando que reciben entrada de datos entregan siempre su informacin como un string.

    En caso de que necesitemos escribir un nmero en Visual Basic, debemos realizar una conversin.

    Tipos de conversiones:

    1.- Boolean.Parse: convierte un string en un valor boolean.

    2.- Double.Parse: convierte un string en un valor double.

    3.- Integer.Parse: convierte un string en un valor integer.

    CICLOS

    CICLO WHILE

    Ejecuta una instruccin o bloque de instrucciones repetidamente hasta que una expresin especificada se evala

    como true. La instruccin While siempre comprueba la condicin antes de iniciar el ciclo. Se pueden anidar

    ciclos While colocando un ciclo dentro de otro.

    Su sintaxis es:

    1.- While condicin: Obligatorio. Es una condicin que nos entrega un valor del tipo boolean.

    2.- Statements: Opcional. Corresponde a una o ms instrucciones a continuacin de While, que se

    ejecutan cada vez que la condicin es True.

    3.- EndWhile: indica el fin del ciclo o bucle while.

    4.-Break: termina abruptamente el ciclo while.

    Si el ciclo es infinito, entonces la condicin de While es true. En este caso es necesario utilizar break.

    CICLO FOR El ciclo for ejecuta una instruccin o bloque de instrucciones hasta que una determinada expresin se evala

    como false. El bucle for es recomendado para procesar secuencialmente. Requiere de un contador para

    funcionar.

    Su modo de operar es:

  • 1.- Primero evala el valor inicial del contador.

    2.- A continuacin, mientras el valor del contador sea menor que un cierto nmero, la condicin se

    evala como true y ejecuta la instruccin indicada.

    3.- Cuando el contador es mayor que el nmero indicado, la condicin se evala como false y el control

    se transfiere fuera del bucle.

    CICLO DO WHILE La instruccin do ejecuta una instruccin o bloque de instrucciones repetidamente hasta que una expresin

    especificada se evale como false.

    A diferencia del ciclo While, un bucle Do-While se ejecuta una vez antes de que se evale la expresin

    condicional.

    Se puede salir del bucle en cualquier punto utilizando la instruccin break.

    FUNCIONES

    Una funcin es una relacin entre dos conjuntos que asigna a cada elemento del primero un elemento del

    segundo o ninguno. Visual Basic tiene ciertas funciones matemticas predeterminadas que el usuario puede

    utilizar si es necesario.

    En la siguiente tabla, se muestran algunas funciones matemticas:

    Nombre Descripcin

    Abs() Devuelve el valor absoluto de un nmero.

    Cos() Devuelve el coseno de un ngulo.

    Exp() Devuelve el valor "e" elevado a la potencia especificada.

    Floor() Devuelve el nmero entero ms grande menor o igual que el nmero

    especificado.

    Log() Devuelve el logaritmo natural (en base e) de un nmero especificado.

    Log10 Devuelve el logaritmo en base 10 de un nmero especificado.

    Max() Devuelve el mayor de dos nmeros.

    Min() Devuelve el menor de dos nmeros.

    Pow Devuelve un nmero especificado elevado a la potencia especificada.

    Round() Redondea un valor al valor entero ms prximo.

    Sign() Devuelve un valor que indica el signo de un nmero.

    Sin() Devuelve el seno de un ngulo especificado.

    Sqtr() Devuelve la raz cuadrada de un nmero especificado.

    Tan() Devuelve la tangente de un ngulo especificado.

    Truncate() Devuelve la parte entera de un nmero decimal.

    Para llamarlas debemos escribir: Funcin.Math(valor).

    Si queremos crear una nueva funcin, debemos hacerlo bajo el programa principal. Esto para luego llamarla

    desde el programa principal (Main()).

    Las funciones o procedimientos en Visual Basic corresponde a los subprocesos que tienen una funcionalidad

    especfica.

    Todas las funciones deben tener un nombre y se agrega una lista de parmetros entre parntesis, separados por

    coma. Siempre se debe definir el tipo de resultado que entregar la funcin, si es que la funcin entrega algn

  • tipo de dato. Las funciones que retornan algn valor, deben ejecutar en algn momento la instruccin Return

    x, donde x es el valor de la variable que tiene el mismo tipo de dato que en l se defini como tipo de retorno

    en la forma de la solucin.

    Para crear una nueva funcin, debemos indicar su nombre, el tipo de parmetros que recibe y el tipo de

    parmetros que retorna. Los parmetros de entrada pueden ser:

    1.- ByVal: los parmetros de entrada pueden ser solamente usados por la funcin, pero no modificados.

    2.-ByRef: los parmetros de entrada pueden ser usados y modificados por la funcin.

    A continuacin, se da un ejemplo prctico de una funcin creada.

    ARREGLOS

    Un arreglo se puede entender como una cajonera que almacena cierto tipo de datos.

    DECLARACIN Para definir un arreglo, debemos indicar su nombre, cuntos cajones tendr y el tipo de datos que almacenar.

    CMO LLENAR UN ARREGLO Para llenar un arreglo, tenemos dos mtodos:

    1.-Mtodo directo: insertamos manualmente los datos, indicando la posicin que adquirirn.

    2.-Mtodo indirecto: insertamos los datos por medio de un ciclo.

  • Notas:

    1.-La variable i no se ha definido previamente. Se crea y se usa slo dentro del ciclo for.

    2.-En el ciclo for, se debe indicar el trmino. Si este corresponde a un n que ingres el usuario, entonces

    debemos poner hasta n-1.

    CMO RECORRER UN ARREGLO

    Para mostrar un arreglo, debemos utilizar un ciclo for each. Esto dado que este ciclo recorrer uno a uno los

    cajones de nuestra cajonera.

    Nota: La variable cajn no se ha definido previamente. Se crea y se usa slo dentro del ciclo for each.

    EJEMPLO PRCTICO A continuacin, crearemos un programa que permita almacenar los animales de un zoolgico y que luego

    imprima en pantalla sus nombres.

    Cdigo

  • Output

    Si bien este ejemplo parece bastante simple, en general podemos trabajar de la misma forma todos los arreglos.

    Esta es una forma bsica para manipular arreglos.

    STRINGS

    Un string es una cadena de caracteres, el cual tiene las siguientes propiedades:

    Funcin Qu hace Sintaxis Ejemplo

    Substring Corta un pedazo de la cadena palabra.substring(palabra inicial, cantidad de caracteres)|

    Palabra: Hola pedazo: palabra.subtring(0, 2) Pedazo = ho

    Lenght Dice el largo de una cadena, contando desde cero

    palabra.lenght() Palabra = hola Palabra.lenght() = 3

    Contains Indica si una cadena contiene o no un valor determinado, por ende, me da un valor

    palabra.contains() Palabra = hola palabra.contains("h") Resultado = verdadero

    Trim Quita los espacios en blanco al principio y al final de una cadena

    palabra.trim() Palabra = hola mundo palabra.trim()= hola mundo

    InStr Busca una cadena dentro de otra palabra.InStr(posicin desde donde empezar a buscar, string donde voy a buscar , qu string voy a buscar)

    Palabra = hola X = InStr(0, palabra, "I") X = 2.

    ToUpper Cambia una cadena a maysculas

    palabra.toUpper() Palabra =hola palabra.ToUpper() = HOLA

    ToLower Cambia una cadena a minsculas palabra.toLower() Palabra = Hola palabra.toLower() = hola

    LISTAS

    Una lista es un conjunto de elementos relacionados a los cuales se puede acceder por su ndice. Proporciona

    mtodos para buscar, ordenar y manipular datos. A diferencia de los arreglos, estos no tienen un tamao

    predefinido.

    DECLARACIN Se debe crear una nueva lista para hacer la asignacin de la variable de tipo de lista que se ha declarado. Una

    lista se declara siguiendo la sintaxis que se muestra a continuacin:

    Dim Nombre_Lista as List(Of Tipo_Variable) = New List(Of Tipo_Variable)

    Esto es, por ejemplo:

  • PROPIEDADES A continuacin, se muestran algunas propiedades de las listas:

    Nombre Descripcin

    Add Agrega un elemento a la lista.

    Count Obtiene el nmero de elementos contenidos en una lista.

    Item Devuelve la posicin en la que se encuentra un elemento especificado.

    Clear Limpia todos los valores de la lista y la deja vaca.

    Contains Determina si un elemento se encuentra en la lista.

    ConvertAll Convierte en otro tipo los elementos incluidos en la lista actual y devuelve una lista que contiene

    los elementos convertidos.

    Equals Determina si el objeto especificado es igual al objeto actual.

    Exists Determina si la lista contiene elementos que cumplen con las condiciones especificadas.

    FindAll Recupera todos los elementos que coinciden con las condiciones definidas por el predicado

    especificado.

    ForEach Realiza una accin especificada en cada elemento de la lista.

    Insert Inserta un valor especificado en una posicin determinada.

    Remove Quita un valor de la lista.

    Reverse Invierte el orden de los elementos de la lista.

    Sort Ordena los elementos de una lista.

    CMO LLENAR UNA LISTA 1.-Mtodo directo: insertamos manualmente los datos, indicando la posicin que adquirirn.

    2.-Mtodo indirecto: insertamos los datos por medio de un ciclo.

    CMO RECORRER UNA LISTA Para mostrar los valores de una lista, debemos proceder del siguiente modo:

    Nota: cabe destacar que la variable value es creada y utilizada solamente dentro del ciclo for each.

  • EJEMPLO PRCTICO Crearemos una lista que permita almacenar tres nombres de animales de un zoolgico y que luego muestre en

    orden alfabtico a estos animales:

    Cdigo

    Output

    ESCRITURA Y LECTURA DE ARCHIVOS

    StreamReader Para trabajar con archivos externos al programa, utilizamos la clase StreamReader. A continuacin, veremos

    paso a paso cmo implementar esta clase. Supongamos que tenemos un block de notas con los siguientes datos:

    Nombre del producto;precio unitario;cantidad

    Nuestro objetivo consiste en leer este archivo y guardar en tres listas distintas los valores correspondientes.

  • Paso 1: escribir Imports System.IO. Esta instruccin permite hacer referencia a archivos externos al programa.

    Paso 2: crear una variable del tipo string para almacenar la ruta del archivo.

    Paso 3: revisar que el archivo exista o que la ruta sea correcta. Esto lo hacemos con el mtodo File.Existis, el

    cual determina si existe o no el archivo especificado. Entre parntesis, indicamos la direccin del archivo que

    revisar. Recordemos que en el paso 2 creamos una variable del tipo string para guardar esta informacin.

    Si el archivo no existe, entonces le enviaremos un mensaje al usuario.

    Paso 3: crear una variable del tipo StreamReader, la cual nos permitir leer archivos externos al programa.

  • Paso 4: crear una variable string para almacenar las lneas recibidas del archivo.

    Paso 5: crear un ciclo para leer el archivo. Para leer el archivo, crearemos un ciclo que nos permita leer lnea a

    lnea el archivo. Este ciclo acabar cuando la ltima lnea sea vaca. Visual Basic tiene un comando especial

    llamado Nothing que sirve para especificar que algo sea vaco. Este ciclo puede ser de dos tipos:

    While endwhile: si decidimos utilizar un ciclo while, entonces debemos leer fuera del ciclo la primera

    lnea del archivo. Esto para asegurarnos de que el archivo no est vaco. Las dems lneas se leern

    dentro del ciclo.

    Do-loop: el ciclo do tiene la particularidad de que efecta una vez la instruccin y luego evala la

    condicin y si sta es verdadera, evala nuevamente los enunciados. Este proceso contina hasta que la

    condicin sea falsa. Lo anterior implica que no es necesario leer la primera lnea fuera del ciclo.

    Para este ejemplo, utilizaremos el ciclo while.

    Paso 6: separar las lneas. Dado que el archivo que estamos leyendo es del tipo Nombre del

    producto;preciounitario;cantidad, debemos separar las palabras, segn el criterio ;. Para esto, seguiremos los

    siguientes pasos:

  • 6.1.- Crear una lista para almacenar cada uno de los valores.

    6.2.- Crear un arreglo: antes de guardar los valores en las listas, debemos recordar que la funcin Split,

    que utilizaremos ms adelante, nos entrega como resultado un arreglo, por lo cual no podemos guardar

    directamente los valores en las listas. Para esto, crearemos un arreglo que nos permita guardar el resultado de la

    funcin Split.

    Observaciones:

    El arreglo es del tipo string porque la funcin Split nos entrega una variable del tipo string.

    No es necesario indicar la cantidad de cajones que tiene este arreglo, de hacerlo la instruccin

    correspondera a cajonera(2).

    6.2.- Crear un separador: este separador nos permitir indicar cul es el criterio de separacin de cada

    lnea. En este caso, corresponde a ;, pero podra ser de cualquier tipo. Para guardar a este separador,

    utilizaremos una variable el tipo char. Una variable del tipo char corresponde a un solo carcter.

    6.3.- Utilizar la funcin Split y guardar la informacin en el arreglo: con la funcin Split especificamos

    que cortaremos la lnea leda con el argumento ;, para el cual creamos una variable previamente. Una vez que

  • utilizamos esta funcin, guardamos inmediatamente el resultado en la cajonera. Notemos que para llenar este

    arreglo debemos proceder de una forma diferente a las que conocemos, lo cual se debe a que la funcin Split

    llena de manera inmediata los cajones del arreglo.

    6.4.- Recorrer la cajonera y guardar los valores en las listas correspondientes. Para esto, debemos extraer

    de cada cajn los valores previamente guardados. Esto lo haremos manualmente, ya que conocemos la posicin

    exacta de cada valor.

    Observacin: notar que para la columna precios y cantidad, debemos realizar un Parse. Esto porque la

    lista precios y cantidad almacena variables slo del tipo integer.

    7.-Cerrar el archivo: SIEMPRE que terminamos de usar el StreamReader, debemos cerrar el archivo

    externo. Esto lo hacemos con la instruccin Close.

    Siguiendo paso a paso las instrucciones anteriores, podemos leer un archivo externo al programa. Los

    pasos 6.2 y 6.3 pueden cambiar, dependiendo de las especificaciones que tenga el problema.

  • Streamwriter La clase StreamWriter nos permite operar sobre un archivo externo al programa, escribiendo en l. A

    continuacin, seguiremos las siguientes instrucciones para utilizar esta clase:

    Paso 1: escribir Imports System.IO. Esta instruccin permite hacer referencia a archivos externos al programa.

    Paso 2: indicar la ruta en la cual guardaremos el archivo. Adems, debemos especificar el nombre del archivo y

    su tipo.

    Paso 3: crear una variable del tipo StreamWriter para escribir en el archivo externo.

    Observacin: si indicamos el argumento true, entonces esto indica que si ya existe un archivo con la misma

    direccin y el mismo nombre, entonces escribir al final del archivo las nuevas lneas indicadas. Es importante

    destacar que esta instruccin es optativa y que no borra lo que exista en el archivo existente, slo escribe al final

    de ste las nuevas lneas.

  • Paso 3: escribir en el archivo.

    Paso 4: cerrar el archivo. Una vez que terminamos de escribir en el archivo, debemos cerrarlo. Esta instruccin

    se debe dar SIEMPRE al programa.