4 respuestas
Hola 5o5a,
https://fr.wiktionary.org/wiki/monovocalisme
Puedes definir un tipo
Luego, puedes probar fácilmente si una letra de la palabra que estás analizando es una vocal o no, de esta manera:
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
https://fr.wiktionary.org/wiki/monovocalisme
Puedes definir un tipo
set of char;y una variable
vocalesusando 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 thenvariando la variable
integerque he llamado
n(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
Buenas noches
se puede hacer con una Regex
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
se puede hacer con una Regex
[aeiouy]con la opción IgnoreCase
http://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.
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ó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
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ón
isMonovocalismeque 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