Documentos de Académico
Documentos de Profesional
Documentos de Cultura
2019-1 Algoritmos - UNIDAD 3 - Estructuras de Datos AV PDF
2019-1 Algoritmos - UNIDAD 3 - Estructuras de Datos AV PDF
Introducción
Estructuras unidimensionales - Vectores
Estructuras bidimensionales - Matrices
Ejemplos y aplicaciones
Ejercicios
Índice
V(0) V(2) V(N-1)
V(1) V(3) Copyright © 2019 - BDC
V(N) 5
Declaración de un vector
Si desea ingresar el nombre de hasta 7 personas
Dim A( 7 ) As String
Donde:
A, es el nombre del vector
7, es el valor que indica la cantidad máxima de elementos del
vector, en este caso 8 ya que incluye la posición cero.
1 2 3 4 5
NOTAS 15 18 7 18 16
1 2 3 4 5
Copyright © 2019 - BDC 8
¿Cómo acceder a los elementos de un vector?
Tabla de variables
Variable Descripción Tipo de dato Uso Validación
Alumno(1 a 5) Nombres Texto Entrada <>””
Nota(1 a 5) Notas Entero Entrada [0, 20]
c Contador Entero Intermedia
S Suma de notas Entero Intermedia
Ap Cant. aprobados Entero Salida
Prom Real Salida
S = 0 : Ap = 0
1
No Si
Nota(c ) >= 0 Y
1
Nota(c)<=20 Copyright © 2018 - BDC 12
promedio de edades.
Nombre(3) 2 Ana 8
Tarea: Incorpore las instrucciones necesarias para
que también realice lo siguiente: 3 Luís 17
o Calcule qué % de personas tienen una edad superior
4
al promedio. Rosa 12
o El nombre de las personas con edades superiores al
Edad(3) 5 Eva 71
promedio
o Nombre de las personas que tienen la edad máxima
6 Andrés 15
Algoritmos
Copyright
– Vectores
© 2019 y- Matrices
BDC 14
Solución
Tabla de variables
Variable Descripción Tipo de dato Uso Validación
Alumno(1 a 50) Nombres Texto Entrada <>””
Edad(1 a 50) Edades Entero Entrada >0
N Cant. de alumnos Entero Intermedia
c Contador de alumnos Entero Intermedia
S Suma de edades Entero Intermedia
Promedio Real Salida
Inicio c = 1, N
No No Nombre(c) Prom
N>0
<>””
Si Si
S=0 Fin
Edad(c)
1 No
Edad(c)> 0
Si
S = S + Edad(c)
Nota: Debe verificar que ambos vectores tengan la misma cantidad de elementos
Algoritmos
Copyright
– Vectores
© 2019 y- Matrices
BDC 19
Solución
Tabla de variables
Variable Descripción Tipo de dato Uso Validación
NA Nº Elementos del Entero Entrada > 0 , = NB
vector A
NB Nº Elementos del Entero Entrada > 0, = NA
vector B
A(1 a 50) Vector A Real Entrada
B(1 a 50) Vector B Real Entrada
c Contador de Entero Intermedia
elementos
P Producto escalar Real Salida
Para c = 1 hasta NA P
NA, NB
A(c)
No
NA = NB Y Fin
NA > 0 B(c)
Si
P=0 A(c) + B(c)
A(c) - B(c)
1
P = P + A(c) * B( c )
Siguiente c
Copyright © 2019 - BDC 21
Solución Diagrama NS
Inicio
Pseudocódigo Entero: NA, NB, c
Repetir Real: A(1 a 50), B(1 a 50) , P
Ingresar NA, NB Repetir
Ingresar: NA, NB
Hasta NA = NB y NA > 0 Hasta NA=NB y NA > 0
P =0 P=0
Para c = 1 a NA Para c = 1 hasta NA
Ingresar A(c) Leer A( c )
Ingresar B(c) Leer B( c )
Mostrar A( c ) + B( c )
Mostrar A(c) + B(c)
Mostrar A( c ) - B( c )
Mostrar A(c) - B(c) P = P + A( c ) * B( c )
P = P + A(c) * B(c) Siguiente c
Siguiente c
Mostrar “Producto escalar = “ & P
Mostrar P
Fin algoritmo
22
Copyright © 2018©- 2019
Copyright BDC - BDC
Solución
Macro VBA
33
Algoritmos
Copyright
– Vectores
© 2019 y- Matrices
BDC 24
Diagrama NS
Solución Inicio
Repetir Entero: NE, V(20), PAR(20), IMPAR(20), c, I, P
Ingresar NE
Pseudocódigo Repetir
Hasta NE > 0 Ingresar: NE
Para c = 1 hasta NE Hasta NE > 0 y NE <=20
Ingresar V(c) Para c = 1 hasta NE
Siguiente c Leer V( c )
Siguiente c
P=0 : I=0 P=0: I=0
Para c = 1 hasta NE Para c = 1 hasta NE
Si V(c) Resto 2 = 0 Entonces V( c ) Resto 2 = 0
Si No
P = P + 1 : PAR(P) = V( c)
Sino P =P+1 I=I+1
I = I + 1: IMPAR( I ) = V( c) PAR(P) =V(c) IMPAR( I ) = V(c)
Fin Si Siguiente c
Siguiente c Para c = 1 hasta P
Mostrar PAR( c )
Para c = 1 hasta I
Siguiente c
Mostrar IMPAR(c)
Mostrar “PAR( ) “& “ tiene “ & P &“ elementos”
Siguiente c
Para c = 1 hasta I
Mostrar ”El vector IMPAR tiene “ & I & “ elementos” Mostrar IMPAR( c )
Para c = 1 hasta P Siguiente c
Mostrar PAR(c)
Mostrar “IMPAR( )“& “tiene “ & I & “ elementos”
Siguiente c
Copyright ©Copyright
Mostrar ”El vector PAR tiene “ & P & “ elementos”
© 2018 - BDC
2019 - BDC Fin algoritmo 25
Solución
Macro VBA
Algoritmos
Copyright
– Vectores
© 2019 y- Matrices
BDC 28
Solución
Macro VBA
Pasos a seguir:
• Los datos a ordenar deben ser
almacenados en un Vector
• Aplicar el algoritmo de
ordenamiento (por ejemplo:
bubble sort o burbuja)
• Mostrar los datos ordenados
Algoritmos – Vectores
Copyright
y Matrices
© 2019 - BDC 31
Algoritmo de la burbuja (Bubble Sort)
Pasos 1 2 3
Aplique el método de
Ingrese las edades en un vector ordenamiento de la burbuja Muestre el vector ordenado
Dim M ( F, C ) As Tipo_dato 2
Donde:
3
M, es el nombre de la matriz
F, es un número entero que indica la cantidad
máxima de filas de la matriz (empieza en la fila 0)
C, es un número entero que indica la cantidad máxima de columnas
de la matriz (empieza en la columna 0)
Copyright © 2019 - BDC 35
Declaración de una matriz
L
Copyright © 2019 - BDC 36
Ejemplo 7: Suma de elementos de una matriz
Repetir
Pseudocódigo
Ingresar NF, NC
Hasta NF > 0 y NC > 0
Ingrese los elementos de una
Para F = 1 hasta NF
matriz y determine cuánto
Para C = 1 hasta NC
suman sus elementos.
Ingresar M(F,C)
Siguiente C
Mostrar F
S=0
Para F = 1 hasta NF
Para C = 1 hasta NC
S = S +M(F,C)
Siguiente C
Siguiente F
Copyright © 2019 - BDC 37
Mostrar S
Solución
Tabla de variables
Variable Descripción Tipo de dato Uso Validación
NF Nº de filas de la matriz Real Entrada [1, 10]
NC Nº de columnas de la Real Entrada [1, 10]
matriz
M(10,10) Matriz M Real Entrada
S Suma de elementos de la Real Salida
matriz
F Contador de filas Entero Intermedia
C Contador de columnas Real Intermedia
S=0
NF, NC
Para F = 1 hasta NF S
No
NF > 0 Y NC > 0
Para C = 1 hasta NC
Si
1 Fin
Para F = 1 hasta NF
S = S + M ( F, C )
Para C = 1 hasta NC
M(F,C) Siguiente C
Siguiente C Siguiente F
NC
Identidad = Verdad
NF, NC
Siguiente C
Siguiente C
Siguiente F
Siguiente F 44
Copyright © 2019 - BDC
Solución
Diagrama N-S 1
Identidad = Verdad
Inicio Para F = 1 hasta NF
Entero: NF, NC, F, C, M(10,10) Para C = 1 hasta NF
Lógico: Identidad (F = C y M(F,C) < > 1) o
Repetir (F <> C y M(F,C) <> 0)
Ingresar: NF, NC Si No
Hasta NF=NC y NF > 0
Identidad = Falso
Para F = 1 hasta NF
Para C = 1 hasta NF Siguiente C
Siguiente F
Leer M(F,C )
Identidad = Verdad
Siguiente C Si No
Mostrar “Es Mostrar “No es
Siguiente F
identidad” identidad”
1 Fin algoritmo
45
Copyright © 2019 - BDC
Solución
Macro VBA
Si se ingresa: 35253
Si se ingresa: 8428
Solución:
2 3 0 5 8 1
Indique cuál es el valor mostrado para P, luego de ejecutarse el siguiente
segmento de programa:
R=0: X=0
Para C = 2 hasta 6 Paso 2
Si V ( C ) < > 0 Entonces R = R + V( C ) \ 2
X=X+1
Siguiente C
Valor de R : ______ Valor de X: ______
Copyright © 2019 - BDC 61
Tarea 2: Analizar algoritmo
2 3 0 5 8 1
Indique cuál es el valor mostrado para S, luego de ejecutarse el siguiente
segmento de programa:
X = 3:C=0:S=0
Repetir
C=C+2
S= S+V(C)
Hasta S > X
Valor de S : ______
o Desviación Estándar
𝑛 2
𝑖=1 𝑥𝑖 − 𝑥
𝜎=
𝑛
6 21
Copyright © 2019 - BDC 64
Tarea 5: Vector de Primos
Primo( )
1 2
2 3
3 5
4 7
5 11
6 13
7 17
Copyright © 2019 - BDC 65
Tarea 6: Depuración
Ingrese las ventas realizadas por una cadena de supermercados en sus T tiendas,
para cada una de las L líneas de productos comercializados.
Muestre cuál es el total vendido por tienda
Muestre cúal es el total vendido por línea
¿Cuál fue la tienda y la línea correspondiente a la mayor venta?
76
Copyright © 2019 - BDC
Tarea 16: Ventas al crédito
Algoritmos
Copyright
– Vectores
© 2019 y- Matrices
BDC 77
Tarea 17: Gestión de proyectos
Algoritmos
Copyright
– Vectores
© 2019 y- Matrices
BDC 80
Tarea 19:
Algoritmos
Copyright
– Vectores
© 2019 y- Matrices
BDC 81
Tarea 20: Trabajadores
Finalizado el ingreso de los nombres al vector, solicite para cada uno de ellos, la cantidad de horas
semanales trabajadas y el pago por hora, a continuación calcule el pago semanal y almacénelo en un
vector, considerando que por cada hora adicional a 40, se le paga el doble.
Ordenar los sueldos pagados ascendentemente y muestre los datos ordenados de los 2 vectores (nombre y
pago)
82