You are on page 1of 23

INTRODUCCION

El desarrollo de aplicaciones de cómputo surge a partir de la necesidad de resolver


problemas, que involucren la realización de una cantidad de cálculos numéricos
tediosos y/o difíciles, los cuales no permiten un mínimo de error.

En la ingeniería, como en otras disciplinas, la utilización de programas de


computadora ha resultado ser una de las herramientas de apoyo, más importante
de nuestros días.

Por esta razón, cada día son más los estudiantes, profesionistas e ingenieros que
desarrollan aplicaciones para computadora, como apoyo para la realización de sus
tareas, y de esta forma realizarlas en menor tiempo y con mejores resultados para
la toma de decisiones.

Desde las tarjetas perforadas hasta nuestra fecha, la programación orientada a


eventos ha tenido notable desarrollo tecnológico y su atractivo va en crecimiento
cada día.
MARCO TEORICO

 PROCESO DE LA PROGRAMACIÓN

a. Análisis del problema.


b. Diseño del algoritmo.
c. Verificación manual del algoritmo
d. Codificación del problema.
e. Depuración y verificación del programa.
f. Documentación.
g. Mantenimiento.

Para diseñar correctamente un programa se deben seguir los siguientes pasos:

Definición y Análisis del Problema


Diseño del Algoritmo.
Verificación manual del algoritmo.

 ALGORITMO

Un algoritmo es un conjunto de instrucciones o reglas bien definidas, organizadas y finitas


que nos permite realizar una determinada actividad siguiendo una serie de pasos
sucesivos y no ambiguos. Todo algoritmo debe cumplir las siguientes restricciones:

 Debe ser bien definido.

 Debe ser preciso.

 Debe ser finito.

 LENGUAJE VISUAL BASIC

Tradicionalmente el lenguaje Basic (Beginners All-Purpose Symbolic Instruction Code) se


ha considerado como el lenguaje adecuado para principiantes en el mundo de la
programación, si bien se le achaca que no tiene la potencia suficiente para cubrir todas las
expectativas de los programadores avanzados. Cierto es que aunque permite la creación
de componentes y trabaja con objetos, otros lenguajes tienen más potencia en la
programación orientada a eventos, pero a medida que han avanzado las versiones de
Visual Basic, ha aumentado su versatilidad.
 MATRIZ

Una matriz es un espacio dimensional que se reserva en la memoria del computador, tiene
una gran similitud con los vectores la diferencia va en que este usa filas y columnas y a la
hora de declarar se escriben dos corchetes. uno para las filas y el otro para las columnas.
Es una zona de almacenamiento continuo, que contiene una serie de elementos del mismo
tipo, los elementos de la matriz. Desde el punto de vista lógico una matriz se puede ver
como un conjunto de elementos ordenados en fila (o filas y columnas si tuviera dos
dimensiones).
EJERCICIO CONVINADO EN WINDOWS FORM VISUAL BASIC

 Suma de matrices
 Resta de matrices
 Multiplicación de matrices
 Suma de la diagonal principal de la matriz A
 Suma de la diagonal principal de la matriz B
 Suma de la diagonal principal de la matriz RESULTADO

PSEUDOCODIGO:
Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles Button1.Click
Dim fila As Byte, columna As Byte, i As Byte
fila = Val(txtbfilas.Text)
columna = Val(txtbcolumnas.Text)
dgvma.RowCount = fila
dgvma.ColumnCount = columna

For i = 0 To columna - 1
dgvma.Columns(i).Width = 40
Next
dgvmb.RowCount = fila
dgvmb.ColumnCount = columna

For i = 0 To columna - 1
dgvmb.Columns(i).Width = 40
Next

dgvmr.RowCount = fila
dgvmr.ColumnCount = columna

For i = 0 To columna - 1
dgvmb.Columns(i).Width = 40
Next
End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles Button2.Click
Dim i, j As Byte
Dim fila As Byte, columna As Byte

