Está en la página 1de 4

Diapositivas – Unidad 3 Estructura de datos

Tarea 13
Ingrese 2 matrices y realice las siguientes operaciones:

● Suma
● Diferencia
● Producto

Solución

Inicio
Repetir
Mostrar “Ingrese las filas de la matriz A”
Leer Fil_A
Mostrar “Ingrese las columnas de la matriz A”
Leer Col_A
Mostrar “Ingrese las filas de la matriz B”
Leer Fil_B
Mostrar “Ingrese las Columnas de la matriz B”
Leer Col_B
Hasta que Fil_A>0 y Fil_B>0 y Col_A>0 y Col_B>0

Definir M_A (1 hasta Fil_A, 1 hasta Col_A) como Entero


Definir M_B (1 hasta Fil_B, 1 hasta Col_B) como Entero
Definir SR_AB (1 hasta Fil_A, 1 hasta Col_A) como Doble
Definir Mult_AB (1 hasta Fil_A, 1 hasta Col_B) como Doble

Mostrar “Ingresar los valores de la Matriz A”


Para i=1 hasta Fil_A
Para j=1 hasta Col_A
Mostrar “Ingrese el valor del elemento (i , j) de la matriz A (“ & i & ”,” & j & ”)”
Leer M_A (i, j)
Siguiente j
Siguiente i

Mostrar “Ingresar los valores de la Matriz B”


Para i=1 hasta Fil_B
Para j=1 hasta Col_B
Mostrar “Ingrese el valor del elemento (i , j) de la matriz B (“ & i & ”,” & j & ”)”
Leer M_B (i, j)
Siguiente j
Siguiente i

Repetir
Mostrar “Ingrese operación a realizar: (S)uma, (R )esta, (M)ultiplicacion o (T)erminar
Leer Ope
Seleccionar Caso Ope
Caso “S”
Si (Fil_A = Fil_B) and (Col_A = Col_B) entonces
Para i=1 hasta Fil_A
Para j=1 hasta Col_A
SR_AB (i, j) = M_A(i, j) + M_B(i, j)
Siguiente j
Siguiente i
Para i=1 hasta Fil_A
Para j=1 hasta Col_A
SR_AB (i, j) = M_A(i, j) + M_B(i, j)
Mostrar “La matriz suma es (i , j) “ & SR_AB (i, j)
Siguiente j
Siguiente i
De lo contrario
Mostrar “No se puede realizar la operación”
Fin Si

Caso “R”
Si (Fil_A = Fil_B) and (Col_A = Col_B) entonces
Para i=1 hasta Fil_A
Para j=1 hasta Col_A
SR_AB (i, j) = M_A(i, j) - M_B(i, j)
Siguiente j
Siguiente i
Para i=1 hasta Fil_A
Para j=1 hasta Col_A
SR_AB (i, j) = M_A(i, j) + M_B(i, j)
Mostrar “La matriz suma es (i , j) “ & SR_AB (i, j)
Siguiente j
Siguiente i
De lo contrario
Mostrar “No se puede realizar la operación”
Fin Si

Caso “M”
Si (Col_A = Fil_B) entonces
Para i=1 hasta Fil_A
Para j=1 hasta Col_B ¡Se calcula el elemento i,j
Mult_AB (i, j) = 0
Para k=1 hasta Col_A
Para l=1 Hasta Fil_B
Mult_AB (i, j) = M_A(i, k) * M_B(l, j) + Mult_AB (i, j)
Siguiente l
Siguiente k

Siguiente j
Siguiente i
Para i=1 hasta Fil_A
Para j=1 hasta Col_B
Mostrar “La matriz suma es (i , j) “ & Mult_AB (i, j)
Siguiente j
Siguiente i
De lo contrario
Mostrar “No se puede realizar la operación”
Fin Si
De lo contrario
Ope = “T”
Fin select
Hasta que Ope=”S” o Ope=”R” o Ope=”M” o Ope=”T”

Ejemplo

Sub Ejecutar()
Dim Nota(100) As Integer
Dim F(100) As Integer, N As Integer, c As Integer
Dim S As Integer, Ap As Integer, Max As Integer, Moda As Integer
'Limpiar Vector de frecuencias
For c = 0 To 100
F(c) = 0
Nota(c) = 0
Cells(5 + c, 2) = 0: Cells(5 + c, 4) = 0
Next c
'Cantidad de alumnos que participan en la evaluación
Do
N = Val(InputBox("Ingrese la cantidad de alumnos"))
Loop Until N > 0 And N <= 100
[B2] = N
'Ingreso de notas
'Calcular y mostrar la frecuencia de notas
For c = 0 To N
Do
Nota(c) = Val(InputBox("Ingrese la nota del alumno:" & c))
Loop Until Nota(c) >= 0 And Nota(c) <= 100
Cells(5 + c, 2) = Nota(c)
Next c
For c = 0 To N
F(Nota(c) - 1) = F(Nota(c) - 1) + 1
Next c
For c = 0 To 100
Cells(5 + c, 4) = F(c)
Next c

'Nota promedio
S=0
For c = 0 To N
S = S + Nota(c)
Next c
[H6] = S / (N + 1)
'La moda (nota que más se repite)
Max = 0
For c = 0 To 100
If F(c) >= Max Then Max = F(c): Moda = c + 1
Next c
[h7] = Moda
'% de alumnos aprobados
Ap = 0
For c = 0 To 100
If Nota(c) >= 60 Then
Ap = Ap + Nota(c)
End If
Next c

[h8] = Round(Ap / N * 100, 2) & "%"


End Sub

También podría gustarte