Вы находитесь на странице: 1из 32

Algoritmos (IN220)

Vectores y Matrices
Prof. Bethy De la Cerna G.
Copyright 2016

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 ser
simple (Grady Booch)
Un gran operario de tornos vale varias
veces ms que un operario medio, pero
un gran escritor de cdigo vale 10.000
veces el precio de un desarrollador
medio (Bill Gates)
15/05/2016

Algoritmos Vectores y Matrices

Bill Gates - Empresario, informtico


y filntropo estadounidense,
cofundador de Microsoft

Agenda
Introduccin
Estructuras unidimensionales - Vectores
Estructuras bidimensionales - Matrices
Ejemplos y aplicaciones
Ejercicios

15/05/2016

Algoritmos Vectores y Matrices

Introduccin: Arreglos
En informtica resulta conveniente
agrupar datos del mismo tipo bajo un
solo nombre de variable
Estas estructuras de datos se
denominan arreglos (arrays)
Los arreglos pueden tener muchas
dimensiones, los ms comunes son de
una dimensin (vectores) y de dos
dimensiones (matrices)
Cada elemento es identificado por la
posicin (ndices) que ocupa dentro
del arreglo
15/05/2016

Algoritmos Vectores y Matrices

Declaracin de un Vector
Declare el vector de la siguiente manera:

Dim V ( N ) As Tipo
Donde:
V, es el nombre del vector
N, es un valor que indica la cantidad mxima de elementos
El ndice empieza en cero por defecto (N+1 elementos)
Dato0

Dato1

Dato2

Dato3

Dato4

DatoN-1

DatoN

ndice
V(0)

V(2)
V(1)

15/05/2016

V(N-1)
V(3)
Algoritmos Vectores y Matrices

V(N)
5

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

Ejemplos de declaracin de un vector


Ejemplo: Si desea ingresar el nombre de 7 personas

Dim A ( 7 ) As String
Donde:
A, es el nombre del vector
7, es el valor que indica el ndice mximo del vector.
El ndice cero se incluye por defecto, aunque ste no
sea utilizado.

A(0)
15/05/2016

Juan

Carla

Elsa

Luis

Ana

A(1)

A(2)

A(3)

A(4)

A(5)

Algoritmos Vectores y Matrices

A(6)

A(7)
7

Declaracin de una Matriz


Declare el matriz de la siguiente manera:

Dim M ( F, C ) As Tipo
Donde:
M, es el nombre de la matriz
F, 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 columnas
de la matriz (empieza en la columna 0)
Ejemplos:
Dim Tabla(10, 20) As Integer
Dim Matriz(1 To 5, 1 to 30) As Single
15/05/2016

Algoritmos Vectores y Matrices

Ejemplo: Declaracin de una matriz


Declare una matriz que permita almacenar las ventas
efectuadas en cada una de las T tiendas de un supermercado
para cada una de las L lneas de productos que comercializa.
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

Ejemplo: Ordenamiento de datos en un vector


Pasos a tomar en cuenta:
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 y Matrices

10

Algoritmo de la burbuja (Bubble Sort)


Ordenamiento ascendente de los elementos del vector V ( )
For i = 1 to N 1
For j = i + 1 to N
If V ( i ) > V ( j ) then
Temp = V ( i )
Intercambio de
V(i) = V(j)
datos
V ( j ) = Temp
End If
Next j
Next i
15/05/2016

Algoritmos Vectores y Matrices

11

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

% de personas con edades superiores al promedio

El nombre de las personas con edades superiores al promedio

Nombre de las personas que tienen la edad mxima

15/05/2016

Algoritmos Vectores y Matrices

12

Solucin
Ingresar N

Nombre ( )

Edad ( )

Juan

34

Ana

Lus

17

Rosa

12

Eva

71

Andrs

15

S0
Para C = 1 a N
Repetir
Ingresar Nombre(C)
Nombre(3)

Hasta Nombre(C) <>


Repetir
Ingresar Edad(C)
Hasta Edad(C) > 0 y Edad(C) < 120

Posicin del elemento

Mostrar Nombre(C), Edad(C)


S S + Edad(C)

Edad(3)

Siguiente C
Prom S/N
Mostrar Prom
Algoritmos Vectores y Matrices

13

Ejemplo 2: Operaciones con vectores


Elabore una aplicacin que permita ingresar los elementos
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 elementos

15/05/2016

Algoritmos Vectores y Matrices

14

Ejemplo 3: Frecuencia de notas


Elabore un proyecto que permita ingresar N notas, las notas pueden
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 registraron

La nota ms frecuente (es decir la moda)

La nota promedio

Listado y % de alumnos aprobados

Nota: Se aprueba con 60


15/05/2016

Algoritmos Vectores y Matrices

15

Ejemplo 4: Produccin
Se desea saber cul es la produccin total (acumulada) de cada una de las
mquinas de una empresa industrial.
Las 100 mquinas estn identificadas como: 100, 101, 102, 199
Cada vez que una mquina produce se ingresa al programa el Cdigo de la
Mquina y la Cantidad de Unidades producidas por ella. Una mquina
puede ser considerada muchas veces.
El ingreso de datos finaliza cuando el usuario del sistema contesta
afirmativamente a la respuesta: Desea terminar?
Finalizado el ingreso de datos muestre lo siguiente:
o
o
o

Cantidad producida por cada una de las mquinas


Mquina de menor produccin
Promedio de unidades producida por mquina

15/05/2016

Algoritmos Vectores y Matrices

16

Ejercicios

15/05/2016

Algoritmos Vectores y Matrices

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 el
monto adeudado
Ordene los clientes de acuerdo al monto adeudado
en orden descendente

