Vous êtes sur la page 1sur 7

Facultad de Ingeniera

Escuela Profesional de Ingeniera Civil


Laboratorio seis
Programacin Digital
1) Nombre: Introduccin a la Programacin con Csharp
2) Objetivo: Conocer y aplicar los arreglos bidimensionales. Conceptos
bsicos, declaracin, creacin, inicializacin y operaciones. Aplicaciones.
3) Materiales: Computador, data display
4) Fundamento Terico

1.2.1.- Conceptos bsicos.


Un arreglo bidimensional tiene dos dimensiones y es un caso particular de los arreglos
multidimensionales. En C#, las dimensiones se manejan por medio de un par de
corchetes, dentro de los que se escriben, separados por comas, los valores de las dos
dimensiones.

1.2.2.- Operaciones.
Para manejar un arreglo, las operaciones a efectuarse son:

Declaracin del arreglo,


Creacin del arreglo,
Inicializacin de de los elementos del arreglo, y
Acceso a los elementos del arreglo.

A continuacin describiremos cada una de estas operaciones, en C#.

Declaracin.

La declaracin de un arreglo consiste en establecer las caractersticas


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 y la coma, [ , ], representan las dimensiones del
arreglo y encierra dos nmeros enteros, cuyo producto corresponde al
nmero de elementos del arreglo.
Ejemplos:
double [ , ] matriz ;
int [ , ] ubicacin ;
Rama [ , ] rbol; // Rama es una clase.
Observe que, en la declaracin, el espacio entre los corchetes est
vaco. Esto se debe a que, durante dicha operacin, no se reserva
espacio en la memoria.

Creacin.
La creacin de un arreglo bidimensional consiste en reservar espacio
en la memoria para todos sus elementos, utilizando la siguiente
sintaxis:
< identificador > = new <tipo> [ dim1, dim2 ] ;
Donde:
new es el operador para gestionar espacio de memoria, en tiempo de
ejecucin,
dim1 y dim2 son valores enteros que representan las dimensioes del
arreglo.
El tamao del arreglo es el resultado de multiplicar los valores de las
dimensiones y representa el nmero de elementos del arreglo.

Ejemplos:
matriz = new double [2, 3] ; // Se crea el arreglo matriz, con 6
elementos de tipo
//punto flotante y precicin doble .
ubicacin = new int[ 4,2] ; // Se crea el arreglo ubicacin, con 8
elementos de
//tipo entero de 32 bits .
rbol = new Rama[5,2] ; // Se crea el arreglo arbol, con 10 objetos
//de la clase Rama.
Las operaciones de declaracin y creacin anteriores se pueden
agrupar en una sola instruccin, como se muestra enseguida:
double [ , ] matriz = new double [2,3] ;
int [ , ] ubicacin = new int[4, 2] ;
Rama [ , ] alumno = new Rama[5,2] ;

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

Si el tipo del arreglo es numrico, 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 declaracin,
creacin e inicializacin en una sola instruccin, por ejemplo:

double [ , ] matriz = { {1.5, 0, 4, -6.5, 2 } , {2.3, 9, 3.5, 4.8, 6.2} };


int [ , ] ubicacin = { {2, 4} , {6, 8} , {9, 10}, {5 , 1}};
string [ , ] funcionario = { {"Hugo", "jefe"} ,
{ "Paco", "operador "},
{ "Lus","ayudante"} };

Acceso.
Se puede acceder a los valores de los elementos de un arreglo
bidimensional a travs del nombre del arreglo y dos subndices. Los
subndices deben escribirse entre corchetes y representa la posicin
del elemento en el arreglo. As, podemos referirnos a un elemento del
arreglo escribiendo el nombre del arreglo y los subndices del
elemento entre corchetes. Los valores de los subndices empiezan en
cero para el primer elemento, hasta el tamao del arreglo menos uno.
Ejemplo:
int [ , ] posicin = new int[5, 10] ; // Crea el arreglo posicin , con 50
elementos de tipo entero.
int x;
posicin[ 3, 5] = 3 ;
x = posicin[ 3, 5] ;

1.2.3.- Aplicaciones.
Matrices.
Una matriz es un arreglo rectangular de dos dimensiones, donde el
acomodo de los elementos est dispuesto en renglones y columnas.
Ejemplo 1:

Se debe controlar la ubicacin de los asistentes a una sala de


conferencias por medio de un gafete que tiene escrito el nombre del
asistente, la fila y la columna donde se ubica su asiento.
El siguiente segmento de cdigo muestra la solucin con arreglos
bidimensionales.
string [ , ] asistente = new string[10,12] ;
// Inicializa los valores de los nombres con cadenas vacas.
for(int i=0 ; i < 10 ; i++ ) // Controla la fila.
for(int j=0 ; j < 12 ; j++ ) // Controla la columna.
asistente[ i , j ] = " " ;
// Captura los nombres de todos los asistentes y les asigna sus
asientos,
// en el orden en que van llegando.
for(int i=0 ; i < 10 ; i++ ) // Controla la fila.
for(int j=0 ; j < 12 ; j++ ) // Controla la columna.
asistente[ i , j ] = System.Console.ReadLine( );
// Despliega los nombres de todos los asistentes.
for(int i=0 ; i < 10 ; i++ ) // Controla la fila.
for(int j=0 ; j < 12 ; j++ ) // Controla la columna.
System.Console.WriteLine( asistente[ i , j ] );

Ejemplo 2 :
Dadas la matriz A :
10
43
57

8
16
25

29
13
30

15
21
44

62
78
17

y la matriz B :
20
92
35

66
85
61

31
74
15

42
69
54

50
45
12

Elaborar un programa en C# para obtener la suma de ambas matrices:


S=A+B

// SumMatrices.cs : Suma dos matrices de 3 renglones y 5 columnas.

using System;
class Matriz
{
public static
{
double [ ,
double [ ,
double [ ,
int i, j ;

void Main( )
] A = new double [3,5] ;
] B = new double [3, 5] ;
] S = new double [3, 5] ;

// Lectura de valores para los elementos de A.


for( i = 0 ; i < 3 ; i++ )
for( j = 0 ; j < 5 ; j++)
A[ i , j ] = Convert.ToDouble(Console.ReadLine( ));

// Lectura de valores para los elementos de B.


for( i = 0 ; i < 3 ; i++ )
for( j = 0 ; j < 5 ; j++)
B[ i , j ] = Convert.ToDouble(Console.ReadLine( )) ;

// Suma y despliegue de la matriz resultado.


for( i = 0 ; i < 3 ; i++ )
{
for( j = 0 ; j < 5 ; j++)
{
S[ i , j ] = A[ i , j ] + B[ i , j ] ;
Console.Write(" " + S[ i , j ] ) ;
}
Console.WriteLine( ) ;
}
}
}

Vous aimerez peut-être aussi