1.0 Fundamentos de Programacion Con VB2010-FGG-1

55
UNIVERSIDAD CONTINENTAL DE CIENCIAS E INGENIERÍA EXTENSIÓN PROFESIONAL Desarrollo de Sistemas Empresariales Fundamentos de Programación con Microsoft Visual Basic 2010

Transcript of 1.0 Fundamentos de Programacion Con VB2010-FGG-1

Page 1: 1.0 Fundamentos de Programacion Con VB2010-FGG-1

UNIVERSIDAD CONTINENTAL DE CIENCIAS E INGENIERÍA EXTENSIÓN PROFESIONAL

Desarrollo de Sistemas Empresariales

Fundamentos de Programación con Microsoft Visual Basic 2010

Page 2: 1.0 Fundamentos de Programacion Con VB2010-FGG-1

Fundamentos de Programación con

Microsoft Visual Basic 2010

Universidad Continental de Ciencias e Ingeniería Pag. 1

INTRODUCCIÓN

Mediante los fundamentos de programación podemos ser buenos programadores ya que aprenderemos a utilizar nuestra lógica empleándola en la elaboración de programas de cómputo.

Cualquier lenguaje de programación requiere de sentencias que guarden orden y lógica, es por ello que comenzaremos con las definiciones más importantes que todo programador debe saber y posteriormente emplearemos todo lo aprendido en este curso para crear programas de computadora y futuros Sistemas Informáticos mediante el Lenguaje de Programación Visual Basic 2010.

En el desarrollo de sistemas muy complejos hasta programas muy simples, se requiere de programación; la creación del código integrante de estos programas se debe realizar de manera organizada y planificada, de no seguir técnicas de desarrollo, como técnicas de programación conllevan a convertir el desarrollo en un problema grave que afrontar, el cual seguramente perjudicará el logro de los objetivos planteados; se recalca que el análisis y diseño son de por si etapas muy importantes para el logro del objetivo final.

En esta asignatura se hace énfasis fuerte en el análisis, construcción y diseño de programas basados en objetos, con un medio de resolución de problemas mediante técnicas de programación, así mismo usamos una herramienta de Enseñanza de las reglas de sintaxis más frecuentes y eficientes del lenguaje Visual Basic 2010.

El curso Fundamentos de Programación Orientado a Objetos con Visual Basic 2010 busca en su primera parte, que el estudiante logre solucionar problemas; creando programas de computadora que posean criterios de legibilidad, modularidad y exactitud; que le proporcionen cierta habilidad y conocimientos básicos necesarios.

Es importante señalar que para lograr el objetivo esperado se deben implementar los programas que dan solución a los ejercicios planteados, los mismos que son acompañados de varios ejemplos. Bienvenidos al mundo de la Programación.

Page 3: 1.0 Fundamentos de Programacion Con VB2010-FGG-1

Fundamentos de Programación con

Microsoft Visual Basic 2010

Universidad Continental de Ciencias e Ingeniería Pag. 2

CAPITULO 1

CONCEPTOS FUNDAMENTALES DE PROGRAMACIÓN

1. LENGUAJE DE PROGRAMACION

Un lenguaje de Programación está constituido por un conjunto de palabras adaptadas a partir de un lenguaje humano (por lo general en Inglés), cada una de estas palabras representan instrucciones que la máquina puede llevar a cabo.

Aparte de las instrucciones los lenguajes de programación proporcionan una serie de operadores, tipos de datos, y funciones especiales que al ser utilizadas en conjunto permiten el diseño de Programas de Computadora y por lo tanto la creación de Sistemas.

Un lenguaje de programación actúa como traductor entre el usuario y el equipo. En lugar de aprender el lenguaje nativo del equipo, conocido como "lenguaje de máquina" (sistema binario), puede usar un lenguaje de programación para dar instrucciones al equipo de un modo más sencillo de aprender y de comprender.

Un programa especializado conocido como compilador toma las instrucciones escritas en el lenguaje de programación y las convierte en lenguaje de máquina. Esto implica que, como desarrollador de Visual Basic, no tiene por qué entender qué hace el equipo ni cómo lo hace, sólo necesita comprender cómo funciona el lenguaje de programación Visual Basic.

Ejm.

COBOL

FORTRAN

PASCAL

LENGUAJE C

C++

JAVA

DELPHI

POWER BUILDER

VISUAL BASIC 2010

C#

2. ¿POR QUÉ VISUAL BASIC?

En gran medida, Visual Basic se parece mucho al lenguaje que utilizamos cada día. Al hablar o escribir, usamos distintos tipos de palabras, como sustantivos, adjetivos, verbos, etc. Visual Basic también consta de distintos tipos de palabras (elementos de programación), que definen su modo de uso para escribir programas.

Los elementos de programación en Visual Basic incluyen declaraciones, instrucciones, métodos, operadores y palabras claves. A medida que complete las siguientes lecciones, aprenderá más acerca de estos elementos y sobre cómo utilizarlos.

En el lenguaje escrito y hablado también hay reglas, o sintaxis, que definen el orden de las palabras en una oración. Visual Basic también tiene sintaxis. Al principio puede parecer extraña pero, en realidad, es muy sencilla. Por ejemplo, para consignar "La velocidad máxima de mi automóvil es de 55", tendría que escribir:

Page 4: 1.0 Fundamentos de Programacion Con VB2010-FGG-1

Fundamentos de Programación con

Microsoft Visual Basic 2010

Universidad Continental de Ciencias e Ingeniería Pag. 3

Car.Speed.Maximum = 55

Continuaremos aprendiendo sintaxis más adelante. Las herramientas de Visual Basic, como IntelliSense, le servirán de guía para utilizar la sintaxis correcta al escribir programas.

3. SISTEMA

Es el conjunto de subsistemas (módulos) y programas que interactúan entre sí para dar soluciones a los diversos procesos de negocios de una empresa.

Ejm. Sistema de Distribución de Medicamentos compuesto por los siguientes Módulos:

Ventas

o Registro de Clientes

o Ventas al Contado

o Ventas al Crédito

o Buscar Ventas

o Anular Ventas

o Emisión de Notas de Crédito

o Emitir Guía de Remisión

Almacén

o Registro de Productos

o Ingreso de Medicamentos

o Salida de Medicamentos

Kardex

o Cobranzas

o Registro de Cobranzas

o Amortizaciones – Emisión de Acuse de Recibo

Pago de Personal

o Registro de Personal

o Control de Ventas

o Control de Asistencia

o Pago Personal

Page 5: 1.0 Fundamentos de Programacion Con VB2010-FGG-1

Fundamentos de Programación con

Microsoft Visual Basic 2010

Universidad Continental de Ciencias e Ingeniería Pag. 4

4. PROGRAMA

Es un conjunto de órdenes lógicas y ordenadas (instrucciones) mediante algún Lenguaje de Programación que permiten indicar a la computadora paso a paso los procesos que debe realizar.

Un programa está compuesto básicamente de dos partes: instrucciones y datos.

Cuando se diseñan los programas se debe seguir una serie de pasos:

i. Enunciado.- consiste en que quien vaya a dar solución al problema, debe entender claramente el enunciado del problema para que la solución sea satisfactoria.

Ejm. Se necesita calcular el incentivo de un vendedor según sus ventas realizadas.

ii. Definición de Entradas y Salidas.- consiste en definir y establecer los datos necesarios para la solución del problema. Los datos que se conocen se denominan ENTRADA y los resultados se denominan SALIDA.

Los datos de entrada y salida se encuentran en el enunciado del problema, no se piense que éstos hay que inventarlos. Si no se logra esta definición es porque el entendimiento del problema aún no es suficiente.

Por ello para fines académicos debemos entender que el procesamiento de un computador se reduce a:

Entrada Proceso Salida

Ejm. Tener en cuenta que el todos los vendedores tienen un sueldo básico de S/. 550, pero además reciben una comisión del 15% como incentivo por el total de sus ventas. Determinar el Sueldo Mensual.

S.Básico, Comisión(15%), Total VentasS.Básico+IncentivoSueldo mensual

iii. Desarrollo Algorítmico.- Un algoritmo no es más que la solución de un problema, por tanto desarrollar un Algoritmo consiste en desarrollar la solución del problema. Es bueno recalcar que esta solución no es única; existen muchas formas de resolver problemas ya que la lógica de cada persona es distinta.

Para desarrollar un Algoritmo existen 2 herramientas universalmente aceptadas y reconocidas en el mundo de la computación y ambas tienen vigencia aunque algunos prefieren más a una que a otra.

Estas herramientas son: El Pseudocódigo y los Diagramas de Flujo.

Page 6: 1.0 Fundamentos de Programacion Con VB2010-FGG-1

Fundamentos de Programación con

Microsoft Visual Basic 2010

Universidad Continental de Ciencias e Ingeniería Pag. 5

o PSEUDOCODIGO.- Es la forma de representar un algoritmo mediante un conjunto de palabras adaptadas. Los algoritmos pueden ser planteados en lenguaje natural de manera sencilla gracias al pseudocódigo. Ejm.

ALGORITMO CALCULO SUELDO NETO

Declarando variables:

NOMBRE: CADENA

SBASICO= 550:NUMERO

COMISION=0.15:NUMERO

TOTVENTAS:NUMERO

INCENTIVO:NUMERO

SNETO:NUMERO

LEER NOMBRE

LEER TOTVENTAS

INCENTIVO=TOTVENTAS*COMISION

SNETO=SBASICO+INCENTIVO

ESCRIBIR SNETO

FIN DEL ALGORITMO

o DIAGRAMA DE FLUJO.- Es la forma gráfica de representar a un algoritmo,

mediante símbolos.

Declaración

de variables

y Entradas

Procesos

Salida

s

INICIO

FIN

LEER NOMBRE

NOMBRE: CADENA

SBASICO= 550:NUMERO

COMISION=0.15:NUMERO

TOTVENTAS:NUMERO

INCENTIVO:NUMERO SNETO:NUMERO

INCENTIVO=TOTVENTAS*COMISION

ESCRIBIR SNETO

LEER TOTVENTAS

SNETO=SBASICO+INCENTIVO

Page 7: 1.0 Fundamentos de Programacion Con VB2010-FGG-1

Fundamentos de Programación con

Microsoft Visual Basic 2010

Universidad Continental de Ciencias e Ingeniería Pag. 6

iv. Prueba de Escritorio.- Es la manera de verificar si el algoritmo planteado da solución al problema usando lápiz y papel y usando valores variables o constantes. Es necesario desarrollar siempre la prueba en escritorio. Muchas veces el estudiante piensa que es mejor realizar la prueba en el computador, pero no es recomendable, pues siempre hay que tener cuidado con las instrucciones que procesa la computadora, recordemos que la computadora obedece las órdenes que el usuario da; si el usuario plantea errores, pues la máquina procesará dichos errores, devolviendo datos que no se esperaban, ya que la máquina no piensa.

v. Codificación.-Este paso consiste en trasladar el algoritmo que fue desarrollado y expresado en Pseudocódigo o Diagrama de Flujo a un Lenguaje de Programación, para ello se debe conocer la sintaxis de dicho lenguaje.

vi. Depuración.- Consiste en "AGREGAR LO QUE FALTA Y QUITAR LO QUE SOBRA", en otras palabras tratar de que el código del programa tenga la menor cantidad de líneas posibles y sea efectivo, sin alterar la estructura del algoritmo.

5. ELEMENTOS QUE CONFORMAN UN PROGRAMA DE COMPUTADORA

Entre los principales elementos tenemos:

I. Variables, son nombres simbólicos que representan un espacio de la memoria en la que se almacenará un dato o valor de un determinado tipo. Como su nombre lo indica las variables almacenan datos que pueden variar durante la ejecución de la aplicación.

Las variables pueden ser de distinto tipo, entre las cuales podemos mencionar:

a. Tipo Cadena

b. Tipo Numérico

c. Tipo Lógico

d. Tipo fecha

Inicio/Fin del algoritmo

Procesos del algoritmo

Entada/Salida Estándar de Datos del algoritmo

Flujo de recorrido entre Procesos del algoritmo

Punto de Decisión del algoritmo

Page 8: 1.0 Fundamentos de Programacion Con VB2010-FGG-1

Fundamentos de Programación con

Microsoft Visual Basic 2010

Universidad Continental de Ciencias e Ingeniería Pag. 7

La tabla siguiente muestra los tipos de datos, incluyendo el tamaño de almacenamiento en memoria y el intervalo.

Tipo de Dato Tamaño de Almacenamiento

en Memoria

Rango

Byte 1 byte 0 a 255

Boolean 2 bytes True o False

Integer 2 bytes -32.768 a 32.767

Long 4 bytes -2.147.483.648 a 2.147.483.647

(entero largo) Single 4 bytes -3,402823E38 a -1,401298E-45 para valores negativos;

(coma flotante/ 1,401298E-45 a 3,402823E38 para valores positivos

precisión simple) Double 8 bytes -1,79769313486232E308 a -4,94065645841247E-324 para

(coma flotante/ valores negativos; 4,94065645841247E-324 a

precisión doble) 1,79769313486232E308 para valores positivos

Currency 8 bytes -922.337.203.685.477,5808 a 922.337.203.685.477,5807

(entero a escala) Decimal 14 bytes +/-79.228.162.514.264.337.593.543.950.335 sin punto

decimal;

+/-7,9228162514264337593543950335 con 28 posiciones a

la derecha del signo decimal; el número más pequeño

