Está en la página 1de 8

1

Algoritmos: Vectores
VECTORES:
Hasta el momento, para hacer mención a un dato utilizábamos una variable.

La dificultad se presenta cuando tenemos una gran cantidad de datos que están relacionados entre sí. Por ejemplo
cuando se nos presenta un problema así:

Ejemplo 3: Una línea aérea vende pasajes en 3 aeropuertos. En cada uno de ellos hay tres empleados que son los que
efectúan las ventas. Cada vez que un cliente compra pasajes, se registra los siguientes datos:
 Número de aeropuerto.
 Número de empleados.
 Valor del pasaje.
 Cantidad de pasajes
El ingreso de datos finaliza con un número de aeropuerto igual a cero. Los números de los empleados se identifican de 1
a 9. Cada cliente puede comprar más de un pasaje. Se pide calcular e imprimir:
a) La cantidad de pasajes vendidos por cada empleado.
b) La recaudación por aeropuerto.
c) El número de empleado que haya vendido mayor cantidad de pasajes en una venta.
d) La cantidad de pasajes vendidos por aeropuerto.
e) El porcentaje de ventas en pesos de cada empleado, sobre el total.
f) La cantidad de ventas que hayan excedido $5000.

En este caso particular para contar por ejemplo la cantidad de pasajes vendidos por cada empleado, deberíamos armar
una estructura “SI” o “SI CASO” con nueve relaciones, debido a que son nueve empleados.
En estos casos es conveniente usar vectores.

Concepto de Vector:

Un vector es un conjunto de datos del mismo tipo, numéricos o alfanuméricos, organizados bajo un mismo nombre y
almacenados en la memoria de la computadora.

Cada dato se llama “elemento del vector” y está referenciado pos una “variable índice”, que indica la posición de dicho
elemento dentro del vector.

Previo al uso del vector, hay que reservar una zona de memoria para su uso, así como definir el número de elementos
necesarios para acceder a cada elemento de la estructura. Al proceso de reservar una zona de la memoria para
almacenar los datos del vector, se lo denomina “dimensionar” y se realiza de la siguiente forma:

Sintaxis: Nombre (cantidad de elementos)


• Contador[20]

El ejemplo nos indica que el vector de nombre “contador”, está compuesto por 20 elementos.

La cantidad de elementos es el máximo valor que puede tomar el índice.

Los vectores solo se dimensionan una vez al comienzo del programa.

Los índices sólo pueden tomar valores enteros. Si el índice sobrepasa la dimensión del vector se producirá un error.
2
Algoritmos: Vectores
Siendo el vector:

V = {1,3, 7, 5, 8}

V[1] = 1
V[2] = 3
V[3] = 7 Elementos del Vector V
V[4] = 5
V[5] = 8 Cantidad de elementos

En éste caso lo dimensionamos: Dim V[5]

Nombre del vector

Ejemplos de cómo se trabaja con vectores:

Ejemplo 1: Leer desde el teclado 5 números.


INICIO
Dim V[5]
DESDE i ← 1 A 5
MOSTRAR “Ingrese un número”
LEER V[i]
FIN-DESDE
FIN.

Ejemplo 2: Sumar el número 2 a cada elemento del vector de dimensión 5.

INICIO
Dim V[5]
DESDE i ← 1 A 5 IMPORTANTE: antes de realizar cualquier operación
MOSTRAR “Ingrese un número” tenemos que leer el vector (como si fuera una
variable)
LEER V[i]
FIN-DESDE
DESDE i ← 1 A 5
V[i] ← V[i] + 2
FIN-DESDE
FIN.
3
Algoritmos: Vectores
Se podría agregar el ciclo para mostrar cómo queda el vector antes del fin, así quedaría:
INICIO
Dim V[5]
DESDE i ← 1 A 5
MOSTRAR “Ingrese un número”
LEER V[i]
FIN-DESDE
DESDE i ← 1 A 5
V[i] ← V[i] + 2
FIN-DESDE
DESDE i ← 1 A 5
MOSTRAR “el elemento”, i, “posee el valor”, V[i]
FIN-DESDE

