Está en la página 1de 15

Facultad Politécnica

Algorítmica I
Prof: Lic. Fátima Barrios Villagra.
Año: 2015.

Informática Aplicada
En esta presentación
 Vector. Definición
Caracteristicas
Operaciones
Declaración un vector
Ejemplos
Ejercicios
Vector
Un vector o array unidimencional es un conjunto finito y
ordenado de elementos homogéneos (tienen el mismo tipo
de datos).
Declaración de un vector
var
Alumnos: vector [6] cadena

Silvia Pedro Arami Micaela Karina Diego

Vector Alumnos

Accediendo al
1 2 3 4 5
vector Notas
Notas[1 Notas[2] Notas[3] Notas[4] Notas[5]
]
Vector Notas
Operaciones con vectores
En general las operaciones con vectores implican el
procesamiento o tratamiento de los elementos
individuales del vector.
Asignación
Notas[1] = 1
Notas[2] = 2
Notas[3] = 3
Notas[4] = 4
Notas[5] = 5
Operaciones con vectores
Lectura
leer (Notas[1])
Recorrido (acceso secuencial)
Se puede acceder a los elementos del vector para
introducir datos en él o para visualizar su contenido.
Estas operaciones se realizan utilizando estructuras
repetitivas.
desde i=1 hasta 5{
Notas[i] =i
imprimir (Notas[i])
}
Ejemplos
1. Elabore un algoritmo que calcule la cantidad de alumnos
que obtuvieron una nota inferior al promedio del curso para
cierta materia.
Considere los siguientes datos adicionales:
- El curso tiene 20 alumnos
- Todos los alumnos se presentaron al examen
- Las notas van del 0 al 100 (asuma que todas las notas son
correctas)
Ejemplos
const
MAX_ALUMNOS = 20
var
notas : vector [MAX_ALUMNOS] numerico
suma_notas : numerico // suma de todas las notas leidas
prom : numerico // promedio del curso
cnb : numerico // cantidad con notas bajas
k : numerico
inicio
desde k=1 hasta MAX_ALUMNOS {

imprimir ("\nIngrese nota para alumno numero ", k, ":")


leer (notas [k])
suma_notas = suma_notas + notas [k]
}
prom = suma_notas / MAX_ALUMNOS
//Una vez que obtuvimos el promedio, podemos calcular la cantidad de notas inferiores al promedio
cnb = 0
desde k=1 hasta MAX_ALUMNOS{
si ( notas [k] < prom ){
cnb = cnb + 1
}
}
imprimir ("\nExisten ", cnb, " alumnos con notas inferiores", " al promedio del curso, el cual es ", prom)
fin
Ejemplos
2. Se tienen dos vectores de 50 elementos, el 1ro
contiene el nombre de personas y el 2do, el sexo de
las personas del 1er vector, codificados como “f”
femenino o “m” masculino.
Obtener a partir de estos, otros dos vectores, el 1ro de
los cuales debe contener el nombre de todas las
mujeres y el 2do el nombre de todos los hombres.
Ejemplos
const
MAX = 50
var
personas, sexo, mujeres, varones : vector [MAX] cadena
i,f,m : numerico
Inicio
desde i=1 hasta MAX {

imprimir ("\nIngrese nombre nro.", i, ":")


leer (personas [i])
imprimir ("\nIngrese el sexo de la persona nro.", i, ":")
leer (sexo [i])
si (sexo [i]==”f”){
f=f+1
mujeres[f ] = personas [i]
sino
m=m+1
varones[m ] = personas [i]
}
// imprimimos los vectores resultantes
imprimir ("\nVector de mujeres:")
desde i=1 hasta f {
imprimir("\n",mujeres[i])
}
imprimir ("\nVector de hombres:")
desde i=1 hasta m {
imprimir("\n",varones[i])
}
Ejercicios
1. Elabore un algoritmo que permita calcular el cuadrado de
los cien primeros números enteros y a continuación
imprimir una tabla que contenga los resultados
obtenidos.
2. Elabore un algoritmo que permita realizar la búsqueda de
un determinado nombre en una lista de nombres.
Imprima un mensaje indicando si el nombre fue
encontrado o no.
3. Se dispone de un vector V de 60 números enteros mayores
a cero. Crear un nuevo vector en el que todos sus
elementos resulten de dividir los elementos del vector V
por el elemento V[k], siendo k un elemento ingresado por
el usuario.
Ejercicios
3. Modifique el ejercicio 2 de modo a implementar las
siguientes subrutinas para resolver el ejercicio:
- CargarListaNombres(): Solicita al usuario nombres
para la lista de nombres y los guarda en un vector.
- BuscarNombre(nombre): Recibe el nombre a buscar
y realiza la búsqueda de dicho nombre en el vector
anteriormente cargado. Esta subrutina debe retornar
un tipo de dato lógico (verdadero si encontró el
nombre, falso sino lo encontró) .
Ejercicios
4. Encontrar el mayor valor, el menor valor, la suma y el
promedio en un vector numérico de 50 elementos.
5. Encontrar los cinco elementos de mayor valor de un vector
de 100 elementos diferentes. Cada elemento debe leerse
desde el teclado debiéndose controlar que no se introduzca
un elemento cuyo valor ya existe dentro del arreglo.
6. Dado dos vectores A y B numéricos producir un tercer
vector C que contenga en la posición 1 el resultado de sumar
el ultimo elemento de A con el primer elemento de B, en la
posición 2 el penúltimo elemento de A sumado con el 2do
elemento de B y así sucesivamente. A y B son de Tamaño 20.
7. Leer los elementos para un vector A de tamaño N. Hacer que
los elementos de A queden ordenados de la siguiente manera:
El menor elemento colocarlo en la posición 1 del vector, el
menor de los restantes N-1 elementos colocarlo en la posición
N, el menor de los restantes N-2 elementos colocarlo en la
posición 2, el menor de los restantes N-3 elementos colocarlo
en la posición N-1 y así sucesivamente.
En el momento de la lectura validar que los elementos leídos
sean siempre diferentes (igual que el Ejercicio 2).
Ejemplo: A = {12, 3, 4, 5, -1, 20 }
Debe quedar A = { -1, 4, 12, 20, 5, 3 }
OBS: NO puede usarse ningún vector auxiliar.

También podría gustarte