Sei sulla pagina 1di 19

Temas

Arreglos en una dimensin

Administracin de Proyectos de desarrollo de Software Estructuras de datos (arreglos) Ciclo de vida de un proyecto Enfoque moderno

Fin de la presentacin

Contine en la siguiente actividad

Administracin de Proyectos de desarrollo de Software Estructuras de datos (arreglos) Ciclo de vida de un proyecto Enfoque moderno

Estructuras de datos (arreglos)

Arreglos en una dimensin

Arreglos
El arreglo es un tipo de dato estructurado formado por un conjunto de elementos de un mismo tipo de datos. En las unidades anteriores trabajamos con tipos de datos enteros, flotantes, cadenas, etc., los cuales son considerados como datos de tipo simple, puesto que una variable que se define con alguno de estos tipos slo puede almacenar un valor a la vez, es decir, existe una relacin de uno a uno entre la variable y el nmero de elementos (valores) que es capaz de almacenar. En cambio un dato de tipo estructurado como el arreglo, puede almacenar a ms de un elemento (valor) a la vez, con la condicin de que todos los elementos deben ser del mismo tipo de dato, es decir, que se puede tener un arreglo de datos enteros, flotantes, etc.

Estructuras de datos (arreglos)

Arreglos en una dimensin

Los arreglos se clasifican de acuerdo con el nmero de dimensiones que tienen. As, se tienen los arreglos unidimensionales (una dimensin), los bidimensionales (dos dimensiones) y los multidimensionales ( de ms de dos dimensiones ), etc. Definicin de arreglo
Un arreglo se define como una coleccin finita, homognea y ordenada de elementos: Finita.- todo arreglo tiene un limite, es decir se sabe determinar cul ser el nmero mximo de elementos que podrn formar parte del arreglo.

Estructuras de datos (arreglos)

Arreglos en una dimensin

Homognea.- todos los elementos de un arreglo son del mismo tipo. Ordenada.- se puede determinar cul ser el primer elemento, el segundo, el tercero, , y el n-simo elemento. Un arreglo puede representarse grficamente como se muestra a continuacin:
Arreglo

Primer elemento

Segundo elemento

N-simo elemento

Estructuras de datos (arreglos)

Arreglos en una dimensin Arreglos unidimensionales


Produccin 1 2 3

Un arreglo unidimensional, esta formado por un conjunto de elementos de un mismo tipo de datos que se almacenan bajo un mismo nombre y se diferencian por la posicin (ndice) que tiene cada elemento dentro del arreglo de datos. Por ejemplo: tenemos el nmero de unidades producidas por un obrero en cada uno de los das del mes. Para almacenarlos y manejarlos definimos un arreglo de una dimensin de 30 elementos, como se muestra a continuacin:

30

Estructuras de datos (arreglos)

Arreglos en una dimensin

El cual define un arreglo llamado produccin con 30 casillas o lugares para almacenar los datos de 30 das.
Declaracin de arreglo unidimensional Cuando se declara un arreglo, es necesario hacerlo como una variable: Nombre Variable: Arreglo [tamao] Tipo de dato Donde: Nombre Variable.- Nombre de identificacin de la variable. Arreglo.- Palabra reservada que indica que la variable es un arreglo. Tamao.- Nmero entero que indica la cantidad de elementos que tendr el arreglo. Tipo.- Tipo de dato que tendr el conjunto de elementos del arreglo que se esta definiendo, puede ser entero, real, carcter, etc.

Estructuras de datos (arreglos)

Arreglos en una dimensin

Si recordamos el ejemplo anterior, la forma de declararlo es: Produccin: Arreglo [30] entero Produccin es el nombre de la variable. Es un arreglo que contiene 30 elementos (de 1 a 30). Cada elemento del arreglo ser un dato de tipo entero. Manejo de los elementos de un arreglo
Cada elemento individual de un arreglo se relaciona con el nombre de la variable y un nmero (ndice) que indica la posicin la posicin que ocupa el elemento dentro del arreglo. Dicho nmero se pone entre [ ] y se le llama subndice. De acuerdo con el ejemplo anterior: El elemento 1 se relaciona con Produccin[1] El elemento 2 se relaciona con Produccin[2] El elemento 30 se relaciona con Produccin[30]

Estructuras de datos (arreglos)

Arreglos en una dimensin

El subndice puede ser una constante numrica entera como 1, 2, 3,, 30, una variable de tipo entero, como: Produccin [ i ], o bien, una expresin algebraica que de un resultado de tipo entero como: Produccin [ i + 3 ] Produccin [ (i * 4) j ] Como toda variable, una de tipo arreglo puede usarse para leer datos, asignarle valores mediante expresiones aritmticas, imprimir su contenido, formar parte de expresiones lgicas , etc. Lectura El proceso de lectura de un arreglo consiste en leer y asignar un valor a cada uno de sus elementos. Consideremos de nuevo nuestro ejemplo