distinto de cero es +/-0,000000000000000000000000001

Date 8 bytes 1 de enero de 100 a 31 de Diciembre de 9999

Object 4 bytes Cualquier referencia a tipo Object

String 10 bytes + Desde 0 a 2.000 millones

(longitud variable) longitud de la

cadena

String Longitud de

la Desde 1 a 65.400 aproximadamente

(longitud fija) cadena Variant 16 bytes Cualquier valor numérico hasta el intervalo de un tipo Double

(con números) Variant 22 bytes + El mismo intervalo para un tipo String de longitud variable.

(con caracteres) longitud de la

cadena Definido por el usuario Número El intervalo de cada elemento es el mismo que el intervalo de

(utilizando Type) requerido

por los su tipo de datos

elementos

Los nombres de variables pueden ser alfanuméricos, pero deben comenzar con una letra. No deber tener espacios en blanco y debe tener como máximo de 255 caracteres, mas se recomienda usar nombres cortos que permitan recordar que tipos de datos se almacena en dicha variable.

Ejm.

Page 9: 1.0 Fundamentos de Programacion Con VB2010-FGG-1

Fundamentos de Programación con

Microsoft Visual Basic 2010

Universidad Continental de Ciencias e Ingeniería Pag. 8

Nombre de Variables Lícitas

Nombre de Variables Ilícitas

ALFA ALFA1 ALFA_1 N1 VARIABLE1

ALFA.1 ALFA&1 1ALFA ALFA 1

II. Constantes, las constantes son nombres simbólicos que identifican un área de la memoria en el que se almacena un valor o dato constante.

Ejm.

pi=3.1416

igv=0.19

III. Contadores, son variables que se utilizan en procesos repetitivos, permiten contar el número de veces en el que se va repitiendo un determinado proceso. Los contadores se incrementan o decrementan en cantidades fijas.

Ejm.

Calcular cuál fue el ingreso bruto anual de un trabajador.

i=1 Hacer mientras i <=12

Leer monto acumula = acumula + monto i = i + 1

Fin Hacer Escribir acumula

Este proceso se ejecutará hasta que el contador "i " sea igual a 12. El hecho de repetir varias veces una sentencia se denomina BUCLE y también es conocido como " loop" o " lazo"

IV. Acumuladores, son variables que utilizan procesos repetitivos para ir acumulando valores que se ingresan o procesan.

Ejm.

i=1 Hacer mientras i <=4

Leer n notas=notas+n i=i+1

Fin Hacer prom=notas/4 Escribir prom

Donde “i” es un contador que se incrementa de 1 en 1; “n” es una variable que indica un número entero de 0 a 20; cada vez que se repite la sentencia, se ingresa una nota distinta que es acumulada en la variable "notas" que se comporta como un acumulador. Finalmente la variable "prom" almacena el resultado de dividir el contenido de la variable "notas" entre 4.

L

O

O

P

L

O

O

P

Page 10: 1.0 Fundamentos de Programacion Con VB2010-FGG-1

Fundamentos de Programación con

Microsoft Visual Basic 2010

Universidad Continental de Ciencias e Ingeniería Pag. 9

V. El bucle, es una parte del algoritmo cuya función principal es la de repetir instrucciones o procesos un determinado número de veces o mientras se cumpla una condición. Como se aprecia en los ejemplos anteriores.

VI. Operadores, son los símbolos o signos que permiten realizar operaciones o procesos con los datos. Los operadores se clasifican en:

OPERADORES MATEMATICOS OPERADORES DE COMPARACIÓN

OPERADOR SIGNIFICADO OPERADOR SIGNIFICADO

^ Potenciar > Mayor que

* Multiplicar >= Mayor o igual que

/ División < Menor que

\ División entera <= Menor o igual que

MOD Residuo de una división

= Igual a

+ Sumar < > Diferente de

- Restar

( ) Agrupar OPERADORES LÓGICOS

OPERADOR SIGNIFICADO

AND Y

OR O

NOT Negación

6. PARTES DE UN ALGORITMO

Está compuesto por tres partes fundamentales:

1. Encabezado (nombre del algoritmo) y Fin

2. Declaración de variables

3. Instrucciones de entrada y salida

Page 11: 1.0 Fundamentos de Programacion Con VB2010-FGG-1

Fundamentos de Programación con

Microsoft Visual Basic 2010

Universidad Continental de Ciencias e Ingeniería Pag. 10

Ejm.

7. EVOLUCION DE LAS METODOLOGÍAS DE PROGRAMACIÓN

Con el correr del tiempo la metodología empleada en la programación ha ido evolucionando. Tenemos 3 tipos de Metodologías:

I. PROGRAMACIÓN LINEAL, Esta metodología consiste en codificar todas las instrucciones de una aplicación en un solo programa de tal manera que se hace demasiado extenso y complejo para darle mantenimiento, en este tipo de programación se usan etiquetas que con ciertas instrucciones de salto nos permite ejecutar subprogramas.

II. PROGRAMACIÓN ESTRUCTURADA, Esta metodología básicamente busca estructurar la aplicación en pequeños módulos o subprogramas para cada tarea, facilitando el mantenimiento.

III. PROGRAMACIÓN ORIENTADA A OBJETOS (POO), Esta metodología es la más reciente en la cual todos los procesos se relacionan con objetos facilitando la programación y haciendo fácil su mantenimiento.

8. PROGRAMACIÓN ORIENTADA A EVENTOS, FORMULARIOS Y CONTROLES

En esta sección veremos el concepto de programación orientada a eventos, como crear formularios y controles.

I. Objetos, Métodos, Propiedades y Eventos.

Para escribir aplicaciones en Visual Studio .NET usted va a trabajar con objetos, métodos, propiedades y eventos. Definamos estos conceptos:

Clase: Una clase es la definición formal de los atributos y métodos miembro de un conjunto de objetos que se realiza en un programa. Podríamos decir entonces que una clase es como una plantilla.

ALGORITMO SUMA DE 2 NUMEROS

N1 : NUMERICO

N2 : NUMERICO

RES: NUMERICO

LEER N1

LEER N2

RESP=N1+N2

ESCRIBIR RESP

FIN ALGORITMO

Encabezado y

Fin del

Algoritmo

Declaración

de Variables

Instrucciones

de Entrada y

Salida

Page 12: 1.0 Fundamentos de Programacion Con VB2010-FGG-1

Fundamentos de Programación con

Microsoft Visual Basic 2010

Universidad Continental de Ciencias e Ingeniería Pag. 11

Objeto: Es una entidad funcional que se caracteriza por determinados atributos y métodos que la CLASE define. Los Objetos son instancias de una Clase.

Los objetos son los elementos programables que usted utiliza para hacer su aplicación. Para poder interactuar con los objetos usted utiliza las propiedades, métodos y eventos.

Para entender mejor estos conceptos vamos a hacer una analogía entre un objeto físico, un reloj despertador, un objeto de Visual Basic 2010 .NET, y un formulario.

Propiedades: Las propiedades son las características de un objeto. Por ejemplo, las propiedades de un automóvil pueden ser su altura, el ancho y el color. Un formulario en Visual Basic 2010 también tiene sus propiedades como por ejemplo, altura, ancho y color.

Métodos: Los métodos son las funciones internas asociadas a un objeto. Por ejemplo, un automóvil para que pueda funcionar requiere tener un sistema de combustión, un sistema eléctrico, etc. Los métodos de los formularios son las funciones internas como: mostrar, ocultar, actualizar, etc.

Eventos: Los eventos son las acciones a las que un objeto puede responder. Por ejemplo, un automóvil convertible puede desplazarse, detenerse, ocultar su cubierta, etc. Un formulario puede cerrarse, cargarse, moverse, cambiar su tamaño, etc. Cuando un usuario cierra un formulario, el formulario responde a un evento llamado closed que ejecuta el código que el programador puso en el evento.

Page 13: 1.0 Fundamentos de Programacion Con VB2010-FGG-1

Fundamentos de Programación con

Microsoft Visual Basic 2010

Universidad Continental de Ciencias e Ingeniería Pag. 12

CAPITULO 2

CONOCIENDO EL ENTORNO DE TRABAJO VISUAL BASIC 2010

1. EL LENGUAJE VISUAL BASIC 2010

VISUAL BASIC 2010 es un idioma diseñado para proporcionar una combinación óptima entre sencillez, claridad y rendimiento y es el lenguaje en el que se han escrito los servicios de la plataforma .NET. Los rasgos clave del lenguaje VISUAL BASIC 2010 se pueden resumir en los siguientes puntos:

VISUAL BASIC 2010 permite la llamada a librerías nativas del API de Windows, la llamada a componentes COM. y el acceso a bajo nivel si es necesario. Además, los programas y componentes diseñados en VISUAL BASIC 2010 se integran perfectamente con los realizados en cualquier otro lenguaje del entorno .NET.

Con VISUAL BASIC 2010 pueden crearse aplicaciones muy complejas con un gran número de componentes, lo que justifica la aparición del ensamblado (assembly) o unidad de ensamblaje. El ensamblado agrupa los archivos que contienen el código con los recursos que precisa la aplicación y describe sus dependencias, constituyendo una pieza fundamental en los procesos de distribución e instalación de las aplicaciones. El manifiesto es la parte integrante de un ensamblado donde éste efectúa su autodescripción. En general, los ensamblados están formados por cuatro elementos: los metadatos del ensamblado (manifiesto), los metadatos que describen los tipos, el código intermedio (IL) que implementa los tipos y un conjunto de recursos. De todos estos elementos tan sólo el manifiesto es estrictamente necesario, aunque también se requerirán tipos o recursos para poder otorgar al ensamblado una funcionalidad significativa.

VISUAL BASIC 2010 es un lenguaje fuertemente tipificado y orientado a objetos que trabaja en un entorno administrado, es decir controlado por el CLR, con seguridad de tipos. Ser fuertemente tipificado implica que todos los datos utilizados deben tener sus tipos declarados explícitamente, lo que determina cómo ejecutar las operaciones y facilita al compilador la detección de errores en las mismas. La seguridad de tipos proporciona programas robustos, al evitar la ejecución de código incorrecto, como referencias no válidas, conversiones que desbordan la variable u objeto destino, etc.

Todos los tipos comparten la misma funcionalidad base y pueden ser convertidos en una cadena, serializados o guardados en una colección.

Aunque VISUAL BASIC 2010 trabaja en un entorno administrado que proporciona seguridad de tipos, también permite declarar clases y métodos no seguros.

Utiliza los denominados Espacios Calificados o Espacios de Nombres (Namespaces) para clasificar tipos, que pueden ser otros espacios de nombres, estructuras, interfaces, enumeraciones, delegados o clases, y agrupar los que se encuentran lógicamente relacionados.

Parte fundamental del código en VISUAL BASIC 2010 son las clases, que sirven como plantilla para construir objetos y pueden extender o heredar a otras.

Todas las clases VISUAL BASIC 2010 tienen como clase base a Object e incluso todos los tipos se pueden tratar como un Object.

Page 14: 1.0 Fundamentos de Programacion Con VB2010-FGG-1

Fundamentos de Programación con

Microsoft Visual Basic 2010

Universidad Continental de Ciencias e Ingeniería Pag. 13

VISUAL BASIC 2010 permite la implementación de interfaces y soluciona el problema de la herencia múltiple permitiendo que una clase derive de múltiples interfaces. En VISUAL BASIC 2010 una subclase no puede derivar de varias superclases.

VISUAL BASIC 2010 compila a un código intermedio, denominado Intermedíate Language (IL) similar al bytecode de Java. Este código intermedio, es interpretado por el denominado Entorno Común de Ejecución (Common Language Runtime), que interpreta también cualquier otro lenguaje que compile el mencionado código.

Libera a los programadores de la necesidad de gestionar el manejo de la memoria y evita problemas con punteros, fugas de memoria y referencias circulares, apoyándose en el CLR (Common Language Runtime). VISUAL BASIC 2010 no elimina los punteros, pero los hace innecesarios para la mayor parte de las tareas de programación.

Utiliza el sistema de tipos común (Common Type System) que comprende los tipos de datos soportados por el entorno común de ejecución (CLR).

Ofrece soporte para programación multihilo, que es la capacidad de un programa de ejecutar varias tareas simultáneamente. Los hilos sincronizados son muy útiles en la creación de aplicaciones distribuidas y en red. Por ejemplo, una aplicación puede comunicarse con un servidor remoto en un hilo, mientras que interactúa con un usuario en otro hilo diferente.

Utiliza excepciones para el manejo de errores. Las excepciones son objetos que describen y permiten controlar errores y problemas inesperados en el funcionamiento de un programa sin oscurecer el diseño del mismo y se gestionan mediante un código especial que no sigue el flujo normal de ejecución de dicho programa.

2. INICIANDO UNA APLICACION WINDOWS

Lo primero que vamos a hacer es cargar el entorno de desarrollo del Visual Studio.Net. En la pantalla de inicio: Da click en el Menú Archivo, Nuevo, Proyecto. A continuación selecciona Aplicación de Windows Forms.

Colocar el nombre del proyecto e indicar la ruta donde lo guardará. Click en Aceptar.

Page 15: 1.0 Fundamentos de Programacion Con VB2010-FGG-1

Fundamentos de Programación con

Microsoft Visual Basic 2010

Universidad Continental de Ciencias e Ingeniería Pag. 14

3. EL ENTORNO DE DESARROLLO

1

2

3

4

5

