23
Arreglos Bidimensionales Lógica y Algoritmia 1

Lógica y Algoritmia - jpadilla.docentes.upbbga.edu.cojpadilla.docentes.upbbga.edu.co/Logica_y_Algoritmia/Arreglos... · Arreglos Bidimensionales (1) •Son un conjunto finito homogéneo

  • Upload
    others

  • View
    14

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Lógica y Algoritmia - jpadilla.docentes.upbbga.edu.cojpadilla.docentes.upbbga.edu.co/Logica_y_Algoritmia/Arreglos... · Arreglos Bidimensionales (1) •Son un conjunto finito homogéneo

Arreglos Bidimensionales

Lógica y Algoritmia

1

Page 2: Lógica y Algoritmia - jpadilla.docentes.upbbga.edu.cojpadilla.docentes.upbbga.edu.co/Logica_y_Algoritmia/Arreglos... · Arreglos Bidimensionales (1) •Son un conjunto finito homogéneo

2

Arreglos

Imagen tomada de: http://goo.gl/VstJw2

Bidimensionales

Page 3: Lógica y Algoritmia - jpadilla.docentes.upbbga.edu.cojpadilla.docentes.upbbga.edu.co/Logica_y_Algoritmia/Arreglos... · Arreglos Bidimensionales (1) •Son un conjunto finito homogéneo

Arreglos Bidimensionales (1)

• Son un conjunto finito homogéneo y ordenado deelementos a los cuales se accede utilizando dosíndices, uno para las filas y otro para las columnas.

3

Índice 0 1 2

0 1 2 3

1 4 5 6

2 7 8 9

Page 4: Lógica y Algoritmia - jpadilla.docentes.upbbga.edu.cojpadilla.docentes.upbbga.edu.co/Logica_y_Algoritmia/Arreglos... · Arreglos Bidimensionales (1) •Son un conjunto finito homogéneo

Arreglos Bidimensionales (2)

• “Un arreglo de arreglos unidimensionales” es unamanera de interpretar a los arreglosbidimensionales:

4

Índice 0 1 2

Arreglo 0 1 2 3

Índice 0 1 2

Arreglo 1 4 5 6

Índice 0 1 2

Arreglo 2 7 8 9

Page 5: Lógica y Algoritmia - jpadilla.docentes.upbbga.edu.cojpadilla.docentes.upbbga.edu.co/Logica_y_Algoritmia/Arreglos... · Arreglos Bidimensionales (1) •Son un conjunto finito homogéneo

Arreglos Bidimensionales (3)

• Para utilizarlos se requiere de una librería paraPython llamada “NumPy”. Para utilizarla se debeincluir la siguiente instrucción al inicio de cadaprograma:

• Se accede a sus funciones a través del objetocreado, en este caso “np”

5

Page 6: Lógica y Algoritmia - jpadilla.docentes.upbbga.edu.cojpadilla.docentes.upbbga.edu.co/Logica_y_Algoritmia/Arreglos... · Arreglos Bidimensionales (1) •Son un conjunto finito homogéneo

Arreglos Bidimensionales (4)

• La primera forma de crear un arreglo bidimensionaldefiniendo el número de filas y de columnasrellenándolo de ceros con la función de numpy“zeros”.

6

Índice 0 1 2

0 0 0 0

1 0 0 0

2 0 0 0

3 filas y 3 columnas

Page 7: Lógica y Algoritmia - jpadilla.docentes.upbbga.edu.cojpadilla.docentes.upbbga.edu.co/Logica_y_Algoritmia/Arreglos... · Arreglos Bidimensionales (1) •Son un conjunto finito homogéneo

Arreglos Bidimensionales:Ejemplo 1 (1) crear arreglo

7

Código:

Ejecución:

Page 8: Lógica y Algoritmia - jpadilla.docentes.upbbga.edu.cojpadilla.docentes.upbbga.edu.co/Logica_y_Algoritmia/Arreglos... · Arreglos Bidimensionales (1) •Son un conjunto finito homogéneo