fila = Val(txtbfilas.Text)
columna = Val(txtbcolumnas.Text)
If (fila = columna) Then
For i = 0 To columna - 1
For j = 0 To fila - 1
dgvmr.Rows(i).Cells(j).Value =
Val(dgvma.Rows(i).Cells(j).Value) + Val(dgvmb.Rows(i).Cells(j).Value)
Next
Next
Else
MsgBox("Solo se puede sumar matrices cuadradas", 0 + 16, "Error")
End If
End Sub

Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles Button5.Click

Dim i, j As Byte
Dim fila As Byte, columna As Byte

fila = Val(txtbfilas.Text)
columna = Val(txtbcolumnas.Text)
For i = 0 To columna - 1
For j = 0 To fila - 1
dgvmr.Rows(i).Cells(j).Value = ""
dgvma.Rows(i).Cells(j).Value = ""
dgvmb.Rows(i).Cells(j).Value = ""
Next
Next

End Sub

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles Button3.Click
Dim i, j As Byte
Dim fila As Byte, columna As Byte

fila = Val(txtbfilas.Text)
columna = Val(txtbcolumnas.Text)
If (fila = columna) Then
For i = 0 To columna - 1
For j = 0 To fila - 1
dgvmr.Rows(i).Cells(j).Value =
Val(dgvma.Rows(i).Cells(j).Value) - Val(dgvmb.Rows(i).Cells(j).Value)
Next
Next
Else
MsgBox("Solo se puede restar matrices cuadradas", 0 + 16, "Error")
End If
End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button4.Click
Dim i, j, h As Byte
Dim fila As Byte, columna As Byte
Dim valor As Integer

fila = Val(txtbfilas.Text)
columna = Val(txtbcolumnas.Text)
If (fila = columna) Then
For h = 0 To fila - 1
For i = 0 To columna - 1
valor = 0
For j = 0 To columna - 1
valor = valor + Val(dgvma.Rows(h).Cells(j).Value) *
Val(dgvmb.Rows(j).Cells(i).Value)
Next
dgvmr.Rows(h).Cells(i).Value = valor

Next
Next
Else
MsgBox("Solo se puede multiplicar matrices cuadradas", 0 + 16,
"Error")
End If
End Sub

Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles Button6.Click
Dim i, j As Byte
Dim fila As Byte, columna As Byte
Dim valor, c As Integer
c = 0
valor = 0
fila = Val(txtbfilas.Text)
columna = Val(txtbcolumnas.Text)

If (fila = columna) Then


While c <= columna
For i = 0 To columna - 1
For j = 0 To fila - 1
If (i = j) Then
valor = valor + Val(dgvma.Rows(i).Cells(j).Value)
c = c + 1
Else
valor = valor
End If
Next
Next

End While

MsgBox("LA SUMA DE LA DIAGONAL PRINCIPAL DE LA MATRIZ A ES: " &


valor / 2)