Page 16: 1.0 Fundamentos de Programacion Con VB2010-FGG-1

Fundamentos de Programación con

Microsoft Visual Basic 2010

Universidad Continental de Ciencias e Ingeniería Pag. 15

Tiene barra de menús y barras de botones (1). El cuadro de herramientas (2), que se desplegará cuando pases el ratón por encima. Si quieres que esté siempre desplegado (al estilo del cuadro de herramientas de VB 6.0, por ejemplo) tendrás que hacer click sobre un pequeño icono con forma de chincheta que hay al lado del botón cerrar de dicho cuadro. A continuación tienes el espacio de trabajo (3), en él te aparecerán las ventanas de código de cada archivo, así como el examinador de objetos, la ayuda. Cada ventana mostrará una pequeña pestaña en la parte superior (justo debajo de las barras de botones), para que puedas pasar de unas a otras con un solo click (en esta imagen tienes las pestañas Página de Inicio y Form1.vb. A la derecha tienes el explorador de soluciones (4). Justo debajo está la ventana de propiedades (5), que se ocupa de mostrar las propiedades de algún archivo del proyecto, alguna clase, algún objeto, o algún método. Aquí tienes también otra pestaña, la de ayuda dinámica, que va mostrando temas de ayuda que tienen que ver con lo que estás haciendo (si escribes class te salen temas sobre class, si escribes string te salen temas sobre eso, etc.). Debajo tienes más ventanas (la lista de tareas, ventana de comandos, resultados, resultados de búsqueda de símbolos). En el menú Ver puedes mostrar y ocultar todas las ventanas que quieras, y también puedes cambiarlas de sitio simplemente arrastrándolas con el ratón.

4. ASPECTO DEL EXPLORADOR DE SOLUCIONES

Agregue un formulario (Windows Form) desde el menú Proyecto. Cada uno de los elementos que aparecen en el Explorador de Soluciones tienen asociados un menú de opciones que, como es habitual, puede abrir pulsando el botón del ratón sobre él.

Dependiendo del tipo de elemento, encontrará opciones para abrirlo, eliminarlo, añadir nuevos elementos, etc.

Si necesita añadir un nuevo proyecto a la solución, o bien un nuevo elemento a un proyecto existente, puede utilizar las opciones de estos menús en lugar de recurrir a los botones o el menú de opciones general.

5. GESTIÓN DE LOS ELEMENTOS DE LA SOLUCIÓN

Dependiendo del perfil de usuario que hubiese seleccionado previamente, en la paginado inicio al poner en marcha Visual Studio.NET por primera vez, aparecerá o no en el entorno una ventana llamada Explorador de Soluciones. Habitualmente puede encontrarla en la parte superior derecha, como una ventana adosada o anclada en el interior de la ventana principal del entorno. Si no la encuentra, puede utilizar la combinación de teclas: Control-Alt-L o la opción Ver>Explorador de Soluciones para hacerla aparecer.

6. EDICIÓN DE PROPIEDADES

Otra de las ventanas que habitualmente está visible en el entorno es Propiedades, al ser imprescindible para la edición de las propiedades o atributos de cualquier elemento, desde un proyecto o un archivo hasta un control que hayamos podido insertar en una ventana. En la distribución por defecto de Visual Studio.NET esta ventana aparecería también anclada en un margen del entorno, concretamente en la parte inferior derecha, debajo el Explorador de

Page 17: 1.0 Fundamentos de Programacion Con VB2010-FGG-1

Fundamentos de Programación con

Microsoft Visual Basic 2010

Universidad Continental de Ciencias e Ingeniería Pag. 16

Soluciones. Si no la encuentra pulse F4 ó utilice la opción: Ver > Ventana de Propiedades para hacerla visible.

Cada vez que seleccione un objeto, se listarán las propiedades asociadas a dicho objeto, donde podrá modificar sus valores originales.

7. AJUSTAR LA POSICIÓN Y TAMAÑO DE LOS CONTROLES

Mediante la propiedad Anchor podemos indicar en qué posición queremos "anclar" cada uno de los controles.

Por ejemplo, si queremos que un control se ajuste al ancho del formulario, pero permanezca en la misma posición de izquierda y arriba, sólo tenemos que darle el valor Top, Left y Right a la propiedad Anchor del control en cuestión.

Por otro lado, si queremos que un control se ajuste al tamaño completo del formulario, pero que la separación con respecto a los controles que estén a su izquierda, derecha, arriba y abajo permanezcan inalterables, asignaremos los cuatro valores de la propiedad Anchor: Top, Left, Right y Botton.

Es decir, podemos hacer que un control se ajuste de forma automática al tamaño del formulario y a la posición (o separación) con respecto a otros controles.

Otra característica que ahora tienen los formularios es poder indicarle el tamaño mínimo y máximo que queremos que tenga. Esto se consigue mediante las propiedades: MinimumSize y MaximumSize. No es necesario indicarle el tamaño a las dos propiedades, por ejemplo si lo que queremos es que nuestro formulario no pueda ser menor de 300x200, asignaremos el valor 300 a MinimumSize.Width y 200 MinimumSize.Height.

Aquí tienes el formulario de prueba:

Lo que vamos a hacer ahora, es escribir el código que se ejecutará cuando se haga click en ese botón, lo cual producirá el evento Click asociado con dicho botón, ese evento se desencadenará si se hace un click propiamente dicho, es decir con el ratón, o bien porque se pulse Enter o la barra espaciadora cuando el botón tenga el foco. La nomenclatura, para los eventos de Visual Basic 2010 siguen el siguiente “esquema”:

Daremos 2click sobre el botón de comando y aparecerá la ventana de código, donde se mostrará en la parte superior la lista de objetos y la lista de eventos del objeto seleccionado.

Page 18: 1.0 Fundamentos de Programacion Con VB2010-FGG-1

Fundamentos de Programación con

Microsoft Visual Basic 2010

Universidad Continental de Ciencias e Ingeniería Pag. 17

Escribe lo siguiente en el hueco dejado por el Visual Basic 2010, la línea que hay entre Private Sub... y End Sub Msgbox (“HoIa ” & TextBox1.Text) Para ejecutar el programa presiona la tecla de función F5 o pulsa en el botón “Iniciar

depuración” que está en la barra de botones.

A continuación cierra el programa y en la ventana de código agrega la siguiente línea: Me.Close(). Vuelve a ejecutar y observa o que sucede.

Page 19: 1.0 Fundamentos de Programacion Con VB2010-FGG-1

Fundamentos de Programación con

Microsoft Visual Basic 2010

Universidad Continental de Ciencias e Ingeniería Pag. 18

CAPITULO 3

ALGORITMO SECUENCIAL LEER-ESCRIBIR

1. ALGORITMO SUMA, RESTA Y MULTIPLICACIÓN DE 2 NUMEROS ENTEROS:

ALGORITMO SUMA DE NUMEROS

N1 : NUMERICO

N2 : NUMERICO

SUMA: NUMERICO

RESTA: NUMERICO

MULTI: NUMERICO

LEER N1

LEER N2

SUMA=N1+N2

RESTA=N1-N2

MULTI=N1*N2

ESCRIBIR SUMA

ESCRIBIR RESTA

ESCRIBIR MULTI

FIN ALGORITMO

txtn1

txtn2

txtsuma

txtresta

txtmulti

Page 20: 1.0 Fundamentos de Programacion Con VB2010-FGG-1

Fundamentos de Programación con

Microsoft Visual Basic 2010

Universidad Continental de Ciencias e Ingeniería Pag. 19

2. Trabajando con Tiempos

Muchos programas, requieren trabajar con tiempos, la mayoría de algoritmos requieren una descomposición previa para poder efectuar operaciones en una misma unidad.

Ejemplo: Se desea saber el tiempo de llegada de un viajero a la ciudad de Lima, si se sabe que el tiempo de viaje es de 7 horas con 30 minutos, calcule la hora en que el viajero arribará a la ciudad de Lima, ingresando la hora de partida.

Para poder desarrollar el programa, se debe ingresar las Horas, minutos y segundos por separado, luego se convierte todo a segundos, añadimos el tiempo de viaje (convertido a segundos) y finalmente mostramos los resultados.

En la siguiente interfaz los nombres de los cuadros de texto hacen referencia a los ingresos, para el tiempo de partida: txtHP, txtMP, txtSP; para el tiempo de llegada: txtHL, txtML, txtSL.

Private Sub btnCalcular_Click(…) Handles btnCalcular.Click

'Declarando variables

Dim HP, MP, SP As Integer

Dim HL, ML, SL, TT As Integer

'Leyendo datos

HP = Me.txtHP.Text

MP = Me.txtMP.Text

SP = Me.txtSP.Text

'Llevando todo a segundos

TT = HP * 3600 + MP * 60 + SP

'Sumando tiempo de viaje

TT = TT + 7 * 3600 + 30 * 60

'Llevando a H,M,S

HL = TT \ 3600

ML = (TT Mod 3600) \ 60

SL = (TT Mod 3600) Mod 60

'Escribiendo datos

Me.txtHL.Text = HL

Me.txtML.Text = ML

Me.txtSL.Text = SL

End Sub

Page 21: 1.0 Fundamentos de Programacion Con VB2010-FGG-1

Fundamentos de Programación con

Microsoft Visual Basic 2010

Universidad Continental de Ciencias e Ingeniería Pag. 20

3. ALGORITMO CALCULO DE SUELDO:

4. ALGORITMO PROMEDIO DE 4 NOTAS:

5. ALGORITMO CALCULO DE CENTENAS, DECENAS Y UNIDADES

ALGORITMO CALCULO DE SUELDO NETO

SBRUTO : NUMERICO

INCEN : NUMERICO

DESC : NUMERICO

STOTAL : NUMERICO

LEER SBRUTO

INCEN=SBRUTO*0.05

DESC=SBRUTO*0.07

STOTAL=SBRUTO+INCEN-DESC

ESCRIBIR STOTAL

FIN DE ALGORITMO

ALGORITMO PROMEDIO DE NOTAS:

N1 : NUMERICO

N2 : NUMERICO

N3 : NUMERICO

N4 : NUMERICO

PROM : NUMERICO

LEER N1

LEER N2

LEER N3

LEER N4

PROM=(N1+N2+N3+N4)/4

ESCRIBIR PROM

FIN DEL ALGORITMO

ALGORITMO CALCULO DE CENTENAS, DECENAS Y UNIDADES

NUM : NUMERICO

CEN : NUMERICO

DEC : NUMERICO

UNI : NUMERICO

LEER NUM

CEN=NUM \ 100

DEC=(NUM - CEN * 100) \ 10

UNI=NUM-CEN*100-DEC*10

ESCRIBIR CEN

ESCRIBIR DEC

ESCRIBIR UNI

FIN DEL ALGORITMO

Page 22: 1.0 Fundamentos de Programacion Con VB2010-FGG-1

Fundamentos de Programación con

Microsoft Visual Basic 2010

Universidad Continental de Ciencias e Ingeniería Pag. 21

ACTIVIDADES DE PROGRAMACIÓN SECUENCIAL

I. Diseñar un algoritmo para calcular el área y el perímetro de un rectángulo

Definición del problema

Calcular área y perímetro de un rectángulo Análisis del problema

Para desarrollar este problema es necesario conocer las fórmulas para obtener tanto el área como el perímetro de un rectángulo.

Sea b = base y h = altura, las fórmulas a utilizar son: Area = b * h Perímetro = 2 * (b + h)

Datos de entrada: Se requiere se entreguen como datos b y h (base y altura) Datos de salida : Se deben dar como respuestas el área y perímetro Procesos : Se requiere procesar de acuerdo a las siguientes fórmulas

Área = b * h Perímetro = 2 * (b + h)

II. Calcular el área de un triángulo. Area = (base * altura) / 2

Datos de entrada: Se requiere se entreguen como datos b y h (base y altura) Datos de salida : Se deben dar como respuestas el área del triangulo Procesos : Se requiere procesar de acuerdo a las siguientes fórmulas

Área = b * h /2

III. Un maestro desea saber qué porcentaje de hombres y que porcentaje de mujeres hay en un grupo de estudiantes.

Definición del problema

Calcular porcentaje de hombres y mujeres en un grupo Análisis del problema Datos a tener en cuenta: Número hombres Número mujeres Total estudiantes Porcentaje hombres Porcentaje mujeres Datos de Entrada: número hombres, número mujeres Datos salida : porcentaje hombres, porcentaje mujeres Procesos : tot estudiantes = núm. hombres + núm. Mujeres

Porc.hombres = núm. Hombres / tot estudiantes*100 Porc.hombres = núm. mujeres / tot estudiantes*100

h

b

Actividades

Page 23: 1.0 Fundamentos de Programacion Con VB2010-FGG-1

Fundamentos de Programación con

Microsoft Visual Basic 2010

Universidad Continental de Ciencias e Ingeniería Pag. 22

AUTOEVALUACIÓN EJERCICIOS PLANTEADOS PROGRAMACION SECUENCIAL

1. Realizar un programa que convierta Grados Celsius a Grados Fahrenheit Sabiendo que: F= (9/5)C + 32

2. Escribir un programa que solicite el nombre a dos personas y aparezca un cartel que diga "Buenos días XXXXX y YYYYY .... ¿Comenzamos a trabajar?

3. Realizar un programa que calcule la intensidad de corriente necesaria para que puedan trabajar N computadores, se ingresa la potencia consumida por cada uno y el número de computadores.

4. El Docente del Curso de técnicas de Programación, ha considerado evaluar considerando, las siguientes notas: PPD: Promedio de Prácticas PPC: Promedio de prácticas calificadas PTRA: Promedio de trabajos de la Unidad El promedio final se evaluara mediante el siguiente promedio ponderado: PF= 2PPD+3PPC+PTRA

i. 6 Crea el programa para poder ayudar a realizar este calculo

5. En la fábrica de automóviles TOYOTA se considera que el precio de un automóvil está

compuesto por las siguientes partes en general: Estructura: 10% Carrocerías: 20% Motor: 30% Amoblado: 25% Seguridad: 15% Cree un programa en el cual se ingrese el precio final del automóvil y muestre cual debe ser el componente de cada uno de los precios.

6. Escribir un programa al cual ingrese la velocidad de un móvil expresada en metros por segundo e imprima en pantalla la velocidad en kilómetros por hora.

7. Un constructor sabe que necesita 0,5 metros cúbicos de arena por metro cuadrado de mezcla a realizar y que además se toma un tiempo de 50 minutos en construir cada metro cuadrado. Realiza un programa donde ingrese las medidas de una pared (largo y alto) expresada en metros y obtenga la cantidad de arena necesaria para construirla y el tiempo que se demorará.

8. Desarrollar un programa que dado el largo y el ancho de un campo, permita determinar cuantos metros de alambre serán necesarios para colocarle al perímetro 5 hilos de alambrado. Y qué cantidad de Soja se espera obtener, si el rendimiento de la misma es 145 quintales por hectárea.

9. La tarifa por consumo de agua potable es de S/.0.20 por metro cúbico de agua consumida. Adicionalmente se cobra por gastos de emisión de factura y reparto de recibos S/. 1.00 por usuario y un 19% por IGV al costo del servicio. Escribir un algoritmo que calcule el monto que debe pagar un usuario.

10. Calcular el número de pulsaciones que una persona debe tener por cada 10 segundos de ejercicio, si la formula es: Num_pulsaciones = (220 - edad)/10

Autoevaluación

Page 24: 1.0 Fundamentos de Programacion Con VB2010-FGG-1

Fundamentos de Programación con

Microsoft Visual Basic 2010

Universidad Continental de Ciencias e Ingeniería Pag. 23

11. En un hospital existen tres áreas: Ginecología, Pediatría, Traumatología. El

presupuesto anual del hospital se reparte conforme a la siguiente tabla:

Área Porcentaje del presupuesto

Ginecología 40% Traumatología 30% Pediatría 30%

Obtener la cantidad de dinero que recibirá cada área, para cualquier monto presupuestal.

12. Diseñe un programa denominado raizQ, debe calcular: 432

43

cba

cbaraizQ

, para ello se deben indicar los valores de los datos a,b,c todos enteros positivos

13. Desarrollar un programa que pueda calcular el valor de z

)/(4

1

3

1

2

1

edfedZ

ed

Se ingresan los valores de d,e y f

14. El cambio de divisas en la Bolsa de Madrid el día 25 de agosto de 1987 fue el siguiente: 100 chelines austriados = 956,871 ptas 1 dólar EE.UU. = 122,499 ptas 100 dracmas griegas = 88,607 ptas 100 francos belgas = 323,728 ptas 1 franco francés = 20,110 ptas 1 libra esterlina = 178,938 ptas 100 liras italianas = 9,289 ptas Desarrollar algoritmos que realicen lo siguiente: 1. leer una cantidad en chelines austriacos e imprimir el equivalente en pesetas. 2. Leer una cantidad en dracmas griegos e imprimir el equivalente en francos franceses. 3. Leer una cantidad en pesetas e imprimir el equivalente en dólares y en liras italianas.

15. Dos socios de una empresa exportadora, aportan cada uno cierta cantidad de un mismo producto. Luego de producida la venta al exterior reciben una cantidad de dinero. Elaborar un algoritmo para determinar cuánto corresponde a cada socio proporcional a su aporte.

16. Los organizadores de la competencia automovilística “3 vueltas al Valle del Mantaro” tienen los tiempos (en HH, MM y SS) empleados por cada participante y en cada vuelta. Ellos desean determinar el tiempo total empleado cada participante. Escribir un algoritmo determine el tiempo total de un participante.

17. Al mejor alumno de Técnicas de programación se le incentiva de la siguiente forma: por

el primer algoritmo se le paga 1 sol, por el segundo dos soles, por el tercero 4 soles, por el cuarto 8 soles y así sucesivamente. Escribir un algoritmo que calcule cuanto se le pagará al estudiante por el enésimo algoritmo resuelto, y la cantidad total pagada por los n algoritmos resueltos.

Page 25: 1.0 Fundamentos de Programacion Con VB2010-FGG-1

Fundamentos de Programación con

Microsoft Visual Basic 2010

Universidad Continental de Ciencias e Ingeniería Pag. 24

18. Escribir un algoritmo que dada una hora en HH horas, MM minutos y SS segundos, escriba la hora correspondiente al segundo anterior.

19. Escribir un algoritmo que calcule cuantos billetes de 200, 100, 50, 20, 10 Nuevos Soles y monedas de 5, 1, 0.50, 0.20 y 0.10 nuevo sol que son necesarias para cambiar un Cheque bancario.

20. Un cohete sale de Cabo Cañaveral a las HH horas, MM minutos, SS segundos. Se estima que el tiempo de vuelo es de T segundos. Elaborar un algoritmo que determine a qué hora regresará el cohete.

21. Escribir un algoritmo que invierta el orden de los dígitos de un número de 3 dígitos. 22. En el curso de Lenguaje de programación I, la calificación final se calculará de acuerdo

a: Primer examen = 25% Segundo examen = 25% Tareas = 20% Examen final = 30% Escribir un algoritmo que calcule la calificación de un estudiante.

Page 26: 1.0 Fundamentos de Programacion Con VB2010-FGG-1

Fundamentos de Programación con

Microsoft Visual Basic 2010

Universidad Continental de Ciencias e Ingeniería Pag. 25

CAPITULO 4

ALGORITMO SECUENCIAL CONDICIONAL Los procedimientos de Visual Basic 2010 pueden probar condiciones y, dependiendo de los resultados, realizar diferentes operaciones. Entre las estructuras de decisión que acepta Visual Basic 2010 se incluyen las siguientes: If...Then If...Then...Else Select Case

1. If...Then Use la estructura If...Then para ejecutar una o más instrucciones basadas en una condición. Puede utilizar la sintaxis de una línea o un bloque de varias líneas: If condición Then Sentencias If condición Then

Sentencias End If Ejm. Este código programándolo en un objeto Textbox, evento Keypress; haría que al presionar la tecla Enter dentro de la caja de texto, el enfoque se vaya al botón de comando. If e.KeyChar = Convert.ToChar(13) Then cmdBuscar.Focus() end if Nota: el número 13 en código Ascii representa la pulsación de la tecla Enter. Podría codificarlo también de esta forma: If e.KeyChar = Convert.ToChar(Keys.Return) Then cmdBuscar.Focus() End If La condición normalmente es una comparación, pero puede ser cualquier expresión que dé como resultado un valor numérico. Visual Basic 2010 interpreta este valor como True o False; un valor numérico cero es False y se considera True cualquier valor numérico distinto de cero. Si condición es True, Visual Basic 2010 ejecuta todas las sentencias que siguen a la palabra clave Then. Puede utilizar sintaxis de una línea o de varias líneas para ejecutar una sentencia basada en una condición, los siguientes dos ejemplos son equivalentes: If cualquierFecha < Now Then CualquierFecha = Now If cualquierFecha < Now Then

CualquierFecha = Now End If

Page 27: 1.0 Fundamentos de Programacion Con VB2010-FGG-1

Fundamentos de Programación con

Microsoft Visual Basic 2010

Universidad Continental de Ciencias e Ingeniería Pag. 26

Observe que el formato de una única línea de If...Then no utiliza la instrucción End If. Si se desea ejecutar más de una línea de código cuando condición sea True, debe utilizar la sintaxis de bloque de varias líneas If...Then...EndIf. If cualquierFecha < Now Then

CualquierFecha = Now Timer1.Enabled = False ‘ Desactiva el control Timer.

End If If chkAlumnoUNI.Value=1 Then

txtCosto = Format (txtCosto*0.70,”Fixed”) txtCódigo.Enabled = True

End If

2. If...Then...Else Utilice un bloque If...The...Else para definir varios bloques de sentencias, uno de los cuales se ejecutará: If condición1 Then

[bloque de sentencias 1] ElseIf condición2 Then

[bloque de sentencias 2] ... Else

[bloque de sentencias n] End If Private Sub DeterminaCondición ( )

If Val (txtPromedio) <=5 Then txtCondición = “Infante”

ElseIf Val (txtPromedio) <=10 Then txtCondición = “Niño”

ElseIf Val (txtPromedio) <=18 Then txtCondición = “Adolescente”

Else txtCondición = “Adulto”

End If End Sub Observe que siempre puede agregar más cláusulas ElseIf a la estructura If...Then. Sin embargo, esta sintaxis puede resultar tediosa de escribir cuando cada ElseIf compara la misma expresión con un valor distinto. Para estas situaciones, puede utilizar la estructura de decisión Select Case.

3. Select Case Visual Basic 2010 proporciona la estructura Select Case como alternativa a If...Then...Else para ejecutar selectivamente un bloque de sentencias entre varios bloques. La sentencia Select Case ofrece posibilidades similares a la instrucción If...Then...Else, pero hace que el código sea más legible cuando hay varias opciones. La estructura Select Case funciona con una única expresión de prueba que se evalúa una vez solamente, al principio de la estructura. Visual Basic 2010 compara el resultado de esta expresión con los valores de cada Case de la estructura. Si hay una coincidencia, ejecuta el bloque de sentencias asociado a ese Case:

Page 28: 1.0 Fundamentos de Programacion Con VB2010-FGG-1

Fundamentos de Programación con

Microsoft Visual Basic 2010

Universidad Continental de Ciencias e Ingeniería Pag. 27

Select Case expresión_prueba Case lista_expresiones1

[bloque de sentencias 1] Case lista_expresiones_n

[bloque de sentencias_n] Case Else

[bloque de sentencias ]] End Select Cada lista_expresiones es una lista de uno a más valores. Si hay más de un valor en una lista, se separan los valores con comas. Cada bloque de sentencias contiene cero o más instrucciones. Si más de un Case coincide con la expresión de prueba, sólo se ejecutará el bloque de instrucciones asociado con la primera coincidencia. Visual Basic 2010 ejecuta las instrucciones de la cláusula (opcional) Case Else si ningún valor de la lista de expresiones coincide con la expresión de prueba. Por ejemplo, suponga que agrega otro comando al menú Edición en el ejemplo If...Then...Else. Podría agregar otra cláusula ElseIf o podría escribir la función con Select Case:

