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

Upload: amando-montenegro

Post on 11-Jan-2015

24 views

Category:

Documents


1 download

TRANSCRIPT

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

}