وجدت مشكلة في كيفية ربط البرنامج ببعضه البعض
أنا اعتقد انه يلزمني بروسيدور لكل عنصر من هذا التمرين وربطهم ببعض لكن احدهم دلني على طريقة ولما جربتها لم تشتغل إلا مع نسخة الباسكال 1.5 وعند استفساري من الأستاذ قال اني ملزم بإنجازه ليكون متوافقا مع النسخة 7 للباسكال وهذه هي المحاولة التي قمت بها حيث ان البرنامج في النسخة 7 يتوقف عند uses wincrt حتى عند استبدالها ب uses dos يمر لكنه يتوقف في نقاط بعدها بينما تم قبول البرنامج في النسخة 1.5
ملاحظة : هذا البرنامج غير كامل وغير مربوط بشكل كامل
Program Projet;
uses Wincrt;
type
tab=array [1..100] of integer ;
Var
T:tab;
n,i:integer;
Choix,a:char;
Label MnuP;
procedure cree ( var T : tab ; var n : integer ) ;
begin
repeat
writeln('donner la taille du tableau');
readln (n)
until n > 0 ;
for i := 1 to n do
begin
write ('T[',i,']=') ;
read (T[i]) ;
end;
end;
procedure afficher ( T:tab ; n:integer ) ;
begin
for i:= 1 to n do
begin
Writeln ('T[',i,']=',T[i]) ;
end;
end;
BEGIN
MnuP:
WriteLn('[A]- Quitter');
Writeln('[B]- création du tableau');
Writeln('[C]- affichage du tableau');
Writeln('[D]- modification d’un élément du tableau');
Writeln('[E]- insertion d’un élément dons le tableau');
Writeln('[F]- suppression d’un élément du tableau');
Writeln('[G]- inverser le tableau');
Writeln('[H]- calculer le nombre des occurrences d’un nombre donné X dans le tableau');
Writeln('[I]- recherche du plus petit élément dons le tableau');
Writeln('[J]- recherche du plus grand élément dens le tableau');
Writeln('[K]- recherche un élément donné dans le tableau');
Writeln('[L]- trie le tableau');
Write('Entrez votre choix :');
Repeat Read(Choix) Until Upcase (Choix) in ['A'..'L'];
choix:= upcase (choix) ;
Case Choix Of
'A':
Begin
DoneWinCrt;
End;
'B':
Begin
ClrScr;
cree(T,n) ;
writeln ('Le Tableau a été crée.') ;
writeln ('Tapez A pour retour.') ;
a := 'A' ;
Readln(angel);
ClrScr;
GoTo MnuP;
End;
'C':
Begin
ClrScr;
Afficher (T,n) ;
writeln ('Le Tableau a été Affiché.') ;
writeln ('Tapez A pour retour.') ;
a := 'A' ;
Readln(angel);
ClrScr;
GoTo MnuP;
End;
'D':
Begin
DoneWinCrt
End;
'E':
Begin
DoneWinCrt;
End;
'F':
Begin
DoneWinCrt;
End;
'G':
Begin
DoneWinCrt;
End;
'H':
Begin
DoneWinCrt;
End;
'I':
Begin
DoneWinCrt;
End;
'J':
Begin
DoneWinCrt;
End;
'K':
Begin
DoneWinCrt;
End;
'L':
Begin
DoneWinCrt;
End;
End;
END.
أرجو منكم ان تدلوني على طريقة للوصول للحل