Buscar este blog
La practica hace al maestro ( lo dijo Michael Jackson o Bruce Lee 😜). Y aquí estoy, desmenuzando la síntaxis de Javascript. Volviendo lo fácil en complicado, solo para probar que si puedo. Aquí solo hay practicas de aprendiz, si buscas genialidad te equivocaste de blog jejeje ¡Bienvenido!
Destacados
- Obtener enlace
- Correo electrónico
- Otras aplicaciones
Hallar el número de frecuencia de la vocal “a” en una frase dada en Javascript
Análisis previo. El enunciado nos pide que contemos las
vocales “a” que se encuentran en una frase cualquiera. En español tenemos
vocales que llevan tílde, el programa debería ser capaz de identificarlas y
contarlas. También debe poder contar las
vocales sean mayúsculas o minúsculas.
¿Qué utilizaremos?
- La propiedad length.
- El método charAt()
- EL método toLowerCase()
- El método prompt()
- Bucle for
- Condicional If
frase: guarda la
cadena de caracteres que ingresará el usuario.
longFrase: guarda
la longitud de la cadena. Necesitamos conocer su longitud porque se requiere ir
comparando uno a uno, cada carácter de la cadena con la vocal indicada
utilizando un bucle for.
vocal: en esta
variable guardamos la variable frase convertida a minúsculas.
sumaVocal: es el
contador. Este se irá incrementando en 1, cada vez que halle una coincidencia.
2.- Inicializamos y declaramos las variables.
Declaramos todas las variables con let e inicializamos.
let frase = prompt(“Introduzca una frase”);
El método prompt() despliega
una ventana en el navegador con un campo para recibir la frase que escribirá el
usuario. Esta data queda guardada en la variable frase.
let longFrase= frase.length;
La propiedad length
devuelve el número de caracteres que tiene la frase.
let vocalFrase= frase.toLowerCase();
El método toLowerCase() convierte los caracteres en
mayúsculas a minúsculas. Si no
utilizáramos un filtro para evaluar la calidad del dato, probablemente el
programa devolverá resultados inesperados.
En nuestro caso, para Javascript, las cadenas siguientes son diferentes:
“Mariposa de colores” | “MariposA
de Colores”
Aunque “a” y “A” tienen igual representación para
nosotros, no es así para Javascript, que en realidad está leyendo un código
ASCII. Javascript lee 65 y 97 respectivamente.
La variable vocal guardará
la conversión a letras minúsculas que el método toLowerCase() hace, a la variable frase.
let sumaVocal = 0;
Esta variable guardará el total
de vocales “a” que tenga la frase que indique el usuario. Cada vez que se
encuentre una vocal “a” en la frase, se incrementará en 1.
Ahora podemos construir el bloque de instrucciones que hará la búsqueda de la vocal.
3.- Bloque de búsqueda de la vocal
en la frase usando un bucle for
Un bucle for luce
lo más indicado para iterar a lo largo de la frase. Nos permitirá ir
recorriendo carácter por carácter para ubicar cada “a” que aparezca en ella. La
longitud ya la tenemos guardada en la variable longFrase.
let i= 1: Declaramos la variable “i” con let y la iniciamos en 1.
i<=longFrase: La
variable “i” representa el número de
caracteres de la frase. Sirve como
control de iteración. Cuando “i” deje de ser menor o igual a la longitud de la
frase, en este caso longFrase, parará
de ejecutar la operación de comparación.
i++: El bucle for se repetirá hasta tanto “i”
sea menor o igual que la variable longFrase.
Mientras no sea así, se incrementará en uno cada vez hasta alcanzar la
longitud de longFrase.
Necesitamos comparar cada letra de la frase con la vocal “a”, y el método charAt() ayudará.
¿Qué
hace charAt()? Devuelve el elemento
que esté guardado en su posición o índice.
Suponiendo que Mariposa sea la palabra a examinar. Tendría un número de 8 posiciones, comenzando
en 1.
Letras M | a
| r | i | p | o | s | a
Posiciones 1 |2 |
3 | 4| 5 | 6 | 7 | 8
Cuando “i” tenga
el valor de 5, el método charAt(i) devolverá
el valor de esa posición, que según el ejemplo sería la letra “p”.
Hagamos una prueba en frío. Me gusta seguir al detalle qué
hace exactamente un algoritmo, para entender cómo trabaja.
Queremos conocer cuántas vocales “a” tiene la palabra “Luna”.
Luna es una palabra de 4 caracteres. Vamos a sustituir por data real cada una
de las variables en el bucle for.
Letras L | u | n | a
Posiciones 1 | 2 | 3 | 4
longFrase= 4
vocal= luna
Sustituiré la "i" por las letras de la palabra Luna en charAt(i) para hacerlo más gráfico.
Como ves, el método charAt() devolverá el elemento que esté guardado en el índice que se le indique.
ECMAscript6 recomienda que se use siempre el operador de igualdad estricta "===".
Fijate que agregué una condición más.
En español tenemos vocales acentuadas y ellas se deben contar también, pero hay que indicarle al programa que debe sumarlas también como vocal.
El programa usa el operador lógico "||", para indicar que si encuentra una "a" o una "á" con tilde, debe sumarla al contador sumaVocal.
El programa debería no solo mostrar el número de frecuencia
de las letras halladas en la frase, sino también indicarle al usuario que no
halló ninguna coincidencia.
Lo más sencillo, es simplemente verificar si la variable contador sumaVocal cambió su valor inicial de 0.
Si su valor es mayor a 0,
entonces mostrará dos mensajes usando document.write. El primero mostrará la frase que se está analizando,
y el segundo document.write,
indicará el número de frecuencia de la vocal “a” en la frase. Para mostrar los mensajes en diferentes líneas, el primer mensaje tiene un salto de línea con la etiqueta
Si su valor es igual 0, mostrará un mensaje indicándole al
usuario que no se hallaron coincidencias.
Aqui el algoritmo final
***
No aceptes todo lo que escuches como verdad. Debemos tener cuidado de no creer las cosas simplemente porque queremos que sean verdad. Sea crítico y evalúe lo que cree.
- Obtener enlace
- Correo electrónico
- Otras aplicaciones
Entradas populares
Calcular el área de un cuadrado en Javascript.
- Obtener enlace
- Correo electrónico
- Otras aplicaciones
Divisores comunes de dos números dados en Javascript
- Obtener enlace
- Correo electrónico
- Otras aplicaciones
Comentarios
Publicar un comentario