You are on page 1of 44

Capitulo VI

INDICE

CAPITULO VI

Arreglos Arrays Unidimensional Arrays Multidimensional Ejercicio 34 Ejercicio 35 Ejercicio 36 Ejercicio 37 07 06 04 03 02 01

01

Lenguaje de Programacin Capitulo VI Programando con Visual Basic 2005

ARREGLOS

Array Unidimensional

Un Array (arreglo) es un indicador que puede almacenar varios valores simultneamente. Cada uno de estos valores se identifica mediante un nmero al cual se llama ndice. As, para acceder al primer elemento del array habra que usar el ndice cero, para el segundo el ndice uno, para el tercero el ndice dos, y as sucesivamente. Vamos a ver cmo se declara un Array

Dim Variable(NmeroDeElementos) As Tipo de Variable

En efecto, tal como pueden apreciar, el array ser utilizable nicamente a partir de su declaracin. Por ejemplo:

Dim Numeros(3) As Integer

En este ejemplo, el nmero 3 que est dentro de los parntesis indica el nmero total de elementos + 1 de que constar el array. Puesto que todos los arrays estn basados en cero, esto es, el primer elemento del array es cero. Por lo tanto, en este caso, el ltimo elemento sera 3, ya que son cuatro y no tres los elementos que lo componen (0, 1, 2 y 3). Veamos un ejemplo algo ms completo y despus lo comentamos:

Dim Numeros(3) As Integer Dim K As Integer Numeros(0) = 1 Numeros(1) = 2 Numeros(2) = 3 Numeros(3) = 4 For K = 0 to 3 Console.WriteLine("Indice [{0}{1}{2}", K, "] = ", Numeros(K)) Next

Ahora veamos la salida en la consola.

Indice Indice Indice Indice

[0] [1] [2] [3]

= = = =

1 2 3 4

Joel Martin Chuco Marrufo 1

Lenguaje de Programacin Capitulo VI Programando con Visual Basic 2005

Bueno ahora se ve mas claro lo que hablo, como se habrn dado cuenta al declarar un array e indicar los elementos que va a contener dicho array, siempre debemos de tener en cuenta de esto: Numero de elementos 1, por ejemplo, si queremos un array de 4 elementos tendramos que indicarle as: Array (3), por que seria el numero de elementos 1 en este caso 4 1 = 3.

Aunque es un poco difcil de acostumbrarse, ya que en las versiones antiguas no eran as, se parecen un poco al C, C++.

Array Multidimensional

Los arrays multidimensionales son aquellos que constan de dos o ms dimensiones, es decir, que cada elemento del array viene definido por dos o ms ndices. Veamos un ejemplo de declaracin de un array multidimensional (en este caso, ser tridimensional, es decir, con tres dimensiones):

Dim Variable(x,x,x) As Tipo de Variable

Como vemos, hay tres letras dentro de los parntesis, separadas por comas, lo cual indica que el array es tridimensional, puesto que los tres ndices del mismo se separan uno de otro por comas. Veamos un pequeo ejemplo que lo clarifique un poco ms:

Dim Alumnos(1,3) As Integer

Este array es bidimensional y servira para almacenar una lista de alumnos por Nombres y Apellidos, tenemos un array bidimensional (el primer ndice del array nos almacenar los nombres y el segundo ndice nos almacenar los apellidos). Veamos un poco de cdigo y una tabla para que se hagn una idea de cmo se almacena esto:

Alumnos(0,0)="Jos"; Alumnos(0,1)="Lus"; Alumnos(0,2)="Juan"; Alumnos(0,3)="Pedro"; Alumnos(1,0)="Vargas"; Alumnos(1,1)="Moreno"; Alumnos(1,2)="Lpez"; Alumnos(1,3)="Peralta";

Joel Martin Chuco Marrufo 2

Lenguaje de Programacin Capitulo VI Programando con Visual Basic 2005

Esto sera como almacenar los datos en esta tabla:

Alumnos Alumnos Alumnos Alumnos

0 1 2 3

Nombres (0) Jos Lus Juan Pedro

Apellidos (1) Vargas Moreno Lpez Peralta

Bueno parece que esta un poco claro, lo de arrays, en esta tabla he separado por indicie, mejor dicho lo que declaro en la variable lo he graficado, como?, bueno as: tenemos nuestro array llamado Alumnos(1,3), todos sabemos que va a tener dos columnas y cuatro filas, as que en la columna 0 voy a almacenar los nombres y el la columna 1 sus apellidos, guindome de los ndices de cada nombre que ingrese, en otras palabras en el array Alumnos, en la columna 0 y en la fila 0 voy a almacenar el nombre de Jos, as que en la columna 1 y en la misma fila 0 voy a almacenar su apellido Vargas, y as sucesivamente hasta que se llene el array.

Ahora veamos unos ejercicios para que lo entiendan mejor.

EJERCICIOS

34. Se desea mostrar los cuatros primeros nmeros positivos y el nmero del ndice en donde es almacenado en el array unidimensional.

Solucin:

Module Ejercicio34 'Ejemplo de un Array Unidimensional Sub Main() Dim ArrayUnidimensional(3) As Integer Dim X, Num As Integer For X = 0 To 3 Num = X + 1 ArrayUnidimensional(X) = Num Next Console.WriteLine() Console.WriteLine("Array Unidimensional 4") Console.WriteLine() For X = 0 To 3 Console.WriteLine("Indice [{0}{1}{2}", X, "] = ", ArrayUnidimensional(X)) Next Console.ReadLine() End Sub

End Module

Joel Martin Chuco Marrufo 3

Lenguaje de Programacin Capitulo VI Programando con Visual Basic 2005

Ahora expliquemos, primero declaramos un array unidimensional llamado: ArrayUnidimensional, este va a contener 4 elementos, por lo tanto entre los parntesis pondremos el numero de elementos menos uno, sea 3, despus declaramos una variable que va a comportarse (funcionar) como un contador, as que primero almacenamos los valores en el array, en el ndice 0 tendr almacenado el valor de 1, en el ndice 1 tendr almacenado el valor 2 y as sucesivamente hasta almacenar los cuatro elementos.

Despus pasaremos a mostrar elemento por elemento con el for, tomando desde el ndice 0 a 3, y eso es todo lo que hace ese cdigo.

35. Se desea mostrar los diecisis primeros nmeros positivos y el nmero del ndice en donde es almacenado en el array bidimensional.

Solucin:

Module Ejercicio35 'Ejemplo de un Array Bidimensional Sub Main() Dim ArrayBidimensional(3, 3) As Integer Dim X, Y, Num As Integer For X = 0 To 3 For Y = 0 To 3 Num = Y + 1 If X = 1 Then Num += 4 ElseIf X = 2 Then Num += 8 ElseIf X = 3 Then Num += 12 End If ArrayBidimensional(X, Y) = Num Next Next Console.WriteLine() Console.WriteLine("Array Bidimensional 4 x 4") Console.WriteLine() For X = 0 To 3 For Y = 0 To 3 Console.WriteLine("Indice [{0}{1}{2}{3}{4}", X, "][", Y, "] = ", ArrayBidimensional(X, Y)) Next Next Console.ReadLine() End Sub

