nombre consonnes et nombre voyelles
Page 1 sur 1
nombre consonnes et nombre voyelles
ÉNONCÉ
Ecrire une analyse ,un algorithme et une traduction pascal d’un programme intitulé COMPTER permettant de saisir une phrase différent de la chaîne vide et de compter le nombre de voyelles et le nombre de consonnes qui y existent .
PASCAL
program compter;
uses wincrt;
var
ch:string;
i:integer;
nbcons,nbvoy:integer;
begin
repeat {la boucle repeat until, a comme rôle de saisir une chaîne différente de la chaîne vide}
writeln('donner une chaine');
readln(ch);
until(length(ch)>0);
nbcons:=0;
nbvoy:=0; { on initialise nbcons et nbvoy à 0, et si on trouve une consonne, nbcons sera incrémentée, sinon, c’est nbvoy qui sera incrémentée}
for i:= 1 to length(ch) do
begin
if ch[i] in['a','e','i','y','o','u']then nbvoy:=nbvoy+1
else nbcons:=nbcons+1;
end;
writeln('le nombre de consonnes est: ',nbcons);
writeln('le nombre de voyelles est: ',nbvoy);
end.
Ecrire une analyse ,un algorithme et une traduction pascal d’un programme intitulé COMPTER permettant de saisir une phrase différent de la chaîne vide et de compter le nombre de voyelles et le nombre de consonnes qui y existent .
PASCAL
program compter;
uses wincrt;
var
ch:string;
i:integer;
nbcons,nbvoy:integer;
begin
repeat {la boucle repeat until, a comme rôle de saisir une chaîne différente de la chaîne vide}
writeln('donner une chaine');
readln(ch);
until(length(ch)>0);
nbcons:=0;
nbvoy:=0; { on initialise nbcons et nbvoy à 0, et si on trouve une consonne, nbcons sera incrémentée, sinon, c’est nbvoy qui sera incrémentée}
for i:= 1 to length(ch) do
begin
if ch[i] in['a','e','i','y','o','u']then nbvoy:=nbvoy+1
else nbcons:=nbcons+1;
end;
writeln('le nombre de consonnes est: ',nbcons);
writeln('le nombre de voyelles est: ',nbvoy);
end.
amélioration
Remarque : on peut améliorer cet algo en étudiant le cas ou on saisi un symbole, donc on peut dans ce cas ajouter :
if ch[i] in['a','e','i','y','o','u']then nbvoy:=nbvoy+1
else if ch[i] in [‘a’..’z’] then nbcons:=nbcons+1
else nbsymb:=nbsymb+1;
en tenant compte que nbsymb est initialisée aussi à 0
{ici, on garanti que si on dépasse le premier if, on peut utiliser[‘a’..’z’], car ca sera surement une consonne, puisque les voyelles sont traitées dans le premier if}
if ch[i] in['a','e','i','y','o','u']then nbvoy:=nbvoy+1
else if ch[i] in [‘a’..’z’] then nbcons:=nbcons+1
else nbsymb:=nbsymb+1;
en tenant compte que nbsymb est initialisée aussi à 0
{ici, on garanti que si on dépasse le premier if, on peut utiliser[‘a’..’z’], car ca sera surement une consonne, puisque les voyelles sont traitées dans le premier if}
Sujets similaires
» nombre de consonnes et nombre de voyelles
» nombre parfait
» nombre parfait 2
» nombre parfait
» nombre premier version 1
» nombre parfait
» nombre parfait 2
» nombre parfait
» nombre premier version 1
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum