[TP] Détermination du poids d'un mot
Salut à tous,
S'il vous plait j'ai besoin d'aide dans un exercice pascal...
J'ai essayé de le résoudre toute seule..J'ai fait l'exécution ,ça a marché mais ça ne correspond pas tout à fait à l'exercice..
Bon voilà l'énoncé:
On appelle poids d'un mot,la somme des produits de la position de chaque voyelle contenue dans le mot par son rang dans l'alphabet français.Une lettre a le même rang qu'elle soit écrite en majuscule ou en miniscule.
Ecrire un prog en pascal qui calcule et affiche le poids d'un mot donné...
Voilà ce que j'ai eu comme idée et ce que j'ai pu faire..
Mais j'aimerais bien que vous m'indiquiez la position de l'erreur sachant que je suis encore débutante...
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
program poids;
uses wincrt;
var mot:string;
i,poi,rana,rano,ranu,rani,rane,rany,posa,posi,pose,poso,posu,posy :integer;
begin
writeln('entrez votre mot');
readln (mot);
posa:=pos('A',mot);poso:=pos('O',mot);posi:=pos('I',mot);posu:=pos('U',mot) ;pose:=pos('E',mot);posy:=pos('Y',mot);
for i:=1 to length(mot) do
begin
case upcase (mot[i]) of
'A': rana:=1;
'E': rane:=5;
'U': ranu:=21;
'I': rani:=9;
'O': rano:=15;
'Y': rany:=25;
end;
case upcase (mot[i]) of
'A': posa:=posa+1;
'E': pose:=pose+1;
'U': posu:=posu+1;
'I': posi:=posi+1;
'O': poso:=poso+1;
'Y': posy:=posy+1;
end;
end;
poi:=(rana*posa)+(rani*posi)+(ranu*posu)+(rano*poso)+(rane*pose)+(rany*posy) ;
writeln(poi);
end. |
Merci d'avance ;)