Private Sub Button1_Click(ByVal sender As System.Object,

ByVal e As system.EventArgs) Handles Button1.Click

Dim edad As Integer

edad = TextBox1.Text

Select Case edad

Case Is <= 5

MsgBox("Eres un Infante")

Case 6 To 10

MsgBox("Eres un niño")

Case 11 To 17

MsgBox("Eres un adolescente")

Case Else

MsgBox("Eres un Adulto")

End Select

End Sub

Con este Select case se condiciona el índice seleccionado en el combobox Select Case ComboBox1.SelectedIndex Case 0 TextBox1.Text = 120 Case 1 TextBox1.Text = 100 Case 2 TextBox1.Text = 80 Case 3 TextBox1.Text = 50 Case 4 TextBox1.Text = 30 End Select Observe que la estructura Select Case evalúa una expresión cada vez que al principio de la estructura. Por el contrario, la estructura If...Then...Else puede evaluar una expresión diferente

Page 29: 1.0 Fundamentos de Programacion Con VB2010-FGG-1

Fundamentos de Programación con

Microsoft Visual Basic 2010

Universidad Continental de Ciencias e Ingeniería Pag. 28

en cada sentencia ElseIf. Sólo puede sustituir una estructura If...Then...Else con una estructura Select Case si la instrucción If y cada instrucción ElseIf evalúa la misma expresión.

i. SI EL SUELDO OSCILA ENTRE 1500 Y 2000 ENTONCES 20% DE INCENTIVOS

ii. SI EL ALUMNO TIENE UNA NOTA MAYOR A 10.5 ENTONCES "APROBADO, SINO "DESAPROBADO"

iii. SI EL SUELDO ES MENOR A 1500 ENTONCES "CLASE B", SINO "CLASE A"

ALGORITMO INCENTIVO

SUELDO : NUMERICO

INC:NUMERICO

ESCRIBIR SUELDO

LEER SUELDO

SI SUELDO >= 1500 Y SUELDO <= 2000 ENTONCES

INC=SUELDO * 0.2

FIN_SI

IMPRIMIR INCENTIVO

FIN DEL ALGORITMO

ALGORITMO NOTA

NOTA: NUMERICO

OBS : CADENA

ESCRIBIR NOTA

LEER NOTA

SI NOTA > 10.5 ENTONCES

OBS="APROBASTE"

SINO

OBS="DESAPROBASTE"

FIN_SI

FIN DEL ALGORITMO

ALGORITMO CATEGORIA DE TRABAJADOR

SUELDO:NUMERICO

OBS:CADENA

INGRESAR SUELDO

SI SUELDO < 1500 ENTONCES

