Guía de Programación I

Anuncio
Guía de Programación I Guía realizada por Martha Semken y Sebastián Btesh
ÍNDICE 1.
Introducción a la programación………………………….
2.
Variables, Objetos y Operadores lógicos………………..
3.
Estructura IF…………………………………………………….
4.
Eventos y Subrutinas…………………………………………
5.
Ejercitación I…………………………………………………..
6.
Estructuras For – While – Select Case ……………………
7.
Objeto ComboBox y Funciones de Cadenas……………
8.
Ejercitación II…………………………………………………
9.
Nuevos Objetos Visuales…………………………………….
10.
Creamos Nuestras propias Subrutinas……………………..
Página 2 de 67 Unidad 1: “Introducción a la Programación” ¿Qué es Programar?
Un programa no es mas de una serie de instrucciones dadas a la
computadora, en un lenguaje entendido por el, para decirle exactamente lo
que queremos que haga.
Algoritmos en programación
Un programa de computadora es un algoritmo que le dice a la computadora
los pasos específicos para llevar a cabo una tarea. Los algoritmos son
rigurosamente definidos para que la computadora pueda interpretarlos. El
orden en que se ejecuta cada uno de los pasos que constituyen un algoritmo
es fundamental. El orden más básico es de arriba hacia abajo, ejecutándose
una instrucción tras otra de un código.
Definición:
Un algoritmo es una serie de pasos organizados y finitos que describe el
proceso que se debe seguir, para dar la solución a un problema especifico
¿Qué es un Lenguaje de Programación?
Un programa tiene que escribirse en un lenguaje entendible por la
computadora. Desde el punto de vista físico, una computadora es una
maquina electrónica. Los elementos físicos, (Memoria RAM, Procesador, etc. )
que tiene una computadora para representar las instrucciones y los datos son
de tipo binario.
Para Traducir un programa escrito en un determinado lenguaje de
programación a lenguaje maquina (binario), se utiliza un programa llamado
compilador, que ejecutamos mediante la computadora. Este programa
tomara como dato a todo nuestro programa escrito en un lenguaje de alto
nivel, como vb.net (Visual Basic.net) y dará como resultado el mismo programa
pero escrito en un lenguaje maquina, el lenguaje que entiende la
computadora, binario.
Página 3 de 67 Estructura Básica de todo programa
Todo programa debe obedecer a la estructura básica de un sistema, es decir
Entrada, Proceso y Salida.
Entrada: Son los datos necesarios que requiere el proceso para ofrecer los
resultados esperados.
Proceso: Son los pasos necesarios para obtener la solución del problema o la
situación planteada.
Salida: Resultados obtenidos por el proceso.
Para poder definir bien un problema es conveniente responder a las siguientes
preguntas:
·
·
·
¿Qué entradas se requieren? (cantidad y tipo)
¿Cuál es la salida deseada? (cantidad y tipo)
¿Qué método produce la salida deseada?
Ejemplo si queremos Sumar dos Números:
Entradas: Numero uno y Numero Dos
Proceso: Resultado = Numero 1 + Numero 2
Salida: Mostrar por pantalla Resultado (Numero 1 + Numero 2)
Página 4 de 67 Unidad 2: “Variables, Objetos y Operadores Lógicos.” Objetos Visuales
Los objetos visuales son todos los componentes que conforman la interfaz visual
de un programa en Visual Basic, por ejemplo como los botones, formularios,
imágenes, listas, entre otros.
Propiedades: Para todos los objetos y controles de Visual Basic, hay definidas
una serie de propiedades que nos permiten controlarlos: nombre, tamaño,
color, posición, etc.
Página 5 de 67 Repasemos: Hasta ahora vimos Objetos visuales, como, Label, Textbox, Botón,
Forma, y vimos para que servia cada objeto visual, y vimos que cada objeto
tiene propiedades, que permiten controlar al objeto, por ejemplo, El Nombre
(propiedad ñame) Permite darle un nombre al objeto, para luego programar
usando este nombre.
¿Cómo Se escriben los Nombres de los objetos vistos hasta ahora?
Objeto
Forma
Boton
TextBox
Label
Abreviatura
FM
btn
txt
lbl
Ejemplo
frmCalculadora
btnSuma
txtNumero1
lblResultado
Regla para nombrar los objetos
Cada objeto se nombra con una abreviatura del tipo al que corresponde
dicho objeto, por ejemplo:
Button
btn
Form
frm
ComboBox
cmb
Y luego un nombre significativo, es decir que represente el uso que se le va a
dar al objeto.
Ejemplos
Si en un botón se realiza una suma se debería llamar btnSuma.
Página 6 de 67 Variables
Una Variable es un espacio en memoria RAM, donde ponemos valores que se
pueden modificar durante la ejecución de un programa.
Uno de los Objetivos mas importantes de un programador es: Ocupar el menor
espacio posible en Memoria RAM. Por eso a cada variable le asociamos un
Tipo de Dato. Ahora, lo vamos a ver con mayor profundidad.
Todos los datos tienen un tipo asociados con ellos que nos servirá para poder
conocer con que información trabajaremos. Es decir, cuando ingresemos el
sueldo de un trabajador necesitamos que este contenga decimales, o al
solicitar la edad de una persona está tiene que estar con números enteros.
Entonces la variable del Trabajador al contener decimales ocupa mas
espacio en RAM que una edad de una persona ya que la edad no tiene
decimales.
Tipo de Variables: Integer: Número entero (Numero sin Comas ej: 15) Single: Número real (Numero con Comas ej: 5000.5) Char: Carácter (Un Carácter, ej: “A”) String: Cadena de caracteres (Texto ej: “Hola”) Boolean: Verdadero o falso (Ej: True)
Cada Variable: Tiene que tener un Tipo de Dato asociado y un Nombre (es
decir un Nombre que le asigna el programador a la variable, ej: Resultado, Y lo
Guardamos de tipo Single (Números con Comas). El nombre tiene que ser
significativo, debe representar el uso que se le dará a la variable. Si se va a
guardar el valor de una calificación se llamara nota, si se desea almacenar la
nota mas alta de un curso NotaMaxima o MaximaNota
¿Cómo se declaran Variables en Visual Basic?
Dim NombreDeLaVarianble as Tipo de dato
Ej. Dim Promedio as Single à Se genera un espacio en RAM con el
Nombre “Promedio”, Se espera guardar: Numero con coma (Single).
Página 7 de 67 Declarar varias variables en una misma línea:
¿Para que declarar varias variables en una misma línea?
Declarar varias variables en una misma línea, sirve solamente para agilizar los
tiempos .
Por ejemplo, esta línea declara dos variables del tipo Integer:
Dim a, b As Integer
Es decir, hay que poner una coma entre cada variable que declaremos en la
misma línea.
Es exactamente lo mismo que poner
Dim a as integer
Dim b as integer
Asignar Objetos y Variables:
¿Para que me sirven?
Como ya dijimos los objetos son los que interactúan con el usuario, y las
variables con el programa por eso es necesario asociarlo en dos situaciones,
cuando el dato que necesitamos me lo da el usuario (asignamos a la variable
el valor ingresado por el usuario, dicho valor está contenido en el objeto)
Y también lo vamos utilizar cuando es necesario que del programa salga algo
para informarle al usuario mediante un objeto, (Ej.: Sale por un Label; “El
resultado es 5”)
Como asignar Variables y objetos:
Cuando el dato que necesitamos me lo da el usuario (ej: A la Variable Num1 le
asignamos el dato del Objeto: txtNumero1)
Para hacer un ingreso de datos se necesita un textbox para darle la posibilidad
al usuario de ingresar un dato.
La lógica por ejemplo de cargar una variable seria: Pone el TEXTO que escribió
el usuario en el Objeto txtNum1 a la variable Numero1 De tipo SINGLE.
Nosotros Obtenemos el TEXTO y la variable es de tipo SINGLE. No podemos
asignar un Texto a una Variable de otro tipo que no sea Texto.
Entonces Hay que convertir el Valor a el tipo de dato que espera la variable.
Página 8 de 67 Dim Variable as Single
Variable=Convert.toSingle(txtNum1.Text)
Obtenemos el texto del Objeto txtNum1 y lo convertimos a Single para Pasarlo
a el Valor de La variable.
Si lo debemos asignar a una variable INTEGER:
Variable=convert.toint32(objeto.text)
Si lo debemos asignar a una variable SINGLE:
Variable=convert.tosingle(objeto.text)
Si lo debemos asignar a una variable STRING:
Variable=objeto.text
Ojo: Solamente en STRING se puede convertir el texto de Un Objeto con la
Variable de Tipo String, ya que justamente la variable espera texto, pero en
SINGLE HAY QUE CONVERTIRLO y EN INTEGER HAY QUE CONVERTIRLO.
Como asociar Objetos y Variables:
Cuando El usuario se tiene que enterar a través de un objeto (Ej.: Label) , lo
que realizo el programa (Ej. el usuario se tiene que enterar por pantalla a través
de un label el valor de la variable promedio)
IMPORTANTE: “Siempre que sale datos por pantalla a través de un objeto
OBLIGATORIAMENTE SE DEBE MOSTRARSE EN STRING, ya que los objetos solo
manejan formato texto. Entonces si la Variable esta en tipo Single o Integer, Lo
convertimos a String y la asociamos al Objeto.
VAMOS A ASOCIAR Y A CONVERTIR EN STRING LA VARIABLE.
Objeto.text=convert.tostring(variable)
Si la variable ya esta en tipo string, y como el objeto espera texto, se pueden
igualar.
objeto.text=variable
A lo Largo de nuestros programas seguramente vamos a tener que usar por lo
menos los básicos operadores Matemáticos:
Página 9 de 67 Vamos A realizar un programa que Sume dos Números ingresados por el
Usuario y que el resultado lo muestre en un cartel por pantalla.
A la hora de hacer un programa en papel, ponemos En una tabla de un lado,
el Nombre del Objeto y del Otro la propiedad “Text” (el texto del Objeto)
Nombre
Texto
frmSuma
“Suma”
lblIngreseNumero1
“Ingrese Numero 1”
lblIngreseNumero2
“Ingrese Numero 2”
txtNum1
“”
txtNum2
“”
btnSumar
“Sumar”
En principio vamos a poner: “Programamos en el Botón: btnSuma”, mas
adelante vamos a ver bien que quiere decir esto.
Declaramos Variables que necesitamos: Una para cada numero que se
ingresa y Otra que guarde la suma de los dos numeros Ingresados.
Dim Numero1 As Single Dim Numero2 As Single Dim resultado As Single
Página 10 de 67 Ahora Tenemos que convertir a tipo single el texto ingresado por el usuario, y
asociarlo con cada Variable.
Numero1 = Convert.ToSingle(txtNum1.Text) Numero2 = Convert.ToSingle(txtNum2.Text)
Ahora Tenemos que Sumar las dos variables que contienen, el valor ingresado
por el usuario.
resultado = Numero1 + Numero2
Y por Ultimo se Muestra en un MessageBox (Cartel)
MessageBox.Show(“El resultado es” & resultado)
El messageBox mostrara todo lo que se coloque entre paréntesis, pero esto
siempre debe ser un texto, el símbolo & cumple la función de convertir a texto
resultado como convert.toString y además juntar el texto resultante con el que
escribimos entre comillas.
Nota: tanto para nombres de objetos como para nombre de variables no se
deben usar espacios ni caracteres con tilde.
Página 11 de 67 Ejercicio 1: Ejercicio de Asociación (Variables y objetos) y (objetos y variables)
Nota: Cuando no específico el nombre de un objeto o de una variable se debe inventar uno.
Asociar Variables y Objetos Tipo (a entrar al programa, es decir que puede llegar a operar) Objeto Variable Asociacion Single Txtnum1 Dim numero1 as single Numero1=convert.tosingle(txtnum1.text) Dim Promedio as single Dim nombre as string Txtedad Txtdni dim peso as single Altura=convert.tosingle(txtaltura.text) Txtdomicilio Edaddelpadre=convert.toint32(txtedaddelpadre.text)
Página 12 de 67 Asociar Objetos y variables (sirve para mostrar por pantalla Ej.: en lblresultado mostrar Promedio) Tipo 2 (Para salir Por pantalla) Objeto A Mostrar Variable Asociacion Txtresultado.text=convert.tostring(resultado) lblpromedio.text=convert.tostring(promedio) Lblnombre.text=nombre Dim operacion as single Txtsuma Dim suma as single dim peso as single Lblnombre Dim nombre as string Dim domicilo as string Txtpromedio Dim promedio as single Txtresultado. text =convert.tostring(promedio)
Página 13 de 67 Ejercicio 2: Identificar las Variables que se deben asociar con objetos, es decir las
variables que almacenan el dato ingresado por el usuario, por
ejemplo: Dim Num as Single, A esa Variable se la asocia con un objeto
Ej. Txtnum.
Y una variable que calcule, ej Resultado, es un calculo que se hace en
el programa, y no se Asocia directamente con el usuario.
Identificar con Verdadero y/o Falso
·
·
·
·
·
·
·
·
·
·
·
·
Dim nombre as string
Dim promedio as single
Dim domicilio as string
Dim resultado as single
Dim telefono as string
Dim operación as single
Dim suma as single
Dim dni as integer
Dim multiplcacion as integer
Dim colegio as string
Dim calculo as single
Dim edad as intger
En caso de las verdaderas ASIGNAR variables y objetos.
Ej. Si quiero asignar la variable dim numero1 as single Invento un objeto
llamado txtnum1 y ponemos: Numero1=convert.toSingle(txtnum1.text)
Página 14 de 67 Ejercicio 3: Identificar los objetos que se deben asignar con variables, es decir
cuando la variable hace una operación (un calculo) y se le debe
mostrar el resultado a través de un objeto.
Identificar con Verdadero y/o Falso
·
Txtnum1
·
Txtresultado
·
Txtpromedio
·
Txtsuma
·
Lblingresenombre
·
Lblmultiplicacion
·
Lblpromedio
·
Lblelpromedioes
·
Lblprecioconiva
En caso de los objetos marcados verdaderos ASIGNAR objetos y
variables para salir por pantalla.
Ej. Si quiero asignarle un valor al objeto llamado lblTotal Invento una
variable dim resultado as single. Y ponemos:
lblTotal.text=convert.toString(resultado)
Página 15 de 67 Unidad 3: “Estructura IF” IF
A veces en un programa necesitamos Seguir por un camino u otro, por
ejemplo si la edad de una persona es menor a 18, la persona es menor
de edad, y si no es mayor de edad. Para Ver como se Utiliza esta
estructura, vamos a realizar el ejemplo anterior.
En el Textbox de Abajo debe aparecer el resultado del Programa.
Nombre
Texto
frmVerificacion
“Verificacion”
lblIngreseEdad
“Ingrese Edad ”
btnEnviar
“Enviar”
txtEdad
“Edad”
txtSituacion
“”
Declaramos una Variable Integer donde Guarde la edad Ingresada
Dim Edad As Integer
Como la Variable edad espera Integer y el textbox nos devuelve Texto,
lo convertimos.
Edad = Convert.toInt32(txtEdad.Text)
Preguntamos si edad es Mayor o Igual a 18
If Edad >= 18 Then
Lo que pasa si se cumple la condicion
txtSituacion.Text = "Mayor de Edad" Else
Lo que pasa si no se cumple la condicion
txtSituacion.Text = "Menor de Edad" End If
Página 16 de 67 La sentencia IF del ejemplo anterior se interpreta así: SI la condición
especificada (Edad>=18), es cierta, escribir en txtSituacion “Mayor de
Edad”, Si no poner “Menor de Edad”.
Aprendamos 3 casos de If que podemos Llegar a usar:
Caso 1
if condición then
‘ Bloque de código
else
‘ Bloque de código
end if
Caso 2: El else no es obligatorio
if condición then
‘ Bloque de código
end if
Caso 3: If anidado
if condición then
if condición then
‘ Bloque de código
Else
‘ Bloque de código
End if
Else
‘‘ Bloque de código end if El if anidado puede darse tanto en el bloque verdadero como en el
bloque falso.
Ya sabemos como usar el IF. Ahora lo vamos a Aplicar para algo muy
Útil.
Las Condiciones las vamos a usar también para preguntar si un objeto
esta vacío aparezca un mensaje de error, y si no esta vacío que recién
ahí me “asocie variables y objetos”
¿Para que me sirve esto?
¿Qué va a entrar al programa? si esta vacío, al asociarlo estamos
entrando un dato , si el usuario no escribió nada no va a poder entrar
nada al programa y va a saltar un error cuando estemos ejecutando el
programa
Página 17 de 67 ¿Cómo se hace?
IF OBJETO.text=”” then
Messagebox.show(“Este campo esta vacio, por favor complete”)
Else
Convertimos ej: N1=convert.tosingle(txtnum1.text)
Endif
Nota: En vb.Net “” Significa VACIO, Estamos preguntando si el Objeto
esta vacio, aparezca cartel solicitando completar, si no esta vacio
recien ahí convertimos a la variable, y hacemos todo el programa.
Todas las condiciones tienen operadores relacionales:
Una misma condición se le puede decir, que cumplan y/o / no
condiciones. Operadores lógicos
Página 18 de 67 Ejercicio 4 Consigna: Crear un Programa que cumpla ciertas Características:
Ø
Dibujar el Form
Ø
Señalar con flechas cada Objeto y especificar La propiedad
Nombre y Texto.
Ø
EN TODOS los ingresos de datos se tiene antes de operar, que
preguntar si el objeto esta vacio, y luego convertirlos.
1.
Se tiene que mostrar por pantalla la variable promedio ( se debe
ingresar tres notas) , pero se exige que muestre en un messagebox “El
Promedio es “ – ( ­ significa el promedio).
2.
Se tiene que mostrar por pantalla la variable resultado( tiene que
sumar 2 números), pero se exige que muestre en un label “El resultado es
“ – ( ­ significa el Resultado).
Página 19 de 67 3.
Al presionar un botón, Mostar por pantalla simplemente que la
edad ingresada. A través de un Label y Un messagebox
Página 20 de 67 4. Ingresar los 3 lados de un Triangulo. Determinar y Mostrar en un
Messagebox, si es equilátero, isósceles, o escaleno. Ejercicio 5 Si bien todas las líneas de código son muy importantes, hay una que es
la que realiza la acción (Ej., calcula el promedio)
El Siguiente ejercicio esta destinado a que entiendas lo que se plantea y
escribir esta línea simplemente.
Página 21 de 67 Se desea calcular el promedio de una materia de un alumno que el
sistema de la materia es Trimestral.
Se desea calcular el promedio de una materia de un alumno que el
sistema de la materia es Cuatrimestral.
Se desea calcular el promedio de una materia de un alumno que el
sistema de la materia es Bimestral.
Se desea calcular el IVA de un producto.
Se desea calcular el precio sin IVA de un producto.
Se desea calcular el precio con IVA de un producto.
Página 22 de 67 Unidad 4: “Eventos y Subrutinas” Eventos:
Cada objeto lleva asociados unos determinados eventos que le pueden
ocurrir, por ejemplo a un botón, le puede ocurrir que el usuario pulse con
el botón principal del ratón sobre él, eso es el evento
NombreDelBotón_Click (ej: btnEnviar_Click), bien cuando esto ocurra, se
dispara este evento, al cual nosotros le añadiremos el código de lo que
queremos que haga la aplicación cuando el usuario pulse el botón.
Subrutinas de VB.NET
Public Class form1 Inherits System.Windows.Forms.Form Private Sub btnPromedio_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPromedio.Click
Quiere decir Objeto: btnPromedio
Gracias a la regla usada para nombrar los objetos sabemos que este
código corresponde a un boton
Evento: Click
End Sub Private Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox2.TextChanged End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click End Sub Private Sub frmPrecios_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load End Sub
Página 23 de 67 Private Sub Label2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label2.Click End Sub Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress End Sub Private Sub TextBox1_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.MouseEnter End Sub Private Sub Button2_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.Enter End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click End Sub End Class
Acordarse de poner End Sub: Sirve para cerrar subrutinas End Class : sirve
para terminar el form (por ahora para terminar el programa)
Luego del nombre entre paréntesis figuran los parámetros del evento, es
decir que información adicional me puede suministrar la subrutina. El
primero ” sender” me sirve para referenciar el objeto que me invoco, el
segundo “e”, me da información si corresponde al evento por ejemplo
en eventos de mouse, podría tener como información la posición del
mouse en pantalla, en eventos de teclado que tecla genero el evento.
Página 24 de 67 Uso de parámetros de los eventos
Muchas Veces vamos a tener que bloquear el ingreso de letras o
números al ingreso de datos, por ejemplo en una calculadora no
ingresamos letras, y si esto sucede aparece error en el programa al
convertir las letras a single. El evento key press se activa cuando el
usuario presiona teclas, podemos decirle que si el usuario presiono una
tecla que no queremos que se muestre, No se muestre.
Private Sub txtNumero_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtnumero.KeyPress If instr(“0123456789”,e.keychar)<>0 then e.handled=false else e.handled=true endif End Sub
La función instr(“0123456789”,e.keychar) busca el carácter ingresado o
sea la tecla presionada en la cadena “0123456789” si pregunto
<> 0 Quiere decir: que permite ingresar solo los caracteres que están
entre comillas (“0123456789”) y bloque todo lo de más.
=0 quiere decir: que bloquea el texto si es alguno de los caracteres
entre comillas (“0123456789”) y permite todo lo de mas.
Entre el paréntesis, se le puede agregar otras cosas como – Ej.
(“0123456789­”)
Página 25 de 67 Unidad 5: “Ejercitación I” En todos los ejercicios es recomendable, utilizar todas
las herramientas, vistas hasta ahora (Key press, los
ingresos de datos se tiene antes de operar, que
preguntar si el objeto esta vacio, y luego convertirlos.) Ejercicio 6 Dado un número determinar si es positivo o negativo. Diseño Darle nombre adecuado a los objetos y asignarles el texto que se quiere mostrar para cada caso decir que propiedad se debe cambiar. Identificar todos los objetos
Página 26 de 67 Ejercicio 7 Ingresar tres valores; M, N y P. Si M es menor a N hacer R= M*N + P. En
caso contrario, hacer R = (M+N) * P. Diseño Darle nombre adecuado a los objetos y asignarles el texto que se quiere mostrar para cada caso decir que propiedad se debe cambiar. Identificar todos los objetos
Página 27 de 67 Ejercicio 8 Dados dos números, dar la relación entre ellos. Señalar el mayor, el
menor o especificar si son iguales
Página 28 de 67 Diseño Darle nombre adecuado a los objetos y asignarles el texto que se quiere mostrar para cada caso decir que propiedad se debe cambiar. Identificar todos los objetos
Página 29 de 67 Ejercicio 9 Calcular el precio con IVA . En un texbox ingreso el precio sin IVA, y al
tocar el botón en otro texbox aparece el valor con IVA. Diseño Darle nombre adecuado a los objetos y asignarles el texto que se quiere mostrar para cada caso decir que propiedad se debe cambiar. Identificar todos los objetos
Página 30 de 67 Ejercicio 10 Ingresar los valores de la base y la altura de un rectángulo. Calcular la
superficie y el perímetro de dicho rectángulo.
Página 31 de 67 Diseño Darle nombre adecuado a los objetos y asignarles el texto que se quiere mostrar para cada caso decir que propiedad se debe cambiar. Identificar todos los objetos
Página 32 de 67 Ejercicio 11 Ingresar los valores de los 2 lados de un triángulo rectángulo. Calcular la
superficie y el perímetro de dicho triangulo. Diseño Darle nombre adecuado a los objetos y asignarles el texto que se quiere mostrar para cada caso decir que propiedad se debe cambiar. Identificar todos los objetos
Página 33 de 67 Ejercicio 12 Ingresar los valores de los 2 lados de un triángulo isósceles. Calcular la
superficie y el perímetro de dicho triangulo.
Este ejercicio se diferencia de los de mas ya que tiene un nivel mas alto de
lógica. Por eso te ayudamos a pensarlo.
Página 34 de 67 Diseño Darle nombre adecuado a los objetos y asignarles el texto que se quiere mostrar para cada caso decir que propiedad se debe cambiar. Identificar todos los objetos
Página 35 de 67 Ejercicio 13 Ingresar los 3 lados de un triangulo. Determinar y mostrar en un
messagebox, si es equilátero, isósceles o escaleno. Diseño Darle nombre adecuado a los objetos y asignarles el texto que se quiere mostrar para cada caso decir que propiedad se debe cambiar. Identificar todos los objetos
Página 36 de 67 Página 37 de 67
Unidad 6: “Estructuras For – While – Select Case” Estructura Select Case:
La estructura Select Case permite ejecutar una de varias acciones, en
función del valor de una expresión. También se la conoce como
estructura de selección múltiple
Supongamos que se ingresa el Número de Mes y tiene que aparecer en
un messagebox el Nombre del Mes que le pertenece a ese número.
Public Class Form1 Private Sub btnEnviar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEnviar.Click
Declaramos una Variable de tipo entero llamada
numerodeMesIngresado que va a contener el Numero de mes
ingresado, (del uno al 12)
Dim numerodeMesIngresado As Integer If txtnumerodeMes.Text = "" Then MessageBox.Show("No se introdujo ningun numero de mes, por favor Verifique") Else
El valor del txtNumerodeMes lo convertimos a integer y lo pasamos a la
variable numero de mes ingresado.
numerodeMesIngresado = Convert.ToInt32(txtnumerodeMes.Text)
Declaramos una variable de tipo String (texto), para guardar el Nombre
del mes que le corresponde a la variable numerodeMesIngresado.
Dim mes As String
Acá utilizamos El select case dando Opciones Es decir, nosotros
sabemos que el usuario va a ingresar un numero del uno al doce,
Página 38 de 67 entonces ponemos caso 1, mes es enero, caso numero ingresado es 2
mes es febrero, y así sucesivamente.
Según el numero ingresado
Select Case numerodeMesIngresado Case 1 mes = "Enero" Case 2 mes = "Febrero" Case 3 mes = "Marzo" Case 4 mes = "Abril" Case 5 mes = "Mayo" Case 6 mes = "Junio" Case 7 mes = "Julio" Case 8 mes = "Agosto" Case 9 mes = "Septiembre" Case 10 mes = "Octubre" Case 11 mes = "Noviembre" Case 12 mes = "Diciembre"
En los case enumero los posibles valores
End Select
Luego muestra en un MessageBox, el Nombre del Mes que contiene la
variable Mes.
MessageBox.Show("El mes es: " & mes) End If End Sub End Class
Estructura For:
Es una estructura de repetición definida, es decir, con esta estructura
podemos repetir un código un número determinado de veces.
La forma de usarlo sería:
For <variable numérica> = <valor inicial> To <valor final> [Step <incremento>] ' contenido de lo que se quiere repetir Next
La variable numérica tomará valores que van desde el valor inicial hasta
el valor final, si no se especifica el valor del incremento, éste será 1.
Página 39 de 67 Pero si nuestra intención es que el valor del incremento sea diferente a
1, habrá que indicar un valor de incremento; lo mismo tendremos que
hacer si queremos que el valor inicial sea mayor que el final, con idea
de que "cuente" de mayor a menor, aunque en este caso el incremento
en realidad será un "decremento" ya que el valor de incremento será
negativo.
Lo entenderemos mejor con unos algunos ejemplos: Dim i As Integer ' For i = 1 To 10 ' contará de 1 hasta 10 ' la variable i tomará los valores 1, 2, 3, etc. Next For i = 1 To 100 Step 2 ' contará desde 1 hasta 100 (realmente 99) de 2 en 2 ' la variable i tomará los valores 1, 3, 5, etc. Next For i = 10 To 1 Step ­1 ' contará desde 10 hasta 1 ' la variable i tomará los valores 10, 9, 8, etc. Next For i = 100 To 1 Step ­10 ' contará desde 100 hasta 1, (realmente hasta 10) ' la variable i tomará los valores 100, 90, 80, etc. Next For i = 10 To 1 ' Aca No se repetira ninguna vez porque le estamos diciendo, de que Valla desde I que es 10 hasta 1. incremento 1. Entonces, 10 sumando de a 1 nunca llegara a 1. Next Estructura While
Es una estructura de repetición indefinida, se repetirá mientras se
cumpla una condición, que se indicará después de While.
La forma de usarlo es:
W hile <condición> ' lo que haya que hacer mientras se cumpla la condición End W hile
Con esta estructura, se evalúa la condición y si el resultado es un valor
verdadero, se ejecutará el código que esté dentro de la sentencia, es
decir, entre While y End While.
Página 40 de 67 La condición será una expresión lógica que se evaluará para conseguir
un valor verdadero o falso.
Veamos algunos ejemplos:
Dim i As Integer I=0 While i < 10 MessageBox.Show("Hola" & i) i = i + 1 End While
La sentencia se repetirá mientras i sea menor que 10, fíjate que el valor
de i se incrementa después de mostrarlo, por tanto se mostrarán los
valores desde 0 hasta 9, ya que cuando i vale 10, no se cumple la
condición y se sale de la sentencia.
Dim n, i As Integer n = 3 i = 1 While i = 10 * n ' no se repetirá ninguna vez End While
No se repetirá ninguna vez, ya que la condición es que i sea igual a 10
multiplicado por n, cosa que no ocurre, ya que i vale 1 y n vale 3 y
como sabemos 1 no es igual a 30.
Página 41 de 67 Unidad 7: “Objeto ComboBox y Funciones de Cadenas” Objeto ComboBox
Agregar Items al ComboBox cmbalgo.items.add(contenido)
Supongamos que en un formulario se tiene que seleccionar el Día de
Nacimiento, después el Mes y después el Año. En el ComboBox del día
hay que cargar del 1 al 31 para que se seleccione:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load cmbdia.Items.Add("1") cmbdia.Items.Add("2") cmbdia.Items.Add("3") cmbdia.Items.Add("4") 'Hasta llegar a cmbdia.Items.Add("31") End Sub
Esto tardaría Mucho Tiempo hacerlo así los 31 días del mes. Podemos
usar un For, que se repita desde 1 hasta 31 veces.
Dim i As Integer For i = 0 To 31 ‘I va ir tomando el valor de 1,2,3,4, hasta 31 y agrega al ComboBox el Valor de I cmbdia.Items.Add(i) Next
Como consultar por algo:
Consultar por el Contenido Seleccionado: Cmb.selecteditem
Página 42 de 67 Consultar por la Posición seleccionada: (Ej. si el primero es 1900 la
posición es 0) : Cmbbaño.selectedindex Realicemos un Ejercicio…
Ingresar en un textbox un número entre 1 y 10. Programar en un
botón que se llene un combobox con la tabla de multiplicar de
dicho número. Ejemplo: se ingresa 5, en el combo box aparecerá
1 x 5 = 5 2 x 5 =10 3 x 5 =15 . 9 x 5= 45 10x 5=50 Diseño frmEjercitacion Ejercitacion lblIngreseNumero Ingrese Numero txtIngreso “” btnEnviar Enviar CmbTabla “” Programamos en el Botón: btnEnviar Evento:Click If txtIngreso.Text = "" Then MessageBox.Show("Ingrese Algun Numero") Else Dim num As Integer num = Convert.ToInt32(txtIngreso.Text) If num<=10 and num>=1 Then Dim i As Integer For i = 0 To 10 Dim resultado As Integer resultado = i * num cmbTabla.Items.Add(i & "x" & num & " = " & resultado) Next End If End If
Página 43 de 67 Funciones de Cadenas:
“HOLA” à Sabemos que es de tipo STRING, ahora
vamos a ver funciones de Cadenas, (String).
Length
Esta función nos sirve para obtener la longitud de una cadena, longitud
es la cantidad de caracteres que contiene la cadena. Ej.: “Hola”. length
= 4 Porque tiene 4 letras.
Dim Palabra as String
Palabra= “TIC”
Palabra.length=3 porque palabra es Tic, y tic tiene 3 caracteres.
Substring
Esta Función sirve para Sacar de a pedasos la cadena, es decir de la
cadena nos devuelve una Subcadena. Para esto es necesario la
posición de comienzo, y la cantidad de caracteres que se desea
obtener. (Posición, Cantidad)
Importante: La posición de la cadena empieza en 0, Ej.: en hola (H=0,
O=1, L=2 a=3)
“Hola”.substring(0,1) Le estamos diciendo que desde la posición 0 nos
devuelva el primer carácter = H
“Hola”.substring(1,2) Le estamos diciendo que desde la posición 1 nos
devuelva los dos siguientes caracteres = ol
Dim palabra as string
Palabra= “redes”
Palabra.substring(2,1)= “d” ´porque r=0, e=1, d”2 y que de la posición 2
(d) saque un solo carácter = d
Página 44 de 67 Ingresar en un textbox una palabra o frase, y que me la ponga en un
Combobox letra abajo otra letra abajo otra
letra.
Ej.
Yo Ingreso Hola. (en el textbox)
y en el combo box que aparezca.
H
o
l
a Diseño frmEjercicio11 Ejercicio 11 lblIngresePalabra Ingrese Palabra btnEnviar Enviar txtPalabra “” cmbLista “” Programamos en La rutina del Boton: btnEnviar, Evento: Click If txtPalabra.Text = "" Then MessageBox.Show("Ingrese Palabra") Else
Declaramos una Variable llamada Palabra donde va a estar la palabra
ingresada por el usuario.
Dim palabra As String
Asociamos la variable palabra con el TextBox (txtPalabra), recordemos
que no es necesario poner convert.toostring ya que la palabra ya esta
en string y la variable palabra espera texto.
palabra = txtPalabra.Text
Declaramos una variable de tipo entero llamada i que va a ser la que
usemos en el for.
Dim i As Integer
Página 45 de 67 Desde que i es igual a 0 hasta que i es igual a la cantidad de caracteres
de esa palabra menos uno (en unas líneas vamos a ver porque menos
uno).
Por ejemplo si palabra = Hola, i va a tomar el valor de 0,1,2,3
For i = 0 To palabra.Length – 1
Declaramos una variable llamada Letra que va a guardar cada letra de
esa palabra
Dim letra As String
Para separar la palabra en pedasos de letras usamos la función
Substring:
Por ejemplo Si queremos sacar la H de la palabra Hola seria
palabra.substring(0,1)
Le decimos que de la palabra Hola se valla la posición 0 (H) y que nos
saque un solo carácter entonces como resultado da: H
Pero como nosotros no siempre necesitamos sacar la H, después va
tener que ser la O, después la L después, la A. Le decimos que la
posición sea la variable I ( que va a tomar el valor la cantidad de
caracteres de la palabra Hola= 4 ­1 porque empieza de la posición 0)
letra = palabra.Substring(i, 1)
Agregamos a el comboBox la letra.
cmbLista.Items.Add(letra) Next End If
Página 46 de 67 Unidad 8: “Ejercitación II” En todos los ejercicios es recomendable, utilizar todas
las herramientas, vistas hasta ahora (Key press, los
ingresos de datos se tiene antes de operar, que
preguntar si el objeto esta vacío, y luego convertirlos.)
También es recomendable, comentar en código la
lógica, para hacer más ágil, la persona que corrija. Ejercicio 14 Ingresar en un textbox un número entre 1 y 10. Programar en un botón que se llene un combobox con la tabla de multiplicar de dicho número. Ejemplo: se ingresa 5, en el combo box aparecerá 1 x 5 = 5 2 x 5 =10 3 x 5 =15 . 9 x 5= 45 10x 5=50 Diseño Darle nombre adecuado a los objetos y asignarles el texto que se quiere mostrar para cada caso decir que propiedad se debe cambiar. Identificar todos los objetos
Página 47 de 67 Ejercicio 15 Ingresar en un textbox un número entre 1 y 10. Programar en un
boton que se llene un combobox con la tabla de multiplicar de
dicho número a la inversa. Ejemplo: se ingresa 5, en el combo box
aparecerá
Página 48 de 67 10 x 5 = 50
9 x 5 = 45
8 x 5 = 40
.
.
2 x 5 = 10
1x5= 5
Página 49 de 67 Ejercicio 16 Se ha diseñado el siguiente formulario, Se debe completar el dia
mes y año en el que nació (en un combo box), y debe aparecer
en un messagebox la edad actual. Diseño Darle nombre adecuado a los objetos y asignarles el texto que se quiere mostrar para cada caso decir que propiedad se debe cambiar. Identificar todos los objetos
Página 50 de 67 Ejercicio 17 Ingresar en un textbox una palabra o frase, y que me la ponga en
un Combobox letra abajo otra letra abajo otra letra.
Ej.
Yo Ingreso Hola. (en el textbox)
y en el combo box que aparezca.
H
o
l
a
Aparte que al presionar el botón me muestra en un messagebox la
palabra ingresada y cuantas vocales y consonantes tiene hay ej
“La Palabra hola tiene 2 vocales y 2 consonantes”
Página 51 de 67 Diseño Darle nombre adecuado a los objetos y asignarles el texto que se quiere mostrar para cada caso decir que propiedad se debe cambiar. Identificar todos los objetos
Página 52 de 67 Ejercicio 18 Se ha diseñado el siguiente formulario. En el cuadros de texto
donde dice ingrese palabra se desea ingresar una palabra para
luego operar con ella.
Al presionar en enviar tiene que apacer en un combo box la
palabra con letras invertidas. (Ej. si ingreso Hola que muestre :
aloH.)
Luego tiene que mostrar en un label la cantidad de vocales y
consonantes de la siguiente forma “En la palabra (palabra) hay x
Consonantes y x Vocales”
Lo ultimo que hace el programa es Poner en un Textbox Todas las
vocales utilizadas, separadas por un guión medio “­“ Ej. Si ingreso la
palabra Hola, En el Textbox debe aparecer: “o­a”
Página 53 de 67 Una Imagen del Programa funcionando con la palabra de
ejemplo: Hola
Página 54 de 67 Página 55 de 67
Ejercicio 19 Realizar un programa para resolver una ecuación de segundo
ax 2 + bx + c = 0 grado.
La formula para la resolución de una ecuación de segundo
- bgrado
± b 2 - 4 ´ a ´ c es:
2 ´ a Mostrar los Valores de X1 y X2 en Un combo box, Diciendo:
X1 es igual –
X2 es Igual –
Y mostrar También en un Label: Los Valores de X1 y X2 de la Mima
forma
X1 es igual –
X2 es Igual –
Diseña vos el form Página 56 de 67 Ejercicio 20 Se ha diseñado el siguiente formulario.
Primero se desea Ingresar el Apellido de Un
alumno, y que ese apellido lo muestre en el
label mas inferior, (Apellido del Alumno : ­
(apellido))
En los cuadros de texto se desea ingresar. Las
notas de los 3 trimestres de un alumno. El primer
botón debe calcular el promedio y mostrarlo
en el panel inferior (textbox), además de decir
si aprobó o no en un messagebox, el segundo
botón debe calcular las notas máxima y
Página 57 de 67 mínima y mostrarlas los labels de abajo y también en un
messagebox , el texto debe decir “La nota máxima es – y la
mínima –“.
En los guiones debe figurar la nota correspondiente según las
ingresadas.
Página 58 de 67 Ejercicio 21 Se ha diseñado el siguiente formulario. En los cuadros de texto se
desea ingresar una hora inicial (hora 11 minuto 23 segundo 10)
tener en cuenta que la hora no puede ser mayor a 24 y los minutos
y segundos no mayores a 120. En el textbox minutos a sumas se
ingresa un valor que representa minutos este valor no puede
superar 60. Se debe calcular la hora final si a la hora ingresada se
le suman los minutos. Mostrar en un messagebox un mensaje con el
resultado. El texto deberá decir por ejemplo: La hora final es
12:15:00 Diseño Darle nombre adecuado a los objetos y asignarles el texto que se quiere mostrar para cada caso decir
Página 59 de 67 Página 60 de 67
Ejercicio 22 Se ha diseñado el siguiente formulario: En el cuadro de texto
donde dice ingrese palabra se desea ingresar una palabra para
luego operar con ella.
Al Presionar el botón enviar debe aparecer un messagebox
Con:
Cantidad de Caracteres que tiene la palabra. (Ej. La palabra Hola
tiene 4 caracteres)
La descomposición de la palabra ( Ej. La palabra hola se
descompone así: h­o­l­a) Se exigen los guiones, y que en la ultima
letra no tenga guiones como esta, en la “a” no termina con un
guión­
La descomposición inversa de la palabra. ( Ej. La palabra hola la
descomposición inversa se descompone así: a­l­o­h) Se exigen los
guiones, y que en la última letra no tenga guiones como esta, en la
“h” no termina con un guión­
Un ejemplo escrita la palabra: hola
Página 61 de 67 Diseño Darle nombre adecuado a los objetos y asignarles el texto que se quiere mostrar para cada caso decir que propiedad se debe cambiar. Identificar todos los objetos
Página 62 de 67 Página 63 de 67
Unidad 9: “Nuevos Objetos Visuales” RadioButton: En diseño se Abrebia: rbtAlgo, ej:
rbtMasculino
Como saber si esta seleccionado:
If rbtMasculino.Checked = True Then ‘Lo que quiero que pase si esta seleccionado Masculino ej: MessageBox.Show("Usted es Hombre") End If
CheckBox: En diseño se abrevia, chkAlgo, ej:
chkCiencia.
Como saber si esta seleccionado:
If chkMusica.Checked = True Then ‘Lo que quiero que pase si esta seleccionado Musica ej: MessageBox.Show("Musica") End If
Página 64 de 67 Unidad 10: “Creamos nuestras propias subrutinas” Una subrutina es un grupo de instrucciones, que están diseñados con un
propósito particular y tienen un nombre .
Es decir una subrutina es una parte de un programa que realiza tareas
específicas y que no regresa valores al programa principal.
Para dirigirse a esa porción de código del programa se usa el nombre
de la subrutina.
Es conveniente usar subrutinas cuando existe un grupo de instrucciones
o una tarea que deben ejecutarse mas de una vez. Cuando un
problema es muy complejo o extenso se divide en tareas específicas.
Sub NombredelaSubrutina()
Es decir, es como un asterisco en una hoja, al poner eso, se dirige a la
porción de código con ese nombre de subrutina.
El formato para construir una subrutina en VISUAL BASIC NET es:
Sub nombre de subrutina()
Instrucciones
End Sub
Veamos mejor con un ejemplo
Página 65 de 67 Private Sub btnEnviar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEnviar.Click
Preguntamos si el objeto txtNota1 este vacio
If txtNota1.Text = "" Then
Si esta vacio lo dirigimos a la subrutina llamado
mostrarCarteldeFaltacompletar, donde aparece en un messagebox un
cartel solicitando que se escriba.
mostrarCarteldeFaltacompletar()
Preguntamos si el objeto txtNota2 esta vacio
ElseIf txtNota2.Text = "" Then
Si esta vacio lo dirigimos a la subrutina llamado
mostrarCarteldeFaltacompletar, donde aparece en un messagebox un
cartel solicitando que se escriba.
mostrarCarteldeFaltacompletar()
Preguntamos si el objeto txtNota3 esta vacio
ElseIf txtNota3.Text = "" Then
Si esta vacio lo dirigimos a la subrutina llamado
mostrarCarteldeFaltacompletar, donde aparece en un messagebox un
cartel solicitando que se escriba.
mostrarCarteldeFaltacompletar() Else
Si no esta vacio el txtnota1, txtnota2, txtnota3 recién ahí empezamos a
declarar las variables y convertir
Dim n1, n2, n3 As Integer, promedio As Single n1 = Convert.ToInt32(txtNota1.Text) n2 = Convert.ToInt32(txtNota2.Text) n3 = Convert.ToInt32(txtNota3.Text)
Luego calculamos el promedio
promedio = (n1 + n2 + n3) / 3 MessageBox.Show("El promedio es: " & promedio) End If End Sub
Creamos Una subrutina que se llame: mostrarCarteldeFaltacompletar
Sub mostrarCarteldeFaltacompletar()
Página 66 de 67 Aquí ponemos todas las instrucciones que queremos que haga el
programa al “llamar” a esta subrutina.
MessageBox.Show("Falta completar, por favor Verifique") End Sub
Las subrutinas también pueden tener parámetros, es decir recibir
variables con valores que necesita para poder desarrollar alguna tarea
específica. Ej
Sub MostrarMensaje(msg as string) Messagebox.show(msg) End sub
Función
Es muy similar a la subrutina, la diferencia esta en que la función se usa
para devolver un solo valor de un tipo de datos especificad. Ej
Function suma(n1 as integer, n2 as integer)} Return n1+n2; End Function
Página 67 de 67 
Descargar