Código del ejercicio:
int i = 0, p = 0, sw = 0;
Console.Write("Ingresar texto: ");
string s = Console.ReadLine();
Console.Write("Ingresar carácter: ");
char l = char.Parse(Console.ReadLine());
while(i < s.Length && sw == 0)
{
if (s[i] == l)
{
p = i;
sw = 1;
}
i = i + 1;
}
Console.Write($"El carácter {l} está en la posición {p}");
Console.ReadKey();
Definición de los códigos del ejercicio:
Console.Write() --> escribe un texto en pantalla.
int --> dato entero de 32 bits.
Console.ReadLine() --> lee un dato desde teclado.
string --> dato de tipo cadena de texto.
Parse() --> se utiliza para convertir una representación de cadena de un número en un entero equivalente con signo de 16/32/64 bits.
char --> se usa para contener un único carácter unicode (con codificación Unicode de 16 bits).
while --> el ciclo while recorre un bloque de código siempre que una condición específica sea verdadera.
if --> use if para especificar un bloque de código que se ejecutará, si una condición especificada es verdadera.
else --> use else para especificar un bloque de código a ejecutar, si la misma condición es falsa.
< --> el operador menor que ( < ) devuelve true si el operando izquierdo es menor que el operando derecho.
!= --> el operador de desigualdad ( != ) comprueba si sus dos operandos no son iguales y devuelve un resultado booleano.
Length --> obtiene el número de caracteres del objeto String actual.
&& --> el operador lógico AND ( && ) (conjunción lógica) para un conjunto de operandos booleanos será true si y solo si todos los operandos son true. De lo contrario será false.
== --> el operador de igualdad ( == ) regresa true si sus operandos son iguales, false en caso contrario.
$"{}" --> interpolación de cadenas proporciona una sintaxis conveniente para concatenar varios valores para formar una cadena.
Console.ReadKey() --> escribimos el método Console.ReadKey() al final de nuestro código para mantener abierta la ventana de nuestra consola.
Explicación del Código:
int i = 0, p = 0, sw = 0;
Console.Write("Ingresar texto: ");
string s = Console.ReadLine();
Console.Write("Ingresar carácter: ");
char l = char.Parse(Console.ReadLine());
while(i < s.Length && sw == 0)
{
if (s[i] == l)
{
p = i;
sw = 1;
}
i = i + 1;
}
Console.Write($"El carácter {l} está en la posición {p}");
Console.ReadKey();
1. Declaración de Variables
Se crean tres variables:
- i: recorre cada letra del texto.
- p: guarda la posición donde se encontró el carácter.
- sw: sirve para detener la búsqueda cuando el carácter ya fue encontrado.
2. Ingreso del Texto
El usuario escribe una cadena de texto y se almacena en la variable s.
3. Ingreso del Carácter
El usuario ingresa el carácter que desea buscar dentro del texto.
Ese carácter se guarda en la variable l.
4. Ciclo while
El ciclo recorre el texto letra por letra mientras:
- i < s.Length: no llegue al final del texto.
- sw == 0: el carácter todavía no haya sido encontrado.
5. Comparación del Carácter
La condición compara cada letra del texto con el carácter ingresado.
Si ambos son iguales:
- p = i: guarda la posición encontrada.
- sw = 1: detiene la búsqueda.
6. Incremento del Contador
La instrucción:
aumenta el valor de i para revisar la siguiente letra del texto.
7. Mostrar Resultado
Finalmente se muestra la posición donde se encontró el carácter.
Console.Write($"El carácter {l} está en la posición {p}");
8. Pausa Final
Console.ReadKey(); espera que el usuario presione una tecla antes de cerrar la consola.
Código del ejercicio: Otra forma de hacer
int i = 0;
Console.Write("Ingresar texto: ");
string s = Console.ReadLine();
Console.Write("Ingresar carácter: ");
char x = char.Parse(Console.ReadLine());
while(i < s.Length)
{
if (s[i] != x)
{
i = i + 1;
}
else
{
Console.Write($"El carácter {x} está en la posición {i}");
i = s.Length;
}
}
Console.ReadKey();
Definición de los códigos del ejercicio:
Console.Write() --> escribe un texto en pantalla.
int --> dato entero de 32 bits.
Console.ReadLine() --> lee un dato desde teclado.
string --> dato de tipo cadena de texto.
Parse() --> se utiliza para convertir una representación de cadena de un número en un entero equivalente con signo de 16/32/64 bits.
char --> se usa para contener un único carácter unicode (con codificación Unicode de 16 bits).
while --> el ciclo while recorre un bloque de código siempre que una condición específica sea verdadera.
if --> use if para especificar un bloque de código que se ejecutará, si una condición especificada es verdadera.
else --> use else para especificar un bloque de código a ejecutar, si la misma condición es falsa.
< --> el operador menor que ( < ) devuelve true si el operando izquierdo es menor que el operando derecho.
!= --> el operador de desigualdad ( != ) comprueba si sus dos operandos no son iguales y devuelve un resultado booleano.
Length --> obtiene el número de caracteres del objeto String actual.
&& --> el operador lógico AND ( && ) (conjunción lógica) para un conjunto de operandos booleanos será true si y solo si todos los operandos son true. De lo contrario será false.
== --> el operador de igualdad ( == ) regresa true si sus operandos son iguales, false en caso contrario.
$"{}" --> interpolación de cadenas proporciona una sintaxis conveniente para concatenar varios valores para formar una cadena.
Console.ReadKey() --> escribimos el método Console.ReadKey() al final de nuestro código para mantener abierta la ventana de nuestra consola.
Explicación del Código:
int i = 0;
Console.Write("Ingresar texto: ");
string s = Console.ReadLine();
Console.Write("Ingresar carácter: ");
char x = char.Parse(Console.ReadLine());
while(i < s.Length)
{
if (s[i] != x)
{
i = i + 1;
}
else
{
Console.Write($"El carácter {x} está en la posición {i}");
i = s.Length;
}
}
Console.ReadKey();
Explicación simple del código
-
int i = 0;
Se crea una variable llamada i que empieza en 0.
Esta variable sirve para recorrer cada posición del texto.
-
Console.Write("Ingresar texto: ");
Muestra un mensaje para que el usuario escriba un texto.
-
string s = Console.ReadLine();
Guarda el texto ingresado por el usuario en la variable s.
-
Console.Write("Ingresar carácter: ");
Solicita al usuario que escriba un carácter.
-
char x = char.Parse(Console.ReadLine());
Convierte el dato ingresado en un carácter y lo guarda en la variable x.
-
while(i < s.Length)
El ciclo recorre el texto mientras i sea menor que la longitud de la cadena.
-
if (s[i] != x)
Verifica si el carácter actual es diferente al carácter buscado.
-
i = i + 1;
Si no encuentra el carácter, avanza a la siguiente posición.
-
else
Se ejecuta cuando el carácter encontrado sí coincide con el buscado.
-
Console.Write($"El carácter {x} está en la posición {i}");
Muestra la posición donde se encontró el carácter.
-
i = s.Length;
Hace que el ciclo termine porque ya encontró el carácter.
-
Console.ReadKey();
Espera que el usuario presione una tecla antes de cerrar el programa.
¿Qué hace el programa?
Este programa busca la primera aparición de un carácter dentro de un texto.
Recorre letra por letra la cadena hasta encontrar el carácter ingresado
por el usuario y muestra la posición donde fue encontrado.