OBS="CLASE B"

SINO

OBS="CLASE A"

FIN_SI

IMPRIMIR OBS

FIN DEL ALGORITMO

Page 30: 1.0 Fundamentos de Programacion Con VB2010-FGG-1

Fundamentos de Programación con

Microsoft Visual Basic 2010

Universidad Continental de Ciencias e Ingeniería Pag. 29

iv. ALGORITMO MAXIMO VALOR DE 4 NUMEROS:

1. Desarrollar un programa que pueda

determinar el mayor de entre dos

números.

2. Escriba un programa que solicite el

ingreso de un numero y verifique si es

numero divisible por 3 y por seis

3. Telefónica del Perú factura sus recibos

considerando: la renta básica es de 60

soles. Los 60 primeros minutos son

libres de facturación. Y cada minuto

adicional se factura a razón de S/. 0.09

elaborar un programa que solicite el tiempo consumido y muestre por

pantalla el total del recibo a cobrar.

Considere que la tarifa ya trae incluido

el IGV equivalente al 19%. Calcule el

Sub Total, IGV y Total.

4. Diseñe un programa que pueda calcular

los salarios de los empleados de una

empresa. Solo se debe ingresar el

sueldo básico y los demás cálculos se

deben calcular sabiendo que :

La bonificación es el 10% del salario básico

El salario bruto = salario básico +

bonificación

El descuento = 5% del salario

bruto

El salario neto = salario bruto –

descuento

5. En la Empresa NET SERVICE se paga

por horas laboradas, para calcular la

nómina semanal de los trabajadores se

considera lo siguiente

Las horas inferiores o iguales a 40 se

pagan a razón de S/.15 la hora.

Las horas superiores a 40 se pagan a

razón de 20% más que una hora

normal.

Las deducciones varían según los

sueldos:

Sueldo es menor a 700 es libre

de impuesto

Sueldo mayor a 700 la

deducción es de 11 %.

6. Desarrollar un algoritmo para calcular

la raíz cuadrada de cualquier número

ingresado por teclado sea este positivo

o negativo

7. Desarrollar un programa que solicite

inicialmente el ingreso de un operador

(+,-,/,*,^) y de dos operandos enteros, y calcule la operación correspondiente.

Si se ingresa un carácter diferente a las

operaciones anteriormente

mencionadas se debe mostrar algún

mensaje de error.

8. Crear un programa que ingresado un

carácter A, B, C, D o E los convierta a

ALGORITMO MAXIMO VALOR DE 4 NUMEROS

V1:NUMERICO

V2:NUMERICO

V3:NUMERICO

V4:NUMERICO

MAX:NUMERICO

MAX=V1

SI MAX<V2 ENTONCES

MAX=V2

FIN_SI

SI MAX<V3 ENTONCES

MAX=V3

FIN_SI

SI MAX<V4 ENTONCES

MAX=V4

FIN_SI

IMPRIMIR MAX

FIN DEL ALGORITMO

Autoevaluación

Page 31: 1.0 Fundamentos de Programacion Con VB2010-FGG-1

Fundamentos de Programación con

Microsoft Visual Basic 2010

Universidad Continental de Ciencias e Ingeniería Pag. 29

los siguientes mensajes: Logro, En

proceso, en proceso medio, En proceso Inferior, no lo Logró.

9. Elaborar un programa que solicite el

ingreso de un número entre 0 y 99 y lo

devuelva expresado en letras

10. Elaborar un algoritmo que solicite un

número entre 1 y 99 y lo devuelva

expresado en números romanos.

11. Crear un algoritmo para poder sumar la

duración total de un proceso integrado

por dos etapas cada una de las etapas

se ingresan en el formato de hh:mm:ss 12. Una empresa codifica los artículos de

su almacén con códigos numéricos de

4 dígitos distintos a cero. El código

para ser válido debe ser formado por 2

dígitos pares y dos dígitos impares.

Escribir un algoritmo que lea un

número de 4 dígitos y determine si

puede o no ser utilizado como código.

13. Desarrollar un programa para ingresar

calificaciones vigesimales (0-20), y

muestre la calificación convertida a

letras. A=18-20

B=15-17

C=11-14

D=08-10

E=00-07

14. Desarrollar un programa que permita el

ingreso de un número entero positivo,

y determine si posee un dígito, dos

dígitos, tres dígitos o más de tres

dígitos.

15. En una empresa comercial, existen 3

categorías de artículos (A, B , C) y 4 categorías de clientes (excelente,

bueno, regular y malo) y tienen

implementada la siguiente política de

descuentos (en%):

Tipo Cliente

Tipo Artículo

A B C

Excelente 40 30 20

Bueno 30 20 10

Regular 20 10 0

Malo 0 0 0 Lea el tipo de cliente, el tipo de

artículo que desea adquirir e indique el descuento que le es permitido.

16. Dada una fecha cuántos días faltan

para que termine el año?.

17. Obtenga el número de días

transcurridos entre dos fechas.

18. Todo el mundo sabe cuántos años

tiene, pero ¿podría contestar a la

pregunta cuantos días de vida tiene?

19. Desarrollar un programa que permita el

ingreso de la temperatura corporal de

una persona. Debe indicar si la temperatura es “Hipotermia” (<35ºC),

“Normal” (Entre 35ºC y 37ºC),

“Febrícula” (Mayor de 37ºC pero

menor de 38ºC), y “Fiebre”, si es 38ºC

o mayor.

20. Escriba un programa que lea un

número de canal de televisión y diga

cuál es el nombre del canal.

Page 32: 1.0 Fundamentos de Programacion Con VB2010-FGG-1

Fundamentos de Programación con

Microsoft Visual Basic 2010

Universidad Continental de Ciencias e Ingeniería Pag. 30

CAPITULO 5

ALGORITMO ESTRUCTURAS REPETITIVAS

Las estructuras de repetición o bucle le permiten ejecutar una o más líneas de código repetidamente. Las estructuras de repetición que acepta Visual Basic 2010 son: Do...Loop For...Next For Each...Next

1. Do...Loop Utilice el bucle Do para ejecutar un bloque de sentencias un número indefinido de veces. Hay algunas variantes en la sentencia Do...Loop, pero cada una evalúa una condición numérica para determinar si continúa la ejecución. Como ocurre con If...Then, la condición debe ser un valor o una expresión que dé como resultado False (cero) o True (distinto de cero). En el siguiente ejemplo de Do...Loop, las sentencias se ejecutan siempre y cuando condición sea True: Do While condición

Sentencias Loop Cuando Visual Basic 2010 ejecuta este bucle Do, primero evalúa condición. Si condición es False (cero), se salta todas las sentencias. Si es True (distinto de cero) Visual Basic 2010 ejecuta las sentencias, vuelve a la instrucción Do While y prueba la condición de nuevo. Por tanto, el bucle se puede ejecutar cualquier número de veces, siempre y cuando condición sea distinta de cero o True. Nunca se ejecutan las sentencias si condición es False inicialmente. Por ejemplo, este procedimiento cuenta las veces que se repite una cadena destino dentro de otra cadena repitiendo el bucle tantas veces como se encuentre la cadena de destino: Function ContarCadenas (cadenalarga, destino) Dim posición, contador posición = 1 Do While InStr (posición, cadenalarga, destino)

posición = InStr (posición, cadenalarga, destino)+1 contador = contador + 1

Loop ContarCadenas = contador End Function Si la cadena destino no está en la otra cadena, InStr devuelve 0 y no se ejecuta el bucle. Otra variante de la instrucción Do...Loop ejecuta las sentencias primero y prueba la condición después de cada ejecución. Esta variación garantiza al menos una ejecución de sentencias: Do

Sentencias Loop While condición

Page 33: 1.0 Fundamentos de Programacion Con VB2010-FGG-1

Fundamentos de Programación con

Microsoft Visual Basic 2010

Universidad Continental de Ciencias e Ingeniería Pag. 31

Hay otras dos variantes análogas a las dos anteriores, excepto en que repiten el bucle siempre y cuando condición sea False en vez de True. Hace el bucle cero o más veces Hace el bucle al menos una vez Do Until condición

Sentencias Loop Do

Sentencias Loop Until condición

2. For...Next Los bucles Do funcionan bien cuando no se sabe cuántas veces se necesitará ejecutar las sentencias del bucle. Sin embargo, cuando se sabe que se va a ejecutar las sentencias un número determinado de veces, es mejor elegir el bucle For...Next. A diferencia del bucle Do, el bucle For utiliza una variable llamada contador que incrementa o reduce su valor en cada repetición del bucle. La sintaxis es la siguiente: For contador = iniciar To finalizar [Step incremento]

Sentencias Next [contador] Los argumentos contador, iniciar, finalizar e incremento son todos numéricos. Nota: El argumento incremento puede ser positivo o negativo. Si incremento es positivo, iniciar debe ser menor o igual que finalizar o no se ejecutarán las sentencias del bucle. Si incremento es negativo, iniciar debe ser mayor o igual que finalizar para que se ejecute el cuerpo del bucle. Si no se establece Step, el valor predeterminado de incremento es 1.

3. For Each...Next El bucle For Each...Next es similar al bucle For...Next, pero repite un grupo de sentencia por cada elemento de una colección de objetos o de una matriz en vez de repetir las sentencias un número especificado de veces. Esto resulta especialmente útil si no se sabe cuántos elementos hay en la colección. He aquí la sintaxis del bucle For Each...Next: For Each elemento In grupo

Sentencias Next elemento Ejm. For Each Control In Me.Controls If TypeOf Control Is TextBox Then ‘Con esta sentencia se limpian cajas de texto Control.Text = "" End If If TypeOf Control Is listBox Then ‘Con esta sentencia se limpian los Listbox Control.items.clear() End If Next

Page 34: 1.0 Fundamentos de Programacion Con VB2010-FGG-1

Fundamentos de Programación con

Microsoft Visual Basic 2010

Universidad Continental de Ciencias e Ingeniería Pag. 32

4. Salida de una Estructura de Control La instrucción Exit le permite salir directamente de un bucle For o de un bucle Do. La sintaxis de la sentencia Exit es sencilla: Exit For puede aparecer tantas veces como sea necesario dentro de un bucle For y Exit Do puede aparecer tantas veces como sea necesario dentro de un bucle Do: For contador = iniciar To finalizar [Step incremento]

[bloque sentencias] [Exit For]

[bloque sentencias] Next [contador] Do [{While / Until} condición]

[bloque de sentencias] [Exit Do]

[bloque de sentencias] Loop Do

[bloque de sentencias] [Exit Do]

[bloque de sentencias] Loop [{While / Until} condición] Exit For y Exit Do son muy útiles ya que, algunas veces, resulta apropiado salir inmediatamente de un bucle sin realizar más iteraciones o sentencias dentro del bucle. Cuando utilice la instrucción Exit para salir de un bucle, el valor de la variable contador difiere, dependiendo de cómo haya salido del bucle:

EJERCICIOS DE ESTRUTURAS REPETITIVAS 1. Escriba un método que retorne los “n” primeros números naturales, para ello se

indica como parámetro el ingreso de N. 2. Elabore un método que retorne la suma de los “n” primeros números impares. 3. Diseñe un método que retorne la tabla de multiplicar(hasta el 12) de un numero X. 4. Diseñe un método que retorne el factorial de un número entero positivo. 5. Diseñar un método que calcule la siguiente sumatoria (1¹)+(2²)+(3³)+......+(NN), tal

que N, se ingresa como parámetro. 6. Diseñar un método que calcule la siguiente serie:

X*1/1+X*3/3+x*5/5+...........+x*N/N, donde X y N se dan como parámetros. 7. Desarrollar un método que Determine si un número es primo retornando para ello

True o False. 8. Escriba un método que valide el ingreso de solamente números y no carácteres 9. Escriba un método que valide el ingreso de los números en el rango de X a Y /X y

Y son enteros positivos.

Autoevaluación

Page 35: 1.0 Fundamentos de Programacion Con VB2010-FGG-1

Fundamentos de Programación con

Microsoft Visual Basic 2010

Universidad Continental de Ciencias e Ingeniería Pag. 33

10. Elabore un método para determinar los divisores de un número entero N. Ejemplo: Si se ingresa el número 8 se debe visualizar como resultado: los divisores de 8 son: 1,2, 4 y 8.

11. Desarrolle un método que calcule

ifed

ed

4

1

3

1

2

1

,

donde i es un número entero que se incrementa de 1 en 1 hasta llegar a j. Son parámetros adicionales d,e,f (números enteros).

12. Se requiere de un método que retorne la siguiente serie: n,n,n,n,n,n,n,n,n

7,6,5,4,3,2,1

6,5,4,3,2,1

5,4,3,2,1

4,3,2,1

3,2,1

2,1

1

n es un valor dado como parámetro 13. Desarrollar un método que Cuente los números primos de un rango de enteros

donde se ingresan los parámetros inicio y fin. 14. Diseñar un método que permita calcular las 5 primeras parejas de números primos

gemelos (dos números son primos gemelos si además de ser números primos, la diferencia entre ellos es exactamente dos).

15. Diseñar un método que permita encontrar la solución a la siguiente serie: 1+1/2!+1/3!+1/4!+1/5!+...+1/N!. Siendo N un número dado como parámetro.

16. Encuentre todos los números primos de 3 dígitos. 17. Construya un algoritmo que adivine un número entero pensado por usted. Una

