Post on 11-Jan-2015
Arrays
Fundamentos de Programación IAgradecimientos al Ing. Namuel Solórzano
Peralta por el contenido de esta presentación
Arreglos
Vectores o arrays unidimensionales
Matrices o arrays bidimensionales
Clasificación
Definición:
Un vector es una disposición lineal (una dimensión) de espacios de memoria principal (RAM), que permiten mantener un conjunto de datos homogéneos (del mismo tipo)
1
Definición:
1
………
0 1 2 3 4 N
Nombre
Índices
Posición de almacenamiento
Definición: 1Nombre: es un identificador valido, que permite reconocer de manera global todos los elementos o datos que hacen parte del vector
Índice: permite identificar de manera única cada una de las posiciones que hacen parte del vector
Posición de almacenamiento: parte del vector donde se almacena el dato
Sintaxis:
2
<tipoDeDato> <nombre>[<tamaño>] = {<valores iniciales>} ;
Sintaxis:
2
El tipo de dato indica el dato que puede llegar al vector, esto depende del lenguaje de programación:
Por ejemplo en C++ dispone de los siguientes tipos de datos: int, float, bool, double, char, etc…
<tipoDeDato> <nombre>[<tamaño>] = {<valores iniciales>} ;
Sintaxis:
2
Indica la forma como debe reconocerse el vector dentro de la aplicación.
Tres tips:1. El nombre es inventado por el programador2. Debe ser alusivo a lo que contendrá el vector3. No puede ser una palabra reservada
<tipoDeDato> <nombre>[<tamaño>] = {<valores iniciales>} ;
Sintaxis:
2
Indica la cantidad de espacios de memoria que contendrá el vector
<tipoDeDato> <nombre>[<tamaño>] = {<valores iniciales>} ;
Sintaxis:
2
Indica aquellos valores que se almacenarán en el vector una vez que este se haya creado
Tres tips:1. Son opcionales2. Deben ser del mismo tipo que con el que se creó el vector3. Deben se separados por comas4. Cuando se especifican no es necesario colocar el tamaño
<tipoDeDato> <nombre>[<tamaño>] = {<valores iniciales>} ;
Ejemplo:
2
int edades[19] ;
float pesosEstudiantes[20];
char sexoEstudiantes [ ] = {‘f’, ‘m’, ‘m’, ‘f’, ‘f’};
float notaPromedioCalculoI [ ] = {3.4, 2.3, 4.5, 2.3, 1.5, 4.5};
Representación grafica:
2
Utilizaremos esta representación gráfica para podemos imaginarnos la forma como un vector se estructura en la RAM
Por ejemplo:
int valores[4];
0 1 2 3
valores
Representación grafica:
2
edades
0 1 2 3 4 5 6 7 8 9
int edades[10] ;
float pesosEstudiantes[8];
pesosEstudiantes
0 1 2 3 4 5 6 7
Representación grafica:
2
char sexoEstudiantes [ ] = {‘f’, ‘m’, ‘m’, ‘f’, ‘f’};
float notaPromedioCalculoI [ ] = {3.4, 2.3, 4.5, 2.3, 1.5, 4.5};
sexoEstudiantes
f m m f f
0 1 2 3 4
notaPromedioCalculoI
3.4 2.3 4.5 2.3 1.5 4.5
0 1 2 3 4 5
Asignación
3
Dos formas
Asignando un valor utilizando una expresión
Asignando un valor utilizando una entrada por teclado
Asignación 3Primera forma:
nombreDelVector[posición] = valor;
Ejemplo:
int valores[4];
valores[2] = 3; 0 1 2 3
valores
3
Almacena el valor 3 en la posición 2 del vector valores
Asignación 3Segunda forma:
cin>>nombreDelVector[posición];
scanf(“indicador”, &nombreDelVector[posicion]
Ejemplo:
int valores[4];
cin>>valores[3]; 0 1 2 3
valores
¿?
Almacena el valor que digite el usuario en la posición 3 del vector valores
Obtener un dato del vector
Para obtener un dato almacenado en una posición del vector, tenga en cuenta la siguiente sintaxis:
nombreDelvector[indice]
4
Obtener un dato del vector
¿Dónde podemos utilizar esto?
4
Instrucciones
De proceso
a = a + vector[7];b = x + datos[i]:x[6] = ++x[6];
De salida
cout<<vector[5];printf(“%d”, a[i]);cout<<(a[3] + 5);
inicio;while(condición){
nombreVector[indice];Incremento;
}
5
for( inicio; condición; incremento){nombreVector[indice];
}
5
5200 123 450 234 123 670
0 1 2 3 4 5
int j = 0;while(j<6){
printf(“%d”, datos[j]);j = j + 1;
}
datos
5200 123 450 234 123 670
0 1 2 3 4 5
for(int i = 0; i < 6; i++){cout<<datos[i];
}
datos
6Desarrollar un programa que permita almacenar en un vector
la estatura de cinco empleados de una empresa
int estaturas[5];
main(){for(int i = 0; i < 5; i++){
cout<<“Ingrese la estatura”;cin>>estaturas[i];
}cout<<“proceso finalizado…..”;system(“pause”);
}
Ejemplo Nro. 1
6Se tiene un vector en memoria con los datos de N ventas
realizadas en un día, con estos datos debe calcular el total de las ventas, el promedio de la ventas, las ventas mayores a 500 y las ventas menores o iguales a 500
Ejemplo Nro. 2
float ventas[]={340, 900, 760, 500, 510, 590, 900, 850} ;float totalV = 0; int ventasM = 0; int ventasMe = 0;main(){ for(int j=0; j<8; j++)
totalV = totalV + ventas[j];
for(int j=0; j<8; j++)if(ventas[i]>500)
ventasM++;else
ventasMe++;cout<<“Total ventas”<<totalV<<endl;cout<<“Promedio ventas”<<(totalV/8)<<endl;cout<<“Total ventas mayores a 500 “<<ventasM<<endl;cout<<“Total ventas menores o iguales a 500 “<<ventasMe<<endl;cout<<“finalizado….”;system(“pause”);
}