Guia 9
Guia 9
Guia 9
Introducción
Los arreglos son estructuras de datos que consisten en elementos de datos del mismo tipo relacionados.
Los arreglos son entidades de longitud fija; conservan la misma longitud una vez que se crean, aunque
puede reasignarse una variable tipo arreglo de tal forma que haga referencia a un nuevo arreglo de
distinta longitud.
Arreglos
Un arreglo es un grupo de variables (llamadas elementos) que contienen valores y todos son del mismo
tipo. Recordemos que los tipos se dividen en dos categorías: por valor y por referencia.
Los elementos de un arreglo pueden ser tipos por valor o referencia. Para referirnos a un elemento en
especial dentro de un arreglo, especificamos el nombre de la referencia al arreglo y el número de la
posición de este elemento en el arreglo. Al número de la posición se le conoce como índice del elemento.
Una aplicación hace referencia a cualquier elemento del arreglo mediante una expresión de acceso al
arreglo, la cual incluye el nombre del arreglo, seguido el índice del elemento específico entre corchetes
([ ]). El primer elemento en cualquier arreglo tiene el índice cero, el cual se conoce como elemento cero.
En la figura siguiente, se muestra una ilustración de un arreglo:
204
Declaración y Creación de Arreglos
Las instancias de los arreglos ocupan espacio en memoria. Al igual que los objetos, los arreglos se crean
con la palabra clave new. Para crear una instancia de un arreglo, se especifica el tipo y el número de
elementos del arreglo, y el número de elementos como parte de una expresión de creación de arreglos,
que utiliza la palabra clave new. Dicha expresión devuelve una referencia que puede almacenarse en
una variable tipo arreglo. La siguiente expresión de declaración y creación de arreglos crea un objeto
que contiene 12 elementos int, y almacena la referencia al arreglo en la variable C.
int[ ] C = new int[12];
Cabe mencionar, que la expresión anterior puede dividirse en dos partes, así:
int [ ] C;
C = new int[12];
Material y Equipo
Guía de laboratorio No. 9.
Computadora con Visual Studio 2013 o superior.
Dispositivo de almacenamiento (USB).
Procedimiento
206
En este ejemplo, aprenderemos a encontrar el mayor elemento de un arreglo
Ejemplo3 así como también el menor elemento del mismo.
1 {
2 Console.Title = "Ejemplo3 el mayor y menor en un vector";
3 int[] n;
4 int tam, menor, mayor;
5 Console.WriteLine("Dame el tamaño del vector");
6 tam = int.Parse(Console.ReadLine());
7 n = new int[tam];
8 for (int i = 0; i < tam; i++)
9 {
10 Console.WriteLine("Digite el elemento" + (i+1) + " : ");
11 n[i] = int.Parse(Console.ReadLine());
12 }
13 mayor = n[0];
14 menor = n[0];
15 for (int i = 0; i < tam; i++)
16 {
17 if (n[i] > mayor)
18 {
19 mayor = n[i];
20 }
21 else if (n[i] < menor)
22 {
23 menor = n[i];
24 }
25 }
26 Console.WriteLine("El menor de los elementos es: " + mayor );
27 Console.WriteLine("El mayor de los elementos es: " + menor);
28 Console.ReadKey();
29 }
La instrucción foreach
En ejemplos anteriores, demostramos cómo utilizar las instrucciones for controladas por un contador
para iterar a través de los elementos de un arreglo.
207
Ahora comenzamos el estudio del foreach, que itera a través de los elementos de un arreglo o colección
completa.
La sintaxis de una instrucción foreach es la siguiente:
foreach (<tipoElemento> <Elemento> in <NombreArreglo>)
{
<Instrucciones>
}
Donde, el tipo y el identificador son el tipo y el nombre (por ejemplo int numero) de la variable de iteración
y NombreArreglo es al arreglo a través del cual se va a iterar. El tipo de la variable de iteración debe
concordar con el tipo de los elementos del arreglo.
La instrucción foreach es una variante de la instrucción for, pensada principalmente para compactar la
escritura de códigos donde se realiza un tratamiento a todos los elementos de un arreglo o lista.
208
A continuación presentamos varias operaciones que podemos realizar con un
Ejemplo5 vector de datos numéricos, como lo es: llenado de datos, buscar datos, mayor y
menor, sumatoria y promedio y sin olvidar lo más importante es utilizar el método
de la burbuja para el ordenamiento de los datos.
210
71 ventas[j+1]=aux;
72 }// fin del if
73 }//fin del segundo for, el más interno, el de la j
74 }//fin del primer for
75 //IMPRIME LAS VENTAS ORDENADAS
76 Console.WriteLine("\nEl vector ordenado queda asi:");
77 Console.WriteLine("\n");
78 for(i=0;i<5;i++)
79 {
80 Console.Write("\t $" + ventas[i]);
81 }
82 Console.WriteLine("\n");
83 Console.ReadKey();
84 }
212
Programa que permite digitar los datos de 2 vectores y realiza la suma de ellos.
Ejemplo7
213
Análisis de Resultados
1. De una lista de 9 notas almacenadas en un vector llamado Grado, se necesita saber cuántas notas
son igual a 8.5
2. Una planta que fabrica perfiles de hierro posee un lote de “n” piezas. Diseñar un programa que pida
ingresar la cantidad de piezas a procesar y luego ingresar la longuitud de cada perfil de hierro;
sabiendo que la pieza cuya longuitud este comprendida en el rango de 1.20 y 1.40 son aptas. Imprimir
por pantalla la cantidad de piezas aptas que hay en el lote.
3. Cargar un vector y solicitarle al usuario un valor que quiera buscar en un arreglo de una dimensión,
luego el programa debe decirle si se encuentra o no.
Si se encuentra, debe mostrarse la posición del elemento.
4. Realizar un programa para la empresa “T-Comunico” que solicite las ventas de recargas mensuales
de la tienda (durante 9 meses), luego muestre el mes en el que se realizo la venta mayor y la venta
menor, además del promedio y los meses que tienen ventas menores al promedio.
5. En una empresa trabajan “x” empleados cuyos sueldos oscilan entre $100 y $500, realizar un
programa que lea los sueldos que cobra cada empleado e informe cuantos empleados cobran entre
$100 y $300 y cuantos cobran mas de $350.
6. Desarrollar un programa que permita cargar 5 nombres de personas y sus edades respectivas. Luego
de digitar la información de todas las personas, se necesita imprimir los nombres de las personas
mayores de edad ( mayores o iguales a 18).
214
Investigación Complementaria
1. Desarrollar una aplicación que ordene los elementos de un vector de 7 números enteros (ascendente
y descendente).
2. Se dispone de una lista de las temperaturas de una ciudad en cada uno de los días de una
determinada semana.
Se desea calcular la temperatura mayor y menor de la semana.
3. De una lista de 6 precios almacenados en un vector llamado Mercadito, se necesita saber cuántos
precios son mayores a $25.
4. Definir un vector de 5 componentes de tipo Double que representen las alturas de 6 personas.
Obtener el promedio de las mismas. Contar cuantas personas son mas altas que el promedio y
cuantas mas bajas.
5. Una empresa tiene dos turnos ( mañana y tarde ) en los que trabajan 8 empleados ( 4 por la mañana
y 4 por la tarde ). Diseñar un programa que permita almacenar los sueldos de los empelados
agrupados por turno. Imprimir el total de sueldos por turno.
6. Se tienen las notas del primer parcial de los alumnos de dos cursos, el curso A y el curso B, cada
curso cuenta con 5 alumnos. Realizar un programa que muestre el curso que obtuvo el mayor
promedio general.
Bibliografía
Deitel, Harvey M. y Paul J. Deitel, Cómo Programar en C#, Segunda Edición, México, 2007.
215