Les mots mono - vocalisme
Fermé
5o5a
-
24 mai 2019 à 12:58
[Dal] Messages postés 6200 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 7 janvier 2025 - 24 mai 2019 à 20:07
[Dal] Messages postés 6200 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 7 janvier 2025 - 24 mai 2019 à 20:07
A voir également:
- Monovocalisme
- Identifiants et mots de passe - Guide
- Où sont stockés les mots de passe sur android - Guide
- Qui est albot mots entre amis - Forum Jeux vidéo
- Supprimer tous les mots de passe chrome - Guide
- Il veut recevoir les messages de louna mais ne plus voir ses photos dans son fil d'actualité sur facebook. il doit un ou plusieurs mots louna. - Forum Facebook
4 réponses
[Dal]
Messages postés
6200
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
7 janvier 2025
1 097
24 mai 2019 à 15:00
24 mai 2019 à 15:00
Salut 5o5a,
https://fr.wiktionary.org/wiki/monovocalisme
Tu peux définir un type
Ensuite, tu peux facilement tester si une lettre du mot que tu analyses et une voyelle ou non, comme ceci :
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
https://fr.wiktionary.org/wiki/monovocalisme
Tu peux définir un type
set of char;et une variable
voyellesutilisant 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 thenen faisant varier la variable
integerque 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
telliak
Messages postés
3667
Date d'inscription
mercredi 20 septembre 2006
Statut
Membre
Dernière intervention
4 novembre 2024
876
24 mai 2019 à 13:30
24 mai 2019 à 13:30
Tu veux dire svp ? merci ?
Utilisateur anonyme
24 mai 2019 à 18:25
24 mai 2019 à 18:25
Bonsoir
ça peut se faire avec une Regex
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à.
ç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à.
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.
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.
[Dal]
Messages postés
6200
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
7 janvier 2025
1 097
Modifié le 24 mai 2019 à 20:12
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
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
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
isMonovocalismequi 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