PDF de programación - Módulo 4 - Arreglos y cadenas - Programación en C# .NET

Imágen de pdf Módulo 4 - Arreglos y cadenas - Programación en C# .NET

Módulo 4 - Arreglos y cadenas - Programación en C# .NETgráfica de visualizaciones

Publicado el 5 de Julio del 2018
168 visualizaciones desde el 5 de Julio del 2018
2,6 MB
20 paginas
Creado hace 6a (22/05/2013)
PROGRAMACIÓN EN C# .NET
PROGRAMACIÓN EN C# .NET

Módulo 4 .- Arreglos y
Módulo 4 .- Arreglos y

cadenas
cadenas

Ing. Bruno López Takeyas
Ing. Bruno López Takeyas
Instituto Tecnológico de Nuevo Laredo
Instituto Tecnológico de Nuevo Laredo

1

ARREGLOS

Conjunto homogéneo

y estático

de datos relacionados

e indexados

Homogéneo significa
que todas sus celdas
son del mismo tipo de

dato

A
43
23
12
68
97

0
1
2
3
4

Índices

Estático se refiere

a que, una vez

declarado,

no cambia su tamaño

Celdas

2

DIMENSIONES DE

ARREGLOS
Unidimensionales (Vectores)
– 1 índice
Bidimensionales (Matrices)
– 2 índices (renglón y columna)
Tridimensionales (Cubos)
– 3 índices (renglón, columna y plano)
Multidimensionales

3

DECLARACIÓN DE

ARREGLOS

No sólo basta con declararlo, sino también
debe crearse con el operador new

int [ ] arreglo;
arreglo = new int[12];

// declara el arreglo

// reserva memoria

double [ ] arreglo2 = new double[10];

4

MANEJO DEL TAMAÑO DEL

ARREGLO

Declarar una constante con el tamaño del
arreglo

const int tamano_arreglo = 15;
int [ ] arreglo;
arreglo = new int[tamano_arreglo];
// reserva memoria

// declara el arreglo

5

ARREGLOS “DINÁMICOS”

Se pueden crear arreglos cuyo tamaño se
pueda establecer dinámicamente a partir
de una expresión que produzca un valor
entero

int x = 15; // variable
int [ ] arreglo;
arreglo = new int[x];

// declara el arreglo
// reserva memoria

6

INICIALIZACIÓN DE

ARREGLOS

int [ ] a = { 1, 2, 3, 4, 5, 6 };

string [ ] nom = { “Emilio”, “Pedro” };

double [ ] x = { 3.45, -4.556, 7.0 };

7

RECORRIDO DE ARREGLOS

int [ ] a = { 1, 2, 3, 4, 5, 6 };

for(int i=0; i<= a.Length; i++)
Console.Write(“\n{0}”, a[i]);

La longitud de un arreglo se obtiene con la

expresión Length

8

RECORRIDO DE UN ARREGLO

CON CICLO FOREACH

string[] Alumno= new string[]{"Pepe",
“Rodolfo", "Maria", “Fabiola",
"Miguel"};

foreach(string nombre in Alumno)
{

Console.WriteLine("\n{0}",nombre);

}

9

LA CLASE System.Array

Propiedad
Length
Rank
int GetLength(int dimension)
CopyTo(Arreglo_destino, posicion) Copia todos los elementos de un arreglo a

Descripción
Cantidad de elementos del arreglo
Cantidad de dimensiones del arreglo
Número de elementos de la dimensión

Sort()

otro a partir de una posición
Ordena los elementos de un arreglo

10

LECTURAS ADICIONALES

Capítulo Tema

Libro

Autor

Págs.

7

Variables y Tipos de Datos

El lenguaje de
Programación

C#

José Antonio

101 - 102

González

Seco

Se recomiendan estas lecturas para conocer el detalle
de uso de algunos métodos de la clase System.Array

11

CADENAS (STRINGS)

Secuencia de caracteres que se puede
considerar como un arreglo de caracteres

Ejemplo:

string escuela = “Tec Laredo”; // variable

12

CADENAS VERBATIM

Una cadena puede contener secuencias
de escape:

