Problemario 2
Ejercicio 1: Media, mayor y menor de un conjunto fijo.
Realizar un programa que pida las notas de 10 alumnos por pantalla y muestre un menú́ de opciones: 1. Listar notas, 2. Calcular la media, 3. Calcular el menor, 4. Calcular el mayor.
Public Class Form1
Dim VecCal(9) As Double
Dim fila As Integer = 0
Dim S As Double
Dim P As Double
Dim C As Integer
Private Sub GUARDAR()
If TextBox1.Text >= 0 And TextBox1.Text <= 10 Then
If fila < 10 Then
VecCal(fila) = CInt(TextBox1.Text)
fila = fila + 1 'pasa a la siguiente posicion
MsgBox("Se ha guardado tu calificacion")
TextBox1.Text = ""
TextBox1.Focus()
Else
MsgBox("Base de datos llena")
End If
Else
MsgBox("Calificacion no valida")
End If
End Sub
Private Sub MEDIA()
S = 0
For I = 0 To 9
S = S + VecCal(I)
Next
P = S / 10
LabelPromedio.Text = P
End Sub
Private Sub ButtonGuardar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonGuardar.Click
GUARDAR()
End Sub
Private Sub ButtonPromedio_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonPromedio.Click
MEDIA()
End Sub
Private Sub ButtonLista_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonLista.Click
For I = 0 To 9
C = VecCal(I)
ListBox1.Items.Add(C)
Next
End Sub
Private Sub ButtonMenor_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonMenor.Click
Array.Sort(VecCal)
LabelMenor.Text = VecCal(0).ToString
End Sub
Private Sub ButtonMayor_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonMayor.Click
Array.Sort(VecCal)
LabelMayor.Text = VecCal(9).ToString
End Sub
End Class

Ejercicio 2: Media, mayor y menor de un conjunto prefijado.
Igual que el apartado anterior, pero en vez de 20 alumnos ahora el número de alumnos se le preguntará al usuario al iniciar el programa, este número no podrá́ superar los 100 alumnos (controlar que el usuario introduzca un número menor que 100).
CODIGO:
Public Class Form1
Dim Datos(2, 3) As Integer
Private Sub BtnCapturarNumeros_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnCapturarNumeros.Click
Dim fila, columna, sfilas, scolumnas As Integer
LblMatriz.Text = ""
For fila = 0 To 2
For columna = 0 To 3
Datos(fila, columna) = InputBox("Digite un Numero")
LblMatriz.Text = LblMatriz.Text + Space(15) + Datos(fila, columna).ToString
sfilas = sfilas + Datos(fila, columna)
Next
LblNumf.Text = LblNumf.Text + sfilas.ToString + vbCrLf + vbCrLf
sfilas = 0
LblMatriz.Text = LblMatriz.Text + vbCrLf + vbCrLf
Next
For columna = 0 To 3
For fila = 0 To 2
scolumnas = scolumnas + Datos(fila, columna)
Next
LblNumC.Text = LblNumC.Text + Space(14) + scolumnas.ToString
scolumnas = 0
Next
MsgBox("Debe Insertar Datos Numericos")
LblMatriz.Text = ""
LblNumC.Text = ""
LblNumf.Text = ""
End Sub
End Class

Ejercicio 3:
Escriba un programa que permita obtener el número de elementos positivos de un vector de 10 elementos.

Public Class Form1
Dim vecnums(9) As Double
Dim negativos As Double
Dim fila% = 0
Private Sub guardar()
If fila < 10 Then
vecnums(fila) = txtnum.Text
MsgBox("calificacion guardada")
txtnum.Text = ""
fila = fila + 1
txtnum.Focus()
Else
MsgBox("base de datos llena solo 10 numeros")
End If
End Sub
Private Sub mostrar()
For i = 0 To 9
If vecnums(i) > 0 Then
negativos = vecnums(i)
lstnumerospos1.Items.Add(negativos.ToString)
End If
Next
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
guardar()
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
mostrar()
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
lstnumerospos1.Items.Clear()
End Sub
End Class
Ejercicio 4:

