martes, 28 de abril de 2026

Encontrar la primera posición de un carácter x de una cadena en JavaScript

Código del ejercicio:

<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Ejercicio JavaScript</title>
</head>
<body>
    <script>
        let s = prompt('Ingresar texto:');
        let x = prompt('Ingresar carácter:');
        let i = 0;
        while(i < s.length){
            if(s[i] != x){
                i = i + 1;
            }else{
                document.write(`El carácter ${x} está en la posición ${i}`);
                i = s.length;
            }
        }
    </script>
</body>
</html>

Definición de los códigos del ejercicio:

<script></script> --> contiene comandos u ordenes que se van ejecutando de manera secuencial y comúnmente se utilizan para controlar el comportamiento de un programa en específico o para interactuar con el sistema operativo.
let --> permite declarar variables limitando su alcance (scope) al bloque, declaración, o expresión donde se está usando.
prompt() --> muestra un cuadro de diálogo con mensaje opcional, que solicita al usuario que introduzca un texto.
while --> el ciclo while recorre un bloque de código siempre que una condición específica sea verdadera.
if --> se usa para especificar un bloque de código que se ejecutará, si una condición especificada es verdadera.
else --> se usa 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 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 comparacion ( == ) comprueba si sus dos operandos son iguales y devuelve un resultado booleano.
!= --> el operador de desigualdad ( != ) comprueba si sus dos operandos no son iguales y devuelve un resultado booleano.
length --> la propiedad length devuelve la longitud de una cadena.
document.write --> imprime el texto especificado en la página.
`${}` --> los literales de plantilla (cadenas de plantilla) le permiten utilizar cadenas o expresiones incrustadas en forma de cadena.

Explicación del Código:

1. Entrada de datos

Se utiliza prompt() para pedir al usuario un texto y un carácter. El texto se guarda en la variable s y el carácter en x.

2. Inicialización

Se crea la variable i con valor 0. Esta variable servirá como contador para recorrer el texto.

3. Bucle while

El ciclo while se ejecuta mientras i sea menor que la longitud del texto (s.length), es decir, recorre cada carácter del texto.

4. Comparación

Se compara el carácter actual s[i] con el carácter buscado x.

5. Si no coincide

Si el carácter no es igual, se incrementa i en 1 para seguir buscando.

6. Si coincide

Si el carácter es igual, se muestra un mensaje indicando la posición donde se encontró.

7. Fin del ciclo

Se asigna i = s.length para salir del ciclo inmediatamente después de encontrar el carácter.

Resultado

El programa encuentra y muestra la primera posición del carácter dentro del texto ingresado.

Código del ejercicio: Otra forma de hacer

<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Ejercicio JavaScript</title>
</head>
<body>
    <script>
        let s = prompt('Ingresar texto:');
        let l = prompt('Ingresar carácter:');
        let i = 0, p = 0, sw = 0;
        while(i < s.length && sw == 0){
            if(s[i] == l){
                p = i;
                sw = 1;
            }
            i = i + 1;
        }
        document.write(`El carácter ${l} está en la posición ${p}`);
    </script>
</body>
</html>

Definición de los códigos del ejercicio:

<script></script> --> contiene comandos u ordenes que se van ejecutando de manera secuencial y comúnmente se utilizan para controlar el comportamiento de un programa en específico o para interactuar con el sistema operativo.
let --> permite declarar variables limitando su alcance (scope) al bloque, declaración, o expresión donde se está usando.
prompt() --> muestra un cuadro de diálogo con mensaje opcional, que solicita al usuario que introduzca un texto.
while --> el ciclo while recorre un bloque de código siempre que una condición específica sea verdadera.
if --> se usa para especificar un bloque de código que se ejecutará, si una condición especificada es verdadera.
else --> se usa 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 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 comparacion ( == ) comprueba si sus dos operandos son iguales y devuelve un resultado booleano.
!= --> el operador de desigualdad ( != ) comprueba si sus dos operandos no son iguales y devuelve un resultado booleano.
length --> la propiedad length devuelve la longitud de una cadena.
document.write --> imprime el texto especificado en la página.
`${}` --> los literales de plantilla (cadenas de plantilla) le permiten utilizar cadenas o expresiones incrustadas en forma de cadena.

Explicación del Código:

🎯 Objetivo

Encontrar la primera posición de un carácter dentro de un texto.

📥 Entrada de datos

Se solicita al usuario:

let s = prompt('Ingresar texto'); → guarda la cadena

let l = prompt('Ingresar carácter'); → guarda el carácter a buscar

🔢 Variables utilizadas

i = 0 → contador para recorrer la cadena

p = 0 → guarda la posición encontrada

sw = 0 → indica si se encontró el carácter (0 = no, 1 = sí)

🔁 Bucle while

while(i < s.length && sw == 0)

Recorre la cadena mientras:
✔ No se llegue al final
✔ No se haya encontrado el carácter

🔍 Condición

if(s[i] == l)

Compara cada letra del texto con el carácter buscado.

✅ Cuando encuentra el carácter

p = i; → guarda la posición

sw = 1; → detiene el ciclo

➡ Avance del contador

i = i + 1;

Pasa al siguiente carácter del texto.

📤 Resultado

document.write(...)

Muestra la posición donde se encontró el carácter.

Nota: La posición empieza desde 0.

No hay comentarios.:

Publicar un comentario

Convertir metros a yardas en JavaScript

Código del ejercicio: <! DOCTYPE html > < html lang = "es" > < head >     < meta charset = ...

Copyright ©2025 Ejercicios de programación. Todos los derechos reservados. ❤️