End Module

Joel Martin Chuco Marrufo 4

Lenguaje de Programacin Capitulo VI Programando con Visual Basic 2005

Bueno expliquemos, primero declaramos el array bidimensional que va a ser ArrayBidimensional(3,3), como ustedes saben, este array va a contener 16 elementos y no 9 como parece, despus almacenamos los valores mediante un For, mejor dicho, almacenamos los valores mediante una estructura de repeticin, primero almacenaremos los valores de la primera fila, as que el array bidimensional ser as: cuando X valga 0 ser y Y valga 0, ArrayBidimensional(0,0) y almacenaremos el valor de 1, por lo tanto X va a mantener su valor de 0 y Y tendr el valor de 1, por lo tanto el array ser as: ArrayBidimensional(0,1) va a tener el valor de 1 y as sucesivamente hasta que el valor de X sea 1, esto nos indicara que tocara llenar la fila 1 por lo tanto cuando X valga 1 y Y valga 0 el array ser as: ArrayBidimensional(1,0) va a contener el valor de 5, bueno si estn algo confundido, veamos grficamente como estara almacenado el array.

ArrayBidimensional(3,3)

Y 0 1 5 9 13 1 2 6 10 14 2 3 7 11 15 3 4 8 12 16

0 1 2 3

Grficamente eso es lo que hara la codificacin, con respecto a al almacenar de elementos en el array, y para mostrar los elementos, seria casi lo mismo, por no decir lo mismo, primero muestra el elemento que est en el ndice (0,0), y despus el del ndice (0,1), y as sucesivamente, segn lo que indique el For.

Para que les quede un poco mas claro la idea de los array, resolveremos dos ejercicios ms de arrays, uno de unidimensional y el otro bidimensional, cada uno respectivamente con su grfico para que les sea ms claro.

Joel Martin Chuco Marrufo 5

Lenguaje de Programacin Capitulo VI Programando con Visual Basic 2005

36. Se desea mostrar los Nombres y Apellidos de 4 alumnos que estn almacenados en arrays unidimensionales diferentes.

Solucin:

Module Ejercicio36 'Este algoritmo contiene dos Array, uno que almacena los nombres 'y el otro almacena los apellidos y despus muestra los nombres y apellidos Sub Main() Dim Nombres(3), Apellidos(3) As String Dim X As Integer Nombres(0) = "Joel" Nombres(1) = "Nahum" Nombres(2) = "Krizia" Nombres(3) = "Giselle" Apellidos(0) = "Chuco" Apellidos(1) = "Chuco" Apellidos(2) = "Rupay" Apellidos(3) = "Valverde" For X = 0 To 3 Console.Write("indice [{0}{1}{2}", X, "] = ", Nombres(X)) Console.WriteLine(" {0}", Apellidos(X)) Next Console.ReadLine() End Sub

End Module

Para este ejercicio hemos declarado dos arrays uno llamado Nombres y otro llamado Apellidos ambos van a contener 4 elementos y van a ser de tipo cadena (String) ya que van a almacenar textos, despus de declararlos pasaremos a almacenar valores en los arrays, una vez almacenado mediante un For, empezaremos a mostrar los nombres y los apellidos, cuando el contador valga 0, se mostrar los elementos del ndice 0 de ambos arrays, as sucesivamente hasta mostrar los cuatro elementos, mas o menor se almacenara as los array, grficamente.

Nombres(3) Apellidos(3)

0 Joel Chuco

Indices 1 2 Nahum Krizia Chuco Rupay

3 Giselle Valverde

Como se ve en el grfico, en el ndice 0 del array Nombres figura mi nombre y en el array Apellidos figura mi apellido, y as sucesivamente con los dems elementos.

Joel Martin Chuco Marrufo 6

Lenguaje de Programacin Capitulo VI Programando con Visual Basic 2005


37. Se desea mostrar los Nombres y Apellidos de 4 alumnos que estn almacenados en un array bidimensional.

Solucin:

Module Ejercicio37 'Este algoritmo muestra los Nombres y Apellidos almacenados 'en un Array Bidimensional Sub Main() Dim NomApe(1, 3) As String Dim X1, X2, Y As Integer NomApe(0, 0) = "Joel" NomApe(0, 1) = "Nahum" NomApe(0, 2) = "Krizia" NomApe(0, 3) = "Giselle" NomApe(1, 0) = "Chuco" NomApe(1, 1) = "Chuco" NomApe(1, 2) = "Rupay" NomApe(1, 3) = "Valverde" Console.WriteLine("Los Nombres y Apellidos Son: ") Console.WriteLine() For X1 = 0 To 0 For Y = 0 To 3 Console.Write("{0}{1}", NomApe(X1, Y), " ") For X2 = 1 To 1 Console.WriteLine(NomApe(X2, Y)) Next Next Next Console.ReadLine() End Sub

End Module

Primero declaramos un array bidimensional que contendr 8 elementos, dos filas y 4 columnas, en la primera fila se encontrarn todos los nombres y el la segunda fila, se encontrarn todos los apellidos, despus de almacenar los valores, pasaremos a mostrarlos mediante For, primero mostramos el nombre, y despus con el siguiente For mostraremos el apellido, grficamente el arrays estara almacenado as:

NomApe(1,3)

Y 0 Joel Chuco 1 Nahum Chuco 2 Krizia Rupay 3 Giselle Valverde

0 1

Bueno en este grfico creo que se ve mas entendible, y tambin se puede ver que cada nombres esta con su apellido, como lo almacenamos.

Joel Martin Chuco Marrufo 7

Capitulo VII

INDICE

CAPITULO VII

Procedimientos Parmetros o argumentos de los procedimientos Ejercicio 38 Ejercicio 39 Ejercicio 40 Ejercicio 41 Ejercicio 42 Ejercicio 43 Ejercicio 44 Ejercicio 45 Ejercicio 46 Ejercicio 47 Ejercicio 48 Ejercicio 49 Enumeraciones Ejercicio 50 Ejercicio 51 Ejercicio 52 Soluciones de los Ejercicios Propuestos Ejercicio 01 Ejercicio 02 Ejercicio 03 Ejercicio 04 Ejercicio 05 Ejercicio 06 Ejercicio 07 Ejercicio 08 Ejercicio 09 24 23 22 22 21 20 20 19 17 17 16 15 14 13 12 11 10 09 08 07 06 05 05 04 04 03 02

01

Ejercicio 10 Ejercicio 11 Ejercicio 12 Ejercicio 13 Ejercicio 14 Ejercicio 15 Ejercicio 16 Ejercicio 17 Ejercicio 18 Ejercicio 19 Ejercicio 20 Despedida 32 31 30 30 29 28 28 27 27 26 25

25

Lenguaje de Programacin Capitulo VII Programando con Visual Basic 2005