Else
MsgBox("Solo se puede calcular la diagonal principal de matrices
cuadradas", 0 + 16, "Error")
End If
End Sub
Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button7.Click
Dim i, j As Byte
Dim fila As Byte, columna As Byte
Dim valor, c As Integer
c = 0
valor = 0
fila = Val(txtbfilas.Text)
columna = Val(txtbcolumnas.Text)
If (fila = columna) Then
While c <= columna
For i = 0 To columna - 1
For j = 0 To fila - 1
If (i = j) Then
valor = valor + Val(dgvmb.Rows(i).Cells(j).Value)
c = c + 1
Else
valor = valor
End If
Next
Next
End While
MsgBox("LA SUMA DE LA DIAGONAL PRINCIPAL DE LA MATRIZ B ES: " &
valor / 2)

Else
MsgBox("Solo se puede calcular la diagonal principal de matrices
cuadradas", 0 + 16, "Error")
End If
End Sub

Private Sub Button8_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles Button8.Click
Dim i, j As Byte
Dim fila As Byte, columna As Byte
Dim valor, c As Integer
c = 0
valor = 0
fila = Val(txtbfilas.Text)
columna = Val(txtbcolumnas.Text)

If (fila = columna) Then


While c <= columna
For i = 0 To columna - 1
For j = 0 To fila - 1
If (i = j) Then
valor = valor + Val(dgvmr.Rows(i).Cells(j).Value)
c = c + 1
Else
valor = valor
End If
Next
Next
End While

MsgBox("LA SUMA DE LA DIAGONAL PRINCIPAL DE LA MATRIZ Resultado ES:


" & valor / 2)
Else
MsgBox("Solo se puede calcular la diagonal principal de matrices
cuadradas", 0 + 16, "Error")
End If
End Sub
End Class
PRUEBAS DE ESCRITORIO

 Suma de matrices

 Resta de matrices
 Multiplicación de matrices

 Suma de la diagonal principal de la matriz A


 Suma de la diagonal principal de la matriz B

 Suma de la diagonal principal de la matriz RESULTADO


CONDICIÓNES DEL ALGORITMO
EJERCICIOS DESARROLLADOS INDIVIDUALMENTE

PSEUDOCODIGOS
 SUMA DE MATRICES

INICIO
Entero matriza (1,1)
Entero matrizb (1,1)
Entero matrizresultado (1,1)

Mostrar (“Llenar Matriz A”)


Para (entero i=0 hasta i=1) hacer
Para (entero j=0 hasta j=1) hacer
Mostrar (“Valor” & i & “-“ & j & “:”)
Leer matriza (i,j)
Fin_Para
Fin_Para

Mostrar (“Llenar Matriz B”)


Para (entero i=0 hasta i=1) hacer
Para (entero j=0 hasta j=1) hacer
Mostrar (“Valor” & i & “-“ & j & “:”)
Leer matrizb (i,j)
Fin_Para
Fin_Para

Para (entero i=0 hasta i=1) hacer


Para (entero j=0 hasta j=1) hacer
Matrizresultado (i,j) = matriza (i,j) + matrizb (i,j)
Fin_Para
Fin_Para

Mostrar (“Suma de Matriz A + B”)


Para (entero i=0 hasta i=1) hacer
Para (entero i=0 hasta i=1) hacer
Mostrar (matrizresultado (i,j))
Fin_Para
Fin_Para
FIN
DIAGRAMA DE FLUJO

Inicio

Entero matriza(1,1)
Entero matrizb(1,1)
Entero matrizresultado(1,1)

Mostrar “Ingrese los


datos de la matriz A”

Para
i=0
j<0

Leer
Matriza(i,j)

Fin_para

Mostrar “Ingrese los


datos de la matriz B”

Para
i=0
j<0

Leer
Matrizb(i,j)

Fin_para
Para
i=0
j<0

Matrizresultado(i,j) =
matriza(i,j) +
matrizb(i,j)

Fin_para

Mostrar “Suma de
matriz A + B”

Para
i=0
j<0

Mostrar
matrizresultado

Fin_para

Fin
 PRODUCTO DE MATRICES

INICIO
Entero matriza (1,1)
Entero matrizb (1,1)
Entero matrizresultado (1,1)

Mostrar (“Llenar Matriz A”)


Para (entero i=0 hasta i=1) hacer
Para (entero j=0 hasta j=1) hacer
Mostrar (“Valor” & i & “-“ & j & “:”)
Leer matriza (i,j)
Fin_Para
Fin_Para

Mostrar (“Llenar Matriz B”)


Para (entero i=0 hasta i=1) hacer
Para (entero j=0 hasta j=1) hacer
Mostrar (“Valor” & i & “-“ & j & “:”)
Leer matrizb (i,j)
Fin_Para
Fin_Para

Para (entero i=0 hasta i=1) hacer


Para (entero j=0 hasta j=1) hacer
Matrizresultado (i,j) = matriza (i,j) * matrizb (i,j)
Fin_Para
Fin_Para

Mostrar (“Suma de Matriz A + B”)


Para (entero i=0 hasta i=1) hacer
Para (entero i=0 hasta i=1) hacer
Mostrar (matrizresultado (i,j))
Fin_Para
Fin_Para
FIN
DIAGRAMA DE FLUJO

Inicio

Entero matriza(1,1)
Entero matrizb(1,1)
Entero matrizresultado(1,1)

Mostrar “Ingrese los


datos de la matriz A”

Para
i=0
j<0

Leer
Matriza(i,j)

Fin_para

Mostrar “Ingrese los


datos de la matriz B”

Para
i=0
j<0

Leer
Matrizb(i,j)

Fin_para
Para
i=0
j<0

Matrizresultado(i,j) =
matriza(i,j) *
matrizb(i,j)

Fin_para

Mostrar “Producto
de la Matriz A * B”

Para
i=0
j<0

Mostrar
matrizresultado

Fin_para

Fin
 MAYOR VALOR DE UNA COLUMNA

INICIO
Entero matriza(1,1)

Mostrar (“Llenar Matriz”)


Para (entero i=0 hasta i=1) hacer
Para (entero j=0 hasta j=1) hacer
Mostrar (“Valor” & i & “-“ & j & “:”)
Leer matriza (i,j)
Fin_Para
Fin_Para

Entero mayorcol1
Entero mayorcol2
Para (entero i=0 hasta i=1)
Para (entero i=0 hasta i=1)
Si (j=0) entonces
Si matriza(i,j) > mayorcol1 entonces
Mayorcol1 = matriza(i,j)
Fin_Si
Si_no
Si matriza(i,j) > mayorcol2 entonces
Mayorcol2 = matriza(i,j)
Fin_Si
Fin_Si
Fin_Para
Fin_Para

Mostrar (“Matriz A: “)
Para (entero i=0 hasta i=1)
Para (entero i=0 hasta i=1)
Mostrar (matriza(i,j))
Fin_Para
Fin_Para
DIAGRAMA DE FLUJO

Inicio

Entero matriza(1,1)

Mostrar “Llenar
Matriz”

Para
i=0
j<0

Leer
Matriza(i,j)

Fin_para

Entero mayorcol1
Entero mayorcol2

Para
i=0
j<0

Si
j=0
Si matriza(i,j) > Si matriza(i,j) >
mayorcol1 mayorcol2

Mayorcol1 = Mayorcol2 =
matriza(i,j) matriza(i,j)

Mostrar
“Matriz”

Para
i=0
j<0

Mostrar
matriza

Fin_para

Fin
 MENOR VALOR DE UNA FILA

INICIO
Entero matriza(1,1)

Mostrar (“Llenar Matriz”)


Para (entero i=0 hasta i=1) hacer
Para (entero j=0 hasta j=1) hacer
Mostrar (“Valor” & i & “-“ & j & “:”)
Leer matriza (i,j)
Fin_Para
Fin_Para

Entero menorfil1
Entero menorfil2
Para (entero i=0 hasta i=1)
Para (entero i=0 hasta i=1)
Si (j=0) entonces
Si matriza(i,j) < menorfil1 entonces
menorfil1 = matriza(i,j)
Fin_Si
Si_no
Si matriza(i,j) < menorfil2 entonces
menorfil2 = matriza(i,j)
Fin_Si
Fin_Si
Fin_Para
Fin_Para

Mostrar (“Matriz A: “)
Para (entero i=0 hasta i=1)
Para (entero i=0 hasta i=1)
Mostrar (matriza(i,j))
Fin_Para
Fin_Para
DIAGRAMA DE FLUJO

Inicio

Entero matriza(1,1)

Mostrar “Llenar
Matriz”

Para
i=0
j<0

Leer
Matriza(i,j)

Fin_para

Entero menorfil1
Entero menorfil2

Para
i=0
j<0

Si
j=0
Si matriza(i,j) > Si matriza(i,j) >
menorfil1 menorfil2

menorfil1 = menorfil2 =
matriza(i,j) matriza(i,j)

Mostrar
“Matriz”

Para
i=0
j<0

Mostrar
matriza

Fin_para

Fin

You might also like