vendedora de pan tiene “n” unidades de pan al comenzar el día. Si cada diente le pide “m” panes, ¿Cuántos clientes son atendidos completamente? ¿Cuántos panes quedan para el último cliente?

18. Dada una fecha obtenga el número de día dentro de ese año. Por ejemplo el 26/10/2000 es el día 300 del año 2000.

19. Imprima el número 1, una vez; el 2, dos veces; el 3, tres veces; y así sucesivamente hasta llegar a un número n ingresado por teclado

20. Muestre todos los pares entre a y b, y diga cuántos son.

Page 36: 1.0 Fundamentos de Programacion Con VB2010-FGG-1

Fundamentos de Programación con

Microsoft Visual Basic 2010

Universidad Continental de Ciencias e Ingeniería Pag. 34

21. CAPITULO 6

FUNCIONES INTERNAS DE VISUAL BASIC Habitualmente para cierto tipo de operaciones se suelen crear algoritmos que den soluciones específicas, sin embargo una forma de simplificar el problema es utilizar funciones que están presentes en Visual Basic 2010; existen cientas de éstas; más adelante podrá ver cómo crear funciones y procedimientos propios, así como funciones recursivas. Para no escribir la ruta de la librería puede escribir el comando Imports seguido del nombre de una variable que almacene la ruta de librería. Ejm Imports St = Microsoft.VisualBasic.String De tal manera que ahora podría invocar la función de esta forma: Var_tem = St.left(variable,1) A continuación se presentan algunas funciones de cadenas y fechas:

1. microsoft.visualbasic.len("cadena")

Esta función devuelve la longitud de una cadena. Ejm

microsoft.visualbasic.len("visual basic") devuelve 12

microsoft.visualbasic.len("funcion") devuelve 6

2. microsoft.visualbasic.str(valor)

Convierte un número a texto. Ejm

microsoft.visualbasic.str(99) devuelve "99"

microsoft.visualbasic.str(1999) devuelve "1999"

3. microsoft.visualbasic.val("cadena")

Convierte una cadena de texto a número, siempre que la cadena comience con un número. Ejm

microsoft.visualbasic.val("99") devuelve 99

microsoft.visualbasic.val("ab-99") devuelve 0

microsoft.visualbasic.val("13-ab") devuelve 13

