1. Actividad Autoformación y Evaluación No.2
PRESENTADO POR:
JENNY JACQUELINE DIAZ PALACIO
EDIT JOHANNA DIAZ PALACIO
OSCAR CARRILO FERNANDO AMAYA
ENTREGADO A:
SANDRA ESPERANZA SANCHEZ BARRAGAN
UNIVERSITARIA DE COLOMBIA
SISTEMA DE LA INFORMACION
INGENIERIA DE SISTEMAS
6º SEMESTRE
2016
2. Actividad Autoformación y Evaluación No.2
Tema – Aplicaciones Básicas Por Consola
Objetivo
La presente guía busca que el aprendizdeduzca los componentes básicos deuna aplicación por consola
en .Net, con el objetivo de que integre este código en el diseño,desarrollo eimplementación de su
proyecto final.
SOLUCION DEL TALLER
¿Qué es Visual Basic .Net?
Rta: es un lenguajede programación orientado a objetos que se puede considerar una evolución
de Visual Basic implementada sobreel framework .NET. Su introducción resultó
¿Cómo se instala Visual Basic .Net en su computador?
Rta: Usar Visual Basic2010 para sistemas operativos Windows 7 o más modernos, o Visual Basic 6 para
sistemas operativos más antiguos.
Para instalar Visual Basic hemos de descargarlo desdeinternet (o bien disponer de un cd de instalación).
INSTALAR VISUAL BASIC 6 SOBRE WINDOWS ANTERIOR A WINDOWS 7
Para instalar Visual Basic 6 coge el cd de instalación (o descarga el programa desde
https://docs.google.com/file/d/0BzAA6hbbWbAeOUJkY2xnMlptRHc/edit?usp=sharing).
3. Pulsa sobre el archivo setup.exe con el botón derecho del ratón, elige “Ejecutar como administrador” y
sigue las instrucciones hasta que se complete la instalación.
INSTALAR VISUAL BASIC 6 SOBRE WINDOWS 7, WINDOWS 8 O POSTERIOR
Para instalar Visual Basic 6 sobre Windows 7 de 64 bits o posterior, siguelas instrucciones quese indican
aquí: http://www.aprenderaprogramar.com/foros/index.php?topic=286.0
INSTALAR VISUAL BASIC 2010
Para instalar Visual Basic 2010 te hace falta el cd de instalación o el programa de instalación que se
puede descargar desde internet. Si no tienes el cd de instalación puedes realizar la descarga desde:
a) https://drive.google.com/file/d/0BzAA6hbbWbAeZjhQSTlSWThFVmc/view?usp=sharing (pulsar en
la pequeña flecha "Descargar" que aparece al pasar el ratón por la parte superior)
b) Alternativamente: http://visual-basic-2010.en.softonic.com/
INSTALAR OTRAS VERSIONES DE VISUAL BASIC
Para instalar otras versiones: usa el cd de instalación de la versión que quieras instalar o descarga la
versión express (gratuita) desdehttp://www.microsoft.com/visualstudio. Es posible que se te ofrezcan
distintas versiones de Visual Studio (para web, para Windows Phone, Foundation Server, Desktop, etc.).
Debes elegir la versión “Desktop”, para desarrollo de aplicaciones de escritorio. Ten en cuenta que si
instalas Visual Studio estás instalando un entorno de programación que permite programar en otros
lenguajes además de Visual Basic, aunque nosotros vamos a hablar exclusivamente de Visual Basic.
Para seguir este curso no debes usar ninguna versión anterior a Visual Basic 6. Por ejemplo no son
válidas las versiones Visual Basic 5 ni Visual Basic 4.
4. ¿Qué son tipos de datos, como se definen variables en Visual Basic .Net?
Tipo de Visual Basic
Estructura de
tipo Common
Language
Runtime
Asignación de
almacenamiento
nominal
Intervalo de valores
Boolean Boolean En función de la
plataforma de
implementación
True o False
Byte Byte 1 byte 0 a 255 (sin signo)
Char (carácter
individual)
Char 2 bytes 0 a 65535 (sin signo)
Fecha DateTime 8 bytes 0:00:00 (medianoche) del 1 de enero de
0001 a 11:59:59 p.m. del 31 de diciembre
de 9999.
Decimal Decimal 16 bytes 0 a +/-
79.228.162.514.264.337.593.543.950.335
(+/-7,9... E+28) † sin separador decimal;0 a
+/-7,9228162514264337593543950335con
28 posicionesa la derecha del decimal;
el número distinto de cero más pequeño es
+/-0,0000000000000000000000000001(+/-
1E-28) †
Double (punto
flotante de
precisión doble)
Double 8 bytes -1,79769313486231570E+308 a -
4,94065645841246544E-324 † para los
valores negativos;
4,94065645841246544E-324 a
1,79769313486231570E+308 † para los
valores positivos
Integer Int32 4 bytes -2.147.483.648 a 2.147.483.647 (con signo)
Long (entero largo) Int64 8 bytes -9.223.372.036.854.775.808 a
9.223.372.036.854.775.807 (9,2...E+18 †)
(con signo)
Objeto. Object (clase) 4 bytes en
plataforma de 32
bits
8 bytes en
plataforma de 64
bits
Cualquier tipo puede almacenarseen una
variabledetipo Object
5. SByte SByte 1 byte -128 a 127 (con signo)
Short (entero corto) Int16 2 bytes -32.768 a 32.767 (con signo)
Single(punto
flotante de
precisión sencilla)
Single 4 bytes -3,4028235E+38 a -1,401298E-45 † para los
valores negativos;
1,401298E-45 a 3,4028235E+38 † para los
valores positivos
String (longitud
variable)
String (clase) En función de la
plataforma de
implementación
0 a 2.000 millones decaracteres Unicode
aprox.
UInteger UInt32 4 bytes 0 a 4.294.967.295 (sin signo)
ULong UInt64 8 bytes 0 a 18.446.744.073.709.551.615
(1,8...E+19 †) (sin signo)
User-
Defined(estructura)
(hereda
deValueType)
En función de la
plataforma de
implementación
Cada miembro de la estructura tiene un
intervalo de valores determinado por su
tipo de datos y es independiente de los
intervalos devalores correspondientes a los
demás miembros.
UShort UInt16 2 bytes 0 a 65.535 (sin signo)
¿Qué operadores aritméticos maneja Visual Basic .Net?
Los operadores aritméticos seutilizan para realizarmuchas delas operaciones aritméticas habituales
que implican el cálculo devalores numéricos representados por literales,variables,otras expresiones,
llamadasa funciones y propiedades,y constantes. También se clasifican como operadores aritméticos
los operadores de desplazamiento de bits,que actúan al nivel debits individuales delos operandos y
cambian sus modelos de bits a la izquierda o la derecha.
Operaciones aritméticas
Puede sumar dos valores en una expresión con el + (Operador,Visual Basic) o restar un valor de otro con
el - (Operador,Visual Basic),como se muestra en el siguiente ejemplo.
VB
Dim x As Integer
x = 67 + 34
x = 32 - 12
La negación también utiliza el - (Operador, Visual Basic),pero con un solo operando, como se puede ver
en el ejemplo siguiente.
VB
Dim x As Integer = 65
6. Dim y As Integer
y = -x
La multiplicación y la división utilizan los *(Operador,Visual Basic) y / (Operador, Visual Basic),
respectivamente, como se muestra en el ejemplo siguiente.
VB
Dim y As Double
y = 45 * 55.23
y = 32 / 23
La exponenciación utilizael ^ (Operador,Visual Basic),como se puede ver en el ejemplo siguiente.
VB
Dim z As Double
z = 23 ^ 3
' The preceding statement sets z to 12167 (the cube of 23).
La división deenteros se lleva a cabo con el (Operador, Visual Basic). La división deenteros devuelve
el cociente, es decir,el número entero que representa el número de veces que puede se puede dividir
dividendo entre el divisor sin tener en cuenta el valor del resto. El divisor y el dividendo deben ser tipos
enteros (SByte, Byte, Short, UShort, Integer, UInteger, Long y ULong) para este operador. Todos los
demás tipos deben convertirseantes a tipos enteros. El ejemplo siguienteilustra la división deenteros.
VB
Dim k As Integer
k = 23 5
' The preceding statement sets k to 4.
El módulo aritmético se calcula con el Mod (Operador, Visual Basic). Esteoperador devuelve el resto
después de dividir el divisor por el dividendo un número integral de veces. Si tanto el divisor como el
dividendo son tipos enteros, el valor devuelto es entero. Si el divisor y el dividendo son tipos de punto
flotante, el valor devuelto es una variabledepunto flotante. En el siguienteejemplo se muestra este
comportamiento.
VB
Dim x As Integer = 100
Dim y As Integer = 6
Dim z As Integer
z = x Mod y
‘The preceding statement sets z to 4.
VB
Dim a As Double = 100.3
Dim b As Double = 4.13
Dim c As Double
c = a Mod b
' The preceding statement sets c to 1.18.
Intento de dividir por cero
La división por cero produce resultados diferentes dependiendo de los tipos de datos que se utilicen. En
divisiones deenteros (SByte, Byte,Short, UShort, Integer, UInteger, Long, ULong), .NET Framework inicia
una excepción DivideByZeroException. En operaciones de división del tipo de datos Decimal o Single,
.NET Framework también produce una excepción DivideByZeroException.
En las divisiones depunto flotante que impliquen el tipo de datos Double, no seproduce ninguna
excepción y el resultado es el miembro de clasequerepresenta NaN, PositiveInfinity o NegativeInfinity,
dependiendo del dividendo. La siguientetabla resume los diferentes resultados de intentar dividir un
valor Doublepor cero.
7. ¿Qué operadores relacionales maneja Visual Basic .Net?
Se utilizan en la toma de decisiones que se pueda necesitar dentro de un programa
OPERADORES RELACIONALES
Mayor que > variable1 > mayor variable2
Mayor o igual que >= variable1 >= mayor variable2
Menor que < variable1 < mayor variable2
Menor o igual que <= variable1 <= mayor variable2
¿Qué operadores lógicos maneja Visual Basic .Net?
Ejemplo práctico operadores aritméticos
Realizar una aplicación llamadaOperadores Aritméticos que permita a un usuario visualizar en cajas de
texto las operaciones aritméticas básicas cuando se pulse un botón llamado Operadores Aritméticos.
Iniciar un nuevo proyecto Visual Basic .NET
1. En el menú Archivo, de clic en Nuevo Proyecto….
2. En el panel Tipos de proyecto, haga clic en Visual Basic luego en Windows. En el panel Plantillas,
haga clic en Aplicación de Windows Forms.
3. En el cuadro Nombre, escriba Operadores Aritmeticos y a continuación haga clic en Aceptar.
Crear la interfaz de usuario.
Utilizando el cuadro de herramientas haga clic en el control específico y ubique los siguientes controles
en el formulario en la posición deseada: 7 Label, 7 Textbox, 2 Button.
Establecer las propiedades de los objetos de la interfaz de usuario.
Después de colocar loscontroles u objetos en el formulario,seestablecen las propiedades en la ventana
Propiedades o en el Editor de código. Para el caso del ejemplo establezca las siguientes modificaciones a
los controles:
Tabla 3.8. Propiedades de los controles del proyecto Operadores Aritméticos
Control Propiedad Valor
Label1 Name lblsuma
Text Suma
Label2 Name lblresta
Text Resta:
Label3 Name lblmultiplicacion
Text Multiplicación
Label4 Name lbldivision
Text División
Label5 Name lbldiventera
Text División Entera
Label6 Name lblresiduo
8. Text Residuo
Label7 Name lblexponeniacion
Text Exponenciación
TextBox1…TextBox7 Name txtcampo1…txtcampo7
Text En blanco
Button1 Name boton
Text Operadores Aritméticos
Button2 Name botonsalir
Text Salir
Form1 Name formulario
Text Operadores Aritméticos en
Visual Basic .NET
La interfaz de usuario queda como se muestra en la siguiente figura:
Interfaz de usuario (Operadores Aritméticos)
Escribir código
Seleccione el objeto boton y abra el editor de código y escriba el siguientecódigo:
Dim valor_uno,valor_dos As Integer
valor_uno=8
valor_dos=5
txtcampo1.Text = valor_uno + valor_dos
9. txtcampo2.Text = valor_uno - valor_dos
txtcampo3.Text = valor_uno * valor_dos
txtcampo4.Text = valor_uno / valor_dos
txtcampo5.Text = valor_uno valor_dos
txtcampo6.Text = valor_uno mod valor_dos
txtcampo7.Text = valor_uno ^ valor_dos
El anterior código se define las variables valor_uno y valor_dos de tipo Integer. Luego en dichas
variablessealmacenan los valores 8 y 5 respectivamente. También se le asigna una operación aritmética
en la propiedad Text de cada caja de texto. Cuando el usuario pulse el botón Operadores Aritmeticos en
tiempo de ejecución mostrará en cada cuadro de texto el valor respectivo de la operación que le fue
asignada.
Ejecutar el proyecto.
Para ejecutar el proyecto en el entorno de desarrollo de Visual Basic.NET, se debe realizar lo siguiente:
Haga clic en el botón Iniciar dela barra deherramientas estándar.También puede presionar
F5 para ejecutar el proyecto. Si la aplicación se ejecuta sin errores, aparecerá una versión
ejecutable del formulario y al pulsar el botón “Operadores Aritméticos”, se visualizará la
siguiente figura:
Figura 3.5. Ejecución aplicación Operadores Aritméticos
¿Operadores lógicos?.
Hasta este momento hemos visto que tanto en una condicion (Sí... o En caso de...) como en un bucle
(Mientras...) utilizamos una solacondicion parallevarla a cabo.Pero puede ser que nos interese valorar
más de una condición.Me explico:puede ser que un determinado momento nos interese mirar si el
bloque que tenemos encima sellama A y nos encontramos en la posición 5,con lo que podríamos tomar
una decisión determinada.Otra cosa que podríamos mirar es si el bloque se llama A o nos encontramos
10. en la posición 5.Fíjateque estos dos ejemplos tienen una pequeña diferencia uno está planteado
utilizando una o y otro una y, con lo que el resultado es diferente. A esta o y a esta y se les llama
operadores lógicos.Recuerda que las condiciones siemprese valoran según si son Verdaderas o Falsas.
Analizando el operador lógico Y.
Para analizar el funcionamiento de este operador lógico vamos a plantear un pequeño caso para ver qué
es lo que ocurriría en diferentes momentos.
Tenemos a nuestro Robot moviéndose libremente por nuestra pasarela con 10 posiciones y queremos
que mire si seencuentra en la posición 5 y si el bloque que tiene encima se llama A. Si es así deberá
cogerlo y llevarlo a la primera posición.
En un principio podríamos pensar en utilizar un Si dentro de otro, pero como ya hemos dicho muchas
veces, cuantas menos líneas tenga el código de un programa,en un principio mejor.Veamos igualmente
como sería el código utilizando un Si anidado con otro. En un principio en el primero de los "Sus"
podemos preguntar por cualquiera delas condiciones quese deben cumplir y dentro por la que queda.
Dentro de los dos "Sus"pondremos las líneas quesedebe ejecutar en caso de que las dos condiciones
sean Verdaderas. (Solo escribiremos laslíneas en las quese utiliza lainstrucción Si).Te recomiendo que
antes de continuar mira la página de instrucciones denuestro lenguaje.
Si Posición =5 entonces
Si Bloque Encima = "A" entonces
Instrucciones a realizar...
Fin Si
Fin Si
Este sería el código con un Si dentro de otro. ¿Qué es lo que haría el programa cuando llegara a estas
líneas? Primero miraría la primera condición si esta secumple, si es verdadera,pasaría a la siguiente
línea, miraría si esta condición secumple,en caso afirmativo realizaría lasi nstrucciones quehubieran
dentro. Si cualquiera delas dos condiciones quetenemos en este ejemplo no secumplieran el programa
no realizaría lasinstrucciones internas.
Ahora vamos a ver cómo podemos implementar las mismas funciones pero todo dentro de un mismo Sí.
En un principio la estructura del Si es exactamente igual,lo único que debemos pensar es que
tendremos que separar las dos condiciones medianteun nexo. En este caso como queremos que se
cumplan las dos condiciones utilizaremos un nexo Y. Veamos cómo quedaría el ejemplo y después
pasaremos a comentarlo viendo su funcionamiento en diferentes casos.
Si Posición =5 Y Bloque Encima = "A" entonces
Instrucciones a realizar...
Fin Si
11. Observa como el número de líneas seha reducido. Ahora vamos a plantear las diferentes opciones con
las quenos podemos encontrar y si realizaría o no las instrucciones quese encuentran dentro del Sí.
Recuerda que las condiciones solo pueden ser Verdaderas o Falsas.
Posición = 5 Bloque Encima = "A"
Instrucciones a
realizar...
Verdadero Verdadero Verdadero
Verdadero Falso Falso
Falso Verdadero Falso
Falso Falso Falso
Observa que el único caso en el que se realizarían lasinstrucciones sería en el que se cumplen las dos
condiciones planteadasen el Sí. Por el contrario si una de las dos instrucciones no secumple las
instrucciones no seejecutarían.Fíjate bien en el cuadro e inténtalo entender.
Analizando el operador lógico O.
Para analizar el funcionamiento de este otro operador lógico vamos a plantear otro pequeño caso para
ver qué es lo que ocurriría en diferentes momentos.
Tenemos a nuestro Robot, otra vez, moviéndose libremente por nuestra pasarela con 10 posiciones y
queremos que mire si el bloqueque tiene encima se llama Ao si se llama B.Si es así deberá coger el
bloque y llevarlo a la primera posición.
Para poder realizar estepequeño ejemplo sin utilizar losoperadores lógicos deberíamos utilizar dos
instrucciones Si dela siguientemanera:
Si Bloque Encima = "A" entonces
Instrucciones a realizar...
Fin Si
Si Bloque Encima = "B" entonces
Instrucciones a realizar...
Fin Si
¿Qué es lo que haría el programa cuando llegara a estas líneas? Primero miraría el primer Si si se
cumpliera realizaría lasinstrucciones quetenemos en el interior,sino pasaríaal siguiente Si y miraría la
siguientecondición,aquí,si esta condición se cumplese realizan las instrucciones quetenemos en el
interior.De tal manera que aquí, si una de las dos condiciones secumpleserealizarían lasinstrucciones.
Piensa que no podemos utilizar un Sino dentro del primer Si ya que podría ser que nos encontrásemos
con un bloque llamado C con lo que también se realizarían lasinstrucciones,cosaqueno nos interesa.
Por eso ponemos dos Si para comprobar que el bloquede encima se llama A o sellama B.
Ahora vamos a ver cómo podemos implementar las mismas funci ones pero todo dentro de un mismo Sí.
En un principio la estructura del Si es exactamente igual,lo único que debemos pensar es que
tendremos que separar las dos condiciones medianteun nexo. En este caso como queremos que se
cumpla una de las dos condiciones utilizaremos un nexo O. Veamos cómo quedaría el ejemplo y después
pasaremos a comentarlo viendo su funcionamiento en diferentes casos.
12. Si Bloque Encima = "A" O Bloque Encima = "B"
entonces
Instrucciones a realizar...
Fin Si
Observa como el número de líneas seha reducido y más pensando que tendríamos que repetir las
instrucciones internasdos veces.Ahora vamos a plantear las diferentes opciones con las quenos
podemos encontrar y si realizaríao no las instrucciones queseencuentran dentro del Sí. Recuerda que
las condiciones solo pueden ser Verdaderas o Falsas.
Bloque Encima = "A" Bloque Encima = "B"
Instrucciones a
realizar...
Verdadero Verdadero Verdadero
Verdadero Falso Verdadero
Falso Verdadero Verdadero
Falso Falso Falso
Observa que el único caso en el que no se realizarían lasinstrucciones sería en el que no se cumple
alguna de las dos condiciones planteadasen el Sí. De forma que si una de las dos condiciones es
verdadera las instrucciones serealizan.Fíjate bien en el cuadro e inténtalo entender.
Explicación matemática.
Vamos a ver cómo podemos entender estos conceptos de operadores lógicos deforma matemática.
Esto es interesante en el momento en el que nos podemos plantear una mezcla de Y y de O, dentro de
un mismo Si u otra instrucción.Más adelanteverás a lo que me refiero exactamente.
Antes de continuar explicaremos queun ordenador realiza los cálculosen sistema binario y no el
sistema decimal como nosotros,solo utilizados dígitos:el 1 y el 0. Con estos dos dígitos representa
cualquier número. Vamos a realizar una comparación entre el sistema decimal y el binario contando del
1 al 10.
Decimal Binario
1 1
2 10
3 11
4 100
5 101
6 110
7 111
8 1000
9 1001
13. 10 1010
En un principio no vamos a comentar como "funciona"el código binario al completo,ya que sería un
poco largo y tedioso, puede ser que más adelantelo hagamos,es muy interesante. Lo único en lo que
queremos hacer hincapiées en un par de operaciones,la suma y la resta,más adelante veremos para
que nos pueden servir.En un principio lo único quenos interesaría sumar y multiplicar serían 1 y 0, por
lo que el tema se convierte en un poco más sencillo.
Veamos primero la suma como sería en decimal y como es en binario.
Decimal Binario
1 1 1 1 1 10
1 0 1 1 0 1
0 1 1 0 1 1
0 0 0 0 0 0
Observa que en la parte de la operación en Binario lo único quese ha visto afectado es el número 2 que
como ya hemos visto en Binario es un 10. Una vez hecha esta tabla compáralacon la tabla que
realizamos del operador lógico O y veras que si sustituimos los1 por Verdadero y los 0 y los 10 por
Falso,la tabla es exactamente igual.
Veamos ahora la multiplicación como sería en decimal y como es en binario.
Decimal Binario
1 1 1 1 1 1
1 0 0 1 0 0
0 1 0 0 1 0
0 0 0 0 0 0
Observa que en la parte de la operación en Binario no seha visto afectado de ninguna manera ya que no
se han utilizado dígitos queno sean el 1 y el 0. Una vez hecha esta tabla compáralacon la tabla que
realizamos del operador lógico Yy veras que si sustituimos los 1 por Verdadero y los 0 por Falso,la tabla
es exactamente igual.
En definitiva lo quequeremos dar a entender con esto es que en el momento en el que nos veamos
delante de la necesidad de utilizar una combinación de Y y O dentro de una misma condición,podemos
utilizar lamultiplicación y la suma en binario para poder ver cuál es resultado que nos daría.
Intenta pensar diferentes momentos en los que puedas necesitar una combinación delos dos
operadores lógicos y como se actuaría delantede ellos.
14. ¿Qué operadores de asignación maneja Visual Basic .Net?
Hay varios tipos deoperadores:
Asignación:asignaun valor a una variables.El operador de asignación es =, una vez asignado
podemos reasignar denuevo otro valor. Por ejemplo:
1
2
3
4
5
6
7
8
9
10
11
12
Module Module1
Sub Main()
Dim a As Integer
Dim exito As Boolean
a = 40
exito = False
End Sub
End Module
Como vemos los iniciamos en un valor pero después, cambia su valor.
Aritmético: permiten operar con números como sumar,restar,etc. Se pueden sumar variables que
almacenen números . Estos son los operadores:
Operador Función
+ Suma dos valores.
- Resta dos valores.
* Multiplica dos valores.
/ Divide dos valores.
MOD Significa módulo, devuelve el resto de una división.
& Concatena dos cadenas.
Aquí os dejo un ejemplo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Module Module1
Sub Main()
Dim operador1 As Integer = 20
Dim operador2 As Integer = 15
Dim resultado As Integer = 0
Dim cadena1 As String = "Hola "
Dim cadena2 As String = "mundo"
resultado = operador1 + operador2 'resultado = 35
resultado = operador1 - operador2 'resultado = 5
resultado = operador2 - operador1 'resultado = -5
resultado = operador1 * operador2 'resultado = 300
15. 20
21
22
23
24
25
26
27
28
resultado = operador1 / operador2 'resultado = 1 (como es int no incluyedecimales)
resultado = operador1 Mod operador2 'resultado = 5 (el resto de la division)
cadena1 = cadena1 & cadena2 'Hola mundo
End Sub
End Module
También podemos combinar los operadores de asignación y aritméticos.Seforman con la variableel
operador aritmético seguido del de asignación y por ultimo la otra variable.Por ejemplo: operador1
+=operador2. Es equivalente a operador1=operador1+operador2.Puedes hacer lo mismo con los
anteriores operadores aritméticos.
Relación:son operadores para comparar valores,deesta comparación secrea una variable
booleana.Estos son los operadores:
Operador Descripción
= igual a
<> distinto a
> mayor que
< menor que
>= mayor o igual que
<= menor o igual que
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Module Module1
Sub Main()
Dim operador1 As Integer = 10
Dim operador2 As Integer = 20
Dim operador3 As Integer = 10
Dim resultado As Boolean
resultado = operador1 = operador2 ' ¿10 es igual a 20? resultado = false
resultado = operador1 <> operador3 ' ¿10 es igual a 10? resultado = true
resultado = operador1 <> operador2 ' ¿10 es distinto a 20? resultado = true
resultado = operador1 > operador2 ' ¿10 es mayor que 20? resultado = false
resultado = operador1 > operador3 ' ¿10 es mayor que 10? resultado = false(si no cumple la condicion sera falso)
resultado = operador1 < operador2 ' ¿10 es menor que 20? resultado = true
resultado = operador1 <= operador3 ' ¿10 es menor o igual que10? resultado = true (ya que es igual) resultado = o
End Sub
End Module
16. Condicional:son operadores que permiten concatenar mas de una condición.Los operadores son:
Operador Descripción
AND Es equivalente a AND. Si se cumplen todas las condiciones, devuelve true. Si solo hay una
condición que no se cumple, devuelve falso.
Or Es equivalente a OR. Si se cumple alguna de las condiciones, devuelve true. Si todas las
condiciones son falsas, devuelve falso.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Module Module1
Sub Main()
Dim op1 As Integer = 10
Dim op2 As Integer = 20
Dim op3 As Integer = 10
Dim resultado As Boolean
resultado = op1 = 10 And op2 < 30
' ¿Es 10 igual a 10 y es 20 menor que 30? resultado = true
resultado = op1 <> 30 Or op3 = 15
' ¿Es 10 distinto a 30 o es 10 igual a 10? resultado = true
resultado = op1=op3 and op2<=30 or op2>=15;
' ¿Es 10 igual que10 y es 20 menor que 30 o es 10 mayor o igual que15? resultado = true
' Aqui primero seevalua las condiciones con && y el resultado de esta se compara con ||
End Sub
End Module
17. ¿Qué son palabras reservadas y defina para que sirve cada una de ellas en Visual Basic .Net?
Palabras Reservadas
Las palabras reservadas son identificadores predefinidos que tiene significado especial para el
compilador deVisual Basic .NET. Por lo tanto, una variableo constante definida por el usuario, no puede
tener el mismo nombre de una palabra clave. Las palabras clave de Visual Basi c .NET se muestran en la
siguiente tabla:
PalabrasReservadas
Palabras Clave
AddHandler AddressOf ÁndAlso Alias And
Ansi As Assembly Auto Boolean
ByRef Byte Byval Call Case
Match CBool CByte CChar Cdate
CDec CDbl Char CInt Class
CLng CObj Const CShort CSng
CStr CType Date Decimal Declare
Default Delegate Dim DirectCast Do
Double Each Else ElseIf End
Enum Erase Error Event Exit
False Finally For Friend Function
Get GetType GoTo Handles If
Implements Imports In Inherits Integer
Interface Is Lib Like Long
Loop Me Mod Module MustInherit
MustOverride MyBase MyClass Namespace New
Next Not Nothing NotInhertable NotOverridable
Object On Option Optional Or
OrElse Private Property Protected Public
RaiseEvent ReadOnly ReDim Rem RemoveHandler
Resume Return Select Set Shadows
Shared String Structure Static Step
Stop Short Single Sub SyncLock
Then Throw To True Try
Typeof Unicote Until When While
UIT WithEvents WriteOnly Xor
¿Cómo se manejan las salidas por consola en Visual Basic .Net?
Module Module1
Sub Main()
Console.ReadKey()
End Sub
End Module
18. ¿Cómo se manejan entradas por consola en Visual Basic .Net?
Module Module1
Sub Main()
Console.ReadLine()
End Sub
End Module
¿Cuál es el proceso lógico para crear una aplicación de consola en Visual Basic .Net?
Aplicacionesdeterminal olineadecomandosconVisualBasic.NET
Damos click en la pantalladenuevo proyecto, y elegimos aplicación deconsola:
19. Para escribirtextos en la consola,utilizaremos el método WriteLine().
Este método escribeen la línea actual el valor quele pasemos por parámetro añadiendo al final un
"intro" o final delínea lo que provocará que el cursor pasea la siguientelínea.
Como primera aplicación escribiremos:
Código :
Console.WriteLine("Hola")
Console.WriteLine("Esta es mi primera aplicación deconsola")
Ejecuta la aplicación dándoleal botón de "play"de la barra de herramientas de arriba y verás que
funciona correctamente...
¿Habéis podido ver la aplicación? Igual no os ha dado tiempo porque se habrá mostrado una pantalla
negra con el contenido de la imagen de abajo y se habrá cerrado inmediatamente. Pues si,el IDE de
VB.NET la ha ejecutado y luego al vuelto otra vez al IDE, porque no tenia la instrucción deque se
esperasea cerrar.
20. Vamos a mejorarla poniendo algo parecido a una pausa al final.Podemos poner debajo de las dos
instrucciones el método ReadLine(): Ésta instrucción leedatos por teclado así que esperará hasta que
pulsemos Intro, de esta forma se nos quedará visibleen pantalla.
Escribimos el código:
Código :
Console.WriteLine("Hola")
Console.WriteLine("Esta es mi primera aplicación deconsola")
Console.ReadLine()
Y el resultado:
21. Ademas de poder escribir y mostrar el resultado de lo que se escribe,las aplicaciones deconsola pueden
realizar operacionesmatemáticas también,como por ejemplo:
Código :
'Escribimos una operación
Console.WriteLine(340 + 260)
Console.ReadLine()
Que da como resultado:
22. O por ejemplo:
Código :
'Escribimos una potencia
Console.WriteLine(3 ^ 2)
Console.ReadLine()
Y el resultado es:
23. Os habéis dado cuenta de que la línea en verde "'Escribimos una operacion:",¿no ha salido en pantalla?
Eso es porque es un comentario, para ayudar con la comprension de programaciones mas avanzadas y
complejas.
Si queremos concatenar varios textos en una línea se puede hacer con el símbolo "&", tanto para
variablescomo para textos. Por ejemplo:
Código :
'Tenemos dos variables Nombre y Numero
'Declaramos la variableNombre como una cadena de caracteres
Dim Nombre As String
'Declaramos la variableNumero como un numero
Dim Numero As Integer
Nombre="Wyrm"
24. Numero=27
Console.WriteLine("Hola me llamo:" & Nombre & " y tengo " & Numero & " años.")
console.Readline
Debería quedarnos así:
Y al darle"Play"a la aplicación,nos muestra:
También podemos declararlasasí:
Código :
25. 'Tenemos dos variables Nombre y Numero
'Declaramos la variableNombre como una cadena de caracteres
Dim Nombre As String
'Declaramos la variableNumero como un numero
Dim Numero As Integer
Nombre = "Wyrm"
Numero = 27
Console.WriteLine("Hola me llamo:{0} y tengo {1} años.",Nombre, Numero)
'Siendo {0} la variableNombre y {1} la variableNumero
Console.ReadLine()
Que nos quedará así en el panel de código:
Y como resultado,nos dará lo mismo que la anterior aplicación:
26. Aplicación con bucleFor....Next
Vamos ha realizar una aplicación algo mas complicadillacon un bucleFor...Next.
Escribimos éstecódigo:
Código :
For Index As Integer = 1 To 10
System.Console.WriteLine(Index)
Next
System.Console.ReadLine()
27. Ejecutamos la aplicación y nos mostrará el bucleque le hemos escrito del 1 al 10 y esperará a que
pulsemos la tecla de retorno o "intro" para cerrarse.
Espero que os hayan gustado las nociones básicas delas aplicaciones deconsola...ahora no parecen gran
cosa,pero ya iremos viendo mas adelanteaplicaciones deconsola mas elegantes y vistosas...
¿Cómo se realizan operaciones matemáticas en Visual Basic.Net?
En cuanto a las funciones matemáticas,algunas delas funciones disponibles son lassiguientes:
Funciones
Matemáticas
Significado Funciones Matemáticas Significado
Abs Valor absoluto Log Logaritmo neperiano
Atn ó Atan según
versión
Arcotangente Rnd
Generación de número
aleatorio
Cos Coseno Sgn ó Sign según versión Signo de un número
Exp Exponenciación Sin Seno
Fix Truncamiento tipo 1 Sqr ó Sqrt según versión Raíz cuadrada
Int Truncamiento tipo 2 Tan Tangente
28. Las funciones relacionadas con ángulos trabajan en radianes. Por tanto si queremos operar con grados
habremos de realizar la conversión oportuna.
Vamos a centrarnos en algunas funciones queno se han descrito en el curso “Bases de la programación
nivel I”. Empezando por Fix e Int, se trata de funciones que devuelven la parte entera de un número,
que es diferente a redondear. La diferencia entre ambas es que si el número es negativo Int devuelve el
primer entero menor o igual mientras que Fix devuelve el primer entero mayor o igual.
Ejemplo:
Int(8.7) = 8 Int(- 8.7) = - 9
Fix(8.7) = 8 Fix(- 8.7) = - 8
La función Rnd permite generar números aleatorios.Por su importancia para la programación y para la
verificación de programas, vamos a desarrollarla un poco más extensamente.
En las versiones más recientes de Visual Basic para usar una función matemática debemos escribir
Math.nombreDeLaFuncion(valorACalcular). Por ejemplo, este es un pequeño programa para calcular la
raíz cuadrada de un número.
Ejemplo (para las versiones menos recientes): Ejemplo (para las versiones más recientes):
Rem Curso Visual Basicaprenderaprogramar.com
Option Explicit
Dim num As Double
PrivateSub Form_Load()
num = 1344
MsgBox ("La raíz cuadrada de" & num & " es " &
Sqr(num))
End Sub
REM Curso Visual Basic aprenderaprogramar.com
Option ExplicitOn
Public Class Form1
Dim num As Double
PrivateSub Form1_Load(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles MyBase.Load
num = 1344
MsgBox("La raízcuadrada de" & num & " es " &
Math.Sqrt(num))
End Sub
End Class
29. La función Sgn (Math.Sign en las versiones más recientes) devuelve el signo de un número o de una
variablenumérica tomando valor 1 para un número positivo, -1 para un número negativo y cero cuando
el número es cero. Supongamos A = 7.44, B = -23, C = 0.
Versiones menos recientes Versiones más recientes
Sgn(A) = 1 Sgn(43) = 1
Sgn(B) = - 1 Sgn(- 453.33) = - 1
Sgn(C) = 0 Sgn(0) = 0
Math.Sign(A) = 1 Math.Sign(43) = 1
Math.Sign(B) = - 1 Math.Sign(- 453.33) = - 1
Math.Sign(C) = 0 Math.Sign(0) = 0
Si vas a trabajar con constantes físicas o matemáticas te resultará de interés la instrucción Const
para declaración de constantes. La ventaja de declarar una constante en vez de una variable es
que la constante no puede variar en el transcurso del programa. Por tanto, se impide que por error pueda
tener un valor no válido en un momento dado. Las constantes facilitan ladocumentación del programa y lo
hacen fácil de modificar. Una declaración tipo de constante podría ser la siguiente:
Const Pi As Double = 3.14159265358979
El redondeo de un decimal a un entero se realiza en Visual Basic a través de la función CInt,
correspondiente a un grupo de funciones denominadas "Funciones de conversión de tipos" que no vamos
a entrar a estudiar. CInt(A) devuelve el valor de A redondeado al número entero más próximo. Prueba a
visualizar el resultado de este código:
Dim A As Double
A = 7.32
MsgBox("El redondeo de 7.32 es " & CInt(A))
Actividad
Elaborelos programas del libro deFundamentos de Programación de Luis Joyanes Aguilar. (Paginas 80,
ejercicios 2.4,2.5,2.6, 2.8, 2.9, 2.11, 2.12, 2.13, 2.14, 2.16 (tenga en cuenta el ejercicio 2.15).
Link del libro:
http://www.slideshare.net/reimerxd/fundamentos-de-la-programacion-luis-joyanes-3era-edicion
30. Elaborar un documento portátil con las preguntas y el pantallazo delos ejerciciosrealizados.
SOLUCIÒN DE LOS EJERCICIOS DE VISUAL
2.3) Escribir un algoritmo que calculey escribeel cuadrado de 243.
Module Module1
Sub Main()
Dim mul As Integer
Console.Write("el cuadrado de 243 ")
Console.Write("el resultado es ")
mul = 243 ^ 2
Console.Write(mul)
Console.ReadKey()
31. End Sub
End Module
2.4) Escribir un algoritmo que lea un número y escriba su cuadrado.
Module Module1
Sub Main()
Dim num As Integer
Dim cua As Integer
Console.Write("Digiteel numero ")
Console.Write("")
num = Console.ReadLine
cua = num ^ 2
Console.Write("")
Console.Write("El cuadrado de el numero es ")
Console.Write(cua)
32. Console.ReadKey()
End Sub
End Module
2.5).Determine el área y volumen de un cilindro cuyasdimensiones radio y altura se leen desde el
teclado.
Module Module1
Sub Main()
Dim rad As Double
Dim altAs Double
Dim are As Double
Dim vol As Double
Dim pi As Double
pi = 3.1416
Console.Write("Digiteel Radio del cilindro ")
33. Console.Write("")
rad = Console.ReadLine
Console.Write("Digitela altura del cilindro ")
Console.Write("")
alt= Console.ReadLine
are = 2 * pi * rad * alt
vol = rad ^ 2 * pi * alt
Console.Write("")
Console.Write("El Area del cilindro es ")
Console.Write(are)
Console.Write("")
Console.Write("El Volumen del cilindro es ")
Console.Write(vol)
Console.ReadKey()
End Sub
End Module
34. 2.6) Calcularel perímetro y la superficiedeun cuadrado dada la longitud desu lado.
Module Module1
Sub Main()
Dim lad As Double
Dim are As Double
Dim per As Double
Console.Write("Digitela medida del lado del cuadrado")
Console.Write("")
lad = Console.ReadLine
are = lad ^ 2
per = lad * 4
Console.Write("")
Console.Write("El Area del cuadrado es ")
Console.Write(are)
Console.Write("")
Console.Write("El perimetro del cuadrado es ")
Console.Write(per)
Console.ReadKey()
End Sub
End Module
35. 2.8) Calcularel área de un círculo.
Module Module1
Sub Main()
Dim rad As Double
Dim are As Double
Console.Write("Digiteel radio del circulo")
Console.Write("")
rad = Console.ReadLine
are = rad ^ 2 * 3.1416
Console.Write("")
Console.Write("El Area del circulo es ")
Console.Write(are)
Console.ReadKey()
End Sub
End Module
36. 2.9) Calcularel área y el perímetro de un rectángulo dado la basey la altura del mismo.
Module Module1
Sub Main()
Dim bas As Double
Dim altAs Double
Dim are As Double
Dim per As Double
Console.WriteLine("Digite la medida de la basedel rectangulo ")
Console.WriteLine("")
bas = Console.ReadLine
Console.WriteLine("Digite la medida de la altura del rectangulo ")
Console.WriteLine("")
alt= Console.ReadLine
are = bas * alt
per = bas * 2 + alt* 2
Console.WriteLine("")
Console.WriteLine("El Area del rectangulo es " & are)
Console.WriteLine("")
Console.WriteLine("El perimetro del rectangulo es " & per)
Console.ReadKey()
End Sub
End Module
37. 2.11) Determinar la hipotenusa de un triángulo rectángulo conocidaslaslongitudes delos catetos
Module Module1
Sub Main()
Dim cat1 As Double
Dim cat2 As Double
Dim hip As Double
Console.WriteLine("Digite la medida del primer cateto ")
Console.WriteLine("")
cat1 = Console.ReadLine
Console.WriteLine("Digite la medida sel segundo cateto ")
Console.WriteLine("")
cat2 = Console.ReadLine
hip = (cat1 ^ 2 + cat2 ^ 2)
hip = hip ^ (1 / 2)
Console.WriteLine("")
Console.WriteLine("La hipotenusa del triangulo es " & hip)
Console.ReadKey()
End Sub
End Module
38. 2.12) Diseñar un algoritmo que realicela siguienteconversión:una temperatura dada en grados Celsius
a grados Fahrenheit. (Nota: La fórmula e conversión es: F = (9/5) C +32
Module Module1
Sub Main()
Dim tem As Double
Dim far As Double
Console.WriteLine("Digite la temperatura en grados celcius ")
Console.WriteLine("")
tem = Console.ReadLine
far = (9 / 5) * tem + 32
Console.WriteLine("")
Console.WriteLine("La temperatura en grados Fahrenheites: " & far)
Console.ReadKey()
End Sub
End Module
39. 2.13) Diseñar un algoritmo que calculéel área de un triángulo en función de las longitudes de sus lados:
Area =√=p (p-a) (p-b) (p-c)
Donde p=(a+b+c)/2(semiperimetro)
Module Module1
Sub Main()
Dim lad1 As Double
Dim lad2 As Double
Dim lad3 As Double
Dim are As Double
Dim per As Double
Console.WriteLine("Digite la medida del primer lado ")
Console.WriteLine("")
lad1 = Console.ReadLine
Console.WriteLine("Digite la medida del segundo lado ")
Console.WriteLine("")
lad2 = Console.ReadLine
Console.WriteLine("Digite la medida del tercer lado ")
40. Console.WriteLine("")
lad3 = Console.ReadLine
per = (lad1 + lad2 + lad3) / 2
are = per * (per - lad1) * (per - lad2) * (per - lad3)
are = are ^ (1 / 2)
Console.WriteLine("")
Console.WriteLine("El area del triangulo es: " & are)
Console.ReadKey()
End Sub
End Module
2.14) Se desea un algoritmo para convertir metros a píes y pulgadas (1 metro= 39.37 pulgadas,1 pie=12
pulgadas).
Module Module1
Sub Main()
Dim med As Double
Dim pie As Double
Dim pul As Double
Console.WriteLine("Digite la medida en metros ")
Console.WriteLine("")
med = Console.ReadLine
pie = med * 472.44
pul = med * 39.37
Console.WriteLine("")
Console.WriteLine("La medida en pies es: " & pie)
Console.WriteLine("")
Console.WriteLine("La medida en pulgadas es: " & pul)
41. Console.ReadKey()
End Sub
End Module
2.16) Desarrollar algoritmos querealicen las siguientes conversiones
a) Leer una cantidad en chelines austríacoseimprimir el equivalente en
pesetas.
b) Leer una cantidad en dracmas griegos eimprimir el equivalente en
francos franceses.
c) Leer una cantidad en pesetas e imprimir el equivalenteen dólares y en
lirasitalianas.