Calcular el número de elementos negativos, cero y positivo de un vector de 20 elementos.
Public Class Form1
Dim elementos(20) As Integer
Dim i As Integer
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
For i = 0 To 19
elementos(i) = InputBox("digita numero")
If elementos(i) < 0 Then
lstnegativos.Items.Add(elementos(i))
ElseIf elementos(i) = 0 Then
lstcero.Items.Add(elementos(i))
ElseIf elementos(i) > 0 Then
lstpositivos.Items.Add(elementos(i))
End If
lblcero.Text = lstcero.Items.Count
lblnega.Text = lstnegativos.Items.Count
lblpos.Text = lstpositivos.Items.Count
Next
End Sub
End Class
Ejercicio 5:

Hacer un programa que permita insertar o eliminar elementos de un arreglo.
Public Class Form1
Dim arreglo() As Integer
Private Sub BtnCrear_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnCrear.Click
Dim n As Integer
n = txttamaño.Text
ReDim arreglo(n)
MsgBox("Tamaño del Arreglo Guardado")
txttamaño.Text = ""
txtagregar.Focus()
End Sub
Private Sub BtnAgregar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnAgregar.Click
Dim m As Integer
m = TxtAgregar.Text
ReDim arreglo(m)
MsgBox("Elementos Agregados")
TxtAgregar.Text = ""
TxtAgregar.Focus()
End Sub
Private Sub BtnBorrar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnBorrar.Click
Erase arreglo
TxtTamaño.Focus()
End Sub
End Class
Ejercicio 6:

Hacer programa de un arreglo de 15 elementos, tipo entero. Presentar contenido desordenado en caja de texto o lista. Presentar contenido ordenado en caja de texto o lista, del mayor al menor.
Public Class Form1
Dim arreglo(15) As Integer
Dim fila As Integer
Dim c As Integer
Dim d As Integer
Private Sub guardar()
If fila < 15 Then
arreglo(fila) = txtnumero.Text
fila = fila + 1
MsgBox("el numero ha sido guardado")
Else
MsgBox("solo se aceptan 15 numeros")
End If
txtnumero.Text = ""
txtnumero.Focus()
End Sub
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
guardar()
End Sub
Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
For i = 1 To 15
c = arreglo(i)
lstdesordenado.Items.Add(c)
Next
End Sub
Private Sub Button3_Click(sender As System.Object, e As System.EventArgs) Handles Button3.Click
Array.Sort(arreglo)
For i = 0 To 15
c = arreglo(i)
lstordenado.Items.Add(c)
Next
End Sub
End Class
Ejercicio 7:

Matriz dinámica bidimensional, tipo cadena de caracteres, presentar datos.
Public Class Form1
Dim Datos(,) As String
Dim F, C As Integer
Private Sub Guardar()
F = TextBoxCantFil.Text
C = TextBoxCanCol.Text
ReDim Datos(F - 1, C - 1)
End Sub
Private Sub BtnCapturarNumeros_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnCapturarNumeros.Click
Guardar()
Dim fila, columna As Integer
LblMatriz.Text = ""
For fila = 0 To F - 1
For columna = 0 To C - 1
Datos(fila, columna) = InputBox("Teclee un Nombre")
LblMatriz.Text = LblMatriz.Text + Space(15) + Datos(fila, columna).ToString
Next
LblMatriz.Text = LblMatriz.Text + vbCrLf + vbCrLf
Next
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Guardar()
End Sub
End Class
Ejercicio 8.
Matriz dinamica bidimensional numerica.Presentar promedio x fila y columna

