Tema: “Cadenas en C#”.

Anuncio
Programación I, Guía 8
Tema: “Cadenas en C#”.
1
Facultad: Ingeniería
Escuela: Ingeniería en Computación
Asignatura: Programación I
Objetivos


Mostrar la implementación y el uso de cadenas de texto.
Identificar las funciones de tratamiento de cadenas en C#.
Introducción
Una definición de cadena es la siguiente:
Serie de caracteres tratados como una sola unidad. Una cadena puede incluir letras, dígitos y varios caracteres
especiales (+, -, *, /, $, entre otros).
Una cadena en C# es una matriz de caracteres que se declara utilizando la palabra clave string. Un literal de cadena
se declara utilizando las comillas, como se muestra en el siguiente ejemplo:
String S = “Estamos en la guía 8”;
Los objetos de cadena son inmutables, lo que significa que no se pueden cambiar una vez creados.
Los métodos que actúan sobre las cadenas, devuelven los nuevos objetos de cadena.
En muchas ocasiones es preciso trabajar con cadenas de caracteres en las diferentes aplicaciones que se desarrollan,
por eso es muy necesario conocer algunas de las funciones más utilizadas para el tratamiento de estas estructuras.
Material y Equipo
 Guía de laboratorio No. 8.
 Computadora con Visual Studio 2013 o superior.
 Dispositivo de almacenamiento (USB).
Procedimiento
G8_Ejemplo_1:
Función de comparación de cadenas Equals(). Este programa comprueba que el usuario y contraseña sean los
correctos; de lo contrario, al tercer intento cierra el programa.
1
2
3
4
5
namespace Guia8_Ejemplo1
{
class Program
{
static void Main(string[] args)
2
Programación I, Guía 8
6
{
7
Login();
8
Console.ReadKey();
9
}
10
static void Login()
11
{
12
String Usuario = "user";
13
String Password = "123456";
14
Console.Title = "L O G I N";
15
// Con la siguiente funcion mostramos fecha y hora del sistema
Console.WriteLine("Fecha y hora del sistema: [" + DateTime.Now.ToString() + "]");
16
17
Console.ReadLine();
18
for (int i = 0; i < 3; i++)
19
{
20
Console.Clear();
21
Console.WriteLine("Intento: [" + (i + 1) + "]");
22
Console.Write("Usuario: ");
23
String User = Console.ReadLine();
24
Console.Write("Contraseña: ");
25
String Pass = Console.ReadLine();
26
if ((User.Equals(Usuario)) && (Pass.Equals(Password)))
27
{
28
Console.WriteLine("\n");
29
Console.WriteLine("BIENVENID@ AL PROGRAMA.... ");
30
break;
31
}
32
else
33
{
34
Console.WriteLine("\n");
35
Console.WriteLine("Saliendo del programa...intente mas tarde...");
36
}
37
}
38
}
39
}
40 }
G9_Ejemplo_2
En este ejemplo, utilizamos la función Replace() para sustituir un carácter específico por otro carácter.
1
namespace G8_Ejemplo2
2
{
3
class Program
4
{
5
static void Main(string[] args)
6
{
7
String cadena, cambio, opcion;
8
do
9
{
10
Console.Clear();
11
Console.WriteLine("Escribe una oracion: ");
12
cadena = Console.ReadLine();
Programación I. Guía 8
3
13
cambio = cadena.Replace("a", "*");
14
Console.WriteLine("\t" + cambio);
15
Console.WriteLine("Desea ingresar otra oracion? (s/n)");
16
opcion = Console.ReadLine();
17
}while (opcion=="S" || opcion=="s");
18
Console.ReadKey();
19
}
20
}
21 }
G9_Ejemplo_3
En este ejemplo vamos a desarrollar una pequeña aplicación que verifica si una frase ingresada es palíndroma. Una
frase palíndroma es aquella que se lee igual de izquierda a derecha y viceversa.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
namespace G8_Ejemplo3
{
class Program
{
static void Main(string[] args)
{
Console.Title = "Digitar una palabra para averiguar si es palindroma";
String op;
do
{
Console.Clear();
Palindroma();
Console.WriteLine("Desea verificar otra frase? (s/n)");
op = Console.ReadLine();
} while (op == "S" || op == "s");
Console.ReadKey();
}
static void Palindroma()
{
String cadena1 = "", cadena2 = "";
Console.WriteLine("Escribe una palabra: ");
cadena1 = Console.ReadLine();
for (int i = cadena1.Length - 1; i >= 0; i--)
{
cadena2 = cadena2 + cadena1[i];
}
Console.WriteLine("La cadena invertida es: " + cadena2);
if (String.Equals(cadena1, cadena2))
{
Console.WriteLine("La cadena " + cadena1 + " es palindroma...");
}
else
{
Console.WriteLine("La cadena " + cadena1 + " no es palindroma...");
}
}
}
Programación I, Guía 8
4
38
}
G9_Ejemplo_4
Funciones para convertir cadenas a mayúsculas y minúsculas. Además utilizamos la función que calcula el número de
caracteres de una frase cualquiera (incluye espacios en blanco como caracteres).
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
namespace G8_Ejemplo4
{
class Program
{
static void Main(string[] args)
{
Console.Title = "Programa que convierte una oracion";
String cad1, cad2, cad3;
int largo;
Console.WriteLine("Digitar una frase que tenga letras mayusculas y minusculas: ");
cad1 = Console.ReadLine();
// la siguiente funcion calcula el numero de caracteres
largo = cad1.Length;
Console.WriteLine("La frase [" + cad1 + "] tiene [" + largo + "] caracteres.");
// la siguiente funcion convierte la frase a letras minusculas
cad2 = cad1.ToLower();
Console.WriteLine("La frase en letras minusculas es : " + cad2);
// la siguiente funcion convierte la frase a letras minusculas
cad3 = cad1.ToUpper();
Console.WriteLine("La frase en letras mayusculas es : " + cad3);
Console.ReadKey();
}
}
}
Análisis de Resultados
Desarrollar las siguientes aplicaciones en C#:
1. Comparar dos cadenas de caracteres haciendo uso de la función Compare().
2. Concatenar cuatro cadenas de caracteres utilizando la función Concat().
3. Invertir los elementos de un vector tipo String.
Investigación Complementaria
Se evaluará la presentación de los ejercicios propuestos en la sesión de laboratorio.
NOTA: Estudiemos todos los contenidos para la próxima semana, ya que tendremos el examen parcial.
Bibliografía

Deitel, Harvey M. y Paul J. Deitel, Cómo Programar en C#, Segunda Edición, México, 2007.
Descargar