Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Es una estructura de datos dispuesta en forma de filas y columnas donde se puede almacenar información de acuerdo al
tipo de datos y al número de filas y de columnas, que se establezca al declarar la matriz.
1 2 3 4 5 6 7
1
A= 4
7 A[7][7]
Los subíndices de una matriz pueden ser: Constante entera, Vble entera o expresión aritmética entera
A[I][J]
A[2][3]
A[i+2] [j*i-1]
Leer una matriz por filas Leer una matriz por Columnas
A[N][N] // matriz cuadrada A[N][N]
Para fil =1, N, 1 Para col =1, N, 1
Para col ←1, N, 1 Para fil ←1, N, 1
Lea A[fil][col] Lea A[fil][col]
FinPara FinPara
FinPara FinPara
A[5][4] A[5][4]
Para fil =1, 5, 1 Para col =1, 4, 1
Para col ←1, 4, 1 Para fil ←1, 5, 1
Lea A[fil][col] Lea A[fil][col]
FinPara FinPara
FinPara FinPara
A[5][4] A[5][4]
Una agencia de venta de vehículos distribuye 8 modelos diferentes y cuenta con 5 vendedores. Lea una matriz donde se
almacene la cantidad de vehículos vendidos por cada vendedor de cada modelo y responda las siguientes preguntas:
V=
VE N DE DO RES
1 2 3 4 5
M 1 3 0 0 6 2 11
O 2 4 1 1 8 9 23
D 3 5 0 2 0 3 10
E 4 6 1 8 9 2 26
L 5 1 3 4 5 0 13
O 6 2 3 4 1 4 14
S 7 3 5 0 1 0 9
8 1 3 2 0 2 8
25 16 21 30 22
I= filas
J= Columnas
INICIO
Enteros V[8][5], MayorMod, Summod, CualModelo, Sumven,CualVendedor, I, J, TOTAL ←0
Para I ← 1, 8, 1
Para J ← 1, 5, 1
Lea V[I] [J]
FinPara
FinPara
MayorMod ← 0
Para I ← 1, 8, 1
Summod ← 0
Para J ← 1, 5, 1
Summod ← Summod + V[I][J]
FinPara
Escriba “la cantidad de ventas del modelo ”, I_, “Es:”, Summod
Si (Summod > MayorMod)
MayorMod ← Summod
CualModelo ← I
FinSi
TOTAL ← TOTAL + Summod
FinPara
Mayorven ← 0
Para J ← 1, 5, 1
Sumven ← 0
Para I ← 1, 8, 1
Sumven ← Sumven + V[I][J]
FinPara
Escriba “la cantidad de ventas de vendedor ”, __J__, “Es:”, Sumven
Si (Sumven > Mayorven)
Mayorven ← Sumven
CualVendedor ← J
FinSi
FinPara
Escriba TOTAL, CualVendedor, CualModelo
FIN
Ejercicio No. 2
Diagonal Principal
A[N][N]
34, 35, 36
45,46
5,6
Prod= 1
PARA I= 1, N-1, 1
PARA J= I+1, N, 1
FinPara
FinPara
Sumar los elementos de la diagonal principal
I= 1 J=1
I= 2 J=2
I=3 J=3
Para I = 1,N, 1
Finpara
Ejercicio No. 3
Intercambiar la Primera fila con la última, la segunda con la penúltima, la tercera con la antepenúltima y así hasta donde
sea posible.
Para I← 1, N div2 , 1
Para J ← 1, N, 1
A[I][J] ← A[ N - I +1 ] [J]
A[ N - I +1 ] [J] ← Temp
FinPara
FinPara
Ejercicio No. 4
INICIO
// Solución usando Mientras Que
1 2 3 4 5
I ←1
4 1 81 9 0 -1
SW ← 0
8 2 5 3 15 20 MQ (I <= N-1) y ( SW=0)
9 3 3 12 -1 -1 J ← I +1
0 4 15 -1 3 45 MQ (J<= N) y SW=0)
I= 1, J=2, 3, 4, 5
A12 A21
A13 A31
A14 A41
A15 A51
I=2, J= 3, 4, 5
A23 A32
A24 A42
A25 A52
I=3 J=4, 5
A34 A43
A35 A53
I=4 J=5
A45 A54
SW= 0
Para I ← 1, N-1, 1
Para J= I+1, N, 1
SI A[I][J] <> A[J][I]
SW ← 1
J ← N+1
I←N
FinSi
FinPara
FinPara
Si (SW==0)
Escriba “ Simetrica”
Sino
Escriba “ No es simétrica”
FinSi
Ejercicio No. 6.
Para I ← 1, 20, 1
Sum= 0
Para J ← 1, 10, 1
HH
Lea T[I][J]
FINHH (T[I][J] >0)
Sum ← Sum + T[I][J]
FinPara
T[I][11] ← Sum
FinPara
HH
Lea etapa
FINHH (etapa >= 1 y etapa <= 10)
Menor ← 9999
Para I= 1, 20 ,1
Si (T[I][etapa] < Menor)
Menor ← T[I][etapa]
Primero ← I
Fsi
FinPara
Menor ← 9999
Para I= 1, 20 ,1
Si (I <> Primero)
Si (T[I][etapa] < Menor)
Menor ← T[I][etapa]
Segundo ← I
FinSi
Fsi
FinPara
Para I= 1, 20 ,1
Si (I <> Primero y I <> Segundo)
Si (T[I][etapa] < Menor)
Menor ← T[I][etapa]
Tercero ← I
Fsi
FSi
FinPara
Escriba “ Los tres primeros puestos de la etapa”, etapa, “fueron”, Primero, Segundo, Tercero
etapa ← 11
Menor ← 9999
Para I= 1, 20 ,1
Si (T[I][etapa] < Menor)
Menor ← T[I][etapa]
Primero ← I
Fsi
FinPara
Para I= 1, 20 ,1
Si (I <> Primero)
Si (T[I][etapa] < Menor)
Menor ← T[I][etapa]
Segundo ← I
FinSi
Fsi
FinPara
Para I= 1, 20 ,1
Si (I <> Primero y I <> Segundo)
Si (T[I][etapa] < Menor)
Menor ← T[I][etapa]
Tercero ← I
Fsi
FSi
FinPara
Escriba “Los tres primeros puestos del evento fueron”, Primero, Segundo, Tercero
FIN.
HH
Escriba “ 5. Terminar”
Lea Op
DD Op
1: Para I ← 1, 20, 1
Para J ← 1, 10, 1
HH
Lea T[I][J]
FINHH (T[I][J] >0)
FinPara
FinPara
2: Para I ← 1, 20, 1
Sum ← 0
Para J ← 1, 10, 1
Sum ← Sum + T[I][J]
FinPara
T[I][11] ← Sum
FinPara
3: HH
Lea etapa
FINHH (etapa >= 1 y etapa <= 10)
Menor ← 9999
Para I= 1, 20 ,1
Si (T[I][11] < Menor)
Menor ← T[I][etapa]
Primero ← I
Fsi
FinPara
Menor ← 9999
Para I= 1, 20 ,1
Si (I <> Primero)
Si (T[I][etapa] < Menor)
Menor ← T[I][etapa]
Segundo ← I
FinSi
Fsi
FinPara
Menor ← 9999
Para I= 1, 20 ,1
Si (I <> Primero y I <> Segundo)
Si (T[I][etapa] < Menor)
Menor ← T[I][etapa]
Tercero ← I
Fsi
FSi
FinPara
Escriba “ Los tres primeros puestos de la etapa”, etapa
Escriba Primero, segundo y tercero
4: etapa ← 11
Menor ← 9999
Para I= 1, 20 ,1
Si (T[I][etapa] < Menor)
Menor ← T[I][etapa]
Primero ← I
Fsi
FinPara
Para I= 1, 20 ,1
Si (I <> Primero)
Si (T[I][etapa] < Menor)
Menor ← T[I][etapa]
Segundo ← I
FinSi
Fsi
FinPara
Menor = 9999
Para I= 1, 20 ,1
Si (I <> Primero y I <> Segundo)
Si (T[I][etapa] < Menor)
Menor ← T[I][etapa]
Tercero ← I
Fsi
FSi
FinPara
Escriba “ Los tres primeros puestos del evento”
Escriba Primero, segundo y tercero
5: Escriba “FIN”
FINHH( Op= 5)
Ejercicio No. 7
El Señor Pérez, dueño de la compañía HH&SS requiere de un programa que le permita calcular la nómina mensual de sus
trabajadores. Sus requerimientos son los siguientes:
1. Utilizar un arreglo bidimensional que almacene la siguiente información de los N empleados: cédula de cada
empleado, sueldo básico, valor total horas extras diurnas, valor total horas extras nocturnas, valor total horas
extras dominicales, descuento para salud, descuento para pensión, subsidio de transporte y Sueldo total
mensual.
a. Las horas extras se calculan así:
i. Hora extra diurna: La hora extra diurna tiene un recargo del 25% sobre el valor ordinario de la hora.
ii. Hora extra nocturna: La hora extra nocturna tiene un recargo del 75% sobre el valor de la hora
ordinaria.
iii. Hora extra dominical: La hora extra dominical tiene un recargo del 100% sobre el valor de la hora
ordinaria.
b. Los descuentos se calculan así:
i. Salud: 4% de todo lo devengado por el empleado
ii. Pensión: 4% de todo lo devengado por el empleado
c. Subsidio de Transporte: Equivale a $74.000 y se paga a los trabajadores que devengan hasta dos salarios
mínimos mensuales (incluidas las horas extras) (salario mínimo=$644.350 ( Hace 5 años))
2. Solo se deben leer los siguientes datos: cédula, sueldo básico, número de horas extras diurnas, número de horas
extras nocturnas, número de horas extras dominicales.
3. El programa debe realizar todos los respectivos cálculos y mostrar la nómina mensual de los N empleados de la
compañía.
INICIO
Reales M [100][12], Vlrhora, Sum, Total←0
Enteros I, J, N
Lea N
Para I←1, N, 1
Para J ← 1, 5, 1
Lea M[I] [j]
FinPara
Vlrhora ← M[I][2]/240
M[I][6] ← M[I][3]*VlrHora*1.25
M[I][7] ← M[I][4]*VlrHora*1.75
M[I][8] ← M[I][5]*VlrHora*2
Sum ← M[I][2]+ M[I][6]+ M[I][7]+ M[I][8]
M[I][9] ← Sum * 0.04
M[I][10] ← M[I][9]
Si (Sum <= 2* 644350 ) ent
M[I][11] ← 74000
Sino
M[I][11] ← 0
FinSi
M[I][12] ←Sum + M[I][11] – M[I][9] – M[I][10]
Total ← Total + M[I][12]
FinPara
Escriba Total
Para I ← 1, n,1
Para J ← 1, 12, 1
Escriba M[I][J]
FinPara
FIN
Ejercicio No. 8
Una matriz se puede usar para representar los costos de los tiquetes que hay entre una lista de N ciudades en Colombia,
donde la posición M[i, j] puede tener: un costo mayor que cero, un cero para representar que no hay costo, o un -1, si
no hay ruta directa. La matriz del ejemplo aquí abajo tiene los costos entre 4 ciudades, donde Bogotá (la columna y fila 1
al mismo tiempo) tiene ruta directa con todas las otras ciudades. Escribe un algoritmo que lea la matriz de costos.
Después reemplaza los -1 por el costo de ir de esa ciudad a la otra pasando por Bogotá. Por último debes decir la ciudad
a la cual es menos costoso en promedio ir que a las otras ciudades.
De/ 1 2 3 4 Ejemplo: en la matriz M[3,2] = -1. Significa que no hay De/Hacia 1 2 3 4
Hacia
1 0 10 200 500
ruta directa de la ciudad 3 a la 2. El nuevo valor de 1 0 100 200 500
0 M[3,2] es 200 + 100 = 300, que es el valor de ir de la 2 100 0 300 200
2 100 0 -1 200 ciudad 3 a la 1 (costo 200) más el costo de ir de la 3 200 300 0 700
3 200 -1 0 -1 ciudad 1 a la 2 (costo 100). La matriz original quedaría 4 500 200 700 0
4 500 20 -1 0 como se muestra a continuación, además que la
0 ciudad con costo promedio menor es la ciudad No. 2.
De/ 1 2 3 4
Hacia
1 0 10 200 500
0
2 100 0 -1 200
3 200 -1 0 -1
4 500 20 -1 0
0
Para I← 1, 4, 1
Para J ← 1, 4, 1
Lea M[I][J]
Finpara
FinPara
Para I← 1, 4, 1
Para J ← 1, 4, 1
Si (M[I][J] = -1)
M[I][J] ← M[I][1] + M[1][J]
FinSi
FinPara
FinPara
Para I← 1, 4, 1
Para J ← 1, 4, 1
Escriba M[I][J]
Finpara
FinPara
FIN
1 2 3 4 5
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
Para I= 1, N, 1
Para J = 1, N, 1
Si (I= j) o (J = 1)
A[I][J] = 1
Sino
A[I][J] = A[I-1][j-1] + A[i-1][J]
FinSi
FinPara
FinPara
Ejercicio No 10.
La empresa INGENIERIA S.A.S con el fin de gestionar los proyectos a su cargo decide organizarlos en fases
así: Inicio, Planeación, Ejecución y Cierre. Para llevar a cabo el seguimiento y control de las horas invertidas
en cada proyecto utiliza la matriz HORAS. En esta matriz se encuentran registrados, para cada uno de los N
proyectos que maneja la compañía actualmente, el número de horas invertidas en cada fase del proyecto,
INICIO
Enteros Horas[100][5], Estado[100], Sum, N, I, J, Mayor
Lea N
Para I←1, N, 1
Para J ←1, 4, 1
Lea Horas [I] [j]
Finpara
FinPara
Para I←1, N, 1
Sum ← 0
Para J ←1, 4, 1
Sum ← Sum + Horas [I] [j]
Finpara
Horas [I ][5] ← Sum
FinPara
Para I ← 1, N, 1
Si Horas [I][4] > 0
Estado [I] ← 2
Sino
Si (Horas [I][1] > 0)
Estado[I] ← 1
Sino
Estado[I] ← 3
FinSi
FinSi
FinPara
Mayor ← -9999
Para I← 1, N, 1
Si Estado [I] = 1
Si Horas[I] [5] > Mayor
Mayor ← Horas[I][5]
Proyecto ← I
Fsi
FinSi
FinPara