Svp exercice pour lundi 5/10/09
Résolu
firas mili
Messages postés
96
Statut
Membre
-
napsterockoeur Messages postés 236 Statut Membre -
napsterockoeur Messages postés 236 Statut Membre -
Bonjour,
g un travail a faire pour lundi , svp aidez moi.
(ce programme permet de calculer le nombre des prof celibataire ,suivant les chaines stocker dans un tableau T
!!les chaine sont ''celibataire'' et ''marié"") !!T est un tableau des chaines !!faut pas faire un test en remplisant le
tableau)
for i:= 1 to 20 do
begin
if t[i] ='celibataire' then
s:=s+1; {s est le nombre des profs celibataires}
end;
{le problem est si l'utilisateur n'a pas correctement ecri la chaine,par exemple la chaine ''Celebatere" doit etre
compris par le programme comme "celibataire"}
alors il faut faire une procedure test qui permet de verifier chauque chaine}
merci de m'ecrire cette procedure....
Configuration: Windows XP
Opera 9.80
g un travail a faire pour lundi , svp aidez moi.
(ce programme permet de calculer le nombre des prof celibataire ,suivant les chaines stocker dans un tableau T
!!les chaine sont ''celibataire'' et ''marié"") !!T est un tableau des chaines !!faut pas faire un test en remplisant le
tableau)
for i:= 1 to 20 do
begin
if t[i] ='celibataire' then
s:=s+1; {s est le nombre des profs celibataires}
end;
{le problem est si l'utilisateur n'a pas correctement ecri la chaine,par exemple la chaine ''Celebatere" doit etre
compris par le programme comme "celibataire"}
alors il faut faire une procedure test qui permet de verifier chauque chaine}
merci de m'ecrire cette procedure....
Configuration: Windows XP
Opera 9.80
Configuration: Windows XP Opera 9.80
22 réponses
- 1
- 2
Suivant
-
-
-
-
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Je suppose qu'en Turbo Pascal, la condition OU se traduit par ||, ou je me trompe ?
-
-
d'accord, merci. C'est un vieux langage plus vraiment pratiqué alors... :S
Donc, il te suffit de faire :
if t[i] ='celibataire' or t[i]='celebatere' or t[i].... then
s:=s+1; -
ok mais c un peut long :est ce qu'on peut tester sur les lettres par exemple
je compte sur vous. :) -
lettre par lettre, je ne pense pas que ce soit le plus simple, mais avec des parties du mot (Je ne sais pas si c'est comme ça : if 'celib' isin t[i] then, ou bien if 'celib' in t[i]).
-
-
Ok, si tu trouves, dis-moi, ça peut toujours être bénéfique :D
-
-
Il suffit d'avoir les compétences en Turbo Pascal... M'enfin ta prof pourrait vous faire faire du langage objet ce serait mieux :D
-
-
-
-
Il y a quelques années est paru dans Linux Magazine un excellent article de Jérôme Delamarche qui s'intitulait: "Ecriture d'une fonction de reconnaissance phonétique pour MySQL".
Tu as beaucoup de chance car cet article est accessible sur le site UnixGarden.
Qu'importe le langage dont tu te sers, car la démarche est décrite et peut, par conséquent, être très facilement réécrite pour un autre langage que le 'C' utilisé dans l'exemple.
Bonne continuation. -
-
Program ex2;
Uses wincrt;
Type prof=record
Sp,Np,EC:string;
Sa:real;
M:integer;
End;
Type Tab=array[1..5]of prof;
Var
T:tab;
P,N:integer;
{fonction qui convertie une chaine en majuscule}
function majus(s:string):string;
var i:integer;
begin
for i:= 1 to length(s) do
begin
s[i]:=upcase(s[i]);
end;
majus:=s;
end;
function marie(s:string):boolean;
var j,i,l:integer;
begin
l:=length(s);
for i:= 1 to l do
begin
if pos(s[i],'MARIE')<>0 then
j:=j+1;
end;
if (j in [l-2..l+2]) or( s='M') or (s='MA') then
marie:=true;
end;
{fonction qui soit vraie si s est 'celibataire'}
function test(s:string):boolean;
var n,i,l:integer;
begin
l:=length(s);
for i:=1 to l do
begin
if pos(s[i],'CELIBATAIRE')<>0 then
n:=n+1;
end;
if (n in[l-6..l+5]) or (s='C') or (s='CE') or (s='CEL') or (s='CELB')then
test:=true;
end;
Procedure Lecture(Var T:Tab;N:integer);
var x,i:integer;
z:string;
Begin
i:=1;
z:='';
While (z<>'.') do
begin
With T[i] Do
Begin
Writeln('Entrer le nom et prenom, si vous avez terminez entrer "."');
Readln(z);
if(z<>'.')then
Begin
Np:=Z;
Writeln('Entrer la specialité');
Readln(Sp);
Writeln('Entrer le n° de matricule');
Readln(m);
{Repeat
X:=1; }
Writeln('Entrer l''etat civil');
Readln(EC);
{ EC:=majus(EC);
if marie(EC) then
begin
EC:='marie' ;
writeln(ec);
end
else if test(EC) then
begin
EC:='celibataire';
writeln(EC) ;
end
else
x:=0;
Until(x=1);}
Writeln('Entrer la salaire');
Readln(Sa);
End;
End;
i:=i+1;
N:=i-1;
End;
End;
Procedure Calcul(var p:integer;t:tab;n:integer);
var
i:integer;
Begin
For i:=1 to N do
begin
If marie(t[i].ec)=false then
begin
if test(t[i].ec) then
p:=p+1;
end;
End;
End;
Begin
Lecture(T,N);
Calcul(p,t,n);
Writeln('Le nombre des profs celibataires est ',p);
End. -
- 1
- 2
Suivant