PROCEDIMIENTOS

Los procedimientos son las sentencias de cdigo ejecutable de un programa. Las instrucciones de un procedimiento estn delimitadas por una instruccin de declaracin y una instruccin End.

Existen tres tipos de procedimientos en Microsoft Visual Basic .NET: procedimientos Sub, procedimientos Function y procedimientos Property.

Los procedimientos Sub realizan acciones pero no devuelven un valor al procedimiento que origina la llamada. Los controladores de eventos son procedimientos Sub que se ejecutan en respuesta a un evento.

Los procedimientos Function pueden devolver un valor al procedimiento que origina la llamada. La instruccin MessageBox.Show es un ejemplo de funcin.

Los procedimientos Property devuelven y asignan valores de propiedades de clases, estructuras o mdulos.

Un procedimiento puede ser invocado, o llamado, desde otro procedimiento. Cuando un procedimiento llama a otro procedimiento, se transfiere el control al segundo procedimiento. Cuando finaliza la ejecucin del cdigo del segundo procedimiento, ste devuelve el control al procedimiento que lo invoc. Debido a esta funcionalidad, los procedimientos resultan tiles para realizar tareas repetidas o compartidas. En lugar de escribir el mismo cdigo ms de una vez, podemos escribir un procedimiento e invocarlo desde varios puntos de nuestra aplicacin o desde otras aplicaciones. Utilizamos un modificador de acceso para definir la accesibilidad de los procedimientos que escribimos (es decir, el permiso para que otro cdigo invoque al procedimiento). Si no especificamos un modificador de acceso, los procedimientos son declarados public de forma predeterminada. Las opciones de accesibilidad para declarar un procedimiento dentro de un mdulo:

Public: Ninguna restriccin de acceso

Friend: Accesible desde el programa que contiene la declaracin y desde cualquier otro lugar del mismo ensamblado

Private: Accesible nicamente en el mdulo que contiene la declaracin

Joel Martin Chuco Marrufo 1

Lenguaje de Programacin Capitulo VII Programando con Visual Basic 2005


Sintaxis

[accesibilidad] Function NombreFuncion[(ListaDeArgumentos)] As TipoDato Instrucciones Retorna el Valor de Una Funcin End Function

Parmetros o argumentos de los procedimientos

Cuando queramos que un procedimiento realice una tarea, es posible que necesitemos indicarle alguna informacin adicional. Esa informacin se suele indicar mediante parmetros o argumentos. Los argumentos pasados a los procedimientos pueden ser pasados por valor o por referencia.

Por Valor: Cuando un argumento es pasado por valor, este valor no se podr alterar, por ejemplo:

Module Ejemplo Sub Main() MostrarNumero(1) Console.ReadLine() End Sub Sub MostrarNumero(ByVal Valor As Integer) Valor = Valor + 1 Console.WriteLine("El Valor del Parametro es: {0}", Valor) End Sub End Module

Expliquemos, nosotros llamamos al procedimiento MostrarNumero, y le mandamos el parmetro de 1, este numero 1 entra al procedimiento mediante la variable Valor, que despus lo alteramos sumndole mas uno, entonces el valor de la variable Valor seria 2, supuestamente, pero a la hora de mostrarlo en la consola, nos mostrar el valor de 1, se preguntarn Por qu?, esto solo tiene un respuesta, como es pasado por Valor, este Valor no puede ser alterado, por mas que le sumemos, dividamos, restamos, etc. El valor que va a contener la variable Valor siempre va a ser 1.

Joel Martin Chuco Marrufo 2

Lenguaje de Programacin Capitulo VII Programando con Visual Basic 2005

Por Referencia: Cuando un argumento es pasado por referencia, este valor se podr alterar, por ejemplo: Module Ejemplo Sub Main() MostrarNumero(1) Console.ReadLine() End Sub Sub MostrarNumero(ByRef Valor As Integer) Valor = Valor + 1 Console.WriteLine("El Valor del Parametro es: {0}", Valor) End Sub End Module

Expliquemos, nosotros llamamos al procedimiento MostrarNumero, y le mandamos el parmetro de 1, este numero 1 entra al procedimiento mediante la variable Valor, que despus lo alteramos sumndole mas uno, entonces el valor de la variable Valor seria 2, a la hora de mostrarlo en la consola, nos mostrar el valor de 2, se preguntarn Por qu?, esto solo tiene un respuesta, como es pasado por Referencia, este Valor puede ser alterado.

Ahora veremos argumentos.

algunos ejercicios

de procedimientos, y el paso de

EJERCICIOS

38. Se desea mostrar los nmeros pasados por valor a un procedimiento.

Module Ejercicio38 'Este algoritmo usa un procedimiento extern para mostrar los 'numeros que le son enviados. Sub Main() MostrarNumero(1) MostrarNumero(1001) MostrarNumero(-532) Console.ReadLine() End Sub

Sub MostrarNumero(ByVal Valor As Integer) Console.WriteLine("El Valor del Parametro es: {0}", Valor) End Sub

End Module

Joel Martin Chuco Marrufo 3

Lenguaje de Programacin Capitulo VII Programando con Visual Basic 2005

39. Se desea mostrar la edad y el sueldo de un empleado mediante un procedimiento externo.

Module Ejercicio39 'Este algoritmo usa un procedimiento externo para mostrar los 'elementos que le son enviados. Sub Main() MostrarEmpleado(32, 25000.0) Console.ReadLine() End Sub

Sub MostrarEmpleado(ByVal Edad As Integer, ByVal Salario As Double) Console.WriteLine("El Empleado Tiene {0}{1}", Edad, " aos") Console.WriteLine("El Empleado Gana $ {0}", Salario) End Sub

End Module

40. Se desea mostrar la suma de dos nmeros enviados a un procedimiento externo.

Module Ejercicio40 'Este algoritmo usa un Procedimiento externo para realizar una operacin 'y devolver el resultado, para que despues mostrarlo Sub Main() Console.WriteLine("100 + 200 = {0}", SumaValores(100, 200)) Console.WriteLine("500 + 501 = {0}", SumaValores(500, 501)) Console.WriteLine("-1 + 1 = {0}", SumaValores(-1, 1)) Console.ReadLine() End Sub

Function SumaValores(ByVal a As Integer, ByVal b As Integer) As Integer SumaValores = a + b End Function

End Module

Joel Martin Chuco Marrufo 4

Lenguaje de Programacin Capitulo VII Programando con Visual Basic 2005

41. Se desea mostrar un mensaje, utilizando un procedimiento externo

Module Ejercicio41 'Este algoritmo usa un Procedimiento para mostrar un mensaje Sub Main() Console.WriteLine("LLamado a una Funcin") MuestraMensaje() Console.WriteLine("Regreso del Llamado a la Funcin") Console.ReadLine() End Sub

Sub MuestraMensaje() Console.WriteLine("Hola, He Sido Rescatado por VB .Net 2005") End Sub

End Module

42. Se desea mostrar dos mensajes utilizando dos procedimientos externos.

