Les mots mono - vocalisme

Fermé
5o5a - 24 mai 2019 à 12:58
[Dal] Messages postés 6174 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 2 février 2024 - 24 mai 2019 à 20:07
Bonjour,
comment determiner les mots mono_vocalismes?

4 réponses

[Dal] Messages postés 6174 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 2 février 2024 1 083
24 mai 2019 à 15:00
Salut 5o5a,

https://fr.wiktionary.org/wiki/monovocalisme

Tu peux définir un type
set of char;
et une variable
voyelles
utilisant ce type, ce qui te permettra d'y mettre toutes les voyelles de l'alphabet dans lequel tu travailles.

Ensuite, tu peux facilement tester si une lettre du mot que tu analyses et une voyelle ou non, comme ceci :
if mot[n] in voyelles then
en faisant varier la variable
integer
que j'ai appelé
n
(tu peux l'appeler comme tu veux) de 1 à la longueur en lettres du mot.

C'est vraiment la seule astuce pratique à savoir pour te faciliter la vie, le reste est très basique et suppose que tu saches utiliser des booléen, faire des boucles et des tests et parcourir les lettres d'une chaîne.

Dal
1
telliak Messages postés 3655 Date d'inscription mercredi 20 septembre 2006 Statut Membre Dernière intervention 27 mars 2024 874
24 mai 2019 à 13:30
Tu veux dire svp ? merci ?
0
Whismeril Messages postés 19021 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 16 avril 2024 928
24 mai 2019 à 18:25
Bonsoir

ça peut se faire avec une Regex
[aeiouy]
avec l'option IgnoreCase
http://regexstorm.net/tester?p=%5baeiouy%5d&i=En+ce+mement%2c+certes%2c+t%e2%80%99es+le+chef%2c+mets+%e2%80%93+beleve+me+%e2%80%93+ce+temps+est+bref+et+je+pr%c3%a9f%c3%a8re+%c3%aatre+dens+mes+semelles+qe+dens+tes+emp%c3%a8gnes&o=i 

Tu vérifies ensuite que toutes les occurrences sont une seule et même voyelle.

On doit même pouvoir trouver une Regex qui fait le boulot d'un coup, mais j'ai pas trop le temps de gratter là.
0
merci
0
j'ai essayé d'executer ce programme mais ça n'a pas marcher:

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('donner une chaine de caractéres : ');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('donner un caractére 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('les mots mono-vocalisme en "',v,'" sont: ');
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.
0
[Dal] Messages postés 6174 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 2 février 2024 1 083
Modifié le 24 mai 2019 à 20:12
1.

Pour poster ton code sur le forum, utilise la balise de code, sinon ton code est illisible.

Comme cela :

<code delphi>
copie-colle le code de ton programme Pascal ici
</code>

si tu ne veux pas taper toi même les balises de code, tu peux cliquer sur la petite flèche à gauche de l’icône image du forum et en choisissant le langage "delphi" cela insérera dans la fenêtre d'édition du message du forum les balises pour toi et tu n'auras plus qu'à copier coller le code Pascal de ton programme entre les deux balises, comme illustré ci-dessus.

cela va numéroter les lignes du programme, faire une coloration syntaxique Pascal et préserver l'indentation de ton code et ce sera plus lisible pour tous

2.

J'ai rapidement regardé quand même ton code.

Si je comprends bien, dans ton code, on voit que tu traites un tableau de chaînes, avec pour chaque chaîne plusieurs mots, et que tu te proposes de vérifier, pour chaque mot, si ce sont des monovocalismes par rapport à une certaine voyelle donnée par l'utilisateur, et si oui, d'en établir la liste et indiquer à l'utilisateur quels sont ces mots.

Tu dois donc déjà disposer d'un moyen de distinguer les mots les uns des autres dans la chaîne (dans une phrase, ils sont séparés par des espaces, des signes de ponctuation).

Par exemple, crée une fonction ou une procédure qui, à partir d'une chaîne, retourne les mots contenus dans la chaîne.

Ensuite, pour vérifier si chaque mot est un monovocalismes par rapport à une certaine voyelle donnée par l'utilisateur, crée une fonction
isMonovocalisme
qui retourne un booléen
et qui prend en paramètres une string contenant le mot à vérifier, et un char contenant la voyelle par rapport à laquelle cette vérification doit être faite.

Ensuite, tu peux afficher les mots qui passent le test au fur et à mesure, ou, si tu as besoin de les garder en mémoire, les stocker d'une façon ou d'une autre en utilisant une structure de données du langage Pascal.

3.

Tu utilises quel compilateur Pascal ?

Dal
0