Arreglos Bidimensionales (5)

• La segunda forma de crear un arreglobidimensional es definiendo directamente elcontenido y tamaño del mismo con la función denumpy “array”.

8

Índice 0 1 2

0 1 2 3

1 2 4 6

2 3 6 9

3 filas y 3 columnas

Page 9: Lógica y Algoritmia - jpadilla.docentes.upbbga.edu.cojpadilla.docentes.upbbga.edu.co/Logica_y_Algoritmia/Arreglos... · Arreglos Bidimensionales (1) •Son un conjunto finito homogéneo

Arreglos Bidimensionales:Ejemplo 1 (2) crear arreglo

9

Código:

Ejecución:

Page 10: Lógica y Algoritmia - jpadilla.docentes.upbbga.edu.cojpadilla.docentes.upbbga.edu.co/Logica_y_Algoritmia/Arreglos... · Arreglos Bidimensionales (1) •Son un conjunto finito homogéneo

Arreglos Bidimensionales (6)

• Para leer o modificar un dato del arreglo se haceuso de los índices de filas y columnas.

10

Índice 0 1 2

0 1 2 3

1 2 4 6

2 3 6 9

Leer dato de la fila 2 columna 1

Page 11: Lógica y Algoritmia - jpadilla.docentes.upbbga.edu.cojpadilla.docentes.upbbga.edu.co/Logica_y_Algoritmia/Arreglos... · Arreglos Bidimensionales (1) •Son un conjunto finito homogéneo

Arreglos Bidimensionales:Ejemplo 2 (1) leer dato del arreglo

11

Código:

Ejecución:

Page 12: Lógica y Algoritmia - jpadilla.docentes.upbbga.edu.cojpadilla.docentes.upbbga.edu.co/Logica_y_Algoritmia/Arreglos... · Arreglos Bidimensionales (1) •Son un conjunto finito homogéneo

Arreglos Bidimensionales:Ejemplo 2 (2) Modificar dato

12

Código:

Ejecución:

Page 13: Lógica y Algoritmia - jpadilla.docentes.upbbga.edu.cojpadilla.docentes.upbbga.edu.co/Logica_y_Algoritmia/Arreglos... · Arreglos Bidimensionales (1) •Son un conjunto finito homogéneo

Arreglos Bidimensionales (7)

• Para saber la cantidad de elementos de un arreglobidimensional se utiliza la función de numpy “size”.

13

Índice 0 1 2

0 1 2 3

1 2 4 6

2 3 6 9

La cantidad de elementos en el arreglo es de 9.

Page 14: Lógica y Algoritmia - jpadilla.docentes.upbbga.edu.cojpadilla.docentes.upbbga.edu.co/Logica_y_Algoritmia/Arreglos... · Arreglos Bidimensionales (1) •Son un conjunto finito homogéneo

Arreglos Bidimensionales:Ejemplo 3 cantidad de elementos

14

Código:

Ejecución:

Page 15: Lógica y Algoritmia - jpadilla.docentes.upbbga.edu.cojpadilla.docentes.upbbga.edu.co/Logica_y_Algoritmia/Arreglos... · Arreglos Bidimensionales (1) •Son un conjunto finito homogéneo

Arreglos Bidimensionales (8)

• Para conocer la cantidad de filas y de columnas queposee el arreglo bidimensional se utiliza la funciónde numpy “shape”.

15

Índice 0 1 2

0 1 2 3

1 2 4 6

3 columnas

2 filas

Page 16: Lógica y Algoritmia - jpadilla.docentes.upbbga.edu.cojpadilla.docentes.upbbga.edu.co/Logica_y_Algoritmia/Arreglos... · Arreglos Bidimensionales (1) •Son un conjunto finito homogéneo

Arreglos Bidimensionales:Ejemplo 4 filas y columnas

16

Código:

Ejecución:

