ARREGLOS I - Instituto Politécnico Nacionalcoatl.cecyt9.ipn.mx/docs/poo/arreglos1.pdfLos arreglos...

23
ARREGLOS I

Transcript of ARREGLOS I - Instituto Politécnico Nacionalcoatl.cecyt9.ipn.mx/docs/poo/arreglos1.pdfLos arreglos...

Page 1: ARREGLOS I - Instituto Politécnico Nacionalcoatl.cecyt9.ipn.mx/docs/poo/arreglos1.pdfLos arreglos pueden ser unidimensionales (vectores) o multidimensionales (matrices), siendo el

ARREGLOS I

Page 2: ARREGLOS I - Instituto Politécnico Nacionalcoatl.cecyt9.ipn.mx/docs/poo/arreglos1.pdfLos arreglos pueden ser unidimensionales (vectores) o multidimensionales (matrices), siendo el

• Razón de ser

• Computadora

• Programa

• Programador

• Análisis y solución de problemas (Metodología)

• Algoritmo

• Diagrama de flujo

Page 3: ARREGLOS I - Instituto Politécnico Nacionalcoatl.cecyt9.ipn.mx/docs/poo/arreglos1.pdfLos arreglos pueden ser unidimensionales (vectores) o multidimensionales (matrices), siendo el

Investigaron y estudiaron (¡comprendieron!)

• Clasificación de las computadoras

• Funciones de la memoria principal

• Unidades de medida de memoria

• Representación de textos, valores numéricos, imágenes y sonidos

• Clasificación del software (de sistema y de aplicación)

• Tipos lenguajes de programación (máquina, bajo nivel y alto nivel)

• Compiladores e intérpretes

• Paradigmas de programación

• Tipos de algoritmos

Page 4: ARREGLOS I - Instituto Politécnico Nacionalcoatl.cecyt9.ipn.mx/docs/poo/arreglos1.pdfLos arreglos pueden ser unidimensionales (vectores) o multidimensionales (matrices), siendo el

Evaluación del primer corte (que es el 30% de la evaluación total)

50 % examen

50 % tareas y actividades en clase

Page 5: ARREGLOS I - Instituto Politécnico Nacionalcoatl.cecyt9.ipn.mx/docs/poo/arreglos1.pdfLos arreglos pueden ser unidimensionales (vectores) o multidimensionales (matrices), siendo el

• Razón de ser

• Computadora

• Programa

• Programador

• Análisis y solución de problemas (Metodología)

• Algoritmo

• Diagrama de flujo

Herramientas (programación estructurada):

Fundamentos algebraicosEstructuras de controlTipos de datos “simples”

Tipos “estructurados” (arreglos, listas, árboles, etc..)

Page 6: ARREGLOS I - Instituto Politécnico Nacionalcoatl.cecyt9.ipn.mx/docs/poo/arreglos1.pdfLos arreglos pueden ser unidimensionales (vectores) o multidimensionales (matrices), siendo el
Page 7: ARREGLOS I - Instituto Politécnico Nacionalcoatl.cecyt9.ipn.mx/docs/poo/arreglos1.pdfLos arreglos pueden ser unidimensionales (vectores) o multidimensionales (matrices), siendo el

Tipos simples (primitivos): char, integer, float, boolean Elemental

Tipos de Datos Estructurados

Surge la necesidad de almacenar “algo” más elaborado (datos estructurados): palabras, fechas, directorios telefónicos…

Simples o Primitivos(bajo nivel)

Estructurados (alto nivel)

Page 8: ARREGLOS I - Instituto Politécnico Nacionalcoatl.cecyt9.ipn.mx/docs/poo/arreglos1.pdfLos arreglos pueden ser unidimensionales (vectores) o multidimensionales (matrices), siendo el

Estructura de datos (ED).- colección caracterizada por su organización y operaciones definidas en la misma.

ED estáticas.- si el tamaño que ocupa en memoria se define antes de la

ejecución del programa y no se puede modificar durante dicha ejecución (arreglos, registros, archivos, etc).

ED dinámicas.- no tienen las restricciones por el espacio en memoria que poseen las estáticas (listas, pilas, colas, árboles, grafos).

Page 9: ARREGLOS I - Instituto Politécnico Nacionalcoatl.cecyt9.ipn.mx/docs/poo/arreglos1.pdfLos arreglos pueden ser unidimensionales (vectores) o multidimensionales (matrices), siendo el

Simples v.s. Estructurados

