Upload
zackkariqueverasobrados
View
252
Download
1
Embed Size (px)
Citation preview
7/26/2019 Vectores y matrices en VBA
1/32
Algoritmos (INVectores y Matr
Prof. Bethy De la Cer
Copyright 2016
7/26/2019 Vectores y matrices en VBA
2/32
Frases del da
Controlar la complejidad es la esencia
de la programacin (Brian Kernigan) La funcin de un buen software es
hacer que lo complejo aparente sersimple (Grady Booch)
Un gran operario de tornos vale varias
veces ms que un operario medio, peroun gran escritor de cdigo vale 10.000veces el precio de un desarrolladormedio (Bill Gates)
15/05/2016 Algoritmos Vectores y Matrices
Bill Gates - Empresay filntropo estadou
cofundador de Micro
7/26/2019 Vectores y matrices en VBA
3/32
Agenda
Introduccin
Estructuras unidimensionales - Vectores
Estructuras bidimensionales - Matrices
Ejemplos y aplicaciones
Ejercicios
15/05/2016 Algoritmos Vectores y Matrices
7/26/2019 Vectores y matrices en VBA
4/32
Introduccin: Arreglos
En informtica resulta conveniente
agrupar datos del mismo tipo bajo unsolo nombre de variable
Estas estructuras de datos sedenominan arreglos (arrays)
Los arreglos pueden tener muchasdimensiones, los ms comunes son de
una dimensin (vectores) y de dosdimensiones (matrices)
Cada elemento es identificado por laposicin (ndices) que ocupa dentrodel arreglo
15/05/2016 Algoritmos Vectores y Matrices
7/26/2019 Vectores y matrices en VBA
5/32
V(0) V(N-1)V(2)
V(1) V(3)15/05/2016
Declare el vector de la siguiente manera:
Dim V ( N ) As TipoDonde:
V, es el nombre del vectorN, es un valor que indica la cantidad mxima de elemenEl ndice empieza en cero por defecto (N+1 elementos)
ndice
Dato0 Dato1 Dato2 Dato3 Dato4 DatoN-1
Algoritmos Vectores y Matrices
Declaracin de un Vector
7/26/2019 Vectores y matrices en VBA
6/32
Ejemplos de declaracin de vectores
Dim V(20) As Integer
Dim X(-3 to 7) As String
Dim Nota(1 To 30) As Single
Dim Celular(1 to 100) As String*9
15/05/2016 Algoritmos Vectores y Matrices
7/26/2019 Vectores y matrices en VBA
7/32
Ejemplo: Si desea ingresar el nombre de 7 personas
Dim A ( 7 ) As String
Donde:A, es el nombre del vector7, es el valor que indica el ndice mximo del vectoEl ndice cero se incluye por defecto, aunque ste n
sea utilizado.
A(1) A(2) A(3)
Juan Carla Elsa AnaLuis
A(6) A(7)A(0) A(4) A(5)
Ejemplos de declaracin de un vector
15/05/2016 Algoritmos Vectores y Matrices
7/26/2019 Vectores y matrices en VBA
8/32
Declare el matriz de la siguiente manera:
Dim M ( F, C ) As Tipo
Donde:M, es el nombre de la matrizF, es un valor que indica la cantidad mxima
de filas de la matriz (empieza en la fila 0)C, es un valor que indica la cantidad mxima de columnade la matriz (empieza en la columna 0)
Ejemplos:Dim Tabla(10, 20) As IntegerDim Matriz(1 To 5, 1 to 30) As Single
Declaracin de una Matriz
15/05/2016 Algoritmos Vectores y Matrices
7/26/2019 Vectores y matrices en VBA
9/32
Ejemplo: Declaracin de una ma
Declare una matriz que permita almacenar las venta
efectuadas en cada una de las T tiendas de un superpara cada una de las L lneas de productos que come
Dim Ventas (1 to 30, 1 to 20) as Single
Nota: Se debe asumir una cantidad mxima de tiendas,as como de las lneas de producto que se comercializa.En el ejemplo 30 y 20.
Algoritmos Vectores y Matrices
7/26/2019 Vectores y matrices en VBA
10/32
Ejemplo: Ordenamiento de datos en u
Pasos a tomar en cuenta:
Los datos a ordenar deben seralmacenados en un Vector
Aplicar el algoritmo deordenamiento (por ejemplo:bubble sorto burbuja)
Mostrar los datos ordenados
Algoritmos Vectores y Matrices
7/26/2019 Vectores y matrices en VBA
11/32
Algoritmo de la burbuja (Bubble Sort)
Ordenamiento ascendente de los elementos del vector V ( )
For i = 1 to N
1For j = i + 1 to N
If V ( i ) > V (j ) then
Temp = V ( i )V ( i ) = V (j )V (j ) = Temp
End If
Next j
Next i
Intercambio de
datos
15/05/2016 Algoritmos Vectores y Matrices
7/26/2019 Vectores y matrices en VBA
12/32
Ejemplo 1: Evaluacin de edades
Ingrese el nombre y la edad de N personas.
Muestre los datos ingresados en celdas Excel.
Finalizado el ingreso de datos muestre:
o El promedio de edades
o % de personas con edades superiores al promedio
o El nombre de las personas con edades superiores al promedio
o Nombre de las personas que tienen la edad mxima
15/05/2016 Algoritmos Vectores y Matrices
7/26/2019 Vectores y matrices en VBA
13/32
Solucin
Ingresar N
S 0
Para C = 1 a N
Repetir
Ingresar Nombre(C)
Hasta Nombre(C)
Repetir
Ingresar Edad(C)
Hasta Edad(C) > 0 y Edad(C) < 120
Mostrar Nombre(C), Edad(C)
S S + Edad(C)
Siguiente C
Prom S/N
Mostrar Prom
Algoritmos Vectores y Matrices
1
2
3
4
5
6
J
A
L
R
E
An
Nom
Nombre(3)
Edad(3)
Posicin del elemento
7/26/2019 Vectores y matrices en VBA
14/32
Ejemplo 2: Operaciones con vectores
Elabore una aplicacin que permita ingresar los elem
de 2 vectores y realice las siguientes operaciones:o Suma de los vectores
o Diferencia de los vectores
o Producto escalar
Nota: Debe verificar que ambos vectores tengan la misma cantidad de e
15/05/2016 Algoritmos Vectores y Matrices
7/26/2019 Vectores y matrices en VBA
15/32
Ejemplo 3: Frecuencia de notas
Elabore un proyecto que permita ingresar N notas, las notas
ser: 0, 1, 2, 3, .99, 100.
Finalizado el ingreso de datos muestre lo siguiente
o Frecuencia de notas, es decir cuntas notas 0, 1, 2, 100 se registr
o La nota ms frecuente (es decir la moda)
o La nota promedioo Listado y % de alumnos aprobados
Nota: Se aprueba con 60
15/05/2016 Algoritmos Vectores y Matrices
7/26/2019 Vectores y matrices en VBA
16/32
Ejemplo 4: Produccin
Se desea saber cul es la produccin total (acumulada) de cada umquinas de una empresa industrial.
Las 100 mquinas estn identificadas como: 100, 101, 102, 19
Cada vez que una mquina produce se ingresa al programa el CMquina y la Cantidad de Unidades producidas por ella. Una mpuede ser considerada muchas veces.
El ingreso de datos finaliza cuando el usuario del sistema contest
afirmativamente a la respuesta: Desea terminar? Finalizado el ingreso de datos muestre lo siguiente:
o Cantidad producida por cada una de las mquinas
o Mquina de menor produccin
o Promedio de unidades producida por mquina
15/05/2016 Algoritmos Vectores y Matrices
7/26/2019 Vectores y matrices en VBA
17/32
15/05/2016 Algoritmos Vectores y Matrices
Ejercicios
7/26/2019 Vectores y matrices en VBA
18/32
Ejercicio 1: Clientes
Se registran los nombres y los montos adeudados
por los clientes de la empresa XYZ S.A.No se sabe exactamente cuntos clientes son
Muestre un listado de los clientes junto con elmonto adeudado
Ordene los clientes de acuerdo al monto adeudado
en orden descendente
15/05/2016 Algoritmos Vectores y Matrices
7/26/2019 Vectores y matrices en VBA
19/32
Ejercicio 2: Estadsticas
Ingrese las edades de un grupo de personas
y determine lo siguiente:o Promedio
o Varianza
o Desviacin Estndar
No se sabe exactamente cuntos datos seingresarn
15/05/2016 Algoritmos Vectores y Matrices
7/26/2019 Vectores y matrices en VBA
20/32
Ejercicio 3: Serie de Fibonacci
Elabore un proyecto que genere los N
primeros trminos de la serie deFibonacci:
o 1, 1, 2, 3, 5, 8, 13, 21, 34
N, es un nmero entero ingresado comodato
Debe almacenar en un vector lostrminos pares y en otro los trminosimpares.
15/05/2016 Algoritmos Vectores y Matrices
216
135
54
33
12
11
Elementos
Impares
216
135
54
33
12
11
7/26/2019 Vectores y matrices en VBA
21/32
Ejercicio 4: Depuracin
Desarrolle una aplicacin que le permita
depurar los elementos de un vector.Ejemplo:
o Datos del Vector: 8, 5, 12, 8, 12, 5, 7
o Vector depurado: 8, 5, 12, 7
15/05/2016 Algoritmos Vectores y Matrices
7/26/2019 Vectores y matrices en VBA
22/32
Ejercicio 5: Seleccin de personal
Se ingresa el nombre, la talla y peso de los participantes paracubrir un puesto en la empresa.
Las condiciones que debe cumplir el postulante son:o No se aceptan participantes con talla < 1.58 m.
o No se aceptan pesos
7/26/2019 Vectores y matrices en VBA
23/32
Ejercicio 6a: Pedidos
Se ingresan en dos vectores: Nombre del
cliente y Cantidad de productos solicitados Tome en consideracin lo siguiente:
o Solo se cuenta con un stock de Q unidades
o Un cliente puede hacer varios pedidos
o No se sabe exactamente cuntos pedidos seatendern, por lo que los datos se ingresan hasta
que el usuario conteste: No, a la pregunta, Hayms pedidos por atender? o se haya agotado elstock de Q unidades.
15/05/2016 Algoritmos Vectores y Matrices
7/26/2019 Vectores y matrices en VBA
24/32
Ejercicio 6b: Pedidos
TOTAL PEDIDOS DE UN CLIENTE
o
Solicite el nombre de un cliente, si ste existe,indique cuntos pedidos hizo y cul es el total deunidades solicitados por l.
ELIMINAR PEDIDOS DE UN CLIENTE
o Pida el nombre de un cliente, si ste existe, eliminede ambos vectores el nombre del cliente y las
unidades solicitadas por l.
Nota: Debe eliminar tambin los espacios en blanco quequeden en los dos vectores correspondientes a los datoseliminados.
15/05/2016 Algoritmos Vectores y Matrices
7/26/2019 Vectores y matrices en VBA
25/32
Ejercicio 7: Reclamos
Elabore una aplicacin que registre en un vector elnmero de reclamos que efectuaron durante un meslos clientes de una empresa.
Realice lo siguiente:
o Solicite el nmero de reclamos de cada cliente y almacnelosen el vector RECLAMO ( ). El ingreso termina cuando secontesta No a la pregunta Hay ms reclamos?
o Finalizado el ingreso de datos y empleando el vectorRECLAMO ( ) debe calcular y mostrar:
o Pase al vector URGENTE ( ), todos aquellos reclamos quesean mayores a 3. Cuntos clientes tienen ms de 3reclamos.
o Cul es el promedio de los reclamos urgentes?
15/05/2016 Algoritmos Vectores y Matrices
l
7/26/2019 Vectores y matrices en VBA
26/32
Ejercicio 8a: Analizar programa
Dado el siguiente vector V( ) de 6 elementos:
Indique cul es el valor mostrado para P, luego de ejecutarse el ssegmento de programa:
R = 0 : X = 0
For C = 2 to 6 Step 2If V ( C ) < > 0 then R = R + V( C ) \ 2
X = X + 1
Next C
Valor de R : ______ Valor de X: ______
15/05/2016
2 3 0 5 8 1
Algoritmos Vectores y Matrices
Ej i i 8b A li
7/26/2019 Vectores y matrices en VBA
27/32
Dado el vector V( ) de 6 elementos:
Indique cul es el valor mostrado para S, luego de ejecutarse el ssegmento de programa:
X = 3 : C= 0
DoC = C + 2
S = S + V ( C )
Loop Until S > X
Valor de S : ______
Ejercicio 8b: Analizar programa
2 3 0 5 8 1
15/05/2016 Algoritmos Vectores y Matrices
Ej i i 9 O d i i
7/26/2019 Vectores y matrices en VBA
28/32
Ejercicio 9: Ordenar instrucciones
Instruccin Nmero
Max =0
Label3 = El mximo valor del vector es: & Max
V( C ) = Val (InputBox (Ingrese el elemento : & C))
N = Val (Text1)
Dim N As Integer, V(1 to 6) As Integer, Max As Integer, C As Integer
C = C + 1
Loop Until C = N
C = 0
If V( C ) > Max then Max = V ( C )
Do
15/05/2016 Algoritmos Vectores y Matrices
7/26/2019 Vectores y matrices en VBA
29/32
Ej i i 11 T t
7/26/2019 Vectores y matrices en VBA
30/32
Ejercicio 11: Teatro
Elabore una aplicacin que permita venderlas entradas a un teatro de F filas y A asientospor fila.
La venta termina cuando no hay ms clientespor attender o se agotaron todas lasentradas.
Finalizada las ventas indique qu % del totalde entradas se vendieron
Cul es la fila ms vendida?
15/05/2016 Algoritmos Vectores y Matrices
Ejercicio 12 Ventas al crdito
7/26/2019 Vectores y matrices en VBA
31/32
Ejercicio 12: Ventas al crdito
Elabore una macro que permita ingresar el nombre de un cliente, si esexiste lo ingresa al final de la lista. A continuacin solicite el ingreso de
letra: C o P para indicar si se trata de una venta al crdito o el pago de
Realizada la transaccin, actualice el valor de la celda correspondiente
Calcule y muestre el monto anual adeudado por cada uno de los clien
15/05/2016 Algoritmos Vectores y Matrices
Ejercicio 13: Operaciones con matrices
7/26/2019 Vectores y matrices en VBA
32/32
Ejercicio 13: Operaciones con matrices
Ingrese 2 matrices y realice las
siguientes operaciones:o Suma de matrices
o Diferencia de matrices
o Producto de matrices
15/05/2016 Algoritmos Vectores y Matrices