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

Entradas populares