string x = “\x0041BCDE\a”;
Console.WriteLine(x); // Imprime ABCDE

• A una cadena Verbatim se le antepone un @
string y = @“\x0041BCDE\a”;
Console.WriteLine(x);

// Imprime \x0041BCDE\a

13

ASIGNACIÓN DE CADENAS

CON EL OPERADOR =

En C# se pueden asignar cadenas con el
operador = (lo que no se podía con los
arreglos de caracteres en C++, solamente
con los apuntadores de caracteres)

string s1 = “Tec Laredo”, s2;
s2 = s1;
Console.WriteLine(s2); // Tec Laredo

14

ASIGNACIÓN DE CADENAS CON

EL MÉTODO String.Copy()

Método String.Copy()

string s1 = “Tec Laredo”, s2;

s2= String.Copy(s1);

Console.WriteLine(s2); // Tec Laredo

15

COMPARACIÓN DE CADENAS

CON EL OPERADOR ==

En C# se pueden comparar cadenas con
el operador == (lo que no se podía con los
arreglos de caracteres en C++, solamente
con los apuntadores de caracteres)

string s1 = “Tec Laredo”, s2=“Tec Laredo”;
if(s1 == s2)

Console.WriteLine(“Son iguales”);

16

COMPARACIÓN DE CADENAS

CON EL MÉTODO Equals()

Método Equals()

string s1 = “Tec”, s2=“Tec”;

if( s1.Equals(s2) )

Console.WriteLine(“Son iguales”);

17

COMPARACIÓN DE CADENAS
CON EL MÉTODO CompareTo()

Método CompareTo()

string Cadena1, Cadena2;
int Resultado;

Resultado = Cadena1.CompareTo(Cadena2);

switch (Resultado)
{

case -1: Console.Write(Cadena1 + " < " + Cadena2); break;
case 0 : Console.Write(Cadena1 + " = " + Cadena2); break;
case 1: Console.Write(Cadena1 + " > " + Cadena2); break;

18

}

EDICIÓN DE CADENAS

Las cadenas pueden ser tratadas como un
arreglo de caracteres

string s1 = “Tec”;
char primer_caracter;

primer_caracter = s1[0]; // ‘T’
Console.WriteLine(primer_caracter);

SUBCADENAS

Método Substring()

string s1 = “Tec”, s2;
s2 = s1.Subtring(1,2);

Console.WriteLine(s2); // s2 = “ec”

19

20

LONGITUD DE CADENAS

Método Length()

string s = “Tec Laredo”;

Console.WriteLine(“Longitud=“+s.Length);

// Longitud = 10

21

MAYÚSCULAS Y MINÚSCULAS

Métodos ToUpper() y ToLower()

string s = “Tec Laredo”;
s = s.ToUpper();
Console.WriteLine(s); // TEC LAREDO

s = s.ToLower();
Console.WriteLine(s); // tec laredo

22

ELIMINACIÓN DE ESPACIOS DE

CADENAS (TRIMMING)

Método Trim()
Elimina los espacios en blanco al principio y
al final

string s = “ Tec Laredo ”;
s = s.Trim();
Console.WriteLine(s); //Tec Laredo

23

CONCATENACIÓN DE CADENAS

Agregar una cadena al final de otra

string s1 = “Tec”, s2 = “Laredo”;

s1 = s1 + s2;

Console.WriteLine(s1);// TecLaredo

24

MÉTODOS DE CADENAS

string escuela = “Tec Laredo”;

Buscar una cadena
if(escuela.Contains(“Tec”))
Conocer la cadena con la que empieza
if(escuela.StartsWith(“T”))
Conocer la cadena con la que termina
if(escuela.EndsWith(“.”))

25

GENERAR CADENAS

ALEATORIAS

string cadena =

Guid.NewGuid().ToString().Substring(0,

Longitud);

La variable Longitud

representa

el tamaño de la cadena

26

OTROS MÉTODOS DE CADENAS

Propiedad

Descripción

int IndexOf(string subcadena)

int LastIndex(string subcadena)

Indica el índice de la primera aparición de la
subcadena

