Está en la página 1de 13

75.

40 Algoritmos y Programacin I
Sntesis Terica
Ctedra: Ing. Domingo T. Mandrafina

Algoritmos y Programacin I - Ctedra: Ing. Domingo T. Mandrafina

75.40 Algoritmos y Programacin I


Sntesis Terica
Ctedra: Ing. Domingo T. Mandrafina

Algoritmos y Programacin I - Ctedra: Ing. Domingo T. Mandrafina

Indice
Vectores y Matrices

Algoritmos y Programacin I - Ctedra: Ing. Domingo T. Mandrafina

Vectores y Matrices
Vectores: Introduccin
Con lo aprendido hasta ahora resolvamos los
siguientes problemas:
Dados 50 nmeros enteros, obtener el
promedio de ellos. Mostrar por pantalla dicho
promedio y los nmeros ingresados que sean
mayores que l.
Dados n nmeros, obtener e imprimir la suma
de todos ellos. A continuacin mostrar por
pantalla todos los sumandos.

Algoritmos y Programacin I - Ctedra: Ing. Domingo T. Mandrafina

Vectores y Matrices
Es posible resolver estos problemas? Por qu?
Una de las principales dificultades que se observan con
estos problemas es que para la resolucin de ambos es
necesario almacenar la totalidad de los datos a procesar.
No sera eficiente crear n cantidad de variables para
guardar estos datos.
Para realizar programas y/o algoritmos que nos permitan
resolver los problemas planteados, usaremos una nueva
estructura de datos denominada vectores.

Algoritmos y Programacin I - Ctedra: Ing. Domingo T. Mandrafina

Vectores y Matrices
Una estructura de datos es un conjunto de datos con un
cierto orden.
Las estructuras de datos pueden ser dinmicas o
estticas.
Estticas: aquellas a las que se le asigna una
cantidad fija de memoria de acuerdo a lo definidio
en la declaracin de la variable.
Dinmicas: son aquellas cuyo tamao en memoria
aumenta o disminuye en tiempo de ejecucin de
acuerdo a las necesidades del programa.

Algoritmos y Programacin I - Ctedra: Ing. Domingo T. Mandrafina

Vectores y Matrices

Simples
Tipos de
Estructuras

Estticas

Complejas
Dinmicas (punteros)
Algoritmos y Programacin I - Ctedra: Ing. Domingo T. Mandrafina

Reales
Enteros
Char
Boolean
Enumerados
String
arrays
set
record
file
7

Vectores
Qu es un vector? Un vector (o arreglo unidimensional)
es una estructura de datos en la cual se almacena un
conjunto de datos de un mismo tipo. Es decir que un
arreglo es una lista de n elementos que posee las
siguientes caractersticas:
se identifica por un nico nombre de variable
sus elementos se almacenan en posiciones
contiguas de memoria
se accede a cada uno de sus elementos en forma
aleatoria

Algoritmos y Programacin I - Ctedra: Ing. Domingo T. Mandrafina

Vectores
Elementos
Mi_vector 9 5 6 2 4 8 3
Nombre de
la variable

Posicin : 1
Contenido : Mi_vector[1] = 9

Algoritmos y Programacin I - Ctedra: Ing. Domingo T. Mandrafina

Vectores
Ejemplos:
Ejemplo 1. Resolvamos este primer ejemplo:
Cargar 10 elementos en un vector, sumarlos y
mostrar el resultado por pantalla.
Pasos para resolver este problema:
Leer un vector de 10 elementos
Sumar los elementos
Mostrar el resultado de la suma por pantalla

Algoritmos y Programacin I - Ctedra: Ing. Domingo T. Mandrafina

10

Vectores
Ejemplo 1 - Diagrama de Jackson
Ejemplo 1

Lectura del
arreglo

Suma de
los elementos

Algoritmos y Programacin I - Ctedra: Ing. Domingo T. Mandrafina

Muestra
resultados

11

Vectores - Ejemplo1
Program Ejemplo1; {Version 1}
type
sumandos = array[1..10] of integer;
var
suma, i : integer;
vec_sumandos : sumandos;
begin
suma := 0;
for i:= 1 to 10 do
read(vec_sumandos[i] )
for i := 1 to 10 do
suma:= suma +vec_sumandos[i];
writeln (La suma de los nmeros es, suma);
end.

Declaracin del tipo del arreglo

Declaracin de la variable arreglo

Lectura de los elementos del arreglo

Suma de los elementos


Algoritmos y Programacin I - Ctedra: Ing. Domingo T. Mandrafina

12

Vectores - Ejemplo1
Program Ejemplo1; {Version 2}
type
sumandos = array[1..10] of integer;
var
suma, i : integer;
vec_sumandos : sumandos;
begin
suma := 0;
for i:= 1 to 10 do
begin
read(vec_sumandos[i] )
suma:= suma +vec_sumandos[i];
end;
writeln (La suma de los nmeros es, suma);
end.

Algoritmos y Programacin I - Ctedra: Ing. Domingo T. Mandrafina

13

También podría gustarte