lenguaje de programacion vb.net. · 2014. 10. 18. · soluciones para internet). sin embargo, otro...
TRANSCRIPT
Carlos Castro Grande 1
LENGUAJE DE PROGRAMACION VB.NET.
¿QUÉ ES VISUAL BASIC .NET?
Es un lenguaje de programación de alto nivel orientado a objetos y eventos que soporta
encapsulación, herencia y polimorfismo.
Visual Basic.Net 2012 es una herramienta de desarrollo, diseñada para crear aplicaciones que lleven
a cabo trabajos útiles y que al mismo tiempo, tengan un aspecto muy agradable en diversos
entornos.
Utilizando Visual Basic 2005 es posible crear aplicaciones que funcionen en:
a.- El Sistema Operativo Windows.
b.- Aplicaciones WEB.
c.- Aplicaciones para dispositivos portátiles.
d.- Aplicaciones para muchos entornos y configuraciones.
La ventaja más importante de Visual Basic es que ha sido Diseñado para Aumentar la productividad
en el trabajo cotidiano (especialmente si necesita emplear información de bases de datos o crear
soluciones para Internet). Sin embargo, otro interesante beneficio adicional radica (estriba) en que,
una vez que se sienta cómodo en el entorno de desarrollo de Microsoft Visual Studio 2005.
Forma parte de Visual Studio 2012 Ultimate, compartiendo el entorno de desarrollo con Microsoft
Visual C++ .NET, Microsoft Visual C# .NET, etc.
VERSIONES DE VISUAL BASIC .NET
La primera versión de Visual Basic .Net (Microsoft Visual Basic .Net 2002) llego al mercado en
febrero del 2002.
La última versión (Microsoft Visual Basic .Net 2012) estuvo disponible para el gran público en 2012.
CONSTANTES Y VARIABLES
Una constante es algo que permanece inalterable, por eso se llama constante. Las constantes se
declaran de la forma:
Const nombredelaconstante As tipo de dato = valor
Por ejemplo: Const N As Integer = 15
¿Qué ventajas tiene usar constantes en lugar de usar el valor directamente?
Pues que, hay ocasiones en las que dicho valor se repite en un montón de lugares, y si por una
casualidad decidimos que en lugar de tener el valor 15, queremos que tenga el 22 cambiamos el
valor que se le asigna a la constante en la declaración, en vez de tener que buscar los sitios en los
que aparece dicho valor y cambiarlo uno a uno.
VARIABLES
Una variable es una dirección de memoria en la que se guarda un valor o un objeto.
Pero antes de utilizar una variable tenemos que declararla. Esto se hace de la siguiente manera:
Dim I As Integer o
Dim S As String
Con esto le estamos diciendo al vb.NET que reserve espacio en su memoria para guardar un valor de
tipo Integer, (numérico), en la variable i y que en la variable s vamos a guardar valores de cadena
de caracteres.
Las variables se pueden declarar de dos formas, aunque básicamente es lo mismo:
1.- Declarando la variable y dejando que VB asigne el valor por defecto.
Por ejemplo: Dim I As Integer, entonces I tendrá un valor inicial de 0. Si queremos que tenga el
valor 15, escribiremos I=15.
2.- Declarando la variable y asignándole el valor inicial que queramos que tenga.
Carlos Castro Grande 2
Dim I As Integer = 15
Recuerda que por defecto, cuando no se asigna un valor a una variable, ésta contendrá :
- Las variables numéricas tendrán un valor CERO.
- Las cadenas de caracteres una cadena vacía: ""
- Las variables Boolean un valor False (recuerda que False y CERO es lo mismo)
- Las variable de tipo Objeto tendrán un valor Nothing, es decir nada, un valor nulo.
El Visual Basic no "obliga" a que se declaren todas las variables que vayamos a usar. Pero es una
muy aconsejable hacerlo.
TIPOS DE DATOS DE VISUAL BASIC.NET
Tipo de Visual Basic
Tipo en CLR (Framework)
Espacio de memoria
que ocupa
Valores que se pueden almacenar y comentarios
Boolean System.Boolean 2 bytes Un valor verdadero o falso. Valores: True o False. En VB se pueden representar por -1 o 0, aunque no es recomendable usar valores numéricos, es preferible usar siempre True o False. Dim b As Boolean = True
Byte System.Byte 1 byte Un valor positivo, sin signo, para contener datos binarios. Valores: de 0 a 255 Puede convertirse a: Short, Integer, Long, Single, Double o Decimal sin recibir overflow Dim b As Byte = 129
Char System.Char 2 bytes Un carácter Unicode. Valores: de 0 a 65535 (sin signo). No se puede convertir directamente a tipo numérico. Para indicar que una constante de cadena, realmente es un Char, usar la letra C después de la cadena: Dim c As Char = "N"c
Date System.DateTime 8 bytes Una fecha. Valores: desde las 0:00:00 del 1 de Enero del 0001 hasta las 23:59:59 del 31 de Diciembre del 9999. Las fechas deben representarse entre almohadillas # y por lo habitual usando el formato norteamericano: #m-d-yyyy# Dim d As Date = #10-27-2001#
Decimal System.Decimal 16 bytes Un número decimal. Valores: de 0 a +/-79,228,162,514,264,337,593,543,950,335 sin decimales; de 0 a +/-7.9228162514264337593543950335 con 28 lugares a la derecha del decimal; el número más pequeño es: +/-0.0000000000000000000000000001 (+/-1E-28). En los literales se puede usar la letra D o el signo @ para indicar que el valor es Decimal. Dim unDecimal As Decimal = 9223372036854775808D Dim unDecimal2 As Decimal = 987654321.125@
Double System.Double 8 bytes Un número de coma flotante de doble precisión. Valores: de -1.79769313486231570E+308 a -4.94065645841246544E-324 para valores negativos; de 4.94065645841246544E-324 a 1.79769313486231570E+308 para valores positivos. Se puede convertir a Decimal sin recibir un overflow. Se puede usar como sufijo el signo almohadilla # o la letra R para representar un valor de doble precisión: Dim unDoble As Double = 125897.0235R Dim unDoble2 As Double = 987456.0125#
Integer System.Int32 4 bytes Un número entero (sin decimales) Valores: de -2,147,483,648 a 2,147,483,647. Se puede convertir a Long, Single, Double o Decimal sin
Carlos Castro Grande 3
producir overflow. Se puede usar la letra I o el signo % para indicar que es un número entero: Dim unEntero As Integer = 250009I Dim unEntero2 As Integer = 652000%
Long (entero largo)
System.Int64 8 bytes Un entero largo (o grande) Valores: de -9,223,372,036,854,775,808 a 9,223,372,036,854,775,807. Se puede convertir a Single, Double o Decimal sin producir overflow. Se puede usar la letra L o el signo & para indicar que es un número Long: Dim unLong As Long = 12345678L Dim unLong2 As Long = 1234567890&
Object System.Object (class)
4 bytes Cualquier tipo se puede almacenar en una variable de tipo Object. Todos los datos que se manejan en .NET están basados en el tipo Object.
Short (entero corto)
System.Int16 2 bytes Un entero corto (sin decimales) Valores: de -32,768 a 32,767. Se puede convertir a: Integer, Long, Single, Double o Decimal sin producir un overflow. Se puede usar la letra S para indicar que es un número entero corto: Dim unShort As Short = 32000S
Single System.Single 4 bytes Número de coma flotante de precisión simple. Valores: de -3.4028235E+38 a -1.401298E-45 para valores negativos; de 1.401298E-45 a 3.4028235E+38 para valores positivos. Se puede convertir a: Double o Decimal sin producir overflow. Se pueden usar la letra F y el símbolo ! para indicar que es un número Single: Dim unSingle As Single = 987.125F Dim unSingle2 As Single = 65478.6547!
String (cadenas de longitud variable)
System.String (clase)
Depende de la plataforma
Una cadena de caracteres Unicode. Valores: de 0 to aproximadamente 2 billones (2^31) de caracteres Unicode. Se puede usar el símbolo $ para indicar que una variable es un String.
Tipos
definidos por el usuario (estructuras)
(heradada de
System.ValueType)
Depende
de la plataforma
Cada miembro de la estructura tiene su rango,
dependiendo del tipo de dato que representa.
OPERADORES ARITMETICOS
Operador Simbolo Ejemplo
Potenciación ^ 2^3
Multiplicación * 2*3
División real / 3/2
División entera \ 3\2
Resto Mod 10 Mod 3 ‘ 1
Suma + 1 +2
Resta - 1 - 2
Concatenación &, +
Carlos Castro Grande 4
PRIORIDAD DE LOS OPERADORES ARITMÉTICOS Y DE CONCATENACIÓN
Exponenciación (^)
Multiplicación y división (*, /)
División de números enteros (\)
Módulo aritmético (Mod)
Suma y resta (+, -)
Concatenación de cadenas (&)
OPERADOR DE ASIGNACION (=)
SINTAXIS
VARIABLE=EXPRESION
Podemos usar cualquier constante o variable en las expresiones, e incluso, podemos usar el
resultado de esa expresión para asignar un valor a una variable.
Por ejemplo:
Dim X As Integer = 25
Dim I As Integer
I = X * 2
En este caso, se evalúa el resultado de la expresión, (lo que hay a la derecha del signo igual), y el
resultado de la misma, se asigna a la variable que estará a la izquierda del signo igual.
Incluso podemos hacer cosas como esta:
I= I + 15, esto no tiene sentido en matemáticas.
Esto último se llama incrementar una variable, y el vb.NET tiene su propio operador para estos
casos, es decir cuando lo que asignamos a una variable es lo que ya había antes más el resultado de
una expresión:
I += 15
Aunque también se pueden usar: *=, /=, -=, etcétera, dependiendo de la operación que queramos
hacer con el valor que ya tuviera la variable.
Por tanto I = I * 2, es lo mismo que I *= 2
OPERADOR DE CONCATENACION.
Operador de concatenación
& concatenación Permite generar una cadena de caracteres a partir de otras
dos. La forma de utilizar es:
Variable = expresión1 & expresión2
Variable tiene que ser de tipo String y si el tipo de la
expresión1 o expresión2 serán convertidas a String.
El operador & podrá ser reemplazado por + si las dos
expresiones son de tipo String.
OPERADORES DE COMPARACION.
Operadores de relación o comparación
< Primer operando menor que el segundo
> Primer operando mayor que el segundo
<= Primer operando menor o igual que el segundo
>= Primer operando mayor o igual que el segundo
<> Primer operando distinto que el segundo
= Primer operando igual que el segundo
Carlos Castro Grande 5
OPERADORES LOGICOS.
Operadores lógicos
And Resultado true si al evaluar cada uno de los operandos el
resultado es true. Si uno de ellos es false el resultado será
false.
Or Resultado true si al evaluar cada uno de los operandos al
menos el resultado de uno de ellos es true.
Not El resultado de aplicar este operador es true si el valor del
operando es false y viceversa.
SENTENCIAS DE CONTROL.
Sentencia condicional simple IF
Permite a un programa tomar una decisión para ejecutar una acción u otra, basándose en el
resultado verdadero o falso de una condición. La sintaxis para utilizar esta sentencia es la siguiente:
If Condición Then Sentencia1 [:Sentencia2:Sentencia3:..]
If Condición Then
Sentencia(s)
End If
DIAGRAMA DE FLUJO.
Sentencia condicional doble IF – ELSE
La sintaxis para utilizar esta sentencia es la siguiente:
If Condición Then
Sentencia(s)1
Else
Sentencia(s)2
End if
Funcionamiento: Se evalúa la condición y se obtiene un resultado true o false. Si es true se
ejecutará la sentencia(s)1 y si es false se ejecuta la sentencia(s)2 que se encuentra después de
Else.
DIAGRAMA DE FLUJO.
Condición
Sentencia(s)
F V
Condición
Sentencia1(s)
F V
Sentencia2(s)
Carlos Castro Grande 6
Sentencia IF – ELSEIF
La sintaxis para utilizar esta sentencia es la siguiente: If Condición Then Sentencia1 ElseIf Condición Then Sentencia2 ElseIf Condición Then Sentencia3 Else Sentencia4 End if DIAGRAMA DE FLUJO.
CONTADOR:
Un contador es una variable cuyo valor se incrementa o decrementa en una cantidad constante cada
vez que se produce un determinado suceso o acción. Los contadores se utilizan con la finalidad de
contar sucesos o acciones internas de un bucle; deben realizar una operación de inicialización y
posteriormente las sucesivas de incremento o decremento del mismo. La inicialización consiste en
asignarle al contador un valor. Se situará antes y fuera del bucle.
SINTAXIS:
C = C + CONSTANTE
C = C - CONSTANTE
Valor Inicial
Valor Final
ACUMULADOR O TOTALIZADOR:
Es una variable que suma sobre sí misma un conjunto de valores para de esta manera tener la suma
de todos ellos en una sola variable. La diferencia entre un contador y un acumulador es que
Condición
Sentencia1
Condición
Sentencia2
Sentencia3
Condición
Sentencia4
V
V
V
F
F
F
Carlos Castro Grande 7
mientras el primero va aumentando de uno en uno, el acumulador va aumentando en una cantidad
variable.
SINTAXIS:
A = A + VARIABLE
P = P * VARIABLE
Valor Inicial
Valor Final
BUCLE WHILE:
El BUCLE WHILE ejecuta un bloque de acciones ‘mientras’ que una condición dada se cumpla, es
decir, cuando la condición evalúa a verdadero. La condición es evaluada antes de ejecutar el bloque
de acciones y si la condición no se cumple, el bloque no se ejecuta. De esta manera es que el
número de repeticiones del bloque de acciones sea cero, pues, si la condición la primera vez evalúa
a falso, el bloque no será ejecutado alguna vez. La forma general del ciclo mientras es la siguiente:
VISUAL BASIC.NET SINTAXIS
WHILE CONDICION
INSTRUCCIONES
END WHILE
Donde, Condición es la condición que determina si las instrucciones son ejecutadas o no. Si la
condición evalúa es verdadero las instrucciones son ejecutadas y si es falso no es ejecutado.
Después de ejecutar el bloque de acciones se vuelve a evaluar la condición.
DIAGRAMA DE FLUJO
PROGRAMA1.- Escribir un programa que simule el funcionamiento de una calculadora muy
simplificada. Para ello se ingresa dos valores enteros y un operador aritmético (+ - * /) y calcula el
resultado de la operación. Por ejemplo, el usuario teclea 4 / 2 y el programa debe mostrar 2.
PROGRAMA2.- Un curso se evalúa en base a cuatro notas de práctica de las cuales se elimina la nota
menor y se promedian las tres notas más altas. Diseñe un algoritmo que determine la nota
eliminada y el promedio final de un alumno.
PROGRAMA3.- Diseñe un programa que califique el puntaje obtenido en el lanzamiento de tres
dados en función a la cantidad seis obtenidos, de acuerdo a lo siguiente:
- Seis en los tres dados, excelente.
-
Carlos Castro Grande 8
Seis en dos dados, muy bien.
- Seis en un dado, regular.
- Ningún seis, pésimo.
PROGRAMA4.- Diseñe un programa que lea tres longitudes y determine si forman o no un triángulo.
Si es un triángulo determine de qué tipo de triángulo se trata entre: equilátero (si tiene tres lados
iguales), isósceles (si tiene dos lados iguales) o escaleno (si tiene tres lados desiguales). Considere
que para formar un triángulo se requiere que: "el lado mayor sea menor que la suma de los otros
dos lados".
PROGRAMA5.- Ingresar un número entero mayor a 0 y menor a 3000, en pantalla mostrarlo en
romanos.
PROGRAMA6.- En una empresa se requiere calcular el salario semanal de cada uno de los obreros
que laboran en ella. El salario se obtiene de la siguiente forma:
Si el obrero trabaja 40 horas o menos se le paga S/. 20 por hora.
Si trabaja más de 40 horas se le paga S/. 20 por cada una de las primeras 40 horas y S/. 25 por
cada hora extra.
PROGRAMA7.- Calcular la utilidad que un trabajador recibe en el reparto anual de utilidades si este
se le asigna como un porcentaje de su salario mensual que depende de su antigüedad en la empresa
de acuerdo con la siguiente tabla:
Tiempo Utilidad
Menos de 1 año 5 % de salario
1 año o más y menos de 2 años 7% de salario
2 años o más y menos de 5 años 9 % de salario
5 años o más y menos de 10 años 10 % de salario
10 años o más. 20 % de salario
Además debe de crear el Código del Empleado, concatenando la primera letra del nombre y del
apellido, con su respectivo correlativo (el correlativo deberá incrementarse cada vez que se
presione el botón Calcular Utilidad.).
El formulario te quedará así:
PROGRAMA8.- Una librería vende libros bajo las siguientes condiciones: si el cliente es tipo 1
(docente) se le descuenta el 30%, si el cliente es tipo 2 (estudiante) se le descuenta el 20% y si el
Carlos Castro Grande 9
cliente es el tipo 3 se le descuenta el 10%. Cuando el cliente realiza la compra, se deben ingresar:
el nombre del cliente, tipo de cliente (1, 2, 3), la cantidad de libros y el costo del libro. Si la
cantidad de libros solicitada es mayor de 5 se hace un descuento adicional de 4%, en caso de ser
mayor de 10 unidades se hace un descuento adicional de 8%. Utilizando métodos que devuelven
valor muestre: nombre del cliente, total a pagar, descuento y neto a pagar.
PROGRAMA9.- Realizar la operación de multiplicación de dos valores enteros positivos con sumas.
PROGRAMA10.- Realizar la división entera a/b de dos valores enteros positivos mediante restas.
PROGRAMA11.- Ingresar un número entero y en pantalla mostrar el digito menor y el digito mayor.
PROGRAMA12.- Ingresar un número entero y en pantalla mostrar sus divisores.
PROGRAMA13.- Diseñe un programa que genere números aleatorios en el intervalo de 1 a 1000
hasta obtener un número con cuatro divisores. El programa mostrara un listado como el siguiente:
Numero Cantidad de Divisores
121 3
881 2
60 12
978 8
964 6
22 4
PROGRAMA14.- Diseñe un programa para calcular la suma de n términos de la siguiente serie:
1 + -1/2 + 1/3 + -1/4 + 1/5 +…..
PROGRAMA15.- Elabore un programa que convierta un número entero N en base 10 a base 2.
PROGRAMA16.- Ingresar un número entero y en pantalla mostrar la suma de sus dígitos.
PROGRAMA17.- Mostrar en pantalla los 20 primeros números de la siguiente serie: 0, 1, 1, 2, 3, 5, 8,
13,….
PROGRAMA18.- Escribir un programa que solicite un valor N al usuario y calcule todos los números
perfectos menores que N. Se dice que un número es perfecto cuando es igual a la suma de todos sus
divisores, exceptuando el propio número.
Por ejemplo:
• 6 es perfecto = 1 + 2 + 3
• 28 es perfecto = 1 + 2 + 4 + 7 + 14
PROGRAMA19.- Ingresar un número entero y en pantalla mostrar sus dígitos ordenados
ascendentemente.
PROGRAMA20.- Ingresar un número entero real y en pantalla mostrar sus dígitos ordenados
ascendentemente, manteniendo el punto decimal en su mismo lugar.
PROGRAMA21. Una institución benéfica europea ha recibido tres donaciones en soles, dólares y
marcos. La donación será repartida en tres rubros: 60% para la implementación de un centro de
salud, 30% para un comedor de niños y el resto para gastos administrativos. Diseñe un programa
que determine el monto en euros que le corresponde a cada rubro. Considere que: 1 dólar = 2.52
soles, 1 dólar = 2.08 marcos, 1 dólar = 1.07 euros.
PROGRAMA22. Ingresar la cantidad de dinero que figura en un cheque, desarrollar un programa
para mostrar en pantalla, la cantidad de billetes de 200, 100, 50, 20 10 y la cantidad de monedas
de 5, 2, 1 sol necesarios para hacer el pago del cheque.
PROGRAMA23.- Ingresar un numero entero y en pantalla mostrar el número más alto que se puede
formar con los dígitos del numero entero.
PROGRAMA24.- Ingresar una cadena de caracteres y en pantalla mostrar cuantas vocales A, E, I, O y
Carlos Castro Grande 10
U tiene la cadena y cuál es la vocal que más se repite.
PROGRAMA25.- Implementar el siguiente Formulario:
Dónde:
Los Ítems del ComboBox son: “Grupo A”, “Grupo B” y “Grupo C”.
El botón Ingresar, adicionara el nombre del equipo de futbol digitado en el cuadro texto a la
lista asignada para su grupo. Si el nombre del equipo ya estuviera registrado, no debe
registrarse nuevamente y debe salir el mensaje: “El equipo ya fue inscrito anteriormente en
el Grupo X”.
El botón Eliminar, eliminara el nombre del equipo seleccionado en cualquiera de las tres
listas.
El botón “>>”, Moverá el nombre del equipo seleccionado hacia la lista que se encuentre a
su derecha. De esta forma, si se selecciona un equipo de la Lista del grupo A, se moverá
dicho nombre hacia la lista del Grupo B. En el caso que el equipo seleccionado se encuentre
en la lista del Grupo C, el equipo se moverá al Grupo A.
PROGRAMA26.- Implementar el siguiente Formulario:
Dónde:
Los ítems del combo de “Categoría” Son: “Categoría A” y “Categoría B”
Al hacer click sobre el botón “Adicionar”, se insertara el Artículo en la lista de la Categoría
que corresponde.
Carlos Castro Grande 11
Al hacer click sobre el botón “Eliminar Selec.”, se eliminara El ítem seleccionado.
Al hacer click sobre el botón “Eliminar Todo”, se eliminaran Todos los ítems de las listas.
Al hacer click sobre el botón “Ordenar ASC”, se ordenaran las dos listas en forma
Ascendente.
Al hacer clic sobre el botón “>” se moverá el ítem seleccionado de la lista “categoría A”
hacia la lista “Categoría B” y al hacer click sobre el botón “>>” se moverán todos los ítems.
Al hacer clic sobre el botón “<” se moverá el ítem seleccionado de la lista “categoría B”
hacia la lista “Categoría A” y al hacer click sobre el botón “<<” se moverán todos los ítems.
SOLUCION PROGRAMA 4
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim MontoPagar, Igv, TOTAL, PAGOCLIENTE, CAMBIO As Double If txtMontoPagar.Text.Length = 0 Then MessageBox.Show("Ingrese Monto a Pagar", "mensaje", MessageBoxButtons.OK, MessageBoxIcon.Warning) txtMontoPagar.Focus() Exit Sub End If If txtPagoCliente.Text.Length = 0 Then MessageBox.Show("Ingrese Pago del Cliente", "mensaje", MessageBoxButtons.OK, MessageBoxIcon.Warning) txtPagoCliente.Focus() Exit Sub End If MontoPagar = Val(txtMontoPagar.Text) PAGOCLIENTE = txtPagoCliente.Text Igv = txtIgv.Text TOTAL = MontoPagar + Igv CAMBIO = PAGOCLIENTE - TOTAL txtCambioEntregar.Text = CAMBIO End Sub Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click Me.Close() End End Sub Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click txtMontoPagar.Clear() txtIgv.Clear() txtIgv.Clear() txtPagoCliente.Clear() txtTotalPagar.Clear() txtCambioEntregar.Clear() txtMontoPagar.Focus() End Sub
Carlos Castro Grande 12
Private Sub txtpagar_TextChanged(sender As Object, e As EventArgs) Handles txtMontoPagar.TextChanged Dim MontoPagar, Igv, TOTAL As Double MontoPagar = Val(txtMontoPagar.Text) Igv = MontoPagar * 0.18 txtIgv.Text = Igv TOTAL = MontoPagar + Igv txtTotalPagar.Text = TOTAL End Sub Private Sub txtMontoPagar_KeyPress(sender As Object, e As KeyPressEventArgs) Handles txtMontoPagar.KeyPress If Asc(e.KeyChar) <> 8 Then If Asc(e.KeyChar) < 48 Or Asc(e.KeyChar) > 57 Then e.Handled = True End If
End If End Sub