Académique Documents
Professionnel Documents
Culture Documents
1 Tabla de contenido
CAPITULO I FUNDAMENTOS DE PROGRAMACIÓN ................................................. 4
1.1 CONCEPTO DE SISTEMAS.- .......................................................................... 4
Definición de sistemas.-............................................................................................. 4
Elementos o componentes de un sistema ................................................................. 4
1.2 CONCEPTOS DE PROGRAMACION Y APLICACIONES ................................. 5
Programa. .................................................................................................................. 5
Programación ............................................................................................................ 5
Lenguajes de programación ...................................................................................... 5
1.3 METODOLOGIA DE LA PROGRAMACION ....................................................... 5
análisis....................................................................................................................... 5
diseño ........................................................................................................................ 6
codificación ................................................................................................................ 6
ejecución ................................................................................................................... 6
prueba ....................................................................................................................... 6
mantenimiento ........................................................................................................... 6
1.4 ALGORITMOS ................................................................................................... 6
diagramas de flujo ..................................................................................................... 6
Representación gráfica de los algoritmos.-................................................................ 7
Pseudocódigo. ........................................................................................................... 7
Ejercicios visual logic DFD ....................................................................................... 8
1.5 PROGRAMA EN VISUAL BASIC 2015 ............................................................ 10
Ejercicios. ................................................................................................................ 11
1.6 LENGUAJE DE PROGRAMACION VISUAL BASIC DE VISUAL ESTUDIO
2015 12
MOTIVOS ................................................................................................................ 12
Visual Basic 2008 (VB 9.0) ...................................................................................... 12
Visual Basic 2010 (VB 10.0) .................................................................................... 13
Visual Basic 2012 (VB 10.0) .................................................................................... 13
Visual Basic 2015 (VB 10.0) .................................................................................... 13
Ejemplo del programa de 4 operaciones en visual basic 2010 ................................ 13
1.7 . LA ESTRUCTURA DE UN PROGRAMA VISUAL BASIC 2015 ..................... 18
Estructura de un programa de Visual Basic............................................................. 19
Elementos de programación en el nivel de archivo ................................................. 19
Instrucciones Option ................................................................................................ 19
Instrucciones Imports ............................................................................................ 20
Instrucciones Namespace ..................................................................................... 20
Instrucciones de compilación condicional.............................................................. 20
Programación y Métodos Numéricos 2019 A \1.Fundamentos \ Ismael Véliz Vilca -2-
Elementos de programación en el nivel de espacio de nombres ............................ 20
Elementos de programación en el nivel de módulo ................................................ 20
1.8 Procedimiento Main( ) como procedimiento de entrada al programa ............. 21
1.9 REGLAS DE ESCRITURA DE UN PROGRAMA VISUAL BASIC ................... 21
1.10 PALABRAS RESERVADAS,TIPOS DE DATOS, CONSTANTES Y
VARIABLES ............................................................................................................... 22
Palabras reservadas ............................................................................................... 22
Palabras clave reservadas ...................................................................................... 22
Palabras clave no reservadas ................................................................................. 23
Identificadores ........................................................................................................ 23
Constantes.............................................................................................................. 24
1.11 - VARIABLES.- ............................................................................................ 24
Declaración de variable en Visual Basic ................................................................. 25
Declarar el tipo de datos ......................................................................................... 25
Asignar valores ....................................................................................................... 25
Denominación ......................................................................................................... 26
Avisos del IDE sobre errores en el código .............................................................. 26
Lugar de la declaración........................................................................................... 26
Tipificación .............................................................................................................. 26
¿para qué necesitamos asignar tipo a las variables?”. ........................................... 27
Declaración múltiple en línea .................................................................................. 27
Asignación de valor................................................................................................. 28
Valor inicial ............................................................................................................. 29
Declaración obligatoria ........................................................................................... 31
Option Explicit a nivel de proyecto. ......................................................................... 31
Option Explicit a nivel de fichero. ............................................................................ 32
Tipificación obligatoria ............................................................................................ 33
Opción por defecto.................................................................................................. 34
1.12 TIPOS DE DATOS EN VISUAL BASIC 2010 ............................................... 36
Resumen de tipos de datos (Visual Basic) ............................................................. 36
Funciones de conversión de tipos (Visual Basic) .................................................... 38
1.13 OPERADORES ............................................................................................ 40
Resumen de operadores (Visual Basic).................................................................. 40
Precedencia de operadores .................................................................................... 41
Espera el operador .......................................................................................... 41
Operadores de concatenación y aritméticos .................................................... 41
Operadores de comparación ......................................................................... 42
Operadores lógicos y bit a bit .......................................................................... 42
1.14 APLICACION DE CONSOLA ....................................................................... 42
Programación y Métodos Numéricos 2019 A \1.Fundamentos \ Ismael Véliz Vilca -3-
Creación de un proyecto de tipo aplicación de consola ........................................... 42
La clase Console ..................................................................................................... 43
1.15 ESCRITURA DE INFORMACIÓN ................................................................. 43
¿Cuál es la diferencia entre el Writeline y el Write? ................................................ 44
¿Qué son los flujos de salida con formato? ............................................................. 45
Cadenas con formato numérico estándar ................................................................ 45
Ejemplo de Cadenas con formato numérico estándar ............................................. 48
Formatos compuestos ............................................................................................. 49
Sintaxis de elemento de formato ............................................................................. 49
Cadenas con formato numérico personalizado ....................................................... 50
Ejemplo de El especificador personalizado "0" y “#” .................................... 52
Escritura de múltiples valores en la misma línea ..................................................... 53
1.16 LECTURA DE INFORMACIÓN ..................................................................... 55
Cuál es la diferencia entre el Read y el Readline? .................................................. 55
1.17 AYUDA DE VISUAL BASIC ......................................................................... 56
1.18 PROBLEMAS RESUELTOS ......................................................................... 56
Problema C101 Escriba el programa hola mundo en visual basic 2010 ................. 57
Problema C102.Calcule una formula (una estrada y una salida) ............................ 58
Problema C103 . Calcular el area del triángulo ( 2 entradas y una salida”) ............ 58
Problema C104 Ingreso de una variable tipo cadena . ........................................... 58
Problema C105 Precedencia de operaciones ......................................................... 59
Problema C106 Ejemplo de salida con formato y espacios .................................. 59
Problema C107. Ejemplo de ,caracteres de escape ................................................ 60
Problema C108. Ejemplo de readkey ...................................................................... 60
Problema C109 Ejemplo de Especificador de formato de punto fijo ("F") ............... 61
Problema C110 Ejemplo de Especificador de formato de punto fijo ("#") ............... 61
1.19 PROBLEMAS PROPUESTOS ...................................................................... 64
Programación y Métodos Numéricos 2019 A \1.Fundamentos \ Ismael Véliz Vilca -4-
CONCEPTO DE SISTEMAS.-
Definición de sistemas.-
Un sistema (del latín systēma, y este del griego σύστημα sýstēma 'reunión, conjunto,
agregado') es un conjunto de componentes que se relacionan con al menos algún otro
componente; puede ser material o conceptual.1 Todos los sistemas tienen composición,
estructura y entorno, pero solo los sistemas materiales tienen mecanismo, y solo algunos
sistemas materiales tienen figura (forma).
http://www.alegsa.com.ar/Dic/sistema.php
Cada sistema existe dentro de otro más grande, por lo tanto un sistema puede estar
formado por subsistemas y partes, y a la vez puede ser parte de un supersistema.
RETROALIMENTACION
Elementos
Hardware : es la parte física del ordenador, todos los elementos que se pueden
“tocar”, por ejemplo el teclado, la pantalla, el procesador, etc.
Software : son los programas, sistemas operativos y datos que se utilizan en el
ordenador (la parte que no se puede “tocar”).
Programa.
La definición de la RAE es: Conjunto unitario de instrucciones que permite a un
ordenador realizar funciones diversas, como el tratamiento de textos, el diseño de
gráficos, la resolución de problemas matemáticos, el manejo de bancos de datos, etc.
Pero normalmente se entiende por programa un conjunto de instrucciones ejecutables
por un ordenador.
Programación
La programación consiste en pasar algoritmos a algún lenguaje de ordenador a fin de
que pueda ser entendido por el ordenador. La programación de ordenadores comienza
en los años 50 y su evolución ha pasado por diversos pasos.
Lenguajes de programación
En realidad los ordenadores sólo reconocen un lenguaje formado por los unos y ceros
Del código binario. Según la disposición de esos unos y ceros entenderá unas
Instrucciones u otras. De esa forma hay lenguajes más próximos al lenguaje de las
Computadores (lenguajes de bajo nivel) y lenguajes más próximos al lenguaje humano
(lenguajes de alto nivel)
METODOLOGIA DE LA PROGRAMACION
análisis
El análisis estudia los requisitos que ha de cumplir la aplicación. El resultado del análisis
es una hoja de especificaciones en la que aparecen los requerimientos de la aplicación.
Esta hoja es redactada por el o la analista, la persona responsable del proceso de
creación de la aplicación.
diseño
En esta fase se crean esquemas que simbolizan a la aplicación. Estos esquemas los
elaboran analistas. Gracias a estos esquemas se simboliza la aplicación. Estos
esquemas en definitiva se convierten en la documentación fundamental para plasmar en
papel lo que el programador debe hacer.
codificación
ejecución
prueba
mantenimiento
ALGORITMOS
diagramas de flujo
Programación y Métodos Numéricos 2019 A \1.Fundamentos \ Ismael Véliz Vilca -7-
Proceso Datos
Entrada manual
Conector
Visualización Bucle o ciclo de proceso
Datos
Sub-Programa
guardados Flujo de Diagrama
Pseudocódigo.
paso1. Iniciar
paso2 ingresar las dos variables y guardarlos en N1 y N2 Temp <---- N1
paso3 realizar el intercambio N1<--- N2
3.1 Crear una variable temporal N2<----Temp
3.2 poner el valor de N1 en temporal
3.3 Poner el valor de N2 en N1
3.4 poner el valor de temporal en N2
N1,N2
Paso 4 mostrar el contenido de N1 y N2
Paso 5 terminar
2. Aparece lo siguiente
Module Module1
Sub Main()
Dim n1 As Integer
Programación y Métodos Numéricos 2019 A \1.Fundamentos \ Ismael Véliz Vilca - 11 -
Dim n2 As Integer
Dim temp As Integer
Console.Write("ingrese el primer numero n1 ")
n1 = Console.ReadLine()
Console.Write("ingrese el segundo numero n2 ")
n2 = Console.ReadLine()
Console.WriteLine(" Valores antiguos de n1 ={0} y n2={1}", n1, n2)
temp = n1
n1 = n2
n2 = temp
Console.WriteLine(" Valores nuevos de n1 ={0} y n2={1}", n1, n2)
Console.ReadLine()
End Sub
End Module
4. Para ejecutar
5. La ejecución es
Ejercicios.
MOTIVOS
Microsoft Visual Studio es un entorno de desarrollo integrado (IDE, por sus siglas en
inglés) para sistemas operativos Windows. Soporta múltiples lenguajes de programación
tales como C++, C#, Visual Basic .NET, F#, Java, Python, Ruby, PHP; al igual que
entornos de desarrollo web como ASP.NET MVC, Django, et., a lo cual sumarle las
nuevas capacidades online bajo Windows Azure en forma del editor Monaco.
Visual Studio permite a los desarrolladores crear aplicaciones, sitios y aplicaciones web,
así como servicios web en cualquier entorno que soporte la plataforma .NET (a partir de
la versión .NET 2002). Así se pueden crear aplicaciones que se comuniquen entre
estaciones de trabajo, páginas web, dispositivos móviles, dispositivos embebidos,
consolas (la xbox 360 y xbox one), etc.
Al igual que con todos los lenguajes de programación basados en .NET, los programas
escritos en VB .NET requieren el Framework .NET o Mono para ejecutarse.
Module Module1
Sub Main()
Dim n1 As Integer
Dim n2 As Integer
Console.Write("ingrese el primer numero n1 ")
n1 = Console.ReadLine()
Console.Write("ingrese el segundo numero n2 ")
n2 = Console.ReadLine()
Console.WriteLine(" La suma de los numeros es {0}", n1 + n2)
Console.WriteLine(" La resta de los numeros es {0}", n1 - n2)
Console.WriteLine(" El producto de los numeros es {0}", n1 * n2)
Console.WriteLine(" La Division real de los numeros es {0}", n1 / n2)
Console.WriteLine("La Division entera de los numeros es {0}", n1 \ n2)
Console.WriteLine(" El modulo de de los numeros es {0}", Int(n1) Mod Int(n2))
Console.ReadLine()
End Sub
End Module
Al poner
Option Explicit On
Option Strict On
Programación y Métodos Numéricos 2019 A \1.Fundamentos \ Ismael Véliz Vilca - 14 -
Arroja el siguiente error
Y aparece
Option Explicit On
Option Strict On
Module Module1
Sub Main()
Dim n1 As Integer
Dim n2 As Integer
Console.Write("ingrese el primer numero n1 ")
n1 = CInt(Console.ReadLine())
Console.Write("ingrese el segundo numero n2 ")
n2 = CInt(Console.ReadLine())
Programación y Métodos Numéricos 2019 A \1.Fundamentos \ Ismael Véliz Vilca - 15 -
Console.WriteLine(" La suma de los numeros es {0}", n1 + n2)
Console.WriteLine(" La resta de los numeros es {0}", n1 - n2)
Console.WriteLine(" El producto de los numeros es {0}", n1 * n2)
Console.WriteLine(" La Division real de los numeros es {0}", n1 / n2)
Console.WriteLine("La Division entera de los numeros es {0}", n1 \ n2)
Console.WriteLine(" El modulo de de los numeros es {0}", Int(n1) Mod Int(n2))
Console.ReadLine()
End Sub
End Module
Nota. Escriba el código para el botón suma y para los demás botones solo modifique la
parte de res=n1+n2 y label2.text=”+” a la correspondiente operación( -,*./)
Ejercicio Nro 2 Agrega las funciones de factorial, potencia, residuo, división enteral,
funciones trigonométricas, logarítmicas, potencia, .mostrar fecha , mostrar hora y otras
funciones de la calculadora
Al iniciar un proyecto o archivo y abrir el editor de código, verá que ya hay código en el
lugar que le corresponde y en el orden correcto. Cualquier código que escriba debe
seguir la siguiente secuencia:
1. Instrucciones Option
2. Instrucciones Imports
3. Instrucciones Namespace y elementos del nivel de espacio de nombres
Instrucciones Option
Instrucciones Imports
Puede incluir Instrucción Imports (Tipo y espacio de nombres de .NET) para importar
nombres definidos fuera del proyecto. Las instrucciones Imports permiten que el código
haga referencia a clases y otros tipos definidos en el espacio de nombres importado sin
tener que calificarlos. Puede utilizar tantas instrucciones Imports como sea necesario.
Instrucciones Namespace
Las clases, estructuras y módulos contienen todo el código del archivo de código
fuente. Son elementos del nivel de espacio de nombres, que pueden aparecer dentro de
un espacio de nombres o en el nivel del archivo de código fuente. Contienen las
declaraciones de todos los demás elementos de programación. Las interfaces, que
definen firmas de elemento pero no proporcionan ninguna implementación, también
aparecen en el nivel de módulo. Para obtener más información sobre los elementos del
nivel de módulo, vea los siguientes temas:
Los elementos de datos en el nivel de espacio de nombres son las enumeraciones y los
delegados.
Los elementos de datos en el nivel de módulo son las variables, las constantes, las
enumeraciones y los delegados.
Todo programa necesita una rutina o procedimiento de entrada, que sea el primero que
se ejecute. En VB.NET ese procedimiento recibe el nombre especial Main( ), y debe estar
contenido dentro de un módulo de código, como muestra el Código
Module Module1
Sub Main()
End Sub
End Module
Sub Main()
Sub Main(ByVal cmdArgs() As String)
Function Main() As Integer
Function Main(ByVal cmdArgs() As String) As Integer
No puede repetir los nombres dentro del mismo nivel de scope. Por ejemplo, se
pueden declarar dos variables denominadas age dentro del mismo procedimiento.
Sin embargo, se pueden declarar una variable privada denominada age y una
variable procedure-level denominado age dentro del mismo módulo.
Programación y Métodos Numéricos 2019 A \1.Fundamentos \ Ismael Véliz Vilca - 22 -
Nota Visual Basic no distingue mayúsculas de minúsculas, pero conserva el uso
de mayúsculas en la instrucción donde se declara el nombre.
Nota : para poner y quitar comentarios visual Basic utilice
Palabras reservadas
En las tablas siguientes se muestran todas las palabras clave del lenguaje Visual Basic.
Las palabras clave siguientes están reservadas, lo que significa que no se pueden utilizar
como nombres para los elementos de programación, como son las variables o los
procedimientos. Puede omitir esta restricción incluyendo el nombre entre corchetes ([ ]).
Nota EndIf, GoSub, Variant y Wend se conservan como palabras clave reservadas,
aunque ya no se usan en Visual Basic. El significado de la palabra clave Let ha cambiado.
Ahora se usa Let en consultas LINQ. Para obtener más información, vea Let (Cláusula,
Visual Basic).
Las palabras clave siguientes no están reservadas, lo que significa que se pueden utilizar
como nombres para los elementos de programación. Sin embargo, no es recomendable
utilizarlas, puesto que pueden complicar la lectura del código y provocar errores casi
imperceptibles y difíciles de encontrar.
Identificadores
Programación y Métodos Numéricos 2019 A \1.Fundamentos \ Ismael Véliz Vilca - 24 -
Nombres usados para referirse a las variables, las funciones etiquetas y otros objetos
definidos por el usuario.
los identificadores de Visual Basic .NET deben cumplir los estándares de Unicode 3.0,
Report 15 y Annex 7, con la diferencia de que los identificadores pueden comenzar con
un carácter de subrayado (conector). Si un identificador comienza con un carácter de
subrayado, debe contener al menos un carácter identificador para eliminar la
ambigüedad de la continuación de línea.
Constantes
Al igual que las variables, una constante es un elemento del lenguaje que guarda un
valor, pero que en este caso y como su propio nombre indica, dicho valor será
permanente a lo largo de la ejecución del programa, no pudiendo ser modificado.
Para declarar una constante, debemos utilizar la palabra clave Const, debiendo al mismo
tiempo establecer el tipo de dato y asignarle valor.
Module Module1
Sub Main()
Const Color As String = "Azul"
Const Valor As Double = 120.48
End Sub
End Module
La tipificación de una constante se rige, al igual que las variables, por la configuración
que tengamos establecida para la instrucción Option Strict.
- VARIABLES.-
Programación y Métodos Numéricos 2019 A \1.Fundamentos \ Ismael Véliz Vilca - 25 -
Son posiciones o Áreas de memoria y que tipo de dato almacenan(nombres que se
asigna a una posición de memoria).
Una variable es un identificador del programa que guarda un valor que puede ser
modificando durante el transcurso de dicha aplicación.
Module Module1
Sub Main()
Dim i, j, k As Integer
Dim l, m As Long, x, y As Single
Console.ReadLine()
End Sub
End Module
Asignar valores
Respecto al nombre de la variable, debe empezar por letra, y no puede ser ninguna de
las palabras reservadas del lenguaje, ni contener caracteres como operadores u otros
símbolos especiales.
Al declarar una variable con un nombre incorrecto, o si se produce otro tipo de error en
la escritura del código, el propio IDE se encarga de avisarnos que existe un problema
subrayando el fragmento de código conflictivo y mostrando una viñeta informativa al
situar sobre dicho código el cursor. Ver
Estos avisos constituyen una gran ayuda, ya que permiten al programador observar
problemas en la escritura del código, antes incluso de ejecutar el programa.
Existen multitud de avisos de muy diversa naturaleza, teniendo en cuenta que la tónica
general consiste en que el código problemático quedará subrayado por el IDE hasta
que no modifiquemos la línea en cuestión y la escribamos correctamente.
Lugar de la declaración
Podemos declarar variables en muy diversos lugares del código. El punto en el que
declaremos una variable será determinante a la hora del ámbito o accesibilidad a esa
variable desde otros puntos del programa.
Tipificación
En VB.NET utilizamos la palabra clave As seguida del nombre del tipo de datos, para
establecer el tipo de una variable.
Module Module1
Sub Main()
Dim Valor As String ' cadena de caracteres
Dim Cuenta As Integer ' numérico entero
Dim FhActual As Date ' fecha
Programación y Métodos Numéricos 2019 A \1.Fundamentos \ Ismael Véliz Vilca - 27 -
End Sub
End Module
Si al declarar una variable no indicamos el tipo, por defecto tomará Object, que
corresponde al tipo de datos genérico en el entorno del CLR, y admite cualquier valor.
Según la información que acabamos de ver, si declaramos una variable de tipo Byte e
intentamos asignarle el valor 5899 se va a producir un error, ya que no se encuentra en
el intervalo de valores permitidos para esa variable. Esto puede llevar al lector a
preguntar: “¿por qué no utilizar siempre Object y poder usar cualquier valor?, o mejor
El motivo de tipificar las variables reside en que cuando realizamos una declaración, el
CLR debe reservar espacio en la memoria para los valores que pueda tomar la variable,
como puede ver el lector en la tabla anterior, no requiere el mismo espacio en memoria
una variable Byte que una Date. Si además, declaramos todas las variables como
Object, los gastos de recursos del sistema serán mayores que si establecemos el tipo
adecuado para cada una, ya que como el CLR no sabe el valor que puede
tomar en cada ocasión la variable, debe realizar un trabajo extra de adecuación,
consumiendo una mayor cantidad de recursos.
VS.NET dispone de una ayuda al asignar el tipo a una variable, que nos muestra la lista
de tipos disponibles para poder seleccionar uno sin tener que escribir nosotros el nombre.
Al terminar de escribir la palabra As, aparecerá dicha lista, en la que pulsando las
primeras letras del tipo a buscar, se irá situando en los más parecidos. Una vez
encontrado, pulsaremos la tecla Enter o Tab para tomarlo.
En el caso de que tengamos que declarar más de una variable del mismo tipo, podemos
declararlas todas en la misma línea, separando cada una con una coma e indicando al
final de la lista el tipo de dato que van a tener, como vemos en el Código fuente
En esta técnica de declaración, todas las variables de la línea tienen el mismo tipo de
dato, ya que no es posible declarar múltiples variables en la misma línea que tengan
distintos tipos de dato.
Asignación de valor
Module Module1
Sub Main()
Dim Valor As String = "hola" ' cadena de caracteres
Dim Nota As Integer = 12 ' numérico entero
Dim sueldo As Single = 2000 ' numero real
Dim Fechactual As Date = #12/2/2010# ' fecha
Console.WriteLine("{0}", Fechactual)
Console.ReadLine()
End Sub
End Module
Según el tipo de dato de la variable, puede ser necesario el uso de delimitadores para
encerrar el valor que vamos a asignar.
Module Module1
Sub main()
Dim Precio As Double = 1234
Dim Valor As String = "producto1"
Programación y Métodos Numéricos 2019 A \1.Fundamentos \ Ismael Véliz Vilca - 29 -
Dim FhActual As Date
Dim FhNueva As Date
Dim FhCompletaUno As Date
Dim FhCompletaDos As Date
Dim FhHora As Date
Dim Correcto As Boolean = True
Valor = "Producto2"
FhActual = #5/20/2001# ' mes/día/año
FhNueva = "25/10/2001" ' dia/mes/año
FhCompletaUno = #10/18/2005 8:30:00 AM#
FhCompletaDos = "7/11/2006 18:22:00"
FhHora = #5:40:00 PM#
Console.WriteLine("Variable Precio: {0}", Precio)
Console.WriteLine("Variable Valor: {0}", Valor)
Console.WriteLine("Variable FhActual: {0}", FhActual)
Console.WriteLine("Variable FhNueva: {0}", FhNueva)
Console.WriteLine("Variable FhCompletaUno: {0}", FhCompletaUno)
Console.WriteLine("Variable FhCompletaDos: {0}", FhCompletaDos)
Console.WriteLine("Variable FhHora: {0}", FhHora)
Console.WriteLine("Variable Correcto: {0}", Correcto)
Console.ReadLine()
End Sub
End Module
Valor inicial
Toda variable declarada toma un valor inicial por defecto, a no ser que realicemos una
asignación de valor en el mismo momento de la declaración. A continuación se muestran
algunos valores de inicio en función del tipo de dato que tenga la variable:
Numérico. Cero ( 0 ).
Cadena de caracteres. Cadena vacía ( "" ).
Fecha. 01/01/0001 0:00:00.
Lógico. Falso (False).
Objeto. Valor nulo (Nothing).
Programación y Métodos Numéricos 2019 A \1.Fundamentos \ Ismael Véliz Vilca - 30 -
Module Module1
Sub Main()
Dim Nota As Integer
Dim Valor As String
Dim Fecha As Date
Dim ValorLogico As Boolean
Dim Objeto As Object
Console.WriteLine("Variable Nota: {0}", Nota)
Console.WriteLine("Variable Valor: {0}", Valor)
Console.WriteLine("Variable FhActual: {0}", Fecha)
Console.WriteLine("Variable ValorLogico: {0}", ValorLogico)
Console.WriteLine("Variable UnObjeto: {0}", Objeto)
Console.ReadLine()
End Sub
End Module
Debemos tener en cuenta al ejecutar estas líneas, que en los casos de las variables de
tipo cadena y objeto, no se mostrará nada, ya que se considera que están inicializadas
pero vacías.
Por otro lado podemos, inversamente, inicializar una variable que ya tiene valor,
asignándole la palabra clave Nothing; con ello, la variable pasa a tener el valor por
defecto o inicial. Ver el Código fuente 57.
Module Module1
Sub Main()
Dim Nota As Single = 12
Dim Fecha As Date
Dim ValorLogico As Boolean = True
Nota = Nothing
Fecha = "10/6/2010"
' inicializar variables
Nota = Nothing
Fecha = Nothing
ValorLogico = Nothing
Console.WriteLine("Variable Valor: {0}", Nota)
Console.WriteLine("Variable FhActual: {0}", Fecha)
Console.WriteLine("Variable ValorLogico: {0}", ValorLogico)
Console.ReadLine()
End Sub
End Module
Programación y Métodos Numéricos 2019 A \1.Fundamentos \ Ismael Véliz Vilca - 31 -
Declaración obligatoria
Es obligatorio, por defecto, la declaración de todas las variables que vayamos a utilizar
en el código.
Podemos aplicar esta instrucción para que tenga efecto a nivel de proyecto y a nivel de
fichero de código.
Para establecer Option Explicit a nivel de proyecto, debemos abrir la ventana Explorador
de soluciones, hacer clic en el nombre del proyecto, y a continuación pulsar el botón de
propiedades en esa misma ventana. Esto mostrará la ventana de propiedades del
proyecto, en cuyo panel izquierdo haremos clic sobre el elemento Generar. Finalmente
abriremos la lista desplegable del elemento Option Explicit, seleccionaremos un valor
(On, Off) y pulsaremos Aplicar y Aceptar. Ver Figura 168.
Programación y Métodos Numéricos 2019 A \1.Fundamentos \ Ismael Véliz Vilca - 32 -
Sub Main()
Valor = "coche"
MiDato = 984
Console.WriteLine("Variable Valor: {0}", Valor)
Console.WriteLine("Variable MiDato: {0}", MiDato)
Console.ReadLine()
End Sub
En el ejemplo ante rior,no hemos declarado las variables en Main( ). Al estar Option
Explicit Off esto no produce error, y el CLR al detectar un identificador sin declarar, crea
una nueva variable internamente.
Mucho más fácil que tener que declarar las variables ¿verdad?. Pues precisamente esta
facilidad es uno de los graves problemas de no declarar variables. En un procedimiento
de prueba con poco código, esto no supone una importante contrariedad. Sin embargo
pensemos un momento, que en lugar de un pequeño procedimiento, se trata de una gran
aplicación con muchas líneas de código, procedimientos, y cientos de variables.
Si volvemos a activar Option Explicit On, inmediatamente sabremos que algo va mal, ya
que toda variable no declarada, quedará subrayada por el IDE como un error de
escritura. Las ventajas son evidentes.
Module Module1
Sub Main()
nota = 12
' mostrar variables en la consola
Console.WriteLine("Variable Valor: {0}", Nota)
Console.ReadLine()
End Sub
End Module
Tipificación obligatoria
Option Explicit On
Option Strict Off
Module Module1
Sub Main()
' no es necesario tipificar la variable, tipificación implícita,
' la variable Valor se crea con el tipo Object
Dim Valor
Valor = "AREQUIPA"
Console.WriteLine("Variable Valor en cadena: {0}", Valor)
Valor = 12
Console.WriteLine("Variable Valor en numero: {0}", Valor)
Valor = True
Console.WriteLine("Variable Valor en booleano: {0}", Valor)
Console.ReadLine()
End Sub
End Module
Programación y Métodos Numéricos 2019 A \1.Fundamentos \ Ismael Véliz Vilca - 34 -
La instrucción Option Strict, junto a sus modificadores On/Off, nos permite establecer si
en el momento de declarar variables, será obligatoria su tipificación. También supervisa
la obligatoriedad de realizar una conversión de tipos al efectuar asignaciones entre
variables, o de expresiones a variables.
En el ejemplo del Código fuente 61, establecemos Option Strict On a nivel de fichero de
código, y a partir de ese momento, no podremos asignar un tipo de dato Double a un
Integer, o un valor numérico a una variable String, por exponer un par de casos de los
más comunes. El código erróneo será marcado por el IDE como un error de sintaxis, e
igualmente se producirá un error si intentamos ejecutar el programa.
Sub Main()
' no es necesario tipificar la variable, tipificación implícita,
' la variable Valor se crea con el tipo Object
Dim Valor As Integer
Programación y Métodos Numéricos 2019 A \1.Fundamentos \ Ismael Véliz Vilca - 35 -
Dim cadena As String
Valor = 12
Console.WriteLine("Variable Valor en numero: {0}", Valor)
cadena = Valor
Console.WriteLine("Variable Valor en cadena: {0}", Valor)
Console.ReadLine()
End Sub
Option Explicit On
Option Strict Off
Module Module1
Sub Main()
Dim Valor As Integer
Dim cadena As String
Dim control As Boolean
Dim fecha As Date
fecha = #1/1/2001#
Valor = fecha
Console.WriteLine("Variable Valor en fecha: {0}", Valor)
Console.ReadLine()
End Sub
End Module
Option Explicit On
Option Strict On
Module Module1
Sub Main()
Dim cadena = "3.1416"
Dim Sueldo As Single
Sueldo = CSng(cadena)
Console.WriteLine(" cadena convertida a numero real{0} ", Sueldo)
Programación y Métodos Numéricos 2019 A \1.Fundamentos \ Ismael Véliz Vilca - 36 -
Console.WriteLine(" cadena convertida a valor booleano{0} ", CBool(cadena))
Console.WriteLine(" cadena convertida a fecha {0} ", CDate(cadena))
Console.WriteLine(" Numero real convertido a cadena {0} ", CStr(Sueldo))
Console.ReadLine()
End Sub
End Module
Establecer Option Strict On requiere un mayor trabajo por parte del programador, ya que
ha de ser más cuidadoso y escribir un código más correcto y preciso, lo cual es muy
conveniente. Sin embargo, ya que la opción por defecto en este sentido es Option Strict
Off, los ejemplos realizados a lo largo de este texto se ajustarán en este particular a
dicha configuración, con ello ganamos en comodidad, ya que evitaremos la obligación
de realizar conversiones de tipos en muy diversas situaciones.
Module Module1
Public n3 As Char
Private n5 As Boolean
Sub Main()
Dim n1 As Integer
Dim n2 As Single = 10
Dim n4 As String
End Sub
End Module
En la tabla siguiente se muestran los tipos de datos de Visual Basic .NET, los tipos
compatibles con Common Language Runtime, su asignación de almacenamiento
nominal y sus intervalos de valores.
Estructura
de tipo Asignación de
Tipo de Visual
Common almacenamie Intervalo de valores
Basic
Language nto nominal
Runtime
En función de
Boolean Boolean la plataforma True o False
de
Programación y Métodos Numéricos 2019 A \1.Fundamentos \ Ismael Véliz Vilca - 37 -
implementació
n
Byte Byte 1 byte 0 a 255 (sin signo)
Char (carácter
Char 2 bytes 0 a 65535 (sin signo)
individual)
0:00:00 (medianoche) del 1 de enero
date DateTime 8 bytes de 0001 a 11:59:59 p.m. del 31 de
diciembre de 9999.
0 a +/-
79.228.162.514.264.337.593.543.95
0.335 (+/-7,9... E+28) † sin separador
decimal; 0 a +/-
7,922816251426433759354395033
Decimal Decimal 16 bytes 5 con 28 posiciones a la derecha del
decimal;
el número distinto de cero más
pequeño es +/-
0,000000000000000000000000000
1 (+/-1E-28)†
-1,79769313486231570E+308 a -
4,94065645841246544E-324 † para
Double (punto
los valores negativos;
flotante de Double 8 bytes
4,94065645841246544E-324 a
precisión doble)
1,79769313486231570E+308 † para
los valores positivos
-2.147.483.648 a 2.147.483.647 (con
Integer Int32 4 bytes
signo)
-9.223.372.036.854.775.808 a
Long (entero
Int64 8 bytes 9.223.372.036.854.775.807
largo)
(9,2...E+18 †) (con signo)
4 bytes en
plataforma de
Object (clas 32 bits Cualquier tipo puede almacenarse
object
e) 8 bytes en en una variable de tipo Object
plataforma de
64 bits
SByte SByte 1 byte -128 a 127 (con signo)
Short (entero
Int16 2 bytes -32.768 a 32.767 (con signo)
corto)
-3,4028235E+38 a -1,401298E-
Single (punto
45 † para los valores negativos;
flotante de
Single 4 bytes 1,401298E-45 a
precisión †
3,4028235E+38 para los valores
sencilla)
positivos
En función de
la plataforma
String (longitud String (clase 0 a 2.000 millones de caracteres
de
variable) ) Unicode aprox.
implementació
n
UInteger UInt32 4 bytes 0 a 4.294.967.295 (sin signo)
Programación y Métodos Numéricos 2019 A \1.Fundamentos \ Ismael Véliz Vilca - 38 -
0 a 18.446.744.073.709.551.615
ULong UInt64 8 bytes
(1,8...E+19 †) (sin signo)
Cada miembro de la estructura tiene
En función de
un intervalo de valores determinado
User- (hereda la plataforma
por su tipo de datos y es
Defined(estructu de ValueTyp de
independiente de los intervalos de
ra) e) implementació
valores correspondientes a los
n
demás miembros.
UShort UInt16 2 bytes 0 a 65.535 (sin signo)
†En notación científica, E hace referencia a una potencia de 10. Por consiguiente,
3,56E+2 significa 3.56 x 102 ó 356 y 3,56E-2 significa 3.56 / 102 ó 0,0356.
Estas funciones se compilan en línea, es decir, el código de conversión forma parte del
código que evalúa la expresión. A veces no se produce una llamada a un procedimiento
para realizar la conversión, lo que mejora el rendimiento. Cada función convierte una
expresión a un tipo de datos específico.
CBool(expression)
CByte(expression)
CChar(expression)
CDate(expression)
CDbl(expression)
CDec(expression)
CInt(expression)
CLng(expression)
CObj(expression)
CSByte(expression)
CShort(expression)
CSng(expression)
CStr(expression)
CUInt(expression)
CULng(expression)
CUShort(expression)
Parte
expression
Obligatorio. Cualquier expresión del tipo de datos de origen.
Tipo de datos del valor devuelto
El nombre de función determina el tipo de datos del valor devuelto, como se muestra en
la tabla siguiente.
Nombre
Tipo de datos
de la Intervalo de valores del argumento expression
devuelto
función
Boolean (Tipo
CBool de datos, Cualquier expresión numérica, Char o String válida.
Visual Basic)
Programación y Métodos Numéricos 2019 A \1.Fundamentos \ Ismael Véliz Vilca - 39 -
Byte (Tipo de
CByte datos, Visual 0 a 255 (sin signo); las partes fraccionarias se redondean.1
Basic)
Char (Tipo de Cualquier expresión Char o String válida; sólo se convierte
CChar datos, Visual el primer carácter de String; el valor puede estar
Basic) comprendido entre 0 y 65535 (sin signo).
Date (Tipo de
CDate datos, Visual Cualquier representación válida de fecha y hora.
Basic)
de -1,79769313486231570E+308 a -
Double (Tipo
4,94065645841246544E-324 para valores negativos; de
CDbl de datos,
4,94065645841246544E-324 a
Visual Basic)
1,79769313486231570E+308 para valores positivos.
+/-79.228.162.514.264.337.593.543.950.335 para números
a partir de cero, es decir, números sin decimales. Para
Decimal (Tipo
números con 28 posiciones decimales, el intervalo es +/-
CDec de datos,
7,9228162514264337593543950335. El menor número
Visual Basic)
posible distinto de cero es
0,0000000000000000000000000001 (+/-1E-28).
Integer (Tipo
de -2.147.483.648 a 2.147.483.647; las partes fraccionarias
CInt de datos,
se redondean.1
Visual Basic)
Long (Tipo de de -9.223.372.036.854.775.808 a
CLng datos, Visual 9.223.372.036.854.775.807; las partes fraccionarias se
Basic) redondean.1
Object (Tipo de
CObj Cualquier expresión válida.
datos)
SByte (Tipo de
CSByte datos, Visual de -128 a 127; las partes fraccionarias se redondean.1
Basic)
Short (Tipo de
de -32.768 a 32.767; las partes fraccionarias se
CShort datos, Visual
redondean.1
Basic)
Single (Tipo de De -3,402823E+38 a –1,401298E-45 para valores
CSng datos, Visual negativos; de 1,401298E-45 a 3,402823E+38 para valores
Basic) positivos.
String (Tipo de Los valores devueltos para CStr dependen del
CStr datos, Visual argumento expression. Vea Valores devueltos para la
Basic) función CStr (Visual Basic).
UInteger (Tipo de 0 a 4.294.967.295 (sin signo); las partes fraccionarias se
CUInt
de datos) redondean.1
ULong (Tipo
de 0 a 18.446.744.073.709.551.615 (sin signo); las partes
CULng de datos,
fraccionarias se redondean.1
Visual Basic)
UShort (Tipo
de 0 a 65.535 (sin signo); las partes fraccionarias se
CUShort de datos,
redondean.1
Visual Basic)
Option Explicit On
Option Strict On
Module Module1
Sub Main()
Const pi As Single = 3.1416
Dim n1 As Integer
n1 = CInt(pi)
Console.Write("valor de n1 {0} ", n1)
Console.ReadLine()
End Sub
End Module
OPERADORES
Los operadores se utilizan para manipular datos: ejecutan cálculos, buscar igualdades,
realizan asignaciones, trabajan con variables y se encargan de muchas tareas que los
programadores nunca llevan a cabo.
Una expresión es una serie de elementos de valor combinados con operadores, que
produce un nuevo valor. Los operadores actúan sobre los elementos de valor realizando
cálculos, comparaciones y otras operaciones.
Operadores Matemáticos
Operadores matemáticos
+ Adición x= y + z
Programación y Métodos Numéricos 2019 A \1.Fundamentos \ Ismael Véliz Vilca - 41 -
- Sustracción x= y - z
* Multiplicación x= y * z
/ División x= y / z
\ Division entera x= y\ z
mod modulo x= y mdo z
Operadores de asignación
= Asignación n= 10
+= asignación suma n+= 3 equivale n=n+3
-= asignación resta n-= 3 equivale n=n-3
*= asignación producto n*= 3 equivale n=n*3
/= asignación cociente n/= 3 equivale n=n/3
Operadores lógicos
Operadores relacionales
Precedencia de operadores
Reglas de prioridad
Orden de prioridad
Espera el operador
Operadores de concatenación y aritméticos
Programación y Métodos Numéricos 2019 A \1.Fundamentos \ Ismael Véliz Vilca - 42 -
Exponenciación (^)
Identidad y negación unarios (+, –)
Multiplicación y división de punto flotante (*, /)
División de número entero (\)
Módulo aritmético (Mod)
Suma y resta (+, –)
Concatenación de cadenas (&)
Desplazamiento de bits aritmético (<<, >>)
Operadores de comparación
Todos los operadores de comparación
(=, <>, <, <=, >, >=, Is, IsNot, Like, TypeOf...Is)
Operadores lógicos y bit a bit
Negación (Not)
Conjunción (And, AndAlso)
Disyunción inclusiva (Or, OrElse)
Disyunción exclusiva (Xor)
APLICACION DE CONSOLA
Una aplicación de consola es aquella que se ejecuta dentro de una ventana de línea de
comandos. Este tipo de ventana recibe diferentes denominaciones: Símbolo del sistema,
Sesión MS-DOS, Ventana de línea de comandos, etc
Las aplicaciones de consola son muy útiles cuando necesitamos realizar pruebas que no
impliquen el uso del modo gráfico del sistema operativo: formularios, controles,
imágenes, etc., ya que consumen menos recursos y su ejecución es más veloz.
Para crear una aplicación de consola básica, después de iniciar el IDE de VS.NET, y
seleccionar el menú para crear un nuevo proyecto, elegiremos Aplicación de consola en
el panel derecho de la ventana Nuevo proyecto. El resto de opciones de esta ventana
se configuran igual que para una aplicación con formularios Windows. Ver Figura
Programación y Métodos Numéricos 2019 A \1.Fundamentos \ Ismael Véliz Vilca - 43 -
La clase Console
Esta clase se encuentra dentro del espacio de nombres System, y nos proporciona a
través de sus métodos, acceso a la consola para mostrar u obtener información del
usuario.
ESCRITURA DE INFORMACIÓN
Para mostrar texto utilizaremos el método WriteLine( ) del objeto Console. Este método
escribe en la línea actual de la consola el valor que le pasemos como parámetro,
añadiendo automáticamente las marcas de retorno de carro y nueva línea, por lo que la
siguiente escritura se realizará en una nueva línea.
Module Module1
Sub Main()
Dim n1 As Integer
Dim n2 As Integer
Console.Write("ingrese el primer numero n1 ")
n1 = CInt(Console.ReadLine())
Console.Write("ingrese el segundo numero n2 ")
n2 = CInt(Console.ReadLine())
Console.WriteLine(" La suma de los numeros es {0}", n1 + n2)
Console.WriteLine(" La resta de los numeros es {0}", n1 - n2)
Console.WriteLine(" El producto de los numeros es {0}", n1 * n2)
Console.WriteLine(" La Division real de los numeros es {0}", n1 / n2)
Programación y Métodos Numéricos 2019 A \1.Fundamentos \ Ismael Véliz Vilca - 44 -
Console.WriteLine("La Division entera de los numeros es {0}", n1 \ n2)
Console.WriteLine(" El modulo de de los numeros es {0}", Int(n1) Mod Int(n2))
Console.ReadLine()
End Sub
End Module
Write( ) es otro método que nos permite también escribir valores en la consola. Su uso
es igual que WriteLine( ), aunque debemos tener en cuenta que Write( ) no separa los
valores a mostrar. Veamos un ejemplo en el Código fuente
Module Module1
Sub Main()
Dim Nombre As String
System.Console.WriteLine("Digite Su Nombre: ")
Nombre = System.Console.ReadLine
System.Console.WriteLine("Su nombre es {0}: ", Nombre)
Console.ReadLine()
End Sub
End Module
Module Module1
Sub Main()
Dim Nombre As String = "Benjamin"
Dim Edad As Byte = 21
Dim Apellido As String = "Zepeda"
Console.WriteLine("Su nombre completo es: {0} {1} y tiene {2} años ", Nombre,
Apellido, Edad)
Console.ReadLine()
End Sub
End Module
*Es de recordar que el orden debe ser el mismo, si le hemos aplicado al corchete {0} {1}
entonces la primer variable ira en el puesto 0, la segunda variable en el puesto 1 y así
sucesivamente.
Entonces:
Posición: Posición 0,1,2 y así sucesivamente.
Ancho (Opcional): Mínimo Numero de posiciones para la salida, pero si el ancho se
omite entonces o especificamos un valor máximo entonces el ancho incrementa
automáticamente.
Tipo (Opcional): Es uno de los caracteres mostrado en la tabla de abajo.
Decimales (Opcional): Aquí se especifica el número de dígitos a mostrar en el caso de
enteros o de decimales en el caso de fraccionarios.
Las cadenas de formato numérico estándar se utilizan para dar formato a tipos numéricos
comunes. Una cadena de formato numérico estándar presenta la forma Axx, dondeA es
un carácter alfabético que recibe el nombre de especificador de formato y xx es un
entero opcional que recibe el nombre de especificador de precisión. El especificador de
Programación y Métodos Numéricos 2019 A \1.Fundamentos \ Ismael Véliz Vilca - 46 -
precisión está comprendido entre el 0 y el 99 y afecta al número de dígitos del
resultado. Cualquier cadena de formato numérico que contenga más de un carácter
alfabético, incluido el espacio en blanco, se interpreta como una cadena de formato
numérico personalizado.
Especifica
dor de Nombre Descripción Ejemplos
formato
123,456 ("C", en-
Resultado: un valor de divisa.
US) -> $123,46
Compatible con: todos los tipos 123,456 ("C", fr-
numéricos. FR) -> 123,46 €
Especificador de precisión: 123,456 ("C", ja-
número de dígitos decimales. JP) -> ¥123
Especificador de precisión
-123,456 ("C3",
"C" o "c" Moneda predeterminado: definido
en-US) ->
porSystem.Globalization.NumberFo
($123,456)
rmatInfo.
-123,456 ("C3",
Más información: Especificador
fr-FR) -> -123,456
de formato de divisa ("C").
€
-123,456 ("C3",
ja-JP) -> -¥123,456
Resultado: dígitos enteros con 1234 ("D") ->
signo negativo opcional. 1234
Compatible con: solo tipos -1234 ("D6") -> -
enteros. 001234
Especificador de precisión:
"D" o "d" Decimal número mínimo de dígitos.
Especificador de precisión
predeterminado: número mínimo de
dígitos necesarios.
Más información: Especificador
de formato decimal ("D").
1052,032911275
Resultado: notación exponencial. 6 ("E", en-US) ->
1,052033E+003
1052,032911275
Compatible con: todos los tipos
6 ("e", fr-FR) ->
numéricos.
1,052033e+003
Exponenci -
"E" o "e"
al (científico) Especificador de precisión: 1052,0329112756
número de dígitos decimales. ("e2", en-US) -> -
1,05e+003
-
Especificador de precisión 1052,0329112756
predeterminado: 6. ("E2", fr_FR) -> -
1,05E+003
Programación y Métodos Numéricos 2019 A \1.Fundamentos \ Ismael Véliz Vilca - 47 -
Más información: Especificador
de formato exponencial ("E").
Resultado: dígitos integrales y
1234,567 ("F",
decimales con signo negativo
en-US) -> 1234,57
opcional.
Compatible con: todos los tipos 1234,567 ("F",
numéricos. de-DE) -> 1234,57
Especificador de precisión: 1234 ("F1", en-
número de dígitos decimales. US) -> 1234,0
Especificador de precisión
"F" o "f" Punto fijo predeterminado: definido 1234 ("F1", de-
porSystem.Globalization.NumberFo DE) -> 1234,0
rmatInfo.
-1234,56 ("F4",
Más información: Especificador
en-US) -> -
de formato de punto fijo ("F").
1234,5600
-1234,56 ("F4",
de-DE) -> -
1234,5600
Resultado: notación de punto fijo
-123,456 ("G",
o científica, la que sea más
en-US) -> -123,456
compacta.
Compatible con: todos los tipos 123,456 ("G", sv-
numéricos. SE) -> -123,456
Especificador de precisión: 123,4546 ("G4",
número de dígitos significativos. en-US) -> 123,5
Especificador de precisión
"G" o "g" General 123,4546 ("G4",
predeterminado: depende del tipo
sv-SE) -> 123,5
numérico.
-1.234567890e-
Más información: Especificador
25 ("G", en-US) ->
de formato general ("G").
-1,23456789E-25
-1,234567890e-
25 ("G", sv-SE) -> -
1,23456789E-25
Resultado: dígitos integrales y
decimales, separadores de grupos 1234,567 ("N",
y un separador decimal con signo en-US) -> 1,234,57
negativo opcional.
Compatible con: todos los tipos 1234,567 ("N",
numéricos. ru-RU) -> 1 234,57
Especificador de precisión: 1234 ("N1", en-
"N" o "n" Número número deseado de decimales. US) -> 1.234,0
Especificador de precisión
predeterminado: definido 1234 ("N1", ru-
porSystem.Globalization.NumberFo RU) -> 1 234,0
rmatInfo.
-1234,56 ("N3",
Más información: Especificador
en-US) -> -
de formato numérico ("N").
1,234,560
Programación y Métodos Numéricos 2019 A \1.Fundamentos \ Ismael Véliz Vilca - 48 -
-1234,56 ("N3",
ru-RU) -> -1
234,560
Resultado: número multiplicado
1 ("P", en-US) ->
por 100 y mostrado con un símbolo
100,00 %
de porcentaje.
Compatible con: todos los tipos 1 ("P", fr-FR) ->
numéricos. 100,00 %
Especificador de precisión: -0,39678 ("P1",
"P" o "p" Percent número deseado de decimales. en-US) -> -39,7 %
Especificador de precisión
predeterminado: definido -0,39678 ("P1",
porSystem.Globalization.NumberFo fr-FR) -> -39,7 %
rmatInfo.
Más información: Especificador
de formato de porcentaje ("P").
123456789,1234
Resultado: cadena que puede
5678 ("R") ->
aplicar acciones de ida y vuelta
123456789,123456
(round-trip) a un número idéntico.
78
-
1234567890,12345
Compatible
Acción de 678 ("R") -> -
"R" o "r" con: Single, Double y BigInteger.
ida y vuelta 1234567890,12345
67
Especificador de precisión: se
omite.
Más información: Especificador
de formato de operación de ida y
vuelta ("R").
Resultado: cadena hexadecimal. 255 ("X") -> FF
Compatible con: solo tipos
-1 ("x") -> ff
enteros.
Hexadeci Especificador de precisión:
"X" o "x"
mal número de dígitos en la cadena de 255 ("x4") -> 00ff
resultado.
Más información: Especificador
-1 ("X4") -> 00FF
de formato hexadecimal ("X").
Cualquier Especifica Resultado:
otro carácter dor Produce FormatException en
único desconocido tiempo de ejecución.
Module Module1
Sub main()
Console.WriteLine("FORMATOS EN MODO CONSOLA ")
Console.WriteLine(" Moneda {0:9:C2}", 4.5)
Console.WriteLine("Moneda {0:9:C2}", -4.5)
Console.WriteLine("Enteros {0:D5}", 45)
Console.WriteLine("Enteros {0:5:D}", 45)
Console.WriteLine("Cientifico {0:E}", 450000)
Console.WriteLine("Coma Fija{0:F2}", 45)
Console.WriteLine("Coma fija {0:F0}", 45)
Console.WriteLine("Coma fija {0,8:f2}", 45)
Console.WriteLine("Coma fija {0,8:F2}", 145.3)
Console.WriteLine(" General {0:G}", 4, 5)
Console.WriteLine("Numerico {0:N}", 4500000)
Console.WriteLine(" %{0:P}", 1.2345)
Console.WriteLine(" hexadecimal{0:X}", 450)
Console.WriteLine("Hexadecimal {0:x}", &HFF7&)
Console.ReadLine()
End Sub
End Module
Formatos compuestos
Cada elemento de formato presenta la siguiente sintaxis, formada por los siguientes
componentes:
{ index[,alignment][:formatString]}
Las llaves ("{" y "}") son necesarias.
Programación y Métodos Numéricos 2019 A \1.Fundamentos \ Ismael Véliz Vilca - 50 -
Index (Componente)
Cada elemento de formato puede hacer referencia a cualquier objeto de la lista. Por
ejemplo, si existen tres objetos, se puede dar formato al segundo, primero y tercer objeto
mediante la especificación de una cadena de formato compuesto como ésta: "{1} {0}
{2}". Un objeto al que no hace referencia ningún elemento de formato se omite.Se
produce una excepción en tiempo de ejecución si un especificador de parámetro designa
un elemento fuera de los límites de la lista de objetos.
Alignment (Componente)
El componente opcional alignment es un entero con signo que indica el ancho de campo
con formato preferido. Si el valor de alignment es menor que la longitud de la cadena con
formato, se omite alignment y se utiliza la longitud de la cadena con formato como el
ancho de campo. Los datos con formato del campo están alineados a la derecha
si alignment es positivo y, a la izquierda, si alignment es negativo. Si hace falta relleno,
se utiliza un espacio en blanco. Si se especifica alignment, es necesaria la coma.
Llaves de escape
Puede crear una cadena de formato numérico personalizado, formada por uno o varios
especificadores numéricos personalizados, para definir cómo debe darse formato a los
datos numéricos. Una cadena de formato numérico personalizado es cualquier cadena
que no sea una cadena de formato numérico estándar.
Programación y Métodos Numéricos 2019 A \1.Fundamentos \ Ismael Véliz Vilca - 51 -
Especificador
Nombre Descripción Ejemplos
de formato
en las secciones siguientes se proporciona información detallada sobre cada uno de los
especificadores de formato numérico personalizado.
Module Module1
Sub main()
Dim value As Double
value = 1.2
Console.WriteLine(value.ToString("0.00")) ' Displays 1.20
Console.WriteLine(value.ToString("00.00")) ' Displays 01.20
Console.WriteLine(value.ToString("00,00")) ' Displays 01,20
Console.WriteLine(value.ToString(" #0.000"))
value = 0.086
Console.WriteLine(value.ToString("#0.##%")) ' Displays 8.6%
value = 86000
Console.WriteLine(value.ToString("0.###E+0")) ' Displays 8.6E+4
value = 1234567890
Console.WriteLine(value.ToString("#,#")) ' Displays 1,234,567,890
Console.WriteLine(value.ToString("#,##0,,")) ' Displays 1,235
Programación y Métodos Numéricos 2019 A \1.Fundamentos \ Ismael Véliz Vilca - 53 -
Console.ReadLine()
End Sub
End Module
Module Module1
Sub main()
Dim value As Double
value = 1.234
Console.WriteLine("{0}", value.ToString("0.00"))
Console.WriteLine("{0}", Format(value, "00.00"))
Console.WriteLine("{0}", value.ToString("00,00").PadRight(10))
Console.WriteLine("{0}", value.ToString("00,00").PadLeft(10))
Console.ReadLine()
End Sub
End Module
Al utilizar WriteLine( ) o Write( ) ocurrirá con frecuencia que en el texto a mostrar debamos
incluir valores que se encuentran en variables o expresiones, por lo que tendremos que
realizar una combinación e la cadena de texto principal con los demás elementos para
obtener la cadena final que mostraremos al usuario. Esto lo podemos hacer empleando
dos técnicas:
Module Module1
Sub main()
' concatenar múltiples valores ' declarar variables
Dim Nombre As String
Dim Nota As Integer
' asignar valor a las variables
Nombre = "Juan"
Nota = 17
Console.WriteLine("El alumno " & Nombre & " Tiene " & Nota & " de nota")
Console.ReadLine()
End Sub
End Module
Programación y Métodos Numéricos 2019 A \1.Fundamentos \ Ismael Véliz Vilca - 54 -
Parámetros sustituibles.
Module Module1
Sub main()
Dim Nombre As String
Dim Nota As Integer
Nombre = "Juan"
Nota = 17
Console.WriteLine("El alumno {0} Tiene {1} de nota", Nombre, Nota)
Console.ReadLine()
End Sub
End Module
LECTURA DE INFORMACIÓN
Para obtener el texto escrito por el usuario en la línea actual de la consola y hasta la
pulsación de [INTRO] podemos utilizar el método ReadLine( ) del objeto Console.
Module Module1
Sub main()
' declaramos una variable para volcar el contenido de una línea de la consola
Dim LineaTexto As String
Console.Write("Ingrese un texto")
LineaTexto = Console.ReadLine() ' el texto se pasa a la variable
' ahora mostramos lo que hemos escrito
Console.WriteLine()
Console.WriteLine("El usuario ha escrito la siguiente línea:")
Console.WriteLine(LineaTexto)
' aquí evitamos cerrar la consola, ' así podemos ver mejor el resultado
Console.ReadLine()
End Sub
End Module
Read( ) es otro método del objeto Console que permite también la lectura del dispositivo
de entrada de la consola, pero en este caso devuelve el código de una sola tecla pulsada
por el usuario. Para ilustrar el uso de este método tenemos el ejemplo del Código fuente
47, en el que después de pulsar varias teclas, nos introducimos en un bucle que va
extrayendo cada uno de sus códigos, que volvemos a
transformar en el carácter correspondiente a la tecla pulsada.
Que el Readline lee toda una línea de texto mientras para el Read podemos usar
conversiones para que leamos por ejemplo son un carácter.
Module Module1
Sub main()
Dim CodTecla As Integer, nombretecla As Object
Console.WriteLine("Pulsar varerias teclas")
Programación y Métodos Numéricos 2019 A \1.Fundamentos \ Ismael Véliz Vilca - 56 -
Console.WriteLine()
While True
' tomar los códigos de las teclas uno a uno
CodTecla = Console.Read() ' si se ha pulsado intro, salir
If CodTecla = 13 Then
Exit While
End If
Console.WriteLine("Código de tecla pulsada: {0}", CodTecla)
' convertir el código al caracter de la tecla
NombreTecla = Chr(CodTecla)
Console.WriteLine("Tecla pulsada: {0}", NombreTecla)
End While
Console.WriteLine("Ejemplo terminado, pulse intro")
Console.ReadLine()
End Sub
End Module
Para tener ayuda consulte en internet en la ayuda MSDN de visual estudio 2010
PROBLEMAS RESUELTOS
Programación y Métodos Numéricos 2019 A \1.Fundamentos \ Ismael Véliz Vilca - 57 -
Problema C101 Escriba el programa hola mundo en visual basic 2010
Module Module1
Sub Main()
Console.WriteLine(" INGENIERIA INDUSTRIAL 2014")
Console.ReadLine()
End Sub
End Module
Ejecución
Module Module1
Sub Main()
Dim radio, Area As Single
Console.Write(" Ingrese radio del circulo ")
radio = Console.ReadLine())
Area =Math.PI * radio * radio)
Console.Write(" El Area es {0} ", Area)
Console.ReadLine()
End Sub
End Module
Ejecute con F5
Module Module1
Sub Main()
Dim base, Altura, Area As Single
Console.Write(" Ingrese base del triangulo ")
base = Console.ReadLine()
Console.Write(" Ingrese altura del triangulo ")
Altura = Console.ReadLine()
Area = base * Altura / 2
Console.Write(" El Area es {0} ", Area)
Console.ReadLine()
End Sub
End Module
Salida
Module Module1
Sub Main()
Dim nombre As String
Console.Write(" Ingrese su nombre ")
nombre = Console.ReadLine()
Console.Write(" Hola {0} ", nombre)
Console.ReadLine()
End Sub
End Module
Salida
Module Module1
Sub Main()
Dim x = 10, y = 20, z As Single
z = CSng(x + y / 2)
Console.WriteLine("caso 1 valor de z= {0} ", z)
z = CSng((x + y) / 2)
Console.WriteLine("caso 2 valor de z = {0} ", z)
Console.ReadLine()
End Sub
End Module
Salida
Module Module1
Sub Main()
Dim x As Integer = 10
Dim y As Single = 3.1416
Console.WriteLine("X sin formato= {0} ", x)
Console.WriteLine("X con 10 espacios izquierdo = {0} ", x.ToString.PadLeft(10))
Programación y Métodos Numéricos 2019 A \1.Fundamentos \ Ismael Véliz Vilca - 60 -
Console.WriteLine("X con 10 espacios derecho = {0} ", x.ToString.PadRight(10))
Console.WriteLine("Y sin formato {0} ", y)
Console.WriteLine("X con 8 espacios derecha y cuatro decimales = {0} ",
Format(y, "####0.0000".ToString.PadRight(8)))
Console.WriteLine("X con 8 espacios izquierda y dos = {0} ", Format(y,
"####0.00".ToString.PadLeft(8)))
Console.ReadLine()
End Sub
End Module
también se puede escribir como codio ASCCI por ejmeplo para el tabulador de debe
escribir chr(9)
Module Module1
Sub Main()
Console.WriteLine(" Hola {0} Hola {1}Hola {2} Hola {0} Hola ", vbTab, vbCrLf,
vbCrLf)
Console.ReadLine()
End Sub
End Module
Module Module1
Sub Main()
Dim cki As ConsoleKeyInfo
' Prevent example from ending if CTL+C is pressed.
Console.TreatControlCAsInput = True
Console.WriteLine("Press any combination of CTL, ALT, and SHIFT, and a
console key.")
Console.WriteLine("Press the Escape (Esc) key to quit: " + vbCrLf)
Do
cki = Console.ReadKey()
Console.Write(" --- You pressed ")
If (cki.Modifiers And ConsoleModifiers.Alt) <> 0 Then Console.Write("ALT+")
If (cki.Modifiers And ConsoleModifiers.Shift) <> 0 Then Console.Write("SHIFT+")
If (cki.Modifiers And ConsoleModifiers.Control) <> 0 Then
Console.Write("CTL+")
Console.WriteLine(cki.Key.ToString)
Programación y Métodos Numéricos 2019 A \1.Fundamentos \ Ismael Véliz Vilca - 61 -
Loop While cki.Key <> ConsoleKey.Escape
End Sub
End Module
Imports System
Imports System.Globalization
Module Module1
Sub main()
Dim integerNumber As Integer
integerNumber = 17843
Console.WriteLine(integerNumber.ToString("F", CultureInfo.InvariantCulture))
' Displays 17843.00
integerNumber = -29541
Console.WriteLine(integerNumber.ToString("F3", CultureInfo.InvariantCulture))
' Displays -29541.000
Dim doubleNumber As Double
doubleNumber = 18934.1879
Console.WriteLine(doubleNumber.ToString("F", CultureInfo.InvariantCulture))
' Displays 18934.19
Console.WriteLine(doubleNumber.ToString("F0", CultureInfo.InvariantCulture))
' Displays 18934
doubleNumber = -1898300.1987
Console.WriteLine(doubleNumber.ToString("F1", CultureInfo.InvariantCulture))
' Displays -1898300.2
Console.WriteLine(doubleNumber.ToString("F3", _
CultureInfo.CreateSpecificCulture("es-ES")))
' Displays -1898300,199
Console.ReadLine()
End Sub
End Module
Imports System
Imports System.Globalization
Module Module1
Sub main()
Dim value As Double
value = 1.2
Console.WriteLine(value.ToString("#.##", CultureInfo.InvariantCulture))
' Displays 1.2
value = 123
Console.WriteLine(value.ToString("#####")) ' Displays 123
value = 123456
Console.WriteLine(value.ToString("[##-##-##]")) ' Displays [12-34-56]
value = 1234567890
Console.WriteLine(value.ToString("#")) ' Displays 1234567890
Console.WriteLine(value.ToString("(###) ###-####"))
' Displays (123) 456-7890
Console.ReadLine()
End Sub
End Module
Problema C111 se Ingresa El nombre del trabajador y el sueldo bruto. Sed ecuenta
15% d eimpuesto por quinta categoria y 2% por Afp. Elborar un progrgrma en visual
Basic para calcular el suelto de la forma
Module Module1
Dim nombreTrab As String
Dim Sbruto As Single
Dim D5 As Single = 0.15
Dim Des5 As Single
Dim afp As Single = 0.02
Dim Dafp, tdesc, Sneto As Single
Sub Main()
Console.Write("INGRESE nombre trabajador ")
nombreTrab = Console.ReadLine
Console.Write("INGRESE sueldo trabajador ")
Sbruto = Console.ReadLine
Des5 = Sbruto * D5
Dafp = Sbruto * afp
Programación y Métodos Numéricos 2019 A \1.Fundamentos \ Ismael Véliz Vilca - 63 -
tdesc = Des5 + Dafp
Sneto = Sbruto - tdesc
Console.WriteLine("BOLETA TRABAJADOR")
Console.WriteLine("==============")
Console.WriteLine("Nombre " & nombreTrab)
Console.WriteLine("Sbruto " & Sbruto)
Console.WriteLine("DESCUENTOS ")
Console.WriteLine("QUINTA CATEG " & Des5)
Console.WriteLine("AFP " & Dafp)
Console.WriteLine("==============")
Console.WriteLine("TOTAL DESC " & tdesc)
Console.WriteLine("==============")
Console.WriteLine("SUELDO NETO " & Sneto)
Console.ReadLine()
End Sub
End Module
0 a cualquier base
Module Module1
Sub Main()
Dim nro As Integer = 254
Dim cadena As String
cadena = Convert.ToString(nro, 16)
Dim byteValue2 As Byte = &HC9
Console.WriteLine("a a Decimal " & Convert.ToString(nro, 10))
Console.WriteLine("a binario " & Convert.ToString(nro, 2))
Console.WriteLine("a OCTAL " & Convert.ToString(nro, 8))
Console.WriteLine("a Hexadecimal " & Convert.ToString(nro, 16))
Console.WriteLine(" en hexadecimal " & Hex(nro))
Console.WriteLine(" en Octal " & Oct(nro))
Console.ReadLine()
End Sub
End Module
Operaciones Booleanas
Module Module1
Sub Main()
Dim P, Q, R As Boolean
P = True
Q = False
Console.WriteLine(" {0} {1} and {2} ", P, Q, P And Q)
Programación y Métodos Numéricos 2019 A \1.Fundamentos \ Ismael Véliz Vilca - 64 -
Console.WriteLine(" {0} {1} and {2} ", P, Q, P Or Q)
Console.WriteLine(" {0} {1} and {2} ", P, Q, P Xor Q)
Dim A As UInt16 = 6
Dim B As UInt16 = 11
Console.WriteLine(" {0} AND {1} = {2} ", A, B, A And B)
Console.WriteLine(" {0} Or {1} = {2} ", A, B, A Or B)
Console.WriteLine(" {0} XOr {1} = {2} ", A, B, A Xor B)
Console.WriteLine(" {0} not {1} ", A, Not A)
Console.ReadLine()
End Sub
End Module
PROBLEMAS PROPUESTOS