4. microsoft.visualbasic.left("cadena", # de caracteres)

Extrae "n" cantidad de caracteres comenzando desde la izquierda. Ejm

microsoft.visualbasic.left("visual basic",6) devuelve "visual"

Page 37: 1.0 Fundamentos de Programacion Con VB2010-FGG-1

Fundamentos de Programación con

Microsoft Visual Basic 2010

Universidad Continental de Ciencias e Ingeniería Pag. 35

microsoft.visualbasic.left("visual basic",3) devuelve "vis"

5. microsoft.visualbasic.right("cadena",# de caracteres)

Extrae "n" cantidad de caracteres comenzando desde la derecha. Ejm

microsoft.visualbasic.right("visual basic",5) devuelve "basic"

microsoft.visualbasic.right("visual basic",3) devuelve "sic"

6. microsoft.visualbasic.mid("cadena",pos.inicio,#caracteres)

Extrae "n" cantidad de caracteres desde una posición de inicio. Ejm

microsoft.visualbasic.mid("visual basic",4,1) devuelve "u"

microsoft.visualbasic.mid("visual basic",5,2) devuelve "al"

7. microsoft.visualbasic.asc("carácter")

Muestra el valor numérico ASCII de un determinado caracter. Ejm

microsoft.visualbasic.asc("@") devuelve 64

microsoft.visualbasic.asc("^") devuelve 94

microsoft.visualbasic.asc("\") devuelve 92

8. microsoft.visualbasic.chr(valor)

Devuelve el carácter correspondiente a un valor numérico ASCII. Ejm

microsoft.visualbasic.chr(64) devuelve "@"

microsoft.visualbasic.chr(94) devuelve "^"

microsoft.visualbasic.chr(92) devuelve "\"

9. microsoft.visualbasic.instr(pos.inicio,"cadena", “carácter”)

Busca un carácter dentro de una cadena y devuelve la posición del mismo. Ejm

instr(“visual basic 2010”, “ ”) devuelve 7

instr(8,“visual basic 2010”, “ ”) devuelve 13

10. microsoft.visualbasic.instrrev("cadena",“carácter)

Page 38: 1.0 Fundamentos de Programacion Con VB2010-FGG-1

Fundamentos de Programación con

Microsoft Visual Basic 2010

Universidad Continental de Ciencias e Ingeniería Pag. 36

Busca un carácter dentro de una cadena pero desde la derecha y devuelve la posición del mismo. Ejm

InstrRev(“visual basic 2010”, “ ”) DEVUELVE 13

11. microsoft.visualbasic.ucase("cadena")

Convierte una cadena de texto en Mayúsculas. Ejm

microsoft.visualbasic.ucase("me gusta visual basic") devuelve "ME GUSTA VISUAL BASIC"

12. microsoft.visualbasic.lcase("cadena")

Convierte una cadena de texto en Minúsculas. Ejm

microsoft.visualbasic.lcase("me gusta visual basic") devuelve "me gusta visual basic"

13. & concatenar

Permite unir funciones y/o cadenas. Ejm

"100" & "100" devuelve "100100"

"alfa"&"beta" devuelve "alfabeta"

"alfa"&" "&"beta" devuelve "alfa beta"

14. microsoft.visualbasic.now( )

Devuelve la fecha y hora del sistema.

15. microsoft.visualbasic.today( )

Devuelve la fecha del sistema.

16. microsoft.visualbasic.day(fecha u objeto )

Devuelve el día de una fecha específica.

17. microsoft.visualbasic.month(fecha u objeto)

Devuelve el mes de una fecha específica.

18. microsoft.visualbasic.year(fecha u objeto)

Devuelve el año de una fecha específica, en formato de 4 dígitos.

19. microsoft.visualbasic.rnd()

Devuelve un número al azar entre 0 y 1.

Page 39: 1.0 Fundamentos de Programacion Con VB2010-FGG-1

Fundamentos de Programación con

Microsoft Visual Basic 2010

Universidad Continental de Ciencias e Ingeniería Pag. 37

Notas:

1. Si necesita realizar operaciones con fechas debe usar los siguientes métodos:

a. Fecha.Subtract(Fecha2).Days

Permite restar un par de fechas; donde Fecha es la fecha más reciente (minuendo) y Fecha2 es la fecha a ser restada (sustraendo). Ejemplo.

Dim fnac As Date, edad As Integer

edad = Int(Today().Subtract(fnac).Days / 365.25)

b. Fecha.Add(n)

Permite incrementar días a una fecha específica; donde Fecha es una fecha válida y n es el incremento en días. Ejemplo.

Today().Add(35) ‘ con esto se incrementan 35 días a la fecha en cuestión.

Ejercicios

1. Crear un formulario donde ingrese en una caja de texto el nombre y apellido, en otra caja la fecha de nacimiento y en otra caja el sexo de la persona. A partir de los datos ingresados calcular la edad de la persona, y generar un auto-código que presente la siguiente forma:

a. Primera letra del nombre

b. Primera letra del apellido paterno

c. Ultima letra del apellido materno

d. Un guión

e. Si es de sexo masculino, imprima 1 si es femenino imprima 0.

f. Escriba los 02 últimos dígitos del año de nacimiento

g. El mes de la fecha en que nació y agregue un número de 2 dígitos al azar.

Page 40: 1.0 Fundamentos de Programacion Con VB2010-FGG-1

Fundamentos de Programación con

Microsoft Visual Basic 2010

Universidad Continental de Ciencias e Ingeniería Pag. 38

CAPITULO 7

MÓDULOS, PROCEDIMIENTOS Y FUNCIONES

1. Creación de Procedimientos Un procedimiento es un tipo de módulo de programa que ejecuta una serie de operaciones o instrucciones hacia la línea de código que la invocó. Un procedimiento puede aceptar variables de paso como parámetros; aunque normalmente no requieren de éstas.

Los procedimientos son muy útiles cuando se desea ejecutar un determinado número de líneas en diversos momentos. Los procedimientos pueden ser invocados desde cualquier parte del Proyecto mediante el comando call.

Para crear procedimientos, debe insertar un módulo: Menú Proyecto, Agregar Módulo. Asignar nombre al módulo. A continuación escriba SUB seguido del nombre del procedimiento. Ejm

Procedemos a crear una función que permita elevar un número entero a la N con la sentencia SUB.

Ahora en un formulario cualquiera, puedes invocar dicho procedimiento con el comando call.

Call saludo( )

Verás cómo se ejecuta inmediatamente el procedimiento.

‘Procedimiento que limpia cajas de texto y cajas de lista Sub limpiatxt(frm as form)

For Each Control In frm.Controls

If TypeOf Control Is TextBox Then

Control.Text = ""

End If

If TypeOf Control Is listBox Then

Control.items.clear()

End If

Next

End Sub

Page 41: 1.0 Fundamentos de Programacion Con VB2010-FGG-1

Fundamentos de Programación con

Microsoft Visual Basic 2010

Universidad Continental de Ciencias e Ingeniería Pag. 39

‘Procedimiento que rellena grid’s con datos de un arreglo bidimensional Sub RELLENAGRID(ByVal DGV As DataGridView)

Dim col, fil, I As Byte, aux As Object

aux = InputBox("CANTIDAD DE FILAS")

If Len(aux) = 0 Or aux Is "" or Not IsNumeric(aux) Then

Exit Sub

End If

fil = Convert.ToByte(aux)

aux = InputBox("CANTIDAD DE COLUMNAS")

If Len(aux) = 0 Or aux Is "" or Not IsNumeric(aux) Then

Exit Sub

End If

col = Int(aux)

Dim DAT(fil - 1, col - 1) As Integer

DGV.ColumnCount = col

DGV.RowCount = fil

For I = 0 To fil - 1

For J = 0 To col - 1

DAT(I, J) = InputBox("INGRESE ELEMENTO " & I & "," & J)

DGV.Item(J, I).Value = DAT(I, J)

Next

Next

End Sub

2. Creación de Funciones Una función es un tipo de módulo de programa que necesariamente devuelve un

valor hacia la línea de código que la invocó. Una función puede aceptar variables de paso como parámetros.

Si bien es cierto Visual Basic 2010 trae consigo un abanico de funciones incorporadas; es posible que un usuario pueda crear sus propias funciones. Para ello debe insertar un módulo: Menú Proyecto, Agregar Módulo. Asignar nombre al módulo.

Procedemos a crear una función que permita elevar un número entero a la N con la sentencia Function.

Posteriormente genere un formulario como este:

Page 42: 1.0 Fundamentos de Programacion Con VB2010-FGG-1

Fundamentos de Programación con

Microsoft Visual Basic 2010

Universidad Continental de Ciencias e Ingeniería Pag. 40

En el botón de comando codificamos lo siguiente:

3. Funciones Recursivas

Es la invocación a sí misma, tanto de una Función como de un procedimiento, por lo que permite reutilizarse y disminuir la elaboración de líneas de código. Ejemplo.

Se desea crear una función recursiva que calcule el factorial de un número N. Teniendo en cuenta que N! =N*(N-1)

Por tanto:

4! = 4 x 3 x 2 x 1

Se deduce: 4!= 4 x 3!

Page 43: 1.0 Fundamentos de Programacion Con VB2010-FGG-1

Fundamentos de Programación con

Microsoft Visual Basic 2010

Universidad Continental de Ciencias e Ingeniería Pag. 41

Se desea crear una función recursiva que calcule la potencia de un número N elevado al exponente A. Tenga en cuenta que si A=0 entonces N=1.

Por tanto:

23 = 2 x 2 x 2

Se deduce: 23= 2 x 22

2-3 = (1/2) x (1/2) x (1/2)

Se deduce: 2-3= (1/2) x (1/2)2

Page 44: 1.0 Fundamentos de Programacion Con VB2010-FGG-1

Fundamentos de Programación con

Microsoft Visual Basic 2010

Universidad Continental de Ciencias e Ingeniería Pag. 42

CAPITULO 8

ARREGLOS Y MATRICES

En esta lección, aprenderá a utilizar matrices para almacenar grupos de valores. Tal y como aprendió en las lecciones anteriores, las variables se utilizan para almacenar distintos tipos de datos que el programa utiliza. Existe otro tipo de variable llamada matriz que ofrece una forma cómoda de almacenar varios valores del mismo tipo.

Un Array (matriz, tabla, arreglo) es una secuencia de posiciones de la memoria central a las que se puede acceder directamente, que contiene datos del mismo tipo y pueden ser seleccionados individualmente mediante el uso de subíndices. Este capítulo estudia el concepto de arrays unidimensionales y multidimensionales, así como el procesamiento de los mismos.

1. ARRAYS UNIDIMENSIONALES

Un array es un conjunto finito y ordenado de elementos homogéneos. La propiedad “ordenado” significa que el elemento primero, segundo, tercero.., enésimo de un array puede ser identificado. Los elementos de un array son homogéneos, es decir, del mismo tipo de datos. Un array puede estar compuesto de todos sus elementos de tipo cadena, otro puede tener todos sus elementos de tipo entero, etc.

El tipo más simple de un array es el array unidimensional o vector (matriz de una dimensión).

La declaración de un array especifica el nombre del array, el número de elementos y el tipo de datos.

Por ejemplo, suponga que está escribiendo un programa para un equipo de béisbol y desea almacenar los nombres de todos los jugadores en el campo. Podría crear nueve variables de cadena distintas, una para cada jugador, o podría declarar una variable de matriz con una apariencia similar a la del siguiente código.

Dim players() As String Las variables de matriz se declaran colocando paréntesis tras el nombre de la variable. Si sabe cuántos valores necesita almacenar, también puede especificar el tamaño de la matriz en la declaración de la siguiente forma. Dim players(8) As String

Es posible que le resulte extraño que el tamaño de la matriz sea 8 cuando el equipo de béisbol tiene 9 jugadores.

Esto se debe a que una matriz consta de un número de valores o elementos que comienzan por el elemento 0 y terminan con el número especificado en la declaración. En este caso, la matriz contiene los elementos del 0 al 8, para un total de nueve elementos.

Page 45: 1.0 Fundamentos de Programacion Con VB2010-FGG-1

Fundamentos de Programación con

Microsoft Visual Basic 2010

Universidad Continental de Ciencias e Ingeniería Pag. 43

2. Asignación de valores a matrices Al igual que con otros tipos de valores, es necesario asignar valores a matrices. Para ello, debe hacer referencia al número de elemento como parte de la asignación, tal y como se muestra a continuación. players(0) = "Juan" players(3) = "Blas" En el código de arriba, el valor Juan se asigna al primer elemento de la matriz (elemento 0) y el valor Blas, al cuarto elemento (elemento 3). No es necesario asignar los elementos de la matriz en orden y los elementos sin asignar tendrán un valor predeterminado (en este caso, una cadena vacía). Al igual que con otros tipos de valores, puede declarar y asignar valores a una matriz en una sola línea como se muestra a continuación. Dim players() As Integer = {1, 2, 3, 4, 5, 6, 7, 8, 9} En este caso, las llaves indican una lista de valores. Los valores se asignan a elementos en el orden mostrado. Observe que el tamaño de la matriz no se ha especificado; viene determinado por el número de elementos que incluye en la lista.

3. Recuperación de valores a partir de las matrices Del mismo modo que se usan números para especificar la posición de un elemento en una matriz, se utiliza el número de elementos para indicar qué valor desea recuperar. Dim AtBat As String AtBat = players(3) El código anterior recupera el cuarto elemento de la matriz y lo asigna a la variable de cadena AtBat. Inténtelo. Para almacenar valores en una matriz 1. En el menú Archivo, seleccione Nuevo proyecto. 2. En el cuadro de diálogo Nuevo proyecto, haga clic en Aplicación de Windows en el panel Plantillas. 3. En el cuadro Nombre, escriba MiPrimeraMatriz y, a continuación, haga clic en Aceptar. Se abrirá un nuevo proyecto de Windows Forms. 4. Desde el Cuadro de herramientas, arrastre un control Textbox al formulario. 5. Desde el Cuadro de herramientas, arrastre un control Button al formulario. 6. Haga doble clic en Button para abrir el editor de código. 7. En el procedimiento de eventos Button1_Click, escriba el siguiente código: Dim players() As String = {"Dani”, "Fran", "Blas", "Carlos", "Tomás", "Juan", "Xavi", "Samuel", "Pedro"} Dim i As Integer = CInt(Textbox1.Text) MsgBox(players(i) & " es delantero centro"). Observe que el código utiliza la función CInt para convertir el valor de tipo String (TextBox1.Text) en un valor Integer (i). 8. Presione F5 para ejecutar el programa 9. Escriba un número entre 0 y 8 en el cuadro de texto y haga clic en el botón. El nombre que corresponda a dicho elemento aparecerá en un cuadro de mensaje.

Page 46: 1.0 Fundamentos de Programacion Con VB2010-FGG-1

Fundamentos de Programación con

Microsoft Visual Basic 2010

Universidad Continental de Ciencias e Ingeniería Pag. 44

4. Recorrido

Se puede acceder a los elementos de un array para introducir datos en él o bien para visualizar su contenido. A la operación de efectuar una acción general sobre todos los elementos de una matriz se le denomina recorrido del array. Estas operaciones se realizan utilizando estructuras repetitivas, cuyas variables de control se utilizan como subíndices del array.

Ejemplo: Para mostrar a todos los elementos de la matriz anteriormente creada podríamos hacer lo siguiente:

Private Sub Button1_Click(…) Handles Button1.Click 'Declarando el array Dim players() As String = {"Dani", "Fran", "Blas", "Carlos",_ "Tomás", "Juan", "Xavi", "Samuel", "Pedro"} 'Declarando variable de control Dim i As Integer 'Recorriendo el array y mostrándolo en el listbox For i = 0 To players.Count - 1

Me.ListBox1.Items.Add(players(i)) Next End Sub

5. Operaciones con los Arrays Añadir Se denomina añadir datos a un array, a la operación de añadir un nuevo elemento al final del array. La única condición necesaria para esta operación consistirá en la comprobación de espacio de memoria suficiente para el nuevo elemento, dicho de otra forma, que el array no contenga todos los elementos con que fue definido al principio del programa. Ejemplo: El siguiente programa es una extensión del ejemplo anterior, solicita un nuevo jugador y lo incluye al final, para ello redeclara (ReDim) el array conservando (Preserve) los valores actualmente almacenados. Private Sub Button1_Click(…) Handles Button1.Click 'Declarando el array Dim players() As String = {"Dani", "Fran", "Blas", "Carlos",_ "Tomás", "Juan", "Xavi", "Samuel", "Pedro"}

Page 47: 1.0 Fundamentos de Programacion Con VB2010-FGG-1

Fundamentos de Programación con

Microsoft Visual Basic 2010

Universidad Continental de Ciencias e Ingeniería Pag. 45

'reDeclarando el array conservando los valores almacenados ReDim Preserve players(9) 'Solicitando el ingreso de un nuevo jugador players(9) = InputBox("Ingrese a otro Jugador") 'Declarando variable de control Dim i As Integer 'Recorriendo el array For i = 0 To players.Count - 1

Me.ListBox1.Items.Add(players(i)) Next End Sub Eliminar La operación de borra un elemento al final del array no presenta ningún problema; el borrado de un elemento del interior del array provoca el movimiento hacia arriba de los elementos inferiores a él para reorganizar el array. Ejemplo: Se tiene un Array PLAYERS(9) con los valores correspondientes, si eliminamos el número 3, los demás valores se deben trasladar hacia arriba. Players[0] Dani Players[0] Dani Players[1] Fran Players[1] Fran Players[2] Blas Players[2] Blas Players[3] Carlos Players[3] Tomás Players[4] Tomás Players[4] Juan Players(5) Juan Players(5) Xavi Players(6) Xavi Players(6) Samuel Players(7) Samuel Players(7) Pedro Players(8) Pedro Players(8) Adiel Players(9) Adiel Players(9) Private Sub Button1_Click(…) Handles Button1.Click 'Declarando el array Dim players() As String = {"Dani", "Fran", "Blas", "Carlos",_ "Tomás", "Juan", "Xavi", "Samuel", "Pedro", "Adiel"} 'Declarando variables de control Dim i, x As Integer x = 3 'Posición inicial del elemento que se va a eliminar 'Recorriendo el array For i = x To players.Count - 2

players(i) = players(i + 1) Next 'Reemplazando el último valor por una cadena vacía players(players.Count - 1) = "" 'Mostrando los valores For i = 0 To players.Count - 2

Me.ListBox1.Items.Add(players(i)) Next End Sub

Insertar La operación de insertar un elemento consiste en introducir dicho elemento en el interior del array. En este caso, se necesita un desplazamiento previo hacia abajo para colocar el elemento nuevo en la posición relativa. Ejemplo: Se tiene el Array Players(8) con los valores correspondientes, si insertamos el número 3, los demás valores se deben trasladar hacia abajo.

Page 48: 1.0 Fundamentos de Programacion Con VB2010-FGG-1

Fundamentos de Programación con

Microsoft Visual Basic 2010

Universidad Continental de Ciencias e Ingeniería Pag. 46

PLAYERS[0] Dani PLAYERS[0] Dani PLAYERS[1] Fran PLAYERS[1] Fran PLAYERS[2] Blas PLAYERS[2] Blas PLAYERS[3] Carlos PLAYERS(3) Adiel PLAYERS[4] Tomás PLAYERS[4] Carlos Players(5) Juan Players(5) Tomás Players(6) Xavi Players(6) Juan Players(7) Samuel Players(7) Xavi Players(8) Pedro Players(8) Samuel Players(9) Pedro

Private Sub Button1_Click(…) Handles Button1.Click

'Declarando el array

Dim players() As String = {"Dani", "Fran", "Blas", "Carlos",_

"Tomás", "Juan", "Xavi", "Samuel", "Pedro"}

ReDim Preserve players(9)

'Declarando variable de control

Dim i, x As Integer

x = 3

'Moviendo los elementos para insertar en la posición 3

For i = players.Length - 1 To x Step -1

players(i) = players(i - 1)

Next

'Insertando el elemento 3

players(x) = InputBox(“Ingrese un jugador”)

'Mostrando los datos

For i = 0 To players.Count - 1

Me.ListBox1.Items.Add(players(i))

Next

End Sub

Búsqueda La operación de búsqueda implica el recorrer el contenido del array, hasta encontrar determinado valor o valores. Ejemplo: En el siguiente ejemplo, se busca a un jugador y se indica si éste fue encontrado o no. La interfaz es similar a los ejemplos anteriores. Recuerde que la comparación de cadenas en Visual Basic 2010 es exacta, es decir, diferencia mayúsculas y minúsculas Private Sub Button1_Click(…) Handles Button1.Click

'Declarando el array

Dim players() As String = {"Dani", "Fran", "Blas", "Carlos", _

"Tomás","Juan", "Xavi", "Samuel", "Pedro"}

'Declarando variable que almacenará el nombre a buscar

Dim juga As String

'Declarando variable de control y posición

Dim i, posi As Integer

'Declarando variable bandera

Dim sw As Boolean

juga = InputBox("Ingrese nombre del jugador a buscar")

'Recorriendo el array para buscar al jugador

For i = 0 To players.Count - 1

If players(i) = juga Then

sw = True

posi = i

End If

Next

If sw Then

MsgBox("El jugador"& juga &" fué encontrado en la posición "&_

posi)

Else

MsgBox("El jugador no participa del campeonato")

End If

Page 49: 1.0 Fundamentos de Programacion Con VB2010-FGG-1

Fundamentos de Programación con

Microsoft Visual Basic 2010

Universidad Continental de Ciencias e Ingeniería Pag. 47

'Mostrando los datos

For i = 0 To players.Count - 1

Me.ListBox1.Items.Add(players(i))

Next

End Sub

Modificar La operación de modificación está dada por el reemplazo de un determinado valor del array por otro en la misma posición.

Ejemplo: El siguiente ejemplo busca a un jugador y lo reemplaza por otro.

Private Sub Button1_Click(…) Handles Button1.Click

'Declarando el array

Dim players() As String = {"Dani", "Fran", "Blas", "Carlos", _

"Tomás", "Juan", "Xavi", "Samuel", "Pedro"}

'Declarando variab que almacenará el nombre a buscar y reemplazar

Dim juga, suplente As String

'Declarando variable de control y posición

Dim i, posi As Integer

'Declarando variable bandera

Dim sw As Boolean

juga = InputBox("Ingrese nombre del jugador a buscar")

'Recorriendo el array para buscar al jugador

For i = 0 To players.Count - 1

If players(i) = juga Then

sw = True

posi = i

End If

Next

If sw Then

suplente = InputBox("El jugador " & juga & _

" fué encontrado en la posición " & posi & Chr(10) & _

"Ingrese el nombre del reemplazo")

players(posi) = suplente

End If

'Mostrando los datos

For i = 0 To players.Count - 1

Me.ListBox1.Items.Add(players(i))

Next

End Sub

Ordenar Existen múltiples formas de ordenar valores almacenados en un Array, el más conocido y utilizado es: Método de Intercambio o de burbuja El algoritmo de clasificación de intercambio o de la burbuja se basa en el principio de comparar pares de elementos adyacentes e intercambiarlos entre si hasta que estén todos ordenados. Supongamos que desea ordenar en orden ascendente el array:

50 15 56 14 35 1 12 9 A[0] A[1] A[2] A[3] A[4] A[5] A[6] A[7]

Los pasos a dar son:

Page 50: 1.0 Fundamentos de Programacion Con VB2010-FGG-1

Fundamentos de Programación con

Microsoft Visual Basic 2010

Universidad Continental de Ciencias e Ingeniería Pag. 48

1. Comparar A[0] y A[1]; si están en orden, se mantienen como están; en caso contrario se intercambian entre sí.

2. A continuación se comparan los elementos A[1] y A[2]; de nuevo se intercambian si es necesario.

3. El proceso continúa hasta que cada elemento del array a sido comparado con sus elementos

adyacentes y se han realizado los intercambios necesarios. El elemento cuyo valor es mayor va posición a posición hacia el final de la lista, al igual que las burbujas de aire en un depósito o botella de agua. Tras realizar un recorrido completo por todo el vector, el elemento mencionado habrá subido en la lista y ocupará la última posición. En el segundo recorrido, el segundo elemento llegará a la penúltima, y así sucesivamente. Si se efectúan n-1 veces la operación

sobre una tabla de n valores se tiene ordenada la tabla. Cada operación requiere n-1 comprobaciones o tests y como máximo n-1 intercambios. La ordenación total exigirá un máximo de:

( n - 1) * ( n - 1) = ( n - 1 )2 intercambios de elementos

Se puede realizar una mejora en la velocidad de ejecución del algoritmo. Debemos tener en cuenta la comparación del primer elemento con todos los demás elementos de la lista e intercambiarlos si fuera necesario, una vez que se hizo la comparación y el último intercambio si fuera necesario se compara el segundo elemento con todos los siguientes, luego el tercer elemento y así sucesivamente hasta el penúltimo elemento.

Ejemplo: En el siguiente programa, se ingresar una serie de números para ser ordenado, para mostrar los datos se hace uso de un control DataGridView:

Private Sub Button1_Click(…) Handles Button1.Click

'Declarando array

Dim NUMS() As Integer

'Declarando variables

Dim N, i, j, aux As Integer

'Solicitando la cantidad de elementos

N = InputBox("Ingresar la cantidad de elementos del Array")

ReDim NUMS(N)

'Ingresando Datos

For i = 0 To N

Page 51: 1.0 Fundamentos de Programacion Con VB2010-FGG-1

Fundamentos de Programación con

Microsoft Visual Basic 2010

Universidad Continental de Ciencias e Ingeniería Pag. 49

NUMS(i) = InputBox("Ingrese un número para el array")

Next

'Mostrando los datos ingresados mediante el DatagridView Me.DataGridView1.ColumnCount = N + 1

Me.DataGridView1.RowCount = 2

For i = 0 To N

Me.DataGridView1.Columns(i).Width = 30

Me.DataGridView1.Item(i, 0).Value = NUMS(i)

Next

'Ordenando

For i = 0 To N - 1

For j = i + 1 To N

If NUMS(i) > NUMS(j) Then

aux = NUMS(i)

NUMS(i) = NUMS(j)

NUMS(j) = aux

End If

Next

Next

'Mostrando los datos ordenados

For i = 0 To N

Me.DataGridView1.Item(i, 1).Value = NUMS(i)

Next

End Sub

6. ARRAYS BIDIMENSIONALES El array bidimensional se puede considerar un array de arrays. Es, por consiguiente, un conjunto de elementos, todos del mismo tipo, en el cual el orden de los componentes es significativo y en el que se necesita especificar dos subíndices para poder identificar cada elemento del array. Si se visualiza un array unidimensional, se puede considerar como una fila de datos; un array bidimensional es un grupo de filas, como se ilustra en la figura. El diagrama muestra una matriz de treinta elementos (5 x 6) con 5 filas y 6 columnas. Como en una matriz de treinta elementos, cada uno de ellos tiene el mismo nombre. Sin embargo, un subíndice no es suficiente para especificar un elemento de un array bidimensional; por ejemplo, si el nombre del array es M, no se puede indicar M[3], ya que no sabemos si es el tercer elemento de la primera fila o de la primera columna. Para evitar la ambigüedad, los elementos de un array bidimensional se referencia con dos subíndices: el primer subíndice se refiere a la fila y el segundo subíndice se refiere a la columna. Por consiguiente, M [2][ 3] se refiere al elemento de la tercera fila, cuarta columna. La declaración de un array especifica el tipo de datos, nombre del array, el número de filas y columnas. La declaración de un array de dos dimensiones se hace de la forma: Dim Nombre(Filas,Columnas) as Tipo Tipo: Indica el tipo de elementos del array, puede ser entero, real o carácter. Nombre: Es un identificador que nombra al array. Filas: Es una constante que especifica el número filas del array. Columnas: Es una constante que especifica el número de columnas del array. Un array de dos dimensiones denominado NOTAS que consta de 5 filas y 6 columnas, se puede declarar: Dim Notas(4,5) as Integer

Page 52: 1.0 Fundamentos de Programacion Con VB2010-FGG-1

Fundamentos de Programación con

Microsoft Visual Basic 2010

Universidad Continental de Ciencias e Ingeniería Pag. 50

1. Escribir el algoritmo que permita obtener el número de elementos positivos de un vector. 2. Se tiene un vector de N elementos ingresados por el usuario, elabore un algoritmo que

permita sumar sus elementos en forma intercalada, iniciando en la primera posición. 3. Se dispone de una lista de 100 números enteros,calcular su valor máximo y el orden que

ocupa en la tabla. 4. Dados dos vectores de igual longitud, construya un algoritmo que permita obtener una

nueva matriz que contenga todos los elementos del 1er y 2do vector. 5. Elabore un algoritmo que permita obtener la unión (matemática) de dos vectores de igual

longitud en un tercer vector. 6. Dados dos vectores de distinta longitud, elabore un algoritmo que obtenga la intersección

de los dos vectores. 7. Elaborar un algoritmo para ordenar en forma descendente los datos de un array

unidimensional compuesto por números enteros. Validar el ingreso de números entre 0 y 100.

8. Escribir el algoritmo que permita obtener el número de elementos positivos de una matriz. 9. Rellenar una matriz cuadrada de orden N ingresado por el usuario. 10. Leer una matriz de F x C elementos y calcular la suma de cada una de sus filas y

columnas, dejando dichos resultados en dos matrices, uno de la suma de las filas y otro de las columnas.

11. Calcular la suma de todos los elementos de una matriz, así como la media aritmética. 12. Calcular el número de elementos positivos, cero y negativos de una matriz de F x C

elementos. 13. Calcular la suma de los elementos de la diagonal principal de una matriz cuadrada de

orden N. 14. Elabore un algoritmo que permita sumar dos matrices cuadradas. 15. Se tiene una Matriz de F x C, elaborar un algoritmo que sume la columna i de la matriz, i

ingresado por el usuario 16. Escribir un algoritmo que permita calcular el cuadrado de los 100 primeros números

enteros y a continuación escribir una tabla que contenga dichos cien números cuadrados. 17. Elaborar un algoritmo que permita obtener el promedio de la fila central de una matriz

cuadrada de orden N impar. 18. Se dispone de una tabla T de cincuenta números reales distintos de cero. Crear una nueva

tabla en la que todos sus elementos resulten de dividir los elementos de la tabla T por el elemento T[R], siendo R un valor ingresado.

19. Elaborar un algoritmo que permita intercambiar dos columnas i, j de una matriz. 20. Se tienen N temperaturas. Se desea calcular su media y determinar entre todas ellas

cuáles son superiores o iguales a su media. 21. Construya un algoritmo que permita calcular la suma de todos los elementos pares

positivos de N

Autoevaluación

Page 53: 1.0 Fundamentos de Programacion Con VB2010-FGG-1

Fundamentos de Programación con

Microsoft Visual Basic 2010

Universidad Continental de Ciencias e Ingeniería Pag. 51

Anexos

1. Parámetros de la Función MsgBox()

MSGBOX "Texto Del Dialogo", Valor Botón + Valor Icono + Valor Enfoque, "Título"

BOTON VALOR

ACEPTAR 0

ACEPTAR, CANCELAR

1

ANULAR, REINTENTAR, IGNORAR

2

SI, NO, CANCELAR 3

SI, NO 4

REINTENTAR, CANCELAR

5

ICONO VALOR USO

X 16 ERROR

? 32 PREGUNTA

¡ 48 ADVERTENCIA

I 64 INFORMACION

BOTON VALOR

DEVUELTO

ACEPTAR 1

CANCELAR 2

ANULAR 3

REINTENTAR 4

IGNORAR 5

SI 6

NO 7

ENFOQUE VALOR

1ER BOTON 0

2DO BOTON 256

3ER BOTON 512

Page 54: 1.0 Fundamentos de Programacion Con VB2010-FGG-1

Fundamentos de Programación con

Microsoft Visual Basic 2010

Universidad Continental de Ciencias e Ingeniería Pag. 52

INDICE CAPITULO 1 ......................................................................................................................................... 2 CONCEPTOS FUNDAMENTALES DE PROGRAMACIÓN ................................................................ 2 1. LENGUAJE DE PROGRAMACION ............................................................................................. 2 2. ¿POR QUÉ VISUAL BASIC? ........................................................................................................ 2 3. SISTEMA ...................................................................................................................................... 3 4. PROGRAMA................................................................................................................................. 4 5. ELEMENTOS QUE CONFORMAN UN PROGRAMA DE COMPUTADORA............................. 6 6. PARTES DE UN ALGORITMO .................................................................................................... 9 7. EVOLUCION DE LAS METODOLOGÍAS DE PROGRAMACIÓN ........................................... 10 8. PROGRAMACIÓN ORIENTADA A EVENTOS, FORMULARIOS Y CONTROLES ................ 10 CAPITULO 2 ....................................................................................................................................... 12 CONOCIENDO EL ENTORNO DE TRABAJO VISUAL BASIC 2010 ............................................... 12 1. EL LENGUAJE VISUAL BASIC 2010 ........................................................................................ 12 2. INICIANDO UNA APLICACION WINDOWS ........................................................................... 13 3. EL ENTORNO DE DESARROLLO ............................................................................................ 14 4. ASPECTO DEL EXPLORADOR DE SOLUCIONES .................................................................. 15 5. GESTIÓN DE LOS ELEMENTOS DE LA SOLUCIÓN .............................................................. 15 6. EDICIÓN DE PROPIEDADES .................................................................................................... 15 7. AJUSTAR LA POSICIÓN Y TAMAÑO DE LOS CONTROLES ................................................ 16 CAPITULO 3 ....................................................................................................................................... 18 ALGORITMO SECUENCIAL LEER-ESCRIBIR ................................................................................ 18 1. ALGORITMO SUMA, RESTA Y MULTIPLICACIÓN DE 2 NUMEROS ENTEROS: ............... 18 2. Trabajando con Tiempos .............................................................................................................. 19 3. ALGORITMO CALCULO DE SUELDO:.................................................................................... 20 4. ALGORITMO PROMEDIO DE 4 NOTAS: ................................................................................. 20 5. ALGORITMO CALCULO DE CENTENAS, DECENAS Y UNIDADES .................................... 20 CAPITULO 4 ....................................................................................................................................... 25 ALGORITMO SECUENCIAL CONDICIONAL .................................................................................. 25 1. If...Then ....................................................................................................................................... 25 2. If...Then...Else ............................................................................................................................. 26 3. Select Case .................................................................................................................................. 26 CAPITULO 5 ....................................................................................................................................... 30 ALGORITMO ESTRUCTURAS REPETITIVAS ................................................................................. 30 1. Do...Loop..................................................................................................................................... 30 2. For...Next..................................................................................................................................... 31 3. For Each...Next ............................................................................................................................ 31 4. Salida de una Estructura de Control .............................................................................................. 32 CAPITULO 6 ....................................................................................................................................... 34 FUNCIONES INTERNAS DE VISUAL BASIC................................................................................... 34 1. microsoft.visualbasic.len("cadena") .............................................................................................. 34 2. microsoft.visualbasic.str(valor) ..................................................................................................... 34 3. microsoft.visualbasic.val("cadena") .............................................................................................. 34 4. microsoft.visualbasic.left("cadena", # de caracteres) ..................................................................... 34 5. microsoft.visualbasic.right("cadena",# de caracteres) .................................................................... 35 6. microsoft.visualbasic.mid("cadena",pos.inicio,#caracteres) ........................................................... 35 7. microsoft.visualbasic.asc("carácter") ............................................................................................ 35 8. microsoft.visualbasic.chr(valor) .................................................................................................... 35 9. microsoft.visualbasic.instr(pos.inicio,"cadena", “carácter”) ........................................................... 35 10. microsoft.visualbasic.instrrev("cadena",“carácter) .................................................................... 35 11. microsoft.visualbasic.ucase("cadena") ...................................................................................... 36 12. microsoft.visualbasic.lcase("cadena") ....................................................................................... 36 13. & concatenar ...................................................................................................................... 36 14. microsoft.visualbasic.now( )..................................................................................................... 36 15. microsoft.visualbasic.today( ) ................................................................................................... 36 16. microsoft.visualbasic.day(fecha u objeto ) ................................................................................ 36 17. microsoft.visualbasic.month(fecha u objeto) ............................................................................. 36

Page 55: 1.0 Fundamentos de Programacion Con VB2010-FGG-1

Fundamentos de Programación con

Microsoft Visual Basic 2010

Universidad Continental de Ciencias e Ingeniería Pag. 53

18. microsoft.visualbasic.year(fecha u objeto) ................................................................................ 36 19. microsoft.visualbasic.rnd() ....................................................................................................... 36 Notas: .................................................................................................................................................. 37 Ejercicios ............................................................................................................................................. 37 CAPITULO 7 ....................................................................................................................................... 38 MÓDULOS, PROCEDIMIENTOS Y FUNCIONES ............................................................................. 38 1. Creación de Procedimientos ......................................................................................................... 38 2. Creación de Funciones ................................................................................................................. 39 3. Funciones Recursivas ................................................................................................................... 40 CAPITULO 8 ....................................................................................................................................... 42 ARREGLOS Y MATRICES ................................................................................................................. 42 1. ARRAYS UNIDIMENSIONALES .............................................................................................. 42 2. Asignación de valores a matrices .................................................................................................. 43 3. Recuperación de valores a partir de las matrices............................................................................ 43 4. Recorrido ..................................................................................................................................... 44 5. Operaciones con los Arrays .......................................................................................................... 44 6. ARRAYS BIDIMENSIONALES ................................................................................................. 49 Anexos ................................................................................................................................................. 51 1. Parámetros de la Función MsgBox() ............................................................................................. 51