Svp exercice pour lundi 5/10/09

Résolu
firas mili Messages postés 76 Date d'inscription   Statut Membre Dernière intervention   -  
napsterockoeur Messages postés 198 Date d'inscription   Statut Membre Dernière intervention   -
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
A voir également:

22 réponses

Autumn`Tears Messages postés 1054 Date d'inscription   Statut Membre Dernière intervention   145
 
Bonjour,

C'est en algorithme ?
0
firas mili Messages postés 76 Date d'inscription   Statut Membre Dernière intervention   9
 
oui pascal
0
Autumn`Tears Messages postés 1054 Date d'inscription   Statut Membre Dernière intervention   145
 
du Turbo Pascal ? oO
0
firas mili Messages postés 76 Date d'inscription   Statut Membre Dernière intervention   9
 
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Autumn`Tears Messages postés 1054 Date d'inscription   Statut Membre Dernière intervention   145
 
Je suppose qu'en Turbo Pascal, la condition OU se traduit par ||, ou je me trompe ?
0
firas mili Messages postés 76 Date d'inscription   Statut Membre Dernière intervention   9
 
ou en turbo pascal c or
0
Autumn`Tears Messages postés 1054 Date d'inscription   Statut Membre Dernière intervention   145
 
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;
0
firas mili Messages postés 76 Date d'inscription   Statut Membre Dernière intervention   9
 
ok mais c un peut long :est ce qu'on peut tester sur les lettres par exemple
je compte sur vous. :)
0
Autumn`Tears Messages postés 1054 Date d'inscription   Statut Membre Dernière intervention   145
 
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]).
0
firas mili Messages postés 76 Date d'inscription   Statut Membre Dernière intervention   9
 
ok t'en fait pas .merci
0
Autumn`Tears Messages postés 1054 Date d'inscription   Statut Membre Dernière intervention   145
 
Ok, si tu trouves, dis-moi, ça peut toujours être bénéfique :D
0
firas mili Messages postés 76 Date d'inscription   Statut Membre Dernière intervention   9
 
up
0
Autumn`Tears Messages postés 1054 Date d'inscription   Statut Membre Dernière intervention   145
 
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
0
firas mili Messages postés 76 Date d'inscription   Statut Membre Dernière intervention   9
 
up
0
firas mili Messages postés 76 Date d'inscription   Statut Membre Dernière intervention   9
 
JE CHERCHE LA SOLUTION OPTIMALE
0
firas mili Messages postés 76 Date d'inscription   Statut Membre Dernière intervention   9
 
aloors
0
loupius
 
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.
0
firas mili Messages postés 76 Date d'inscription   Statut Membre Dernière intervention   9
 
GRAND MERCI
0
firas mili Messages postés 76 Date d'inscription   Statut Membre Dernière intervention   9
 
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.
0
napsterockoeur Messages postés 198 Date d'inscription   Statut Membre Dernière intervention   10
 
chapo:;)
0