En el tipo de dato simple cada variable representa un elemento, mientras que en el tipo estructurado un identificador (nombre) puede representar múltiples datos individuales , pudiendo cada uno de éstos ser referenciado individualmente.

Page 10: ARREGLOS I - Instituto Politécnico Nacionalcoatl.cecyt9.ipn.mx/docs/poo/arreglos1.pdfLos arreglos pueden ser unidimensionales (vectores) o multidimensionales (matrices), siendo el

Arreglo:= Conjunto finito y ordenado de elemento homogéneos.

(Almacena datos del mismo tipo)

(Los datos pueden ser seleccionados individualmente por medio de índices)

Page 11: ARREGLOS I - Instituto Politécnico Nacionalcoatl.cecyt9.ipn.mx/docs/poo/arreglos1.pdfLos arreglos pueden ser unidimensionales (vectores) o multidimensionales (matrices), siendo el

Los arreglos pueden ser unidimensionales (vectores) o multidimensionales (matrices), siendo el unidimensional el más simple.

Notación:

a1, a2, . . ., ai, …, an representación matemática de un arreglo unidimensional de n elementos llamado “a”

a[0], a[1] , … , a[i], … , a[n-1] representación en programación de un arreglo unidimensional de n elementos llamado “a” (en general el primer elemento inicia con el índice cero).

El número de elementos del arreglo se denomina rango.

Page 12: ARREGLOS I - Instituto Politécnico Nacionalcoatl.cecyt9.ipn.mx/docs/poo/arreglos1.pdfLos arreglos pueden ser unidimensionales (vectores) o multidimensionales (matrices), siendo el

Ejemplo de arreglo llamado Alumnos, con rango de 30 elementos:

1 Hugo

2 Paco

3 Luis

.. ..

i Martín

.. ..

30 Graciela

Page 13: ARREGLOS I - Instituto Politécnico Nacionalcoatl.cecyt9.ipn.mx/docs/poo/arreglos1.pdfLos arreglos pueden ser unidimensionales (vectores) o multidimensionales (matrices), siendo el

Consideremos al arreglo X de 8 elementos:

0 14.0

1 12.0

2 8.0

3 7.0

4 6.41

5 5.23

6 6.15

7 7.25

Algunas instrucciones que manipulan al vector X son:

Despliega (X[0])X [4] 45intSuma X[1] + X[3]intSuma intSuma + X[3]X [5] X [5] + 3.5X [6] X [1] + X [2]

Page 14: ARREGLOS I - Instituto Politécnico Nacionalcoatl.cecyt9.ipn.mx/docs/poo/arreglos1.pdfLos arreglos pueden ser unidimensionales (vectores) o multidimensionales (matrices), siendo el

Los índices pueden ser enteros, variables o expresiones enteras. Por lo tanto, si i 4,

X [i + 1] representa

X [i -2] representa

X [i + 3] representa

0 14.0

1 12.0

2 8.0

3 7.0

4 6.41

5 5.23

6 6.15

7 7.25

Page 15: ARREGLOS I - Instituto Politécnico Nacionalcoatl.cecyt9.ipn.mx/docs/poo/arreglos1.pdfLos arreglos pueden ser unidimensionales (vectores) o multidimensionales (matrices), siendo el

Los índices pueden ser enteros, variables o expresiones enteras. Por lo tanto, si i 4,

X [i + 1] representa 5.23

X [i -2] representa 8.0

X [i + 3] representa 7.25

0 14.0

1 12.0

2 8.0

3 7.0

4 6.41

5 5.23

6 6.15

7 7.25

Page 16: ARREGLOS I - Instituto Politécnico Nacionalcoatl.cecyt9.ipn.mx/docs/poo/arreglos1.pdfLos arreglos pueden ser unidimensionales (vectores) o multidimensionales (matrices), siendo el

Operaciones que se pueden realizar con arreglos son:

• Asignación

• Lectura/escritura

• Recorrido (acceso secuencial)

• Actualizar

• Búsqueda

• Ordenación *

Page 17: ARREGLOS I - Instituto Politécnico Nacionalcoatl.cecyt9.ipn.mx/docs/poo/arreglos1.pdfLos arreglos pueden ser unidimensionales (vectores) o multidimensionales (matrices), siendo el

Notación (de acuerdo al texto)

tipo

array [lim inf .. lim sup] de <tipo> : nombre_arreglo

Ejemplos:

tipo

array [0 .. 9] de integer : intEdades (arreglo de 10 elementosenteros llamado “intEdades”)