Module Ejercicio42 'Este algoritmo usa dos procedimientos para mostrar dos mensajes Sub Main() MuestraTitulo() MuestraLeccion() Console.ReadLine() End Sub

Sub MuestraTitulo() Console.WriteLine("APUNTES: Apuntes de COMPUTACIN") End Sub

Sub MuestraLeccion() Console.WriteLine("LECCION: Conocimientos Bsicos Sobre Funciones") Console.WriteLine() End Sub

End Module

Joel Martin Chuco Marrufo 5

Lenguaje de Programacin Capitulo VII Programando con Visual Basic 2005

43. Se desea saber el mayor y el menor nmero de tres nmeros que son enviados a un procedimiento externo.

Module Ejercicio43 'Este algoritmo usa un procedimientos para determinar que nmero es mayor y 'menor de los tres numeros que le son enviados Sub Main() Console.WriteLine() grandeYpequeo(1, 2, 3) Console.WriteLine() grandeYpequeo(500, 0, -500) Console.WriteLine() grandeYpequeo(1001, 1001, 1001) Console.ReadLine() End Sub

Sub grandeYpequeo(ByVal a As Integer, ByVal b As Integer, ByVal c As Integer) Dim pequeo, grande As Integer If a < b AndAlso b < c Then pequeo = a ElseIf b < a AndAlso b < c Then pequeo = b Else pequeo = c End If If b < a AndAlso c < a Then grande = a ElseIf a < b AndAlso c < b Then grande = b Else grande = c End If Console.WriteLine("El Valor Ms Grande es: {0}", grande) Console.WriteLine("El Valor Ms Pequeo es: {0}", pequeo) End Sub

End Module

Joel Martin Chuco Marrufo 6

Lenguaje de Programacin Capitulo VII Programando con Visual Basic 2005

44. Se desea mostrar la tabla de multiplicar de un nmero dado, especificando hasta que nmero quiere que se muestre, esto se realizar un procedimiento externo.

Module Ejercicio44 'Este algoritmo utiliza un procedimiento para realizar y mostrar la tablar 'de multiplicar deseada, indicando de que nmero quiere que se le muestre 'la tabla y hasta que nmero quiere que se le muestre. Sub Main() Dim n, m As Integer Console.Write("Que Tabla de Multiplicar Desea? : ") n = CInt(Console.ReadLine) Console.Write("Cuantos Nmeros Desea Ver? : ") m = CInt(Console.ReadLine) Console.WriteLine() TablaMult(n, m) Console.ReadLine() End Sub

Sub TablaMult(ByVal n As Integer, ByVal m As Integer) Dim i As Integer Console.WriteLine("Tabla de Multiplicar del {0}", n) Console.WriteLine() For i = 1 To m Console.WriteLine("{0}{1}{2}{3}{4}", i, " x ", n, " = ", i * n) Next End Sub

End Module

Joel Martin Chuco Marrufo 7

Lenguaje de Programacin Capitulo VII Programando con Visual Basic 2005

45. Se desea mostrar los divisores comunes de dos nmeros enviados a un procedimiento.

Module Ejercicio45 'Este algoritmo muestra los divisores comunes de dos nmeros 'enviados. Sub Main() Dim a, b As Integer Console.WriteLine("Divisores Comunes de Dos Nmeros") Console.WriteLine() Console.Write("Ingrese Primer Nmero: ") a = CInt(Console.ReadLine) Console.Write("Ingrese Segundo Nmero: ") b = CInt(Console.ReadLine) Console.WriteLine() Comunes(a, b) Console.ReadLine() End Sub

Sub Comunes(ByVal a As Integer, ByVal b As Integer) Dim i As Integer = 1 While (i <= a And i <= b) If a Mod i = 0 AndAlso b Mod i = 0 Then Console.WriteLine(i) End If i=i+1 End While End Sub

End Module

Joel Martin Chuco Marrufo 8

Lenguaje de Programacin Capitulo VII Programando con Visual Basic 2005

46. Se desea saber si una fecha es correcta, esta fecha es ingresada por el usuario.

Module Ejercicio46 'Este algoritmo utiliza un procedimiento para verificar si una fecha que se 'halla ingresado es correcta o incorrecta Sub Main() Dim dia, mes, ao As Integer Console.Write("Ingrese el Da: ") dia = CInt(Console.ReadLine) Console.Write("Ingrese el Mes: ") mes = CInt(Console.ReadLine) Console.Write("Ingrese el Ao: ") ao = CInt(Console.ReadLine) Console.WriteLine() FechaOk(dia, mes, ao) Console.ReadLine() End Sub

Sub FechaOk(ByVal dia As Integer, ByVal mes As Integer, ByVal ao As Integer) Dim MaxDia As Integer Select Case mes Case 1, 3, 5, 7, 10, 12, 8 MaxDia = 31 Case 4, 6, 9, 11 MaxDia = 30 Case 2 If ao Mod 4 = 0 AndAlso ao Mod 100 <> 0 Or ao Mod 400 = 0 Then MaxDia = 29 Else MaxDia = 28 End If Case Else Console.WriteLine("Mes Incorrecto") Exit Sub End Select If dia > 0 And dia <= MaxDia And mes > 0 And mes < 13 And ao > 0 Then Console.WriteLine("La Fecha Es Correcta") Else Console.WriteLine("La Fecha Es Incorrecta") End If End Sub

End Module

Joel Martin Chuco Marrufo 9

Lenguaje de Programacin Capitulo VII Programando con Visual Basic 2005

47. Se desea hallar la longitud del tercer ngulo de un triangulo cualquiera, utilizando el teorema del coseno.

Module Ejercicio47 'Este algoritmo halla la longitud del tercer lado de un triangulo 'utilizando el teorema del coseno. Sub Main() Dim a, b, c, Alfa As Double Console.WriteLine("Soluciona un Tringulo : ") Console.WriteLine("Caso: Lado - ngulo - Lado : ") Console.Write("Ingrese Lado b : ") b = CDbl(Console.ReadLine) Console.Write("Ingrese Lado c : ") c = CDbl(Console.ReadLine) Console.Write("ngulo Formado (En Radianes) : ") Alfa = CDbl(Console.ReadLine) a = LadosAngulos(b, c, Alfa) Console.WriteLine("El Tercer ngulo Mide {0}", a) Console.ReadLine() End Sub

Function LadosAngulos(ByVal b As Double, ByVal c As Double, ByVal Alfa As Double) As Double Dim a As Double a = Math.Sqrt(b * b + c * c - 2 * b * c * Math.Cos(Alfa)) LadosAngulos = a End Function

End Module

Joel Martin Chuco Marrufo 10

Lenguaje de Programacin Capitulo VII Programando con Visual Basic 2005

48. Se desea ingresar un nmero cualquiera y saber si es un nmero primo.