15/05/2016

Algoritmos Vectores y Matrices

18

Ejercicio 2: Estadsticas
Ingrese las edades de un grupo de personas
y determine lo siguiente:
Promedio
o Varianza
o Desviacin Estndar
o

No se sabe exactamente cuntos datos se


ingresarn

15/05/2016

Algoritmos Vectores y Matrices

19

Ejercicio 3: Serie de Fibonacci


Elabore un proyecto que genere los N
primeros trminos de la serie de
Fibonacci:
o 1, 1, 2, 3, 5, 8, 13, 21, 34
N, es un nmero entero ingresado como
dato
Debe almacenar en un vector los
trminos pares y en otro los trminos
impares.

15/05/2016

Algoritmos Vectores y Matrices

Elementos
Impares

Elementos
Pares

34

13

21
20

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

21

Ejercicio 5: Seleccin de personal


Se ingresa el nombre, la talla y peso de los participantes para
cubrir un puesto en la empresa.
Las condiciones que debe cumplir el postulante son:
o
o
o

No se aceptan participantes con talla < 1.58 m.


No se aceptan pesos <= 48 kg ni mayores a 75 kg
Cuando se rechace un(a) postulante debe mostrar el mensaje indicando
porqu no es aceptado(a)

Muestre en celdas Excel los siguientes resultados:


o

o
o
o
o

Los nombres de las personas aceptadas.


Cul es el peor promedio de todos los postulantes?
Cuntos fueron rechazados por exceso de peso?
Cul es el promedio de talla de los aceptados?
Listado ascendente por pesos de todas las personas aceptadas

15/05/2016

Algoritmos Vectores y Matrices

22

Ejercicio 6a: Pedidos


Se ingresan en dos vectores: Nombre del
cliente y Cantidad de productos solicitados
Tome en consideracin lo siguiente:
o
o
o

Solo se cuenta con un stock de Q unidades


Un cliente puede hacer varios pedidos
No se sabe exactamente cuntos pedidos se
atendern, por lo que los datos se ingresan hasta
que el usuario conteste: No, a la pregunta, Hay
ms pedidos por atender? o se haya agotado el
stock de Q unidades.

15/05/2016

Algoritmos Vectores y Matrices

23

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 de
unidades solicitados por l.

ELIMINAR PEDIDOS DE UN CLIENTE


o

Pida el nombre de un cliente, si ste existe, elimine


de ambos vectores el nombre del cliente y las
unidades solicitadas por l.

Nota: Debe eliminar tambin los espacios en blanco que


queden en los dos vectores correspondientes a los datos
eliminados.
15/05/2016

Algoritmos Vectores y Matrices

24

Ejercicio 7: Reclamos
Elabore una aplicacin que registre en un vector el
nmero de reclamos que efectuaron durante un mes
los clientes de una empresa.
Realice lo siguiente:
o

o
o

Solicite el nmero de reclamos de cada cliente y almacnelos


en el vector RECLAMO ( ). El ingreso termina cuando se
contesta No a la pregunta Hay ms reclamos?
Finalizado el ingreso de datos y empleando el vector
RECLAMO ( ) debe calcular y mostrar:
Pase al vector URGENTE ( ), todos aquellos reclamos que
sean mayores a 3. Cuntos clientes tienen ms de 3
reclamos.
Cul es el promedio de los reclamos urgentes?

15/05/2016

Algoritmos Vectores y Matrices

25

Ejercicio 8a: Analizar programa


Dado el siguiente vector V( ) de 6 elementos:

2 3 0 5 8 1
Indique cul es el valor mostrado para P, luego de ejecutarse el siguiente
segmento de programa:
R=0: X=0
For C = 2 to 6 Step 2
If V ( C ) < > 0 then R = R + V( C ) \ 2
X=X+1
Next C
Valor de R : ______
Valor de X: ______
15/05/2016

Algoritmos Vectores y Matrices

26

Ejercicio 8b: Analizar programa


Dado el vector V( ) de 6 elementos:

2 3 0 5 8 1
Indique cul es el valor mostrado para S, luego de ejecutarse el siguiente
segmento de programa:
X = 3 : C= 0
Do
C=C+2
S= S+V(C)
Loop Until S > X
Valor de S : ______
15/05/2016

Algoritmos Vectores y Matrices

27

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

28

Ejercicio 10: Ventas


Ingrese las ventas realizadas por una cadena de supermercados en sus T tiendas,
para cada una de las L lneas de productos comercializados.
Muestre cul es el total vendido por tienda
Muestre cal es el total vendido por lnea
Cul fue la tienda y la lnea correspondiente a la mayor venta?

15/05/2016

Algoritmos Vectores y Matrices

29

Ejercicio 11: Teatro


Elabore una aplicacin que permita vender
las entradas a un teatro de F filas y A asientos
por fila.
La venta termina cuando no hay ms clientes
por attender o se agotaron todas las
entradas.
Finalizada las ventas indique qu % del total
de entradas se vendieron
Cul es la fila ms vendida?

15/05/2016

Algoritmos Vectores y Matrices

30

Ejercicio 12: Ventas al crdito


Elabore una macro que permita ingresar el nombre de un cliente, si este an no
existe lo ingresa al final de la lista. A continuacin solicite el ingreso del mes y la
letra: C o P para indicar si se trata de una venta al crdito o el pago de la deuda.
Realizada la transaccin, actualice el valor de la celda correspondiente.
Calcule y muestre el monto anual adeudado por cada uno de los clientes.

15/05/2016

Algoritmos Vectores y Matrices

31

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

32

Вам также может понравиться