Arrays Fundamentos de Programación I Agradecimientos al Ing. Namuel Solórzano Peralta por el...

25
Arrays Fundamentos de Programación I Agradecimientos al Ing. Namuel Solórzano Peralta por el contenido de esta presentación

Transcript of Arrays Fundamentos de Programación I Agradecimientos al Ing. Namuel Solórzano Peralta por el...

Page 1: Arrays Fundamentos de Programación I Agradecimientos al Ing. Namuel Solórzano Peralta por el contenido de esta presentación.

Arrays

Fundamentos de Programación IAgradecimientos al Ing. Namuel Solórzano

Peralta por el contenido de esta presentación

Page 2: Arrays Fundamentos de Programación I Agradecimientos al Ing. Namuel Solórzano Peralta por el contenido de esta presentación.

Arreglos

Vectores o arrays unidimensionales

Matrices o arrays bidimensionales

Clasificación

Page 3: Arrays Fundamentos de Programación I Agradecimientos al Ing. Namuel Solórzano Peralta por el contenido de esta presentació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

Page 4: Arrays Fundamentos de Programación I Agradecimientos al Ing. Namuel Solórzano Peralta por el contenido de esta presentación.

Definición:

1

………

0 1 2 3 4 N

Nombre

Índices

Posición de almacenamiento

Page 5: Arrays Fundamentos de Programación I Agradecimientos al Ing. Namuel Solórzano Peralta por el contenido de esta presentación.

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

Page 6: Arrays Fundamentos de Programación I Agradecimientos al Ing. Namuel Solórzano Peralta por el contenido de esta presentación.

Sintaxis:

2

<tipoDeDato> <nombre>[<tamaño>] = {<valores iniciales>} ;

Page 7: Arrays Fundamentos de Programación I Agradecimientos al Ing. Namuel Solórzano Peralta por el contenido de esta presentación.

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>} ;

Page 8: Arrays Fundamentos de Programación I Agradecimientos al Ing. Namuel Solórzano Peralta por el contenido de esta presentación.

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>} ;

Page 9: Arrays Fundamentos de Programación I Agradecimientos al Ing. Namuel Solórzano Peralta por el contenido de esta presentación.

Sintaxis:

2

Indica la cantidad de espacios de memoria que contendrá el vector

<tipoDeDato> <nombre>[<tamaño>] = {<valores iniciales>} ;

Page 10: Arrays Fundamentos de Programación I Agradecimientos al Ing. Namuel Solórzano Peralta por el contenido de esta presentación.

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>} ;

Page 11: Arrays Fundamentos de Programación I Agradecimientos al Ing. Namuel Solórzano Peralta por el contenido de esta presentación.

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};

Page 12: Arrays Fundamentos de Programación I Agradecimientos al Ing. Namuel Solórzano Peralta por el contenido de esta presentación.

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

Page 13: Arrays Fundamentos de Programación I Agradecimientos al Ing. Namuel Solórzano Peralta por el contenido de esta presentación.

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

Page 14: Arrays Fundamentos de Programación I Agradecimientos al Ing. Namuel Solórzano Peralta por el contenido de esta presentación.

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

Page 15: Arrays Fundamentos de Programación I Agradecimientos al Ing. Namuel Solórzano Peralta por el contenido de esta presentación.

Asignación

3

Dos formas

Asignando un valor utilizando una expresión

Asignando un valor utilizando una entrada por teclado

Page 16: Arrays Fundamentos de Programación I Agradecimientos al Ing. Namuel Solórzano Peralta por el contenido de esta presentación.

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

Page 17: Arrays Fundamentos de Programación I Agradecimientos al Ing. Namuel Solórzano Peralta por el contenido de esta presentación.

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

Page 18: Arrays Fundamentos de Programación I Agradecimientos al Ing. Namuel Solórzano Peralta por el contenido de esta presentación.

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

Page 19: Arrays Fundamentos de Programación I Agradecimientos al Ing. Namuel Solórzano Peralta por el contenido de esta presentación.

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);

Page 20: Arrays Fundamentos de Programación I Agradecimientos al Ing. Namuel Solórzano Peralta por el contenido de esta presentación.

inicio;while(condición){

nombreVector[indice];Incremento;

}

5

Page 21: Arrays Fundamentos de Programación I Agradecimientos al Ing. Namuel Solórzano Peralta por el contenido de esta presentación.

for( inicio; condición; incremento){nombreVector[indice];

}

5

Page 22: Arrays Fundamentos de Programación I Agradecimientos al Ing. Namuel Solórzano Peralta por el contenido de esta presentación.

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

Page 23: Arrays Fundamentos de Programación I Agradecimientos al Ing. Namuel Solórzano Peralta por el contenido de esta presentación.

5200 123 450 234 123 670

0 1 2 3 4 5

for(int i = 0; i < 6; i++){cout<<datos[i];

}

datos

Page 24: Arrays Fundamentos de Programación I Agradecimientos al Ing. Namuel Solórzano Peralta por el contenido de esta presentación.

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

Page 25: Arrays Fundamentos de Programación I Agradecimientos al Ing. Namuel Solórzano Peralta por el contenido de esta presentación.

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”);

}