Module Ejercicio48 'Este algoritmo muestra un mensaje diciendo si un 'nmero es primo o no Sub Main() Dim n As Integer Console.Write("Ingrese el Nmero a Evaluar : ") n = CInt(Console.ReadLine) If EsPrimo(n) = True Then Console.WriteLine("El Nmero SI es Primo") Else Console.WriteLine("El Nmero NO es Primo") End If Console.ReadLine() End Sub

Function EsPrimo(ByVal n As Integer) As Boolean Dim i As Integer i=n-1 While (i > 1) If n Mod i = 0 Then EsPrimo = False Exit Function End If i=i-1 End While EsPrimo = True End Function

End Module

Joel Martin Chuco Marrufo 11

Lenguaje de Programacin Capitulo VII Programando con Visual Basic 2005

49. Se desea hallar lo siguiente: Si los dos nmeros son mayores que cero halla su producto y en caso contrario hallar su suma, y nos tendr que preguntar si queremos continuar con la aplicacin.

Module Ejercicio49 'Este algoritmo solicita dos nmeros, si los dos son mayores 'que cero halla su producto, en caso contrario halla su suma 'y hace una pregunta sobre si desea continuar con el programa Sub Main() Dim a, b, Resp As Integer Do Console.Clear() Console.ForegroundColor = ConsoleColor.Red Console.WriteLine() Console.Write("Ingrese el Primer Nmero: ") a = CInt(Console.ReadLine) Console.Write("Ingrese el Segundo Nmero: ") b = CInt(Console.ReadLine) If a > 0 AndAlso b > 0 Then Resp = a * b Else Resp = a + b End If Console.WriteLine("El Resultado de La Operacion es: {0}", Resp) Loop While (Pregunta() = True) End Sub

Function Pregunta() As Boolean Dim Resp As Char Console.ForegroundColor = ConsoleColor.Green Console.WriteLine() Console.Write("Desea Continuar [s/n] ==> ") Resp = CChar(Console.ReadLine) If Resp = "s" Or Resp = "S" Then Pregunta = True Else Pregunta = False End If End Function

End Module

Joel Martin Chuco Marrufo 12

Lenguaje de Programacin Capitulo VII Programando con Visual Basic 2005

ENUMERACIONES

Una enumeracin es un tipo especial de variable numrica en la que los valores que dicha variable puede tomar, son constantes simblicas, es decir que en lugar de usar un nmero, se usa una palabra (constante) que hace referencia a un nmero, esta constante comenzara desde al valor de 0, por ejemplo veamos un ejemplo mas antiguo que es de los colores.

Estas enumeraciones se declaran desde afuera del Main, expliquemos, tenemos una enumeracin llamada colores, que contendr las siguientes constantes: Azul, Rojo, Verde, que por default el azul contendr el valor de 0, el rojo ser 1 y el verde ser 2, si se preguntan, Podemos cambiar esos valores? La respuesta es si, por ejemplo, ponemos lo siguiente:

Enum Colores Azul = 255 Rojo Verde End Enum

En este caso le asignamos a Azul el valor de 255, entonces el Rojo valdr 256 y el Verde ser 257.

La enumeracin Colores ya viene a ser un tipo de dato, as que cuando declaramos una variable, podemos asignarles de tipo Colores.

Joel Martin Chuco Marrufo 13

Lenguaje de Programacin Capitulo VII Programando con Visual Basic 2005

Las enumeraciones pueden ser de varios tipos de datos, como integer, Byte, Long, etc. Cuando declaramos una variable de tipo enumeracin, que hayamos creado, solo podremos asignarles la constante que contenga esta enumeracin, para que me entiendan vean este grfico.

Ahora veamos algunos ejercicios de enumeracin para que les quede un poco mas claro.

50. Esta aplicacin nos muestra que valor contiene cada constante de la enumeracin Colores.

Module Ejercicio50

Enum Colores Azul Rojo Verde End Enum

Sub Main() Dim Color As Colores Color = Colores.Azul Console.WriteLine("El Nmero 0 Vale: {0}", Color) Color = Colores.Rojo Console.WriteLine("El Nmero 1 Vale: {0}", Color) Color = Colores.Verde Console.WriteLine("El Nmero 2 Vale: {0}", Color) End Sub

End Module

Presionar las teclas CTRL + F5 para poder visualizar bien la ventana a la hora de ejecutar.

Joel Martin Chuco Marrufo 14

Lenguaje de Programacin Capitulo VII Programando con Visual Basic 2005

51. Este ejercicio usamos una enumeracin para cambiar de color a la letra de la aplicacin.

Module Ejercicio51

Enum Colores Azul Rojo Verde End Enum

Sub Main() Dim Numero As Integer Dim Color As String Console.WriteLine("{0}{1}", Space(30), "ELEGIR COLOR") Console.WriteLine() Console.WriteLine("{0}{1}", Space(5), "[0] Color Azul") Console.WriteLine("{0}{1}", Space(5), "[1] Color Rojo") Console.WriteLine("{0}{1}", Space(5), "[2] Color Verde") Console.WriteLine() Console.Write("Ingrese el Nmero de Color ==> ") Numero = CInt(Console.ReadLine) If Numero < Colores.Azul Or Numero > Colores.Verde Then Console.WriteLine("Color no Vlido") Exit Sub End If Console.WriteLine() Console.Write("Usted Eligio el color ") Select Case Numero Case Colores.Azul Console.ForegroundColor = ConsoleColor.Blue Color = "Azul" Case Colores.Rojo Console.ForegroundColor = ConsoleColor.Red Color = "Rojo" Case Colores.Verde Console.ForegroundColor = ConsoleColor.Green Color = "Verde" End Select Console.WriteLine(Color) Console.ForegroundColor = ConsoleColor.Gray Console.WriteLine() End Sub

End Module

Joel Martin Chuco Marrufo 15

Lenguaje de Programacin Capitulo VII Programando con Visual Basic 2005

52. Esta aplicacin nos mostrara que tipo de cuenta es asignada a un cliente usando una enumeracin, teniendo en cuenta que debe de tener mas de 2500 soles en saldo para tener una cuenta corriente.

Module Ejercicio52

Enum TipoCuenta Corriente Ahorro End Enum

Sub Main() Dim Cuenta As TipoCuenta Dim Cliente As String Dim Saldo As Integer Console.Write("Ingrese el Nombre del Cliente: ") Cliente = Console.ReadLine Console.Write("Ingrese el saldo de su Cuenta: ") Saldo = CInt(Console.ReadLine) If Saldo < 2500 Then Cuenta = TipoCuenta.Ahorro Else Cuenta = TipoCuenta.Corriente End If Console.WriteLine() Console.WriteLine("{0}{1}", Space(10), "*** DETALLE DE CUENTA DEL CLIENTE ***") Console.WriteLine() Console.WriteLine("Cliente: {0}", Cliente) Console.WriteLine("El tipo de cuenta del cliente es: {0}", Cuenta) Console.WriteLine("El saldo de la cuenta del cliente es: {0}", Saldo) End Sub

End Module

Joel Martin Chuco Marrufo 16

