Guía 8

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 Ejemplo1: 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
6
namespace Guia8_Ejemplo1
{
class Program
{
static void Main(string[] args)
{
2
Programación I, Guía 8
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 más tarde...");
36
}
37
}
38
}
39
}
40 }
G8 Ejemplo2: 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();
13
cambio = cadena.Replace("a", "*");
14
Console.WriteLine("\t" + cambio);
15
Console.WriteLine("Desea ingresar otra oracion? (s/n)");
Programación I. Guía 8
3
16
opcion = Console.ReadLine();
17
}while (opcion=="S" || opcion=="s");
18
Console.ReadKey();
19
}
20
}
21 }
G8 Ejemplo3: 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
38
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...");
}
}
}
}
4
Programación I, Guía 8
G8 Ejemplo4: 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 oración";
String cad1, cad2, cad3;
int largo;
Console.WriteLine("Digitar una frase que tenga letras mayúsculas y minúsculas: ");
cad1 = Console.ReadLine();
// la siguiente función calcula el número de caracteres
largo = cad1.Length;
Console.WriteLine("La frase [" + cad1 + "] tiene [" + largo + "] caracteres.");
// la siguiente función convierte la frase a letras minúsculas
cad2 = cad1.ToLower();
Console.WriteLine("La frase en letras minúsculas es : " + cad2);
// la siguiente función convierte la frase a letras minúsculas
cad3 = cad1.ToUpper();
Console.WriteLine("La frase en letras mayúsculas 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