PROF. CÉSAR MOLINA ARREGLOS. QUE SON LOS ARREGLOS Algunas veces necesitamos variables para asignar...

47
PROF. CÉSAR MOLINA ARREGLOS

Transcript of PROF. CÉSAR MOLINA ARREGLOS. QUE SON LOS ARREGLOS Algunas veces necesitamos variables para asignar...

Page 1: PROF. CÉSAR MOLINA ARREGLOS. QUE SON LOS ARREGLOS Algunas veces necesitamos variables para asignar y realizar una operación (sumatorias, realizar un promedio.

P R O F. C É S A R M O L I N A

ARREGLOS

Page 2: PROF. CÉSAR MOLINA ARREGLOS. QUE SON LOS ARREGLOS Algunas veces necesitamos variables para asignar y realizar una operación (sumatorias, realizar un promedio.

QUE SON LOS ARREGLOS

• Algunas veces necesitamos variables para asignar y realizar una operación (sumatorias, realizar un promedio de notas, etc.)• Se puede realizar con las herramientas vistas

pero el problema es cuando tenemos muchas variables para realizar una operación y a la vez conservar todos los datos que el usuario nos esta entregando (Ej:Al realizar un promedio de notas serán necesarias una de ellas para modificarla).

Page 3: PROF. CÉSAR MOLINA ARREGLOS. QUE SON LOS ARREGLOS Algunas veces necesitamos variables para asignar y realizar una operación (sumatorias, realizar un promedio.

QUE SON LOS ARREGLOS

• Es aquí en donde recurrimos a los arreglos, que pueden almacenar una cantidad especifica de datos y utilizarlos independientemente para diversas operaciones como por ejemplo para modificar un dato, eliminarlo o hacer un ordenamiento.

Page 4: PROF. CÉSAR MOLINA ARREGLOS. QUE SON LOS ARREGLOS Algunas veces necesitamos variables para asignar y realizar una operación (sumatorias, realizar un promedio.

• Un arreglo se define como una colección finita, homogénea y ordenada de elementos.• Finita: Todo arreglo tiene un límite, es decir se

debe determinar cuál será el número máximo de elementos que podrán formar parte del arreglo.• Homogénea: Todos los elementos de un arreglo

son del mismo tipo de datos (enteros, flotantes, caracteres, etc.). Nunca una combinación de distintos tipos.• Ordenada: Se puede determinar cuál es el

primer elemento, el segundo,... , el enésimo.

Page 5: PROF. CÉSAR MOLINA ARREGLOS. QUE SON LOS ARREGLOS Algunas veces necesitamos variables para asignar y realizar una operación (sumatorias, realizar un promedio.

En este caso se ha definido un arreglo llamado calificaciones de tipo entero cuyo tamaño es de 100

Page 6: PROF. CÉSAR MOLINA ARREGLOS. QUE SON LOS ARREGLOS Algunas veces necesitamos variables para asignar y realizar una operación (sumatorias, realizar un promedio.
Page 7: PROF. CÉSAR MOLINA ARREGLOS. QUE SON LOS ARREGLOS Algunas veces necesitamos variables para asignar y realizar una operación (sumatorias, realizar un promedio.

• Para referirse a cada elemento de un arreglo se utiliza su índice. El índice es asignado generalmente por la posición que ocupa el elemento en el arreglo. Los índices de los elementos parten de 0 hasta el índice n-1, donde n es el tamaño del arreglo

Page 8: PROF. CÉSAR MOLINA ARREGLOS. QUE SON LOS ARREGLOS Algunas veces necesitamos variables para asignar y realizar una operación (sumatorias, realizar un promedio.

ARREGLOS UNIDIMENSIONALES: VECTORES

Un arreglo de una dimensión es una lista de variables, todas de un mismo tipo a las que se hace referencia por medio de un nombre común. Una variable individual del arreglo se llama elemento del arreglo. Para declarar un arreglo de una sola dimensión se usa el formato general:

Page 9: PROF. CÉSAR MOLINA ARREGLOS. QUE SON LOS ARREGLOS Algunas veces necesitamos variables para asignar y realizar una operación (sumatorias, realizar un promedio.
Page 10: PROF. CÉSAR MOLINA ARREGLOS. QUE SON LOS ARREGLOS Algunas veces necesitamos variables para asignar y realizar una operación (sumatorias, realizar un promedio.

OPERACIONES CON ARREGLOS

U N I D I M E N S I O N A L E S Y M U LT I D I M E N S I O N A L E S .

Page 11: PROF. CÉSAR MOLINA ARREGLOS. QUE SON LOS ARREGLOS Algunas veces necesitamos variables para asignar y realizar una operación (sumatorias, realizar un promedio.

ARREGLOS UNIDIMENSIONALES.

• Las operaciones básicas en arreglos son las siguientes: • Lectura/Escritura• Asignación• Actualización:• Inserción• Eliminación• Modificación

• Ordenación • Búsqueda

Page 12: PROF. CÉSAR MOLINA ARREGLOS. QUE SON LOS ARREGLOS Algunas veces necesitamos variables para asignar y realizar una operación (sumatorias, realizar un promedio.

LECTURA

• El proceso de lectura de un arreglo consiste en leer y asignar un valor a cada uno de sus componentes.

Ejemplo:Supongamos que se desean leer todos los elementos del arreglo unidimensional V en forma consecutiva. Forma 1:Leer V[1]Leer V[2]…Leer V[50]

Page 13: PROF. CÉSAR MOLINA ARREGLOS. QUE SON LOS ARREGLOS Algunas veces necesitamos variables para asignar y realizar una operación (sumatorias, realizar un promedio.

Forma 2:También se puede realizar de una forma más simplificada.

Usando un ciclo: Repetir con I desde 1 hasta 50Leer V[I]

• Puede suceder que no se necesite leer todos los componentes del arreglo, por ejemplo del 1 al 30. Repetir con I desde 1 hasta 30Leer V[I]

Page 14: PROF. CÉSAR MOLINA ARREGLOS. QUE SON LOS ARREGLOS Algunas veces necesitamos variables para asignar y realizar una operación (sumatorias, realizar un promedio.

ESCRITURA

• Similar a la lectura. Se debe escribir el valor de cada uno de los componentes.

Ejemplo: Suponiendo que se quieren escribir N componentes del arreglo V en forma consecutiva.

Repetir con I desde 1 hasta NEscribir V[I]Al variar el valor I, se escribe el elemento del arreglo unidimensional V.

Page 15: PROF. CÉSAR MOLINA ARREGLOS. QUE SON LOS ARREGLOS Algunas veces necesitamos variables para asignar y realizar una operación (sumatorias, realizar un promedio.

ASIGNACIÓN

• No es posible asignar directamente un valor a todo el arreglo, sino que se debe asignar el valor deseado a cada componente.

Ejemplo:Para el vector CICLO se asignaran dos valores: CICLO[1] 200CICLO[5] 300

• Si se deseara asignar 0 a todas las casillas: Repetir con I desde 1 hasta 12Hacer CICLO[I] 0

Page 16: PROF. CÉSAR MOLINA ARREGLOS. QUE SON LOS ARREGLOS Algunas veces necesitamos variables para asignar y realizar una operación (sumatorias, realizar un promedio.

DECLARACIÓN

• La declaración de un arreglo unidimensional consiste en establecer las características del arreglo y sus elementos, por medio de la siguiente sintaxis:• <tipo> [ ] < identificador > ; • Donde:• tipo indica el tipo correspondiente a los

elementos del arreglo ,• identificador es el nombre del arreglo, y• el par de corchetes, [ ], representa la dimensión

del arreglo y encierra un número entero que corresponde al número de elementos del arreglo.

Page 17: PROF. CÉSAR MOLINA ARREGLOS. QUE SON LOS ARREGLOS Algunas veces necesitamos variables para asignar y realizar una operación (sumatorias, realizar un promedio.

DECLARACIÓN

Ejemplos:• int [ ] a ;• float [ ] distancia ;• Artículo [ ] art = new Artículo[ 3]; • Observe que, en la declaración, el espacio entre

los corchetes está vacío. Esto se debe a que, durante dicha operación, no se reserva espacio en la memoria.

Page 18: PROF. CÉSAR MOLINA ARREGLOS. QUE SON LOS ARREGLOS Algunas veces necesitamos variables para asignar y realizar una operación (sumatorias, realizar un promedio.

CREACIÓN

• La creación de un arreglo unidimensional consiste en reservar espacio de memoria para todos sus elementos, utilizando la siguiente sintaxis:• < identificador > = new <tipo> [ tamaño ] ;• Donde:• new es el operador para gestionar espacio de

memoria, en tiempo de ejecución, • tamaño es un número entero que representa el

número de elementos del arreglo.

Page 19: PROF. CÉSAR MOLINA ARREGLOS. QUE SON LOS ARREGLOS Algunas veces necesitamos variables para asignar y realizar una operación (sumatorias, realizar un promedio.

INICIALIZACIÓN

• Un arreglo es un objeto que, cuando es creado por el compilador, se le asignan automáticamente valores iniciales predeterminados a cada uno de sus elementos, de acuerdo a los siguientes criterios:

• Si el tipo del arreglo es numérico, a sus elementos se les asigna el valor cero.

• Si el tipo del arreglo es char, a sus elementos se les asigna el valor '\u0000'.

• Si el tipo del arreglo es bool, a sus elementos se les asigna el valor false.

• Si el tipo del arreglo es una clase, a sus elementos se les asigna el valor null.

• Cuando se requiere asignar valores iniciales diferentes de los predeterminados, es posible agrupar las operaciones de declaración, creación e inicialización en una sola instrucción, por ejemplo:

• int [ ] a = { 1, 0,4,-6, 2,9, 23,455, 90,35 };• float [ ] distancia = { 2.50F, 286.45F, 46.75F, 30.62F, 93.00F };• string [ ] pato = { "Hugo", "Paco", "Luís" };

Page 20: PROF. CÉSAR MOLINA ARREGLOS. QUE SON LOS ARREGLOS Algunas veces necesitamos variables para asignar y realizar una operación (sumatorias, realizar un promedio.

EJEMPLO

El siguiente programa carga el arreglo sqrs con los cuadrados de los números del 1 al 10 y luego los visualiza.

Page 21: PROF. CÉSAR MOLINA ARREGLOS. QUE SON LOS ARREGLOS Algunas veces necesitamos variables para asignar y realizar una operación (sumatorias, realizar un promedio.

EJEMPLO 2

Si desea copiar los valores de todos los elementos de una arreglo a otro debe hacerlo copiando cada elemento por separado. Por ejemplo, el siguiente programa carga a1 con los números 1 a 10 y después los copia en a2.

Page 22: PROF. CÉSAR MOLINA ARREGLOS. QUE SON LOS ARREGLOS Algunas veces necesitamos variables para asignar y realizar una operación (sumatorias, realizar un promedio.

EJEMPLO 3

Se lee la temperatura al mediodía, durante todos los días de un mes y luego informa la temperatura promedio mensual así como el día más caluroso y el más frío.

Page 23: PROF. CÉSAR MOLINA ARREGLOS. QUE SON LOS ARREGLOS Algunas veces necesitamos variables para asignar y realizar una operación (sumatorias, realizar un promedio.

OPERACIONES CON ARREGLOS UNIDIMENSIONALES

Suma y RestaLos arreglos deben tener el mismo tamaño y la suma se realiza elemento a elemento. Por ejemplo C =A + B. Donde A, B y C son arreglos de enteros de tamaño 3.

Page 24: PROF. CÉSAR MOLINA ARREGLOS. QUE SON LOS ARREGLOS Algunas veces necesitamos variables para asignar y realizar una operación (sumatorias, realizar un promedio.
Page 25: PROF. CÉSAR MOLINA ARREGLOS. QUE SON LOS ARREGLOS Algunas veces necesitamos variables para asignar y realizar una operación (sumatorias, realizar un promedio.

EJEMPLOS

• Escriba un algoritmo que devuelva el valor máximo de un vector.• Escriba un algoritmo que escriba en pantalla el

contenido de un vector de “n” caracteres.• Escriba un algoritmo que escriba el producto de 2

vectores ingresados por teclado en un nuevo vector.

Page 26: PROF. CÉSAR MOLINA ARREGLOS. QUE SON LOS ARREGLOS Algunas veces necesitamos variables para asignar y realizar una operación (sumatorias, realizar un promedio.

EJERCICIOS

• 1. Construir un programa que permita traducir un numero entre 1 y 7 al día al cual debe equivaler. Independiente del numero que el usuario ingrese mostrar el día al cual equivale, es decir 8 debería ser lunes ....

• 2. Definir un vector cuyo tamaño sea 12 y en las posiciones desde la cero hasta la 11 almacenar los meses de año. Construir un programa que mientras el usuario lo desee convierta un número  de un mes ingresado por el teclado a su nombre. Hacerlo para que funcione tato en español como en ingles y es el usuario quien decide en cual de los dos idiomas verlo.

• 3. En electrónica las resistencias tiene un valor en ohmios según es asignado a los colores: negro=0, cafe=1, rojo=2, naranja=3, amarillo=4, verde=5, azul=6, violeta=7, gris=8, blanco=9. Construir un programa que dado  un número entre 0 y 9 imprima el color al cual equivale. Utilizar vectores para lograr una traducción rápida.

• 4. Construir un programa que convierta un numero a su equivalente en romano, esto mientras el usuario lo desee para un rango entre [1,20].

Page 27: PROF. CÉSAR MOLINA ARREGLOS. QUE SON LOS ARREGLOS Algunas veces necesitamos variables para asignar y realizar una operación (sumatorias, realizar un promedio.

EJERCICIOS

• 5. Definir un vector de tamaño n, luego llenarlo con la edad de n personas que el usuario ingresa por el teclado. Imprimir las edades de las personas que son mayores al promedio de edad calculado.

• 6. Construir un programa que defina un vector de tamaño n. La idea es llenarlo con números enteros positivos de forma que ninguna posición se quede sin llenar y que tampoco viole la regla dada.

• 7. Llenar un vector de tamaño n con números enteros leídos por el teclado, de forma que el vector se llene ordenadamente de menor a mayor. Al imprimir el vector los números que lo conforman deben estar totalmente ordenados. Básicamente se pretende que cada nuevo número ingresado sea mayor al anteriormente ingresado.

Page 28: PROF. CÉSAR MOLINA ARREGLOS. QUE SON LOS ARREGLOS Algunas veces necesitamos variables para asignar y realizar una operación (sumatorias, realizar un promedio.

MATRICES

Page 29: PROF. CÉSAR MOLINA ARREGLOS. QUE SON LOS ARREGLOS Algunas veces necesitamos variables para asignar y realizar una operación (sumatorias, realizar un promedio.

ARREGLOS MULTIDIMENSIONALES: MATRICES

Es una estructura de datos estática y de un mismo tipo de datos, y de longitud fija que almacena datosde forma matricial, el acceso a cada elemento es mediante uso de índices.Este elemento es denominado matriz de orden"m×n" el cual es un conjunto rectangular de elementos dispuestos en filas "m" y en columnas "n", siendo m y nnúmeros naturales. Las matrices se denotan con letras mayúsculas: A, B, C, ... y los elementos de las mismas con letras minúsculas y subíndices que indican el lugar ocupado: a, b, c, ...Un elemento genérico que ocupe la fila i y la columna j se escribe i,j. Si el elemento genérico aparece entre paréntesis también representa a toda la matriz: A (i,j).

Page 30: PROF. CÉSAR MOLINA ARREGLOS. QUE SON LOS ARREGLOS Algunas veces necesitamos variables para asignar y realizar una operación (sumatorias, realizar un promedio.

EL ARREGLO NOTAS

Page 31: PROF. CÉSAR MOLINA ARREGLOS. QUE SON LOS ARREGLOS Algunas veces necesitamos variables para asignar y realizar una operación (sumatorias, realizar un promedio.

MODO DE REPRESENTACIÓN

Una matriz de orden 3x4 se muestra a continuación, siendo M una matriz de 3 filas y 4 columnas, la representación gráfica de sus posiciones sería la siguiente:

Page 32: PROF. CÉSAR MOLINA ARREGLOS. QUE SON LOS ARREGLOS Algunas veces necesitamos variables para asignar y realizar una operación (sumatorias, realizar un promedio.

DECLARACIÓN DE ARREGLOS MULTIDIMENSIONALES

Page 33: PROF. CÉSAR MOLINA ARREGLOS. QUE SON LOS ARREGLOS Algunas veces necesitamos variables para asignar y realizar una operación (sumatorias, realizar un promedio.
Page 34: PROF. CÉSAR MOLINA ARREGLOS. QUE SON LOS ARREGLOS Algunas veces necesitamos variables para asignar y realizar una operación (sumatorias, realizar un promedio.
Page 35: PROF. CÉSAR MOLINA ARREGLOS. QUE SON LOS ARREGLOS Algunas veces necesitamos variables para asignar y realizar una operación (sumatorias, realizar un promedio.
Page 36: PROF. CÉSAR MOLINA ARREGLOS. QUE SON LOS ARREGLOS Algunas veces necesitamos variables para asignar y realizar una operación (sumatorias, realizar un promedio.

EJEMPLO 1

Llenado de un arreglo de enteros de dimensión 3x2. En este ejemplo el llenado lo realiza el usuario.

Page 37: PROF. CÉSAR MOLINA ARREGLOS. QUE SON LOS ARREGLOS Algunas veces necesitamos variables para asignar y realizar una operación (sumatorias, realizar un promedio.

OPERACIONES CON MATRICES

Suma y restaLos arreglos deben tener el mismo orden y la suma se realiza elemento a elemento. Por ejemplo seanA,B y C arreglos de números punto flotante de orden 2x3. Entonces la operación C = A+B sería:

Page 38: PROF. CÉSAR MOLINA ARREGLOS. QUE SON LOS ARREGLOS Algunas veces necesitamos variables para asignar y realizar una operación (sumatorias, realizar un promedio.
Page 39: PROF. CÉSAR MOLINA ARREGLOS. QUE SON LOS ARREGLOS Algunas veces necesitamos variables para asignar y realizar una operación (sumatorias, realizar un promedio.

Suponga que debe construir un programa para registrar los tiempos de los chequeos de 4 velocistas que compiten para un cupo en la clasificación nacional. Cada velocista corre por un carril, y se deben realizar 3 chequeos por cada velocista. Usted debe registrar el nombre del velocista que corre por cada canal, registrar el tiempo de cada prueba y su tiempo promedio. Tome en cuenta que el nombre de tiene una longitud de máximo 40 caracteres

Page 40: PROF. CÉSAR MOLINA ARREGLOS. QUE SON LOS ARREGLOS Algunas veces necesitamos variables para asignar y realizar una operación (sumatorias, realizar un promedio.

EXTRAYENDO LOS DATOS

• Se deben realizar chequeos de 4 velocistas que compiten para un cupo en la clasificación nacional. Cada velocista corre por un carril, y se deben realizar 3 chequeos por cada velocista.• Esto se “revisa” usando un arreglo de 4x 3

• Se debe registrar el nombre del velocista que corre por cada canal, registrar el tiempo de cada prueba y su tiempo promedio. El nombre de cada velocista tiene una longitud de máximo 40 caracteres• Esto de “revisa” con un arreglo de 4 (son 4 velocistas x

40 caracteres del nombre a ingresar

Page 41: PROF. CÉSAR MOLINA ARREGLOS. QUE SON LOS ARREGLOS Algunas veces necesitamos variables para asignar y realizar una operación (sumatorias, realizar un promedio.
Page 42: PROF. CÉSAR MOLINA ARREGLOS. QUE SON LOS ARREGLOS Algunas veces necesitamos variables para asignar y realizar una operación (sumatorias, realizar un promedio.
Page 43: PROF. CÉSAR MOLINA ARREGLOS. QUE SON LOS ARREGLOS Algunas veces necesitamos variables para asignar y realizar una operación (sumatorias, realizar un promedio.
Page 44: PROF. CÉSAR MOLINA ARREGLOS. QUE SON LOS ARREGLOS Algunas veces necesitamos variables para asignar y realizar una operación (sumatorias, realizar un promedio.
Page 45: PROF. CÉSAR MOLINA ARREGLOS. QUE SON LOS ARREGLOS Algunas veces necesitamos variables para asignar y realizar una operación (sumatorias, realizar un promedio.
Page 46: PROF. CÉSAR MOLINA ARREGLOS. QUE SON LOS ARREGLOS Algunas veces necesitamos variables para asignar y realizar una operación (sumatorias, realizar un promedio.

EJERCICIOS PROPUESTOS

1. Sea Par una arreglo de enteros de tamaño 10, realice un programa que cargue de forma automática números de pares en cada una de sus posiciones.2. Sea Impar un arreglo de enteros de tamaño 10, realice un programa que cargue de forma automática números impares en cada una de sus posiciones.3. Sea Par_Impar un arreglo de enteros de tamaño 10, realice un programa cargue de forma automática números pares en las posiciones que sean pares e impares donde las posiciones sean impares.4. Sea un vector A de 5 elementos realice las siguientes operaciones. • Los elementos del vector deben ser números negativos pares.• Determine cual es el mayor elemento del vector (may_A).• Determine cual es el menor elemento del vector (men_B).

Page 47: PROF. CÉSAR MOLINA ARREGLOS. QUE SON LOS ARREGLOS Algunas veces necesitamos variables para asignar y realizar una operación (sumatorias, realizar un promedio.

5. Desarrolle un programa que realice la siguiente operación. Se tienen dos vectores de 5 elementos numéricos cada uno, realizar la resta del Vector A menos el Vector B y almacenar el resultado en un Vector C (C = A -B), determinar el promedio de la suma de los elementos del Vector C (prom_C). 6. Continuando el ejercicio anterior, multiplique los valores que se encuentren en las posiciones impares del vector A (mult_impar_A), realice lo mismo para el vector C (mult_impar_B), determine cual de los 2 valores es mayor. 7. Llenar un Vector A de 6 elementos numéricos y determinar suma de todos sus elementos, promedio de los elementos y cuantos elementos están por encima del promedio. Realice lamismas operación para el Vector B = 4A. Imprima el promedio de A y de B, indique cual es el mayor de los promedios.