FIN.

Ejemplo 3: Calcular la sumatoria de los elementos del vector.

INICIO
Dim V[5]
acum ← 0
DESDE i ← 1 A 5
MOSTRAR “Ingrese un número”
LEER V[i]
FIN-DESDE
DESDE i ← 1 A 5
acum ← acum + V[i]
FIN-DESDE
MOSTRAR “la sumatoria es”, acum
FIN.

Ejemplo 4: Calcular la productoria de los elementos del vector.

INICIO
Dim V[5]
acum ← 1
DESDE i ← 1 A 5
MOSTRAR “Ingrese un número”
LEER V[i]
FIN-DESDE
DESDE i ← 1 A 5
acum ← acum * V[i]
FIN-DESDE
MOSTRAR “la productoria es”, acum
FIN.
4
Algoritmos: Vectores
Ejemplo 5: Dado un vector de 20 elementos, informar cuántos son negativos, cuántos positivos y cuántos cero.

INICIO
Dim A[20]
pos ← 0
neg ← 0
MOSTRAR “Ingrese 20 números”
DESDE i ← 1 A 20
LEER A[i]
FIN-DESDE
DESDE i ← 1 A 20
SI A[i] > 0 ENTONCES
pos ← pos + 1
SINO
SI A[i] < 0 ENTONCES
neg ← neg +1
FIN-SI
FIN-SI
FIN-DESDE
ceros ← 20 – pos – neg
MOSTRAR “La cantidad de positivos es:”, pos
MOSTRAR “La cantidad de negativos es:”, neg
MOSTRAR “La cantidad de ceros es:”, ceros
FIN.

Ejemplo 6: Dado un vector de 10 elementos, generar otro cuyos elementos sean el duplo del anterior.

INICIO
Dim A[10], B[10]
DESDE i ← 1 A 10
MOSTRAR “Ingrese un número”
LEER A[i]
FIN-DESDE
DESDE i ← 1 A 10
B[i] ← A[i] * 2
FIN-DESDE
DESDE i ← 1 A 10
MOSTRAR “El elemento”, i, “es:”, B[i]
FIN-DESDE
FIN.
5
Algoritmos: Vectores
Ejemplo 7: Dado un vector de n (donde n<= 10) elementos, generar otro cuyos elementos sean el duplo del anterior.

En este caso, si bien no conozco la dimensión exacta del vector, informan que puede tener hasta 10 elementos y no más
de 10. Por esta razón dimensionamos el vector para 10 elementos.

INICIO
Dim A[10], B[10]
MOSTRAR “Ingresar la cantidad de elementos del vector menor o igual a 10”
LEER n
DESDE i ← 1 A n
MOSTRAR “Ingrese un número”
LEER A[i]
FIN-DESDE
DESDE i ← 1 A n
B[i] ← A[i] * 2
FIN-DESDE
DESDE i ← 1 A n
MOSTRAR “El elemento”, i, “es:”, B[i]
FIN-DESDE
FIN.

Cálculo de máximos y mínimos:

Ejemplo 8: Dado un vector de 10 elementos, informar el valor máximo (de los elementos).

Es conveniente inicializar el máximo con el primer elemento del vector, o con un valor arbitrario, dependiendo de las
magnitudes que informa nuestro vector.
Si vamos a inicializarlo con un valor arbitrario, se puede hacer, luego del dimensionamiento del mismo. En cambio, si
vamos a inicializarlo con el primer elemento del vector, deberemos hacerlo luego de ingresar los elementos del vector.

INICIO
Dim A[10]
DESDE i ← 1 A 10
MOSTRAR “Ingrese un número”
LEER A[i]
FIN-DESDE
max ← A[1]
DESDE i ← 1 A 10
SI A[i] > max ENTONCES
max ← A[i]
FIN-SI
FIN-DESDE
MOSTRAR “El elemento máximo del vector es:”, max
FIN.
6
Algoritmos: Vectores
Ejemplo 9: Dado un vector de 10 elementos, informar el valor mínimo (de los elementos).