Lenguaje de Programacin Capitulo VII Programando con Visual Basic 2005

SOLUCIONES DE LOS EJERCICIOS PROPUESTOS

Ejercicio 01

Module zodiaco 'Este algoritmo me indica a que signo pertenece, segun la 'fecha que uno ingresa. Sub Main() Dim Dia, Mes As Integer Console.Write("Ingrese el Da de Nacimiento: ") Dia = CInt(Console.ReadLine) Console.Write("Ingrese el mes de Nacimiento: ") Mes = CInt(Console.ReadLine) Console.Write("Tu Signo del Zodiaco es: ") Select Case Mes Case 1 If Dia < 21 Then Console.Write("Capricornio") Else Console.Write("Acuario") End If Case 2 If Dia < 20 Then Console.Write("Acuario") Else Console.Write("Piscis") End If Case 3 If Dia < 21 Then Console.Write("Piscis") Else Console.Write("Aries") End If Case 4 If Dia < 21 Then Console.Write("Aries") Else Console.Write("Tauro") End If Case 5 If Dia < 21 Then Console.Write("Tauro") Else Console.Write("Gminis") End If Case 6 If Dia < 22 Then Console.Write("Geminis") Else

Joel Martin Chuco Marrufo 17

Lenguaje de Programacin Capitulo VII Programando con Visual Basic 2005


Console.Write("Cancer") End If Case 7 If Dia < 23 Then Console.Write("Cancer") Else Console.Write("Leo") End If Case 8 If Dia < 23 Then Console.Write("Leo") Else Console.Write("Virgo") End If Case 9 If Dia < 23 Then Console.Write("Virgo") Else Console.Write("Libra") End If Case 10 If Dia < 23 Then Console.Write("Libra") Else Console.Write("Escorpio") End If Case 11 If Dia < 22 Then Console.Write("Escorpio") Else Console.Write("Sagitario") End If Case 12 If Dia < 22 Then Console.Write("Sagitario") Else Console.Write("Capricornio") End If Case Else : Console.Write("VIVO, el mes es incorrecto") End Select Console.ReadLine() End Sub

End Module

Joel Martin Chuco Marrufo 18

Lenguaje de Programacin Capitulo VII Programando con Visual Basic 2005


Ejercicio 02

Module Ecuacion 'Este algoritmo halla las dos soluciones de una ecuacin Sub Main() Dim a, b, c, d As Single Dim x1, x2 As Double Console.Write("Ingrese el Valor de a: ") a = CSng(Console.ReadLine) Console.Write("Ingrese el Valor de b: ") b = CSng(Console.ReadLine) Console.Write("Ingrese el Valor de c: ") c = CSng(Console.ReadLine) If a <> 0 Then d=b*b-4*a*c If d >= 0 Then x1 = (-b + Math.Sqrt(d)) / (2 * a) x2 = (-b - Math.Sqrt(d)) / (2 * a) Console.WriteLine("La Primera Solucin es: {0}", x1) Console.WriteLine("La Segunda Solucin es: {0}", x2) Else Console.WriteLine("Las Soluciones son Imaginarias") End If Else Console.WriteLine("El valor de <a> NO puede ser Cero (0)") End If Console.ReadLine() End Sub

End Module

Joel Martin Chuco Marrufo 19

Lenguaje de Programacin Capitulo VII Programando con Visual Basic 2005


Ejercicio 03

Module Fraccion 'Este algoritmo simplifica una fraccin ingresada por el usuario Sub Main() Dim a, b, i, R1, R2, Q As Integer Console.Write("Ingrese el Numerador: ") a = CInt(Console.ReadLine) Console.Write("Ingrese el Denominador: ") b = CInt(Console.ReadLine) i=2 While (i <= a And i < b) Q = CInt(a / i) R1 = a - (Q * i) Q = CInt(b / i) R2 = b - (Q * i) If R1 = 0 And R2 = 0 Then a = CInt(a / i) b = CInt(b / i) Else i=i+1 End If End While Console.WriteLine("La Ecuacin Simplificada es: {0}{1}{2}", a, "/", b) Console.ReadLine() End Sub

End Module

Ejercicio 04

Module Notas 'Este algoritmo calfica al alumno, de acuerdo a la nota 'obtenida en el examn Sub Main() Dim Prom As Integer Console.Write("La Nota de tu Examen es: ") Prom = CInt(Console.ReadLine) If Prom < 0 Xor Prom > 20 Then Console.WriteLine("VIVO no Mientas") ElseIf Prom <= 5 Then Console.WriteLine("PSIMO, Estas ya Difunto") ElseIf Prom <= 10 Then Console.WriteLine("DEFICIENTE, Estas en Capilla") ElseIf Prom <= 15 Then Console.WriteLine("REGULAR, te Defiendes") Else Console.WriteLine("BUENO, Felicitaciones") End If Console.ReadLine() End Sub

End Module

Joel Martin Chuco Marrufo 20

Lenguaje de Programacin Capitulo VII Programando con Visual Basic 2005


Ejercicio 05

Module Hora 'Este algoritmo halla la hora correspondiente al siguiente 'segundo que pasa Sub Main() Dim h, m, s As Integer Console.Write("Ingrese la Hora: ") h = CInt(Console.ReadLine) Console.Write("Ingrese los Minutos: ") m = CInt(Console.ReadLine) Console.Write("Ingrese los Segundos: ") s = CInt(Console.ReadLine) s=s+1 If s = 60 Then s=0 m=m+1 If m = 60 Then m=0 h=h+1 If h = 24 Then h=0 End If End If End If Console.WriteLine("Hora Correspondiente al Siguiente Segundo : {0}{1}{2}{3}{4}", h, ":", m, ":", s) Console.ReadLine() End Sub

End Module

Joel Martin Chuco Marrufo 21

Lenguaje de Programacin Capitulo VII Programando con Visual Basic 2005


Ejercicio 06

Module Sueldo 'Este algoritmo nos solicita que ingresemos el sueldo bruto 'para despus mostrarnos el salario neto y su descuento Sub Main() Dim sb, sn, d As Single Console.Write("Ingrese el Sueldo Bruto: ") sb = CSng(Console.ReadLine) If sb < 0 Then Console.WriteLine("Sueldo Bruto Incorrecto") Console.ReadLine() Exit Sub Else If sb <= 1000 Then d = CSng(0.1 * sb) Else If sb <= 2000 Then d = CSng(100 + 0.05 * (sb - 1000)) Else d = CSng(150 + 0.03 * (sb - 2000)) End If End If End If sn = sb - d Console.WriteLine("El Salario Bruto es: {0}", sb) Console.WriteLine("El Salario Neto es: {0}", sn) Console.WriteLine("El Descuento es: {0}", d) Console.ReadLine() End Sub

End Module

Ejercicio 07

