Está en la página 1de 44

Capitulo VI

INDICE

CAPITULO VI

Arreglos

01

Arrays Unidimensional

01

Arrays Multidimensional

02

Ejercicio 34

03

Ejercicio 35

04

Ejercicio 36

06

Ejercicio 37

07

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)

0
1
2
3

0
1
5
9
13

1
2
6
10
14

2
3
7
11
15

3
4
8
12
16

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)

0
1

0
Joel
Chuco

1
Nahum
Chuco

2
Krizia
Rupay

3
Giselle
Valverde

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

01

Parmetros o argumentos de los procedimientos

02

Ejercicio 38

03

Ejercicio 39

04

Ejercicio 40

04

Ejercicio 41

05

Ejercicio 42

05

Ejercicio 43

06

Ejercicio 44

07

Ejercicio 45

08

Ejercicio 46

09

Ejercicio 47

10

Ejercicio 48

11

Ejercicio 49

12

Enumeraciones

13

Ejercicio 50

14

Ejercicio 51

15

Ejercicio 52

16

Soluciones de los Ejercicios Propuestos

17

Ejercicio 01

17

Ejercicio 02

19

Ejercicio 03

20

Ejercicio 04

20

Ejercicio 05

21

Ejercicio 06

22

Ejercicio 07

22

Ejercicio 08

23

Ejercicio 09

24

Ejercicio 10

25

Ejercicio 11

25

Ejercicio 12

26

Ejercicio 13

27

Ejercicio 14

27

Ejercicio 15

28

Ejercicio 16

28

Ejercicio 17

29

Ejercicio 18

30

Ejercicio 19

30

Ejercicio 20

31

Despedida

32

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

También podría gustarte