INICIO
Dim A[10]
DESDE i ← 1 A 10
MOSTRAR “Ingrese un número”
LEER A[i]
FIN-DESDE
min ← A[1]
DESDE i ← 1 A 10
SI A[i] < min ENTONCES
min← A[i]
FIN-SI
FIN-DESDE
MOSTRAR “El elemento máximo del vector es:”, min
FIN.

Ejemplo 10: Dado un vector que contiene 50 sueldos. Calcular:


 La suma vector.
 La cantidad de sueldos mayor que $1500.
INICIO
Dim A[50]
acum ← 0
sueldosmas ← 0
DESDE i ← 1 A 50
MOSTRAR “Ingrese un valor” sueldo
LEER A[i]
FIN-DESDE
DESDE i ← 1 A 50
acum ← acum + A[i]
SI A[i] > 1500 ENTONCES
sueldosmas ← sueldosmas + 1
FIN-SI
FIN-DESDE
MOSTRAR “El vector suma de sueldos es:”, acum
MOSTRAR “La cantidad de sueldos mayora $1500 es:”, sueldosmas
FIN.
7
Algoritmos: Vectores
Ejemplo 11: Dados n nombres y notas de un conjunto de alumnos (siendo n <= 30), informar:
 La nota más alta.
 Los nombres de los alumnos que tienen esa nota.
En éste caso vamos a tener dos “vectores asociados”: uno con los nombres de los alumnos y otro con las notas.

Por ejemplo:

Nombres Notas
1 Juan 1 8
2 Luis 2 7
3 Ana 3 9
4 Pedro 4 6
5… María… 5… 9…

A cada uno de los nombres se le asocia instantáneamente una nota.


Para buscar el máximo:
 Recorre el vector de las notas hasta que encuentra el mayor valor.
 Luego vuelve a recorrer el vector para encontrar el o los nombres asociados a esa nota máxima.

INICIO
Dim Nom[30], Nota[30]
MOSTRAR “Ingrese el valor de n <=30”
LEER n
DESDE i ← 1 A n
MOSTRAR “Ingrese el nombre y una nota”
LEER Nom[i], Nota[i]
FIN-DESDE
max ← Nota[i]
DESDE i ← 2 A n
SI Nota[i] > max ENTONCES
max ← Nota[i]
FIN-SI
FIN-DESDE
DESDE i ← 1 A n
SI Nota[i] = max ENTONCES
MOSTRAR Nom[i]
FIN-SI
FIN-DESDE
FIN.
8
Algoritmos: Vectores
Ejemplo 12: Dadas las notas de una clase, informar cuántos alumnos sacaron 1, cuántos 2, cuántos 3, cuántos 4, etc. El
ingreso de datos finaliza con nota negativa.

En éste ejemplo vamos a dimensionar un vector “contador” que tiene 10 elementos (son 10 notas) y el valor de los
elementos de dicho vector, será la cantidad de notas que tenemos de cada una.

INICIO
Dim Cont[10] (es un vector donde voy a ir contabilizando la cantidad de alumnos que se sacaron cada una de las 10
notas diferentes)
DESDE i ← 1 A 10
Cont[i] ← 0 (recorremos el vector inicializando cada elemento en cero para luego poder sumar)
FIN-DESDE

MOSTRAR “Ingrese una nota” (es un ciclo mientras según dice el enunciado)
LEER nota
MIENTRAS nota>= 0
cont[nota] ← cont[nota] + 1 (el valor de la nota me dice el número de elemento donde
debo sumar 1)
MOSTRAR “Ingrese una nota”
LEER nota
FIN-MIENTRAS
DESDE i ← 1 A 10
MOSTRAR “La cantidad de alumnos con nota”, i, “es:”, cont[i]
FIN-DESDE
FIN.