Module Signo 'Este algoritmo nos halla el signo del nmero a evaluar 'y nos muestra la parte entera y fraccionaria del nmero Sub Main() Dim x As Single Console.Write("Ingrese Numero a Evaluar: ") x = CSng(Console.ReadLine) If x >= 0 Then Console.WriteLine("Signo Positivo") Else Console.WriteLine("Signo Negativo") End If Console.WriteLine("Parte Entera: {0}", Math.Floor(x)) Console.WriteLine("Parte Fraccionaria: {0}", x - Math.Floor(x)) Console.ReadLine() End Sub

End Module

Joel Martin Chuco Marrufo 22

Lenguaje de Programacin Capitulo VII Programando con Visual Basic 2005

Ejercicio 08

Module Algoritmo 'Este algoritmo nos halla una funcin dada Sub Main() Dim x As Single Dim y As Double Console.Write("Ingrese el Valor de x: ") x = CSng(Console.ReadLine) If x <= 0 Then y = x + Math.Sin(x) Else If x <= 8 Then y = 2 * x - Math.Log(x) Else If x >= 8 Then y = Math.Log10(x - 8) End If End If End If Console.WriteLine("La Funcin Vale -> {0}", y) Console.WriteLine("Cuando x Vale -> {0}", x) Console.ReadLine() End Sub

End Module

Joel Martin Chuco Marrufo 23

Lenguaje de Programacin Capitulo VII Programando con Visual Basic 2005

Ejercicio 09

Module Triangulo 'Este algoritmo nos solicita que ingresemos tres nmeros 'y no dice si forman un triangulo y nos dice que tipo 'de triangulo se ha formado Sub Main() Dim a, b, c As Single Console.WriteLine("Ingrese Tres Numeros") Console.Write("Ingrese el Primer Nmero: ") a = CSng(Console.ReadLine) Console.Write("Ingrese el Segundo Nmero: ") b = CSng(Console.ReadLine) Console.Write("Ingrese el Tercer Nmero: ") c = CSng(Console.ReadLine) If a < b + c AndAlso b < a + c AndAlso c < a + b Then If a = b AndAlso b = c Then Console.WriteLine("Triangulo Equilatero") ElseIf a = b Or b = c Or a = c Then Console.WriteLine("Triangulo Issceles") Else Console.WriteLine("Triangulo Escaleno") End If Else Console.WriteLine("No Forman un Triangulo") End If Console.ReadLine() End Sub

End Module

Joel Martin Chuco Marrufo 24

Lenguaje de Programacin Capitulo VII Programando con Visual Basic 2005


Ejercicio 10

Module Mayor 'Este algoritmo nos indica el mayor de tres nmeros cualquiera Sub Main() Dim a, b, c, m As Integer Console.Write("Ingrese el Primer Nmero: ") a = CInt(Console.ReadLine) Console.Write("Ingrese el Segundo Nmero: ") b = CInt(Console.ReadLine) Console.Write("Ingrese el Tercer Nmero: ") c = CInt(Console.ReadLine) If a >= b Then If a >= c Then m=a Else m=c End If Else If b >= c Then m=b Else m=c End If End If Console.WriteLine("El Mayor Nmero es: {0}", m) Console.ReadLine() End Sub

End Module

Ejercicio 11

Module Expresion 'Este algoritmo no indica si una funcion es discontinua, desde 'cualquier valor que ingresemos a X Sub Main() Dim x, y As Single Console.Write("Ingrese el Valor de x: ") x = CSng(Console.ReadLine) If x = 5 Or x = -5 Then Console.WriteLine("La Funcin es Discontinua") Else y = (x - 3) / (x * x - 25) Console.WriteLine("La Funcin Vale: {0}{1}{2}", y, " Cuando x Vale: ", x) End If Console.ReadLine() End Sub

End Module

Joel Martin Chuco Marrufo 25

Lenguaje de Programacin Capitulo VII Programando con Visual Basic 2005


Ejercicio 12

Module Multiplo 'Este algoritmo nos muestra si los nmeros ingresados son 'multiplos simultaneamente de cualquier nmero ingresado Sub Main() Dim n, d1, d2 As Integer 'Dim q, r1, r2 As Integer Console.Write("Ingrese el Nmero: ") n = CInt(Console.ReadLine) Console.Write("Ingrese el Primer Posible Divisor: ") d1 = CInt(Console.ReadLine) Console.Write("Ingrese el Segundo Posible Divisor: ") d2 = CInt(Console.ReadLine)

'Primera Forma

If n Mod d1 = 0 And n Mod d2 = 0 Then Console.WriteLine("Es Multiplo de {0}{1}{2}{3}", d1, " y de ", d2, " Simultaneamente") Else Console.WriteLine("No es Multiplo de {0}{1}{2}{3}", d1, " y de ", d2, " Simultaneamente") End If

'Segunda Forma

'q = CInt(n / d1) 'r1 = n - (q * d1) 'q = CInt(n / d2) 'r2 = n - (q * d2) 'If r1 = 0 AndAlso r2 = 0 Then 'Console.WriteLine("Es Multiplo de {0}{1}{2}{3}", d1, " y de ", d2, " Simultaneamente") 'Else 'Console.WriteLine("No es Multiplo de {0}{1}{2}{3}", d1, " y de ", d2, " Simultaneamente") 'End If

Console.ReadLine() End Sub

End Module

Joel Martin Chuco Marrufo 26

Lenguaje de Programacin Capitulo VII Programando con Visual Basic 2005


Ejercicio 13

Module Bisiesto 'Este algoritmo nos indica si un ao es bisiesto o no Sub Main() Dim ao As Integer Console.Write("Ingrese el Ao: ") ao = CInt(Console.ReadLine)

If ao Mod 4 = 0 And ao Mod 100 <> 0 Or ao Mod 400 = 0 Then Console.WriteLine("El Ao {0}{1}", ao, " es Bisiesto") Else Console.WriteLine("El Ao {0}{1}", ao, " no es Bisiesto") End If Console.ReadLine() End Sub

End Module

Ejercicio 14

Module Ordena 'Este algoritmo ordena tres nmeros cualquiera de mayor a menor Sub Main() Dim a, b, c As Integer Console.Write("Ingrese el Primer Nmero: ") a = CInt(Console.ReadLine) Console.Write("Ingrese el Segundo Nmero: ") b = CInt(Console.ReadLine) Console.Write("Ingrese el Tercer Nmero: ") c = CInt(Console.ReadLine) Console.WriteLine("Los Nmero Ordenados de Mayor a Menor son: ") If a >= b And b >= c Then Console.WriteLine(" {0}{1}{2}{3}{4}", a, " ; ", b, " ; ", c) ElseIf a >= c And c >= b Then Console.WriteLine(" {0}{1}{2}{3}{4}", a, " ; ", c, " ; ", b) ElseIf b >= a And a >= c Then Console.WriteLine(" {0}{1}{2}{3}{4}", b, " ; ", a, " ; ", c) ElseIf b >= c And c >= a Then Console.WriteLine(" {0}{1}{2}{3}{4}", b, " ; ", c, " ; ", a) ElseIf c >= a And a >= b Then Console.WriteLine(" {0}{1}{2}{3}{4}", c, " ; ", a, " ; ", b) Else Console.WriteLine(" {0}{1}{2}{3}{4}", c, " ; ", b, " ; ", a) End If Console.ReadLine() End Sub