Estructuras de datos (arreglos)

Arreglos en una dimensin

Una forma podra ser de la siguiente manera: Leer Produccin[1], Leer Produccion[2], Leer Produccin[30] De esta forma no resultara prctico, por lo tanto se usar un ciclo para leer todos los elementos del arreglo: i=1 repetir con i desde 1 hasta 30 leer Produccin[i] i=i+1 fin del ciclo

Estructuras de datos (arreglos)

Arreglos en una dimensin

Escritura El caso de escritura es similar al de lectura. Se debe escribir el valor de cada uno de los componentes, por ejemplo, considerando nuestro ejemplo: i=1 repetir con i desde 1 hasta 30 imprimir Produccin[i] i=i+1 fin del ciclo

Estructuras de datos (arreglos)

Arreglos en una dimensin

Ejemplo1: Desarrollar un algoritmo y diagrama de flujo que reciba como entrada un arreglo unidimensional de n valores de tipo entero y muestre el arreglo unidimensional: Algoritmo Arreglo de n elementos enteros mostrarlos 1. inicio 7. i = 1 2. declaracin de variables: 8. repetir con i desde 1 hasta n i, n: entero imprimir arr[i] arr: arreglo[n] entero i=i+1 3. leer n 9. fin del ciclo del paso 8 4. i = 1 10. fin 5. repetir con i desde 1 hasta n leer arr[i] i = i +1 6. fin del ciclo del paso 5

Estructuras de datos (arreglos)

Arreglos en una dimensin

Diagrama de flujo
inicio

i=1
no i <= n fin si arr[ i ]

i=1 no 2 i <= n si

i=i+1

arr[ i ] i=i+1

Estructuras de datos (arreglos)

Arreglos en una dimensin


Ejemplo 2: Desarrollar un algoritmo y diagrama de flujo que reciba como entrada un arreglo unidimensional que corresponde a los sueldos de un grupo de 70 empleados de una empresa y necesitamos saber cuntos de estos empleados tienen un sueldo superior al promedio del grupo. Mostrar el total de empleados que tiene un sueldo superior al promedio del grupo.
Algoritmo 1. inicio 2. declaracin de variables: i, conta = 0: entero prom, acsue = 0: flotante sue: Arreglo[70] flotante 3. i = 1

continua

Estructuras de datos (arreglos)

Arreglos en una dimensin

4. repetir con i desde 1 hasta 70 leer sue[i] acsue = acsue + sue[i] i=i+1 5. fin del ciclo del paso 4 6. prom = acsue / 70 7. i = 1 8. repetir con i desde 1 hasta 70 8.1 si sue[i] > prom entonces conta = conta + 1 8.2 fin del condicional del paso 8.1 i=i+1 9. fin del ciclo del paso 8

10. imprimir conta 11. fin

Estructuras de datos (arreglos)

Arreglos en una dimensin


Diagrama de flujo

2
conta

inicio prom = acsue / 70 conta =0 acsue = 0

i=1

fin

i=1 2

no
i <= 70 i=i+1 si

no 1
i <= 70 si sue[ i ] acsue = acsue + sue[i] i=i+1

sue[i] > prom

si

conta = conta + 1

no

Estructuras de datos (arreglos)

Arreglos en una dimensin

Ejemplo 3: Desarrolla un algoritmo y diagrama de flujo que reciba como entrada dos arreglos unidimensionales cada uno con 20 nmeros enteros, calcular la suma uno a uno de los elementos de los dos arreglos y almacenar el resultado en un tercer arreglo. Mostrar al final los tres arreglos.
Algoritmo 1. inicio 2. declaracin de variables: a, b, c: Arreglo[20] entero i: entero 3. i = 1 continua

Estructuras de datos (arreglos)

Arreglos en una dimensin

4. repetir con i desde 1 hasta 20 leer a[i] leer b[i] c[i] = a[i] + b[i] i=i+1 5. fin del ciclo del paso 4 6. i = 1 7. repetir con i desde 1 hasta 20 imprimir a[i], b[i], c[i] i = i +1 8. fin del ciclo del paso 7 9. fin

Estructuras de datos (arreglos)

Arreglos en una dimensin

Diagrama de flujo
inicio

i=1
i=1 no 1 i <= 20 i <= 20

si

fin

i=i+1
a[i], b[i], c[i]

a[i], b[i], c[i]

c[i] = a[i] + b[i] i=i+1