Documente Academic
Documente Profesional
Documente Cultură
Unidad V:
Unidad Didáctica
Barquisimeto, 2018
Unidad Didáctica V- Sentencias Visual Basic
Asignatura: Programación I
Unidad Didáctica
Objetivo Terminal
Objetivos específicos
Asignatura: Programación I
Unidad Didáctica
Contenido
Contenido
Pag.
Introducción……………………………………………………………………... 3
Introducción
Como se indicó en la Unidad IV, Visual Basic es uno de los lenguajes de programación
más populares a nivel mundial ya que está orientado al desarrollo de aplicaciones bajo Windows.
El lenguaje base es el BASIC asistido por la programación orientada a eventos, pero basada en el
uso de objetos, con lo cual es posible diseñar aplicaciones con interfaz gráfica del usuario de
forma fácil, sencilla, rápida, agradable e intuitiva.
Asignatura: Programación I
Las instrucciones de un lenguaje programación como el Visual Basic son las que
permiten crear la estructura de un programa. Una instrucción es una línea de texto que
indica una o más operaciones a realizar. Así un programa está conformado por
sentencias de declaraciones de variables, declaraciones de constantes, procedimientos y
funciones definidas por el usuario.
Entrada de Datos.
Sintaxis:
Donde:
NomVar: es un nombre válido de variable de cualquier tipo de dato.
Mensaje: es una constante de caracteres definida entre doble comillas, que indica
un mensaje de petición o solicitud de dato al usuario.
Título: es la constante de caracteres que se visualiza en la barra de título de la
caja de diálogo, si se omite, se visualiza el nombre de la aplicación
Valor: específica el texto que aparecerá en la caja de texto, si se omite dicho
valor, la caja de texto aparecerá vacía.
Nota:
La función InputBox devuelve lo escrito en el cuadro de dialogo, cuando el usuario
pulsa clic en el botón Aceptar o presiona <ENTER>.
La función devuelve una cadena de caracteres de longitud cero (""), sí el usuario
presiona clic en el botón Cancelar
Si desea omitir algunos argumentos de posición en el formato de Inputbox, debe incluir
el delimitador de coma correspondiente.
Ejemplo:
Salida de datos.
Método Print
Una de las formas de salida de datos en Visual Basic, es por medio del uso del
método Print, el cual permite escribir textos en un objeto, o en una impresora.
Sintaxis:
Objeto.Print Lista expresiones [ ; | ,]
Donde:
Notas:
Hay dos tipos de separadores para los elementos de la lista de expresiones.
El carácter punto y coma (;) hace que se imprima inmediatamente a
continuación de la expresión anterior. La coma (,) hace que se vaya a la
siguiente área de salida, siendo éstas de 14 caracteres, esto es, en las
columnas 1, 15, 29, etc.
Las constantes numéricas positivas van precedidas por un espacio en blanco y
separadas entre sí por otro espacio en blanco. Si son negativas el segundo
espacio es ocupado por el signo (-)
Al utilizar el método Print debe incorporarse la sentencia show.
Ejemplo:
Sintaxis:
Donde:
NomVar = Expresión
Donde:
NomVar: es el nombre que tendrá la variable que almacenará el dato.
Expresión: Puede ser una constante, una variable o una expresión valida.
Ejemplos:
NotaF100 = Calif1 + Calif2 + Calif3 + CalifEC + CalifTP
NotaF20 = NotaF100 * 20 / 100
Notas:
Datos de salida:
Es una instrucción precedida de una comilla simple, con la cual Visual Basic
no ejecuta ninguna acción sobre ella, por lo cual dicha orden no es ejecutable. Esta
sentencia se utiliza para documentar o indicar cierta explicación con respecto a la parte
lógica correspondiente a un segmento de código.
Ejemplos:
‘ Declaración de Variables locales
‘ Inicio del Ciclo repetitivo
Separadores de sentencias
Se pueden escribir varias sentencias en una sola línea, colocando dos puntos
entre ellas, como separador de sentencias.
Ejemplo:
Cont1 = 0: MayorNota= 0 : Acumnotas = 0
If Condición Then
Sent. X1
Sent. X2
:
Sent. Xn
End If
Donde:
Notas:
d) Ejecutar la aplicación con los siguientes datos: Nombre de Cliente: Pedro Pérez;
Tipo de Operadora: 2; minutos de duración llamada: 20 min.; Turno: N. A
continuación se muestra la siguiente información en la ventana de Form1.
Esta sentencia permite efectuar una selección entre dos alternativas u opciones
posibles, dependiendo del cumplimiento o no, de una determinada condición:
Si la condición es verdadera, ejecuta la(s) sentencia(s) X.
Si la condición es falsa, ejecuta la(s) sentencia(s) Y.
Sintaxis:
If < Condición > Then
Sent. X1
Sent. X2
:
Sent. Xn
Else
Sent. Y1
Tutora: Ing. Mery Luz Pérez -2018 :
1
Sent. Yn 3
End If
Unidad Didáctica V- Sentencias Visual Basic
Donde:
Solución:
a) Análisis del Problema.
Dato de Entrada Proceso Dato de Salida
Nombre de cliente
NomCte If TipO = 1 Then Monto de la
Tipo Operadora MtoLLam = MinDur * 0.3 llamada
TipO Else MtoLLam
(1=Movilnet, MtoLLam = MinDur * 0.25
2=Movistar) End If Monto Incremento
Minutos de If Tur = "D" Then MtoIncre
duración de la llamada MtoIncre = 0
MinDur Else
Monto de Pago
Turno MtoIncre = MtoLLam * 10 / 100
MtoPago
Tur End If
(Diurno, Nocturno) MtoPago = MtoLLam + MtoIncre
c) Ejecutar la aplicación con los siguientes datos: Nombre de Cliente: Juan Perez; Tipo
de Operadora: 1 ; minutos de duración llamada: 7 min.; Turno: D. A continuación
If Condición1 then
Instr. X1
:
Instr. Xn
Else
If Condición2 then
Instr. Y1
:
Instr. Yn
Else
Instr. Z1
:
Instr. Zn
End If
End If
Donde:
Condición1 , Condición2 ,… : son expresiones numéricas, relacionales, lógicas o
de cadena, que al ser evaluadas producirán un resultado verdadero o falso.
c) Ejecutar la aplicación con los siguientes datos: Nombre de Cliente: Angel; Tipo de
Operadora: 2; minutos de duración llamada: 5
min.; Turno: N. A continuación, se muestran los
datos de salida en la ventana del Formulario:
If TipO = 1 Then
MtoLLam = MinDur * 0.3
ElseIf TipO = 2 Then
MtoLLam = MinDur * 0.25
End If
If Tur = "D" Then
MtoIncre = 0
ElseIf Tur = "N" Then
MtoIncre = MtoLLam * 10 / 100
End If
Sintaxis:
Las Instrucciones del Case Else, solo se ejecutan si el valor de Expresión no coincide con
ningún valor de Lista de valores establecida.
Reglas de Funcionamiento
Se evalúa la expresión y busca la primera sentencia CASE que incluya el
valor numérico o de cadena de la expresión; cuando haya una coincidencia se ejecutará
a continuación, el correspondiente bloque de sentencias.
Si no existe un valor numérico o de cadena igual al de la expresión en las
sentencias CASE planteadas, entonces se ejecutan las sentencias a continuación de CASE
ELSE. Si no existe la sentencia CASE ELSE, el control pasa a la siguiente sentencia a
continuación de la cláusula End Select.
Debe existir una concordancia entre el tipo de datos de la expresión y
los valores de la lista de expresiones.
Los valores de la lista listaexpr1, listaexpr2,... , pueden ser :
Una constante.
Una variable.
Un operador matemático, relacional o lógico.
Un rango expresado en el formato “X To Y”, donde X e Y
pueden ser datos constantes o variables.
Definiciones.
Automáticas.
Sentencia Haga Desde (For …Next)
Condicionales
Sentencia Haga Mientras (While…Wend)
Sentencia Repita Hasta que (Do…Loop Until)
Es una sentencia de control de flujo que repite las acciones del cuerpo del
ciclo repetitivo, un número especificado de veces, y de modo automático controla el
número de iteraciones o pasos a través del ciclo. Esta referida a un ciclo controlado por
contador, ya que en el mismo se especifica una variable numérica de tipo contador, con
un valor inicial, el cual se incrementa o decrementa de manera automática en cada
iteración del ciclo.
Sintaxis:
For NomV = Vi To Vf [Exp]
Instrucc.1
Instrucc.2
Instrucc.n
Donde: Next NomV
NomV: Es el nombre de la
variable tipo contador.
¿Cómo Funciona?
Al comenzar la ejecución de la estructura, se inicializa la variable
contador NomV con el valor inicial Vi.
Se comprueba sí el valor inicial Vi es menor o igual al valor final Vf (si
Exp. es positivo) o bien, si el valor inicial es mayor o igual que Vf (si Exp. es negativo);
si es así el programa ejecuta las sentencias del interior del ciclo, y al llegar a Next
NomV, se incrementa automáticamente el valor de contador en el valor de Exp,
bifurcando a la sentencia Next.
Cuando el resultado de esta comprobación sea falsa, el programa sale
del ciclo y ejecuta la sentencia ejecutable que está inmediatamente después de la
sentencia Next.
La información requerida por los usuarios es: Nombre del Usuario, Tipo de Filtro
(Integrado, Empotrado), Cantidad de Filtros comprados, Tipo de Pago (Al Contado, Tarjeta de
Crédito).
La empresa dispone de una promoción especial, de un 20% de descuento por la compra del
producto al contado; y sí cancela con tarjeta de crédito se cobrará un 3% de recargo sobre el
precio del filtro.
Se requiere diseñar una Aplicación de Visual Basic que permita determinar y mostrar:
• El monto de la compra y monto de descuento.
• El monto de recargo, monto IVA y monto neto a pagar.
• Promedio de montos netos.
• El porcentaje de clientes que compraron Filtros Integrados.
Solución
Al iniciar la ejecución del ciclo repetitivo For, se prosigue con la lectura de los datos del
primer cliente, los cuales son: Nombre de cliente:
Cesar Diaz, Tipo de Filtro: E (Empotrado),
Cantidad comprada:2 y el tipo de compra: <1>
Contado. A continuación se muestran los datos de
salida en la ventana del Formulario:
Luego se solicitan los datos para el segundo cliente, los cuales son: Nombre de cliente: Sonia
Arias, Tipo de Filtro: I (Integrado), cantidad comprada: 3 y el tipo de compra: <2> Crédito. A
continuación se muestran los datos de salida en la ventana del Formulario:
Reglas de Funcionamiento.
La condición se evalúa antes y después de cada ejecución del ciclo. Si la
condición es verdadera, se ejecuta el ciclo, y si es falsa, el control pasa a
la primera sentencia ejecutable después de la sentencia Wend.
La estructura While se ejecutará en forma repetida hasta que, al
evaluarse la condición o expresión lógica, resulte ser falsa.
El control del ciclo repetitivo While se puede establecer por medio de un
valor centinela, el cual se emplea para indicar el final de una lista de
datos. En este caso, la condición de la estructura While se utilizará para
comprobar el momento en que termina la lista de datos, mediante la
detección del centinela.
Es posible incluir expresiones lógicas mediante los operadores lógicos
AND, OR y NOT para formular la condición de la estructura While.
La información requerida por los usuarios es: Nombre del Usuario, Tipo de Filtro
(Integrado, Empotrado), Cantidad de Filtros comprados, Tipo de Pago (Al Contado, Tarjeta de
Crédito).
La empresa dispone de una promoción especial, de un 20% de descuento por la compra del
producto al contado; y sí cancela con tarjeta de crédito se cobrará un 3% de recargo sobre el
precio del filtro.
Se requiere diseñar una Aplicación de Visual Basic que permita determinar y mostrar:
• El monto de la compra y monto de descuento.
• El monto de recargo, monto IVA y monto neto a pagar.
• Promedio de montos netos.
• El porcentaje de clientes que compraron Filtros Integrados.
Para el diseño de la aplicación, se requiere usar estructura repetitiva While…Wend.
Solución
a) Inicie la apertura de un proyecto nuevo en Visual Basic. Luego hacer doble clic sobre
la ventana del Form1, con lo cual visualizará en la ventana de código las siguientes líneas:
End Sub
If TCompra = 1 Then
MtoDescto = MtoCompra * 20 / 100
MtoRecargo = 0
Else
If TCompra = 2 Then
MtoRecargo = MtoCompra * 3 / 100
MtoDescto = 0
End If
End If
MtoSubTotal = MtoCompra - MtoDescto + MtoRecargo
MtoIVA = MtoSubTotal * 12 / 100
MtoNeto = MtoSubTotal + MtoIVA
AcumNeto = AcumNeto + MtoNeto
'Mostrar resultados
Print "Factura del Cliente: "; NomCte
Print " Monto de Compra ="; MtoCompra
Print " Monto de Descto. ="; MtoDescto
Print " Monto de Recargo ="; MtoRecargo
Print " Monto IVA ="; MtoIVA
Print " Monto Neto ="; MtoNeto & " Bs."
Respuesta = InputBox("Procesa otro Cliente: (S/N)?")
Wend 'Fin de ciclo
'Calculo del Promedio
PromNeto = AcumNeto / NClientes
'Calculo del porcentaje
PorcInteg = ContInt * 100 / NClientes
Print "Impresión de Estadisticas: "
Print " Promedio de Montos Netos ="; PromNeto; " Bs."
Print " Porcentaje de clientes con Filtros Integrados="; PorcInteg; "%"
End Sub
Inmediatamente aparece una caja de mensaje, presione cualquier tecla para continuar. Luego
se muestra la caja de diálogo con la pregunta Procesa otro Cliente (S/N)?. Ingrese la
letra N, para terminar de procesar los clientes. Luego observará en la ventana del
Formulario los resultados de las estadísticas de promedio y porcentaje.
Sintaxis:
Formato 1. Con la estructura Do While o Do... Loop While.
Do While Condición Do
Sentenc. 1 Sentenc. 1
Sentenc. 2 Sentenc. 2
Sentenc. n Sentenc. n
Loop Loop While Condición
Do Do Until Condición
Sentenc. 1 Sentenc. 1
Sentenc. 2 Sentenc. 2
Sentenc. n Sentenc. n
Loop Until Condición Loop
Donde:
La información requerida por los usuarios es: Nombre del Usuario, Tipo de Filtro
(Integrado, Empotrado), cantidad de Filtros a comprar, Tipo de Pago (Al Contado, Tarjeta de
Crédito).
La empresa dispone de una promoción especial, de un 20% de descuento por la compra del
producto al contado; y sí cancela con tarjeta de crédito se cobrará un 3% de recargo sobre el
precio del filtro.
Se requiere diseñar una Aplicación de Visual Basic que permita determinar y mostrar:
1. El monto de la compra.
2. El monto de descuento.
3. El monto de recargo.
4. El monto neto a pagar.
Para el diseño de la aplicación, se requiere usar la Estructura Do … Loop Until
Solución.
a) Inicie la apertura de un proyecto nuevo en Visual Basic.Luego hacer doble clic sobre la
ventana del Form1, con lo cual visualizará en la ventana de código las siguientes líneas:
End Sub
ComboBox ListBox
Backcolor: devuelve o establece el color del fondo usado para mostrar el texto.
BorderStyle: devuelve o establece el estilo del borde del cuadro de texto
Enabled: devuelve o establece un valor que determina si el objeto puede o no
responder a eventos generados por el usuario, es decir, habilitado o inhabilitado.
Font: devuelve o establece el tipo y estilo de letra del texto.
Forecolor: devuelve o establece el color del texto.
Locked: determina si se puede modificar o no el texto mostrado.
Multiline: determina que el cuadro de texto pueda aceptar múltiples líneas. Se
establece el valor True en tiempo de diseño, no en tiempo de ejecución.
Text: devuelve o establece el texto que se muestra en el cuadro.
Scrollbars: devuelve o establece un valor que indica si el cuadro de texto tiene
barras verticales y horizontales. Los valores se establece en tiempo de diseño y no
en tiempo de ejecución. Se establece el valor 0 sin barras; si toma el valor 1 se
colocará en el cuadro una barra horizontal, con el valor 2 una barra vertical, y el
valor 3 tanto barras horizontales como verticales.
Visible: devuelve o establece un valor que determina si el objeto es visible o no.
Nombre: devuelve el nombre usado el código para identificar el objeto; por defecto
Visual Basic, le asigna List1, List2, List3,… y así sucesivamente.
Appearance: devuelve o establece si el objeto se dibuja en tiempo de ejecución
con efectos 3D
Backcolor: devuelve o establece el color del fondo usado para mostrar el texto y
gráficos en la lista.
Columns: devuelve o establece un valor que determina si la lista tiene una sola columna
(Valor 0) o varias columnas valor mayor que cero.
Enabled: devuelve o establece un valor que determina si el objeto puede o no responder
a eventos generados por el usuario. Es decir, si está habilitado o inhabilitado.
Font: devuelve o establece el tipo y estilo de letra del texto que se muestra.
Forecolor: devuelve o establece el color del texto que muestra en el control.
Itemdata: Devuelve o establece un número específico para cada elemento del
objeto.
List: Devuelve o establece los elementos contenidos en la parte de lista del objeto.
MousePointer: Devuelve o establece el tipo de puntero del mouse mostrado al
pasar por encima del objeto.
MultiSelect: devuelve o establece un valor que determina si el usuario puede o no
realizar múltiples selecciones en la lista.
ToolTiptext: establece el texto que se muestra cuando el ratón se sitúa sobre el control.
Visible: devuelve o establece un valor que determina si el objeto es visible o no
Sorted: indica si los elementos se ordenan automáticamente en forma alfabética.
ComboBox: Presentan una lista de elementos en forma vertical (en una sola
columna). Entre sus propiedades están:
Nombre: establece el nombre del control, por defecto Visual Basic le asigna Combo1,
Combo2,... y así sucesivamente.
Backcolor: devuelve o establece el color del fondo del combo.
Enabled: devuelve o establece un valor que determina si el objeto puede responder o no
a eventos generados por el usuario.
Font: devuelve o establece el tipo y estilo de letra.
Forecolor: devuelve o establece el color del texto que se muestra en el control.
List: establece los elementos que se muestran en el control.
Locked: determina si el control puede ser modificado.
MousePointer: establece el tipo de puntero del ratón mostrado al pasar por encima del
objeto.
Text: devuelve o establece el texto contenido en el control
ToolTiptext: establece el texto que se muestra cuando el ratón se sitúa sobre el control.
Visible: establece un valor que determina si el objeto es visible o no.
Sorted: indica si los elementos se ordenan automáticamente en forma alfabética.
Visual Basic presenta también los Controles de Opciones Option Button y CheckBox, los
cuales funcionan de manera similar, pero con una diferencia importante: pueden seleccionarse
varios controles CheckBox de un formulario al mismo tiempo; por el contrario, sólo puede
seleccionarse un control OptionButton de un grupo en un momento determinado.
Sintaxis:
CheckBox
Sintaxis:
OptionButton
Notas:
Utilice la propiedad Value para determinar el estado del control: activado, desactivado
o no disponible.
Los controles Option Button se agrupan si los dibuja dentro de un contenedor como un
control Frame, un control PictureBox o un formulario. Para agrupar controles Option
Button en un Frame o PictureBox, dibuje en primer lugar el Frame o el PictureBox y, a
continuación, dibuje dentro los controles Option Button. Todos los controles Option
Button que están dentro del mismo contenedor actúan como un único grupo.
Aunque puede parecer que los controles Option Button y CheckBox funcionan de forma
similar, hay una diferencia importante: cuando un usuario selecciona un Option
Button, los otros controles Option Button del mismo grupo dejan de estar disponibles
automáticamente. Por el contrario, es posible seleccionar cualquier número de
controles CheckBox.
Los botones de opción o se pueden colocar en un grupo directamente en el formulario o
dentro de un marco o cuadro de imágenes. Para ello se debe crear primero el grupo
independiente, es decir colocar primero el marco donde luego se colocarán los botones
de opciones o cajas de verificación.
Sintaxis:
Objeto.Additem elemento
Donde:
Objeto: es el nombre de Objeto Listbox o ComboBox
Elemento: es la cadena de caracteres que se agrega al Listbox o ComboBox.
Sintaxis:
Objeto.RemoveItem N
Donde:
Objeto: es un Objeto Listbox o ComboBox
N: es un número que especifica el elemento a ser eliminado. El primer
elemento se consigue en la posición 0.
Donde:
Objeto: es un Objeto Listbox o ComboBox
n= Objeto.ListIndex
Donde
n es el valor devuelto por ListIndex
Objeto: es el nombre de Objeto Listbox o ComboBox
N= Objeto.NewIndex
Donde
N es el valor devuelto por NewIndex
Objeto: es el nombre del Objeto Listbox o ComboBox
Diseñe una aplicación en Visual Basic, que permita determinar y mostrar en objetos
apropiados, la siguiente información:
Option Explicit
Dim ContMiemN As Integer, AcuMtoCan As Single
Dim ContProfMas As Integer, Npart As Integer
Dim ContEstMas As Integer, ContEstFem As Integer
TxtNombre.SetFocus
ProcesarNuevoParticipante.Enabled = False
ProcesarFactura.Enabled = True
MostrarEstadisticas.Enabled = False
Salir.Enabled = True
End Sub
Al ejecutar la aplicación con datos de usuarios, observará una ventana similar a la siguiente:
Ejercicios propuestos
Nro. 1. Una empresa líder en construcción de motores eléctricos industriales, desea implementar
la automatización del sistema de facturación de sus clientes. Para, que permita leer los
siguientes datos de N motores: Código del Motor, Marca del Motor (WestingHouse, General
Electric), Tipo de Motor (Monofásico, Trifásico), Tipo de Revolución por minuto (RPM:
1800,3600), Tipo de Origen ( Nacional, Importado) y Año de Compra.
Para determinar el PVP del motor se considera el tipo de motor, el costo, más los
impuestos aduaneros, más el IVA, según se indica en la tabla.
Nota: Se requiere usar botones de comandos y objetos apropiados para la lectura e impresión de
datos. Las estadísticas se deben mostrar en un segundo formulario.
Nro. 2. Una empresa líder en construcción de motores eléctricos industriales, desea implementar
la automatización del sistema de facturación de sus clientes. Para ello se deben obtener los datos
de clientes: Nombre del Cliente, Tipo de Motor (Monofásico, Trifásico), Tipo de Origen
( Nacional, Importado) y Cantidad de motores comprados. Para determinar el PVP del motor
se considera el tipo de motor y el origen, según se indica en la tabla.
Diseñe una Aplicación en Visual Basic que permita por medio del uso de botones de
comandos, calcular e imprimir:
Botón Procesar Clientes. Este botón debe calcular y mostrar por cada cliente:
a) El Monto de la compra
b) El monto de descuento
c) El monto neto.
Botón Imprimir Estadísticas: Este botón debe calcular y mostrar en cajas de textos:
d) El Promedio de los montos de descuentos en motores trifásicos Nacionales.
e) El monto total acumulado de los montos netos.
f) El porcentaje de clientes que compraron motores Monofásico nacionales.
g) El nombre de cliente con el mayor monto neto, identificado con su nombre.
h) Entre motores monofásicos y trifásicos ¿cuál tipo fue el más vendido?
Botón Salir: Para salir de la Aplicación.
Santa Bárbara: Para los destinos San Cristóbal y Caracas en el primer semestre del
año, tiene un descuento de 2.5% sobre el precio del boleto.
c.- Por Tipo de Pago. Si el pago es con Tarjeta de Crédito recibirá un incremento del 2%
sobre el precio del boleto.
Diseñe una Aplicación en Visual Basic que permita usar tres botones de comandos:
Botón Procesar Clientes. Este botón debe calcular y mostrar por cada cliente:
a) El Monto de descuento por edad y por línea aérea.
b) El Monto de incremento por tipo de pago
c) El Monto Total a pagar por cada boleto.
Botón Imprimir Estadísticas: Este botón debe calcular y mostrar en cajas de textos:
d) Promedio de los montos totales de boleto para la línea Aserca.
e) El porcentaje de boletos vendidos con destino Margarita durante el mes de Agosto.
f) El nombre de cliente con el mayor monto de boleto, identificado con su Destino
g) Entre las Líneas aéreas Aserca y Aeropostal, ¿en cuál hubo mayor ventas de boletos?
Bibliografía