End Module

Joel Martin Chuco Marrufo 27

Lenguaje de Programacin Capitulo VII Programando con Visual Basic 2005


Ejercicio 15

Module Ecuacion 'Este algoritmo nos indica si el coeficiente de X es una 'ecuacin de primer grado Sub Main() Dim a, b, x As Single Console.Write("Ingrese el Coeficiente de x: ") a = CSng(Console.ReadLine) Console.Write("Ingrese el Termino Independiente: ") b = CSng(Console.ReadLine) If a = 0 Then Console.WriteLine("No es una Ecuacin de Primer Grado") Else x = CSng(-b / a) Console.Write("La Raz es: {0}", x) End If Console.ReadLine() End Sub

End Module

Ejercicio 16

Module Producto 'Si dos nmeros son positivos calcule su producto 'En caso contrario calcule su suma Sub Main() Dim a, b, Res As Integer Console.Write("Ingrese el Primer Nmero: ") a = CInt(Console.ReadLine) Console.Write("Ingrese el Segundo Nmero: ") b = CInt(Console.ReadLine) If a > 0 AndAlso b > 0 Then Res = a * b Else Res = a + b End If Console.WriteLine("El Resultado de la Operacin es: {0}", Res) Console.ReadLine() End Sub

End Module

Joel Martin Chuco Marrufo 28

Lenguaje de Programacin Capitulo VII Programando con Visual Basic 2005


Ejercicio 17

Module Menor 'Sin usar estructuras repetitivas, lea 5 nmeros y 'Determine el menor Sub Main() Dim a, b, c, d, e, Menor As Integer Console.Write("Ingrese el Primer Nmero: ") a = CInt(Console.ReadLine) Console.Write("Ingrese el Segundo Nmero: ") b = CInt(Console.ReadLine) Console.Write("Ingrese el Tercer Nmero: ") c = CInt(Console.ReadLine) Console.Write("Ingrese el Cuarto Nmero: ") d = CInt(Console.ReadLine) Console.Write("Ingrese el Quinto Nmero: ") e = CInt(Console.ReadLine) If a < b AndAlso a < c AndAlso a < d AndAlso a < e Then Menor = a ElseIf b < a AndAlso b < c AndAlso b < d AndAlso b < e Then Menor = b ElseIf c < a AndAlso c < b AndAlso c < d AndAlso c < e Then Menor = c ElseIf d < a AndAlso d < b AndAlso d < c AndAlso d < e Then Menor = d Else Menor = e End If Console.WriteLine("El Menor Nmero Ingresado es: {0}", Menor) Console.ReadLine() End Sub

End Module

Joel Martin Chuco Marrufo 29

Lenguaje de Programacin Capitulo VII Programando con Visual Basic 2005


Ejercicio 18

Module Ordenados 'Lea 5 nmeros y diga si estn ordenados ascendentemente Sub Main() Dim a, b, c, d, e As Integer Console.Write("Ingrese el Primer Nmero: ") a = CInt(Console.ReadLine) Console.Write("Ingrese el Segundo Nmero: ") b = CInt(Console.ReadLine) Console.Write("Ingrese el Tercer Nmero: ") c = CInt(Console.ReadLine) Console.Write("Ingrese el Cuarto Nmero: ") d = CInt(Console.ReadLine) Console.Write("Ingrese el Quinto Nmero: ") e = CInt(Console.ReadLine) If a < b AndAlso b < c AndAlso c < d AndAlso d < e Then Console.WriteLine("Estan Ordenados Ascendentemente") Else Console.WriteLine("No Estan Ordenados Ascendentemente") End If Console.ReadLine() End Sub

End Module

Ejercicio 19

Module Area 'Este programa lee tres nmeros a, b, c y determina si pueden formar 'un triangulo comprobando que p>a, p>b y p>c donde p es el semiperimetro 'y equivale a: p=(a+b+c)/2. Luego calcule el rea del triangulo 'usando la frmula de Hern: A = (p(p-a)(p-b)(p-c))^0.5 Sub Main() Dim a, b, c As Integer Dim p, Area, Temp As Double Console.Write("Ingrese el Primer Nmero: ") a = CInt(Console.ReadLine) Console.Write("Ingrese el Segundo Nmero: ") b = CInt(Console.ReadLine) Console.Write("Ingrese el Tercer Nmero: ") c = CInt(Console.ReadLine) p = (a + b + c) / 2 If a < p AndAlso b < p AndAlso c < p Then Temp = p * (p - a) * (p - b) * (p - c) Area = Math.Sqrt(Temp) Console.WriteLine("Si Forman Un Triangulo") Console.WriteLine("El rea del Triangulo es: {0}", Area) Else Console.WriteLine("No Forman Un Triangulo") End If Console.ReadLine() End Sub

End Module

Joel Martin Chuco Marrufo 30

Lenguaje de Programacin Capitulo VII Programando con Visual Basic 2005


Ejercicio 20

Module Funcion 'Este programa nos permite evaluar la funcin: ' x^2+1 Si x <= 8 ' x^2+3x+2 Si 0 < x < 3 ' x+1 Si x >= 3 Sub Main() Dim x As Integer Dim Res As Double Console.Write("Ingrese el Valor de x: ") x = CInt(Console.ReadLine) If x <= 0 Then Res = Math.Pow(x, 2) + 1 ElseIf 0 < x AndAlso x < 3 Then Res = Math.Pow(x, 2) + (3 * x) + 2 ElseIf x >= 3 Then Res = x + 1 End If Console.WriteLine("El Resultado de La Funcin: {0}", Res) Console.ReadLine() End Sub

End Module

Joel Martin Chuco Marrufo 31

Lenguaje de Programacin Capitulo VII Programando con Visual Basic 2005

Bueno seores con esto acaba la Cuarta entrega de este manual, se que ha sido muy poco, pero les estoy dejando las 20 soluciones de los ejercicios de la tercera entrega, en la prxima entrega acabaremos con lo que es consola de aplicacin para empezar a llevar la consola de Windows, en la prxima entrega tocaremos lo siguiente, si o si:

Programacin Orientada a Objetos Estructuras Polimorfismo Clases, y todo lo que nos falte

Bueno conmigo ser hasta la prxima entrega, ya saben aqu les dejo mi correo por si tienen alguna duda.

Joel Martin Chuco Marrufo Visual_Basic_Net_2005@hotmail.com

Donaciones a la cuenta de Ahorros del Banco de Interbank del Per


Cuenta en Soles:

067-3008573552 Cuenta en Dlares:

067-3008573560

www.interbank.com.pe

Este Manual Solo lo Puedes Descargar por la Pgina Oficial.

www.lawebdelprogramador.com

Lima, 09 de Febrero de 2006

Joel Martin Chuco Marrufo 32

You might also like