Page 17: Lógica y Algoritmia - jpadilla.docentes.upbbga.edu.cojpadilla.docentes.upbbga.edu.co/Logica_y_Algoritmia/Arreglos... · Arreglos Bidimensionales (1) •Son un conjunto finito homogéneo

Arreglos Bidimensionales (9)

• El ordenamiento de arreglos bidimensionalesutilizando la función de numpy “sort” ordenaúnicamente los valores de cada uno de los arreglosunidimensionales que contiene.

17

Índice 0 1 2

0 6 3 9

1 4 2 6

Índice 0 1 2

0 3 6 9

1 2 4 6

Desordenados:

Ordenados:

Page 18: Lógica y Algoritmia - jpadilla.docentes.upbbga.edu.cojpadilla.docentes.upbbga.edu.co/Logica_y_Algoritmia/Arreglos... · Arreglos Bidimensionales (1) •Son un conjunto finito homogéneo

Arreglos Bidimensionales:Ejemplo 5 sort

18

Código:

Ejecución:

Page 19: Lógica y Algoritmia - jpadilla.docentes.upbbga.edu.cojpadilla.docentes.upbbga.edu.co/Logica_y_Algoritmia/Arreglos... · Arreglos Bidimensionales (1) •Son un conjunto finito homogéneo

Arreglos Bidimensionales (10)

• Utilizando el ciclo repetitivo “for” se puedenimprimir uno por uno los arreglos unidimensionalesdel arreglo bidimensional.

19

Índice 0 1 2

Arreglo 0 1 2 3

Índice 0 1 2

Arreglo 1 4 5 6

Índice 0 1 2

0 1 2 3

1 4 5 6

Arreglo completo:

Arreglo separado:

Page 20: Lógica y Algoritmia - jpadilla.docentes.upbbga.edu.cojpadilla.docentes.upbbga.edu.co/Logica_y_Algoritmia/Arreglos... · Arreglos Bidimensionales (1) •Son un conjunto finito homogéneo

Arreglos Bidimensionales:Ejemplo 6 arreglos separados

20

Código:

Ejecución:

Page 21: Lógica y Algoritmia - jpadilla.docentes.upbbga.edu.cojpadilla.docentes.upbbga.edu.co/Logica_y_Algoritmia/Arreglos... · Arreglos Bidimensionales (1) •Son un conjunto finito homogéneo

Arreglos Bidimensionales (11)

• Para leer los datos uno por uno del arreglobidimensional se sigue la lógica anterior utilizandolos ciclos “for” anidados.

21

Arreglo 1

Dato 1: 3 Dato 2: 6 Dato 3: 9

Arreglo 2

Dato 4: 2 Dato 5: 4 Dato 6: 6

Índice 0 1 2

0 3 6 9

1 2 4 6

Arreglo completo:

Arreglo separado:

Page 22: Lógica y Algoritmia - jpadilla.docentes.upbbga.edu.cojpadilla.docentes.upbbga.edu.co/Logica_y_Algoritmia/Arreglos... · Arreglos Bidimensionales (1) •Son un conjunto finito homogéneo

Arreglos Bidimensionales:Ejemplo 7 datos separados

22

Código:

Ejecución:

Page 23: Lógica y Algoritmia - jpadilla.docentes.upbbga.edu.cojpadilla.docentes.upbbga.edu.co/Logica_y_Algoritmia/Arreglos... · Arreglos Bidimensionales (1) •Son un conjunto finito homogéneo

Referencias Bibliográficas

[1] Zelle, John M. Python Programming an Introduction toComputer Science. -- 2nd ed. -- Washington : Franklin,Beedle & Associates Inc, 2010.

[2] Dawson, Michael. Python Programming for theAbsolute Beginner. -- 3th ed. -- Australia : CengageLearning, 2010.

[3] Rosaura Gutiérrez Almeyda, Urbano Eliécer GómezPrada, Jairo Viola, y Diana Teresa Gómez Forero.Presentación de clase: Arreglos Bidimensionalesen Python con NumPy. Universidad PontificiaBolivariana Seccional Bucaramanga. 2015.

23