tipo

array [0 .. 49] de float : fltCalificaciones (arreglo de 50 elementos flotantes llamado “fltCalificaciones”)

Page 18: ARREGLOS I - Instituto Politécnico Nacionalcoatl.cecyt9.ipn.mx/docs/poo/arreglos1.pdfLos arreglos pueden ser unidimensionales (vectores) o multidimensionales (matrices), siendo el

Asignación

tipo

array [0 .. 4] de integer : intA

intA [4] 29 (asigna el valor de 29 al elemento 5 del arreglo intA)

intA [5] 29 (?)

Page 19: ARREGLOS I - Instituto Politécnico Nacionalcoatl.cecyt9.ipn.mx/docs/poo/arreglos1.pdfLos arreglos pueden ser unidimensionales (vectores) o multidimensionales (matrices), siendo el

Asignación / Recorrido

• Se pueden asignar valores a cada elemento del arreglo empleando estructuras repetitivas o incluso de selección:

intI = 0

Haz

intA [intI] 8

intI intI +1

mientras intI <= 4

Page 20: ARREGLOS I - Instituto Politécnico Nacionalcoatl.cecyt9.ipn.mx/docs/poo/arreglos1.pdfLos arreglos pueden ser unidimensionales (vectores) o multidimensionales (matrices), siendo el

Lectura/escritura

Leer (intA [3] ) , leer el elemento intA [3] del arreglo intA

Actualización Es la combinación de recorrido con asignación sobre valores previos.

intI = 0

Haz

intA [intI] intI

intI intI +1

mientras intI <= 4

intI = 0

Haz

intA [intI] 8

intI intI +1

mientras intI <= 4

Page 21: ARREGLOS I - Instituto Politécnico Nacionalcoatl.cecyt9.ipn.mx/docs/poo/arreglos1.pdfLos arreglos pueden ser unidimensionales (vectores) o multidimensionales (matrices), siendo el

Búsqueda.-Consiste en investigar la existencia de cierto elemento dentro de la colección.intI 0

boolBandera falso

Haz

intA [intI] intI

intI intI +1

mientras intI <= 4

Haz

si (intA [intI] == 3)

entonces Despliega “El 3 está en la posición ”+ intI + ” del arreglo ”

boolBandera verdadero

intI intI +1

mientras intI <= 4

si (boolBandera == falso)

entonces Despliega “El 3 no está en el arreglo ”

Page 22: ARREGLOS I - Instituto Politécnico Nacionalcoatl.cecyt9.ipn.mx/docs/poo/arreglos1.pdfLos arreglos pueden ser unidimensionales (vectores) o multidimensionales (matrices), siendo el

Ejercicios empleando arreglos unidimensionales (1):

1.- Inicializar los elementos de dos arreglos de enteros intA e intB de rango 50 convalores secuenciales. Sumar los correspondientes elementos de cada arreglo yalmacenar los resultado en los correspondientes elementos del vector intSuma.

2.- Leer 50 datos enteros proporcionados por el usuario. Determinar y desplegar: Lasuma, el promedio, el mayor , el menor de dichos datos.

3.- Aplicación a la física.- inicializar dos vectores (fltA y fltB) de rango 3 con datosflotantes dados por el usuario. Calcular y desplegar: (a) El vector fltSuma, (b) el vectorfltResta (fltA - fltB), (c) el producto punto entre fltA y fltB, y (d) el vector fltC, siendofltC el producto vectorial fltA X fltB.

Enviar individualmente a [email protected] máximo a las 23:59 hr deldía 2 de septiembre de 2014, con prueba de escritorio.

Page 23: ARREGLOS I - Instituto Politécnico Nacionalcoatl.cecyt9.ipn.mx/docs/poo/arreglos1.pdfLos arreglos pueden ser unidimensionales (vectores) o multidimensionales (matrices), siendo el

Ejercicios empleando arreglos unidimensionales (2):

Modelar la entrada de una frase dada por el usuario (el usuario proporciona el rango de dicha frase) como un arreglo de caracteres (ejemplo: “CECyT 9 Juan de Dios Bátiz” se modela como un arreglo de 26 caracteres contando espacios) y determinar.-

1.- Si la frase es un palíndromo (Anita lava la tina).

2.- Número de veces que aparece cada letra (sin distinguir mayúsculas de minúsculas) del alfabeto en la frase.

Enviar individualmente a [email protected] máximo a las 23:59 hr del día 5 de septiembre de 2014, con prueba de escritorio.