Semejante a IndexOf(), sólo que devuelve la
posición de la última aparición de la
subcadena

string Insert(int posicion, string
subcadena)

Devuelve la cadena resultante de insertar la
subcadena en la posición indicada

string Remove(int posicion, int
numero)

string Replace(string aSustituir, string
Sustituta)

Devuelve la cadena resultante de eliminar el
número de caracteres indicada que hubiese
a partir de la posición especificada

Devuelve la cadena resultante de sustituir en
la cadena sobre la que se aplica toda
aparición de la cadena aSustituir indicada
por la cadena sustituta especificada como
segundo parámetro

27

LECTURAS ADICIONALES

Capítulo Tema

15

Strings, Characters and
Regular Expressions

Libro

Programming

in C#

Autor
Deitel &
Deitel

Págs.

632 - 660

Se recomiendan estas lecturas para reforzar el uso de

las cadenas (strings)

28

ARREGLOS BIDIMENSIONALES

(MATRICES)

29

DECLARACIÓN DE MATRICES

No sólo basta con declararlo, sino también
debe crearse con el operador new
Se declara primero la cantidad de renglones
seguido de la cantidad de columnas

int [ , ] matriz;
matriz = new int[2,3];

// declara la matriz

// reserva memoria

double [ , ] matriz2 = new double[3,4];

30

INICIALIZACIÓN DE MATRICES

Se declara e inicializa una matriz de
3 X 2

3 renglones
2 columnas

int [ , ] Matriz = { { 1, 2 },

{ 3, 4 },
{ 5, 6 } };

31

RECORRIDO DE MATRICES

int [ , ] Matriz = { { 1, 2 },

{ 3, 4 },
{ 5, 6 } };

for(int r=0; r<= Matriz.GetLength(0); r++)
{

Console.Write(“\n”);
for(int c=0; c<= Matriz[r].GetLength(1); c++)

Console.Write(“\t{0}”, Matriz[r,c]);

}

32

RECORRIDO DE UNA MATRIZ

MEDIANTE FOREACH
int [ , ] Matriz = { { 1, 2 },

{ 3, 4 },
{ 5, 6 } };

foreach(int numero in Matriz)
{

Console.WriteLine(“\t”+numero);

}
// Imprime 1 2 3 4 5 6

33

ARREGLOS TRIMENSIONALES

(CUBOS)

Renglones

Columnas

Planos

34

DECLARACIÓN DE CUBOS

No sólo basta con declararlo, sino también
debe crearse con el operador new
Se declara primero la cantidad de renglones
seguido de la cantidad de columnas y luego
los planos

int [ , , ] cubo;
cubo = new int[2,3,4];

// declara el cubo

// reserva memoria

double [ , , ] cubo2 = new double[3,4,5];

35

MANEJO DE CUBOS

int[, ,] Cubo = new int[2, 3, 4];

for(int r=0; r < Cubo.GetLength(0); r++)

for(int c=0; c < Cubo.GetLength(1); c++)

for (int p = 0; p < Cubo.GetLength(2); p++)
{

Console.Write("\nCubo[{0},{1},{2}] ---> ", r, c, p);
Cubo[r, c, p] = Int.Parse(Console.ReadLine());

}

36

RECORRIDO DE UN CUBO

MEDIANTE FOREACH

int [ , , ] Cubo = new int [2,3,4];

foreach(int numero in Cubo)
{

Console.WriteLine(“\t”+numero);

}

37

38

DIRECTIVAS DE
PREPROCESADO

#define
#error
#undef
#if
#elif
#else
#endif
#warning
#region
#endregion

COMPILACIÓN CONDICIONAL

Random x = new Random();
int[] Arreglo = new int[10];

for(int i=0; i<10; i++)
{

#define Capturar

Console.Write("\nArreglo[{0}] ---> ", i);

#if Capturar

Arreglo[i]=int.Parse(Console.ReadLine());

#else

Arreglo[i] = x.Next();
Console.Write(Arreglo[i]);

#endif
}

39
  • Links de descarga
http://lwp-l.com/pdf12353

Comentarios de: Módulo 4 - Arreglos y cadenas - Programación en C# .NET (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad