Monovocalismo
5o5a
-
[Dal] Mensajes publicados 6122 Fecha de registro Estado Colaborador Última intervención -
[Dal] Mensajes publicados 6122 Fecha de registro Estado Colaborador Última intervención -
Hola,
¿cómo determinar las palabras monovocálicas?
¿cómo determinar las palabras monovocálicas?
4 respuestas
-
Hola 5o5a,
https://fr.wiktionary.org/wiki/monovocalisme
Puedes definir un tiposet of char;
y una variablevocales
usando este tipo, lo que te permitirá incluir todas las vocales del alfabeto con el que estás trabajando.
Luego, puedes probar fácilmente si una letra de la palabra que estás analizando es una vocal o no, de esta manera:if mot[n] in vocales then
variando la variableinteger
que he llamadon
(puedes llamarla como quieras) de 1 a la longitud en letras de la palabra.
Es realmente el único truco práctico que necesitas saber para facilitarte la vida, lo demás es muy básico y supone que sabes usar booleanos, hacer bucles y pruebas, y recorrer las letras de una cadena.
Dal -
¿Quieres decir por favor? Gracias.
-
Buenas noches
se puede hacer con una Regex[aeiouy]
con la opción IgnoreCasehttp://regexstorm.net/tester?p=%5baeiouy%5d&i=En+este+momento%2c+ciertamente%2c+t%e2%80%99es+el+jefe%2c+pon+%e2%80%93+créeme+%e2%80%93+este+tiempo+es+corto+y+prefiero+estar+dentro+de+mis+plantas+que+dentro+de+tus+atascos&o=i
Luego verificas que todas las ocurrencias son una sola y misma vocal.
Incluso deberíamos poder encontrar una Regex que haga el trabajo de un golpe, pero no tengo mucho tiempo para investigar eso.
--
Cuando era pequeño, el Mar Muerto estaba solo enfermo.
George Burns -
He intentado ejecutar este programa pero no ha funcionado:
program MonoEn_v;
uses wincrt;
Type
tab=array[1..20]of string;
Var
n:integer;t:tab;v:char;
procedure remplir(n:integer;var t:tab);
Var i,j:integer;
Begin
For i:=1 to n Do
Begin
Repeat
Write('dar una cadena de caracteres: ');readln(t[i]);
j:=0;
Repeat
j:=j+1;
Until not(upcase(t[i][j]) in ['A'..'Z']) or (j=length(t[i]));
until (upcase(t[I][j]) in ['A'..'Z']) and (length(t[i]) in [3..15]);
end;
end;
procedure saisir_v(var v:char);
Begin
Repeat
writeln('dar un carácter v');readln(v);
until (upcase(v) in ['A','E','I','O','U','Y']);
end;
procedure afficher(n:integer;t:tab;v:char);
Var i,j:integer; test:boolean;
Begin
test:=false;
writeln('las palabras mono-vocalismo en "',v,'" son: ');
for i:=1 to n Do
Begin
for j:=1 to length(t[i]) do
Begin
Repeat
test:=true;
Until (t[i][j] <>v ) and (t[i][j] in ['A','E','I','O','U','Y']);
end;
writeln(t[i],'|');
end;
end;
begin
Repeat
Readln(n);
until n in [1..20];
remplir(n,t);
saisir_v(v);
afficher(n,t,v);
end.-
1.
Para publicar tu código en el foro, utiliza la etiqueta de código, de lo contrario tu código será ilegible.
Así:
<código delphi>
copia y pega el código de tu programa Pascal aquí
</código>
si no quieres escribir tú mismo las etiquetas de código, puedes hacer clic en la pequeña flecha a la izquierda del ícono de imagen del foro y al elegir el lenguaje "delphi" esto insertará en la ventana de edición del mensaje del foro las etiquetas por ti y solo tendrás que copiar y pegar el código Pascal de tu programa entre las dos etiquetas, como se ilustra arriba.
esto numerará las líneas del programa, hará una coloración sintáctica Pascal y preservará la indentación de tu código y será más legible para todos
2.
He echado un vistazo rápidamente a tu código.
Si entiendo bien, en tu código, vemos que tratas un arreglo de cadenas, con varias palabras para cada cadena, y que te propones verificar, para cada palabra, si son monovocalismos respecto a una determinada vocal dada por el usuario, y si es así, establecer la lista y indicar al usuario cuáles son esas palabras.
Por lo tanto, ya debes disponer de un medio para distinguir las palabras entre sí en la cadena (en una frase, están separadas por espacios, signos de puntuación).
Por ejemplo, crea una función o procedimiento que, a partir de una cadena, devuelva las palabras contenidas en la cadena.
Luego, para verificar si cada palabra es un monovocalismo respecto a una determinada vocal dada por el usuario, crea una funciónisMonovocalisme
que devuelva un booleano y que tome como parámetros una cadena que contenga la palabra a verificar, y un carácter que contenga la vocal respecto a la cual debe hacerse esta verificación.
Luego, puedes mostrar las palabras que pasan la prueba a medida que avanzas, o, si necesitas mantenerlas en memoria, almacenarlas de alguna manera utilizando una estructura de datos del lenguaje Pascal.
3.
¿Qué compilador Pascal utilizas?
Dal
-