Public Class FORM1
Dim DATOS(3, 2) As Integer
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim fila, columna, scolumnas, sfilas As Integer
Dim promf, promc As Double
Lblmatriz.Text = ""
For fila = 0 To 3
For columna = 0 To 2
DATOS(fila, columna) = InputBox("Digite el numero")
Lblmatriz.Text = Lblmatriz.Text + Space(10) + DATOS(fila, columna).ToString
sfilas = sfilas + DATOS(fila, columna)
promf = promf + DATOS(fila, columna) / 3
Next
lblfilas.Text = lblfilas.Text + sfilas.ToString + vbCrLf + vbCrLf
lblpfila.Text = lblpfila.Text + promf.ToString + vbCrLf + vbCrLf
sfilas = 0
scolumnas = 0
Lblmatriz.Text = Lblmatriz.Text + vbCrLf + vbCrLf
Next
For columna = 0 To 2
For fila = 0 To 3
scolumnas = scolumnas + DATOS(fila, columna)
promc = promc + (DATOS(fila, columna)) / 4
Next
Lblsumac.Text = Lblsumac.Text + Space(10) + scolumnas.ToString
lblpromc.Text = lblpromc.Text + Space(12) + promc.ToString
scolumnas = 0
promc = 0
Next
End Sub
End Class
Ejercicio 9: Arrays bidimensionales. Edificio1.

Se quiere controlar el número de habitantes de un edificio con 6 pisos y 4 puertas (A, B, C, y D) en cada piso.
Realizar un programa que pida al usuario que introduzca el número de habitantes de cada puerta del edificio. El programa debe decir la vivienda (piso y puerta) que más habitantes tiene del edificio.
Codigo:
Public Class Form1
Dim Datos(6, 4) As Integer
Private Sub Mayor()
Dim fila, columna, piso, fal, cal, temp As Integer
Dim puerta As String
fila = 0
columna = 0
puerta = ""
For fal = 0 To 5
For cal = 0 To 3
If Datos(fila, columna) < Datos(fal, cal) Then
temp = Datos(fila, columna)
Datos(fila, columna) = Datos(fal, cal)
Datos(fal, cal) = temp
Select Case fal
Case 0
piso = 1
Case 1
piso = 2
Case 2
piso = 3
Case 3
piso = 4
Case 4
piso = 5
Case 5
piso = 6
End Select
Select Case cal
Case 0
puerta = "A"
Case 1
puerta = "B"
Case 2
puerta = "C"
Case 3
puerta = "D"
End Select
End If
Next
Next
lbl1.Text = Datos(0, 0)
Lblp.Text = "Piso" + "" + piso.ToString
Lblpuerta.Text = "Puerta" + "" + puerta
End Sub
Private Sub BtnCap_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnCap.Click
Dim fila, columna As Integer
LblContenidoMa.Text = ""
For fila = 0 To 5
For columna = 0 To 3
Datos(fila, columna) = InputBox("Digite un Numero de habitantes")
LblContenidoMa.Text = LblContenidoMa.Text + Space(15) + Datos(fila, columna).ToString
Next
LblContenidoMa.Text = LblContenidoMa.Text + vbCrLf + vbCrLf
Next
Mayor()
End Sub
End Class
Ejercicio 10: Arrays bidimensionales. Edificio2.
Se quiere controlar el número de habitantes de un edificio con 6 pisos y 4 puertas (A, B, C, y D) en cada piso.
Realizar un programa que pida al usuario que introduzca el número de habitantes de cada puerta del edificio. El programa debe mostrar la media de habitantes de cada piso.
Public Class Form1
Dim datos(5, 3) As Integer
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim fila, columna As Integer
Dim promfila As Double
lblmatriz.Text = ""
For fila = 0 To 5
For columna = 0 To 3
datos(fila, columna) = InputBox("digite un numero")
Lblmatriz.Text = Lblmatriz.Text + Space(14) + datos(fila, columna).ToString
promfila = promfila + (datos(fila, columna)) / 4
Next
lblpromfila.Text = lblpromfila.Text + promfila.ToString + vbCrLf + vbCrLf
promfila = 0
Lblmatriz.Text = Lblmatriz.Text + vbCrLf + vbCrLf
Next
End Sub
End Class

Ejercicio 11:
Sean A(m,n) y B(n) una matriz y un arreglo respectivamente, hacer un programa que asigne valores a A, a partir de B teniendo en cuenta los siguientes criterios:
A(m,n)=(m) si m<=n
A(m,n)=0 si m>n
Ejercicio 12:
Hacer un programa que intercambie las filas de una matriz.cambie las filas de una matriz. Los elementos de la fila 0 deben intercambiarse con los de la fila N, la fila 1 con los de la fila N-1 y así sucesivamente. Imprimir las dos matrices.

Comentarios
Publicar un comentario