You are on page 1of 19

‫لغة البرمجة باسكال‬

Langage de programmation Pascal

1 ‫المحاضرة‬ Okba NEMLI


‫مقدمة‬

‫باسكال هي لغة برمجة متعددة االستخدام تعتمد على األوامر‪ ،‬وهي‬


‫معروفة بوضوحها وقوتها وسهولة إنشاء البرامج عن طريقها‪ ،‬وهو‬
‫ما يجعل من باسكال اللغة البرمجية األكثر استعماال في التدريس حتى‬
‫األوقات الحالية‪.‬‬
‫اخت ُ ِرعت لغة باسكال (التي اتخذت اسمها من عالم الرياضيات‬
‫الفرنسي "بليز باسكال" عن طريق "نيكوالس ويرث" خالل‬
‫السبعينيات من القرن العشرين‪ .‬وقد تم تصميمها لتفيد في تعليم‬
‫البرمجة بطريقة سهلة وصحيحة‪ ،‬وهي من بين اللغات التي ساعدت‬
‫على تعليم البرمجة المنظمة‪.‬‬
‫مقدمة‬

‫صممت باسكال في البداية ألسباب تعليمية بحتة وكانت مقتصرة على‬


‫خاصيّات محدودة جدا إال أنها في المقابل م َكنت من تصميم برامج‬
‫شهيرة مثل ‪( TEX‬سنة ‪ )1978‬وجزء من أوائل أنظمة‬
‫التشغيل الخاصة بماكينتوش‪.‬‬
‫الكلمات المحجوزة‬
‫بنية برنامج باسكال‬

Program { nom de programme };


Uses { unités utilisées } ;
Const { déclaration de constantes } ;
Type { déclaration de types } ;
Var { déclaration de variables } ;
Function { déclaration de fonction } ;
Procedure { déclaration de procédure } ;
BEGIN { début du programme principal }
{ Le corps du programme principal }
END.
‫التعليقات‬

‫التعليقات هي عبارة عن كلمات يضعها المبرمج‪ ،‬لتوضيح وظيفة أحد‬


‫األوامر‪ ،‬أو لكتابة بعض المعلومات عن البرنامج‪ ،‬ويتم تجاهل هذه‬
‫التعليقات أثناء تنفيذ البرنامج‪.‬‬
‫ويمكن كتابة التعليقات بطريقتين ‪:‬‬
‫• الطريقة األولى ‪{ This is comment } :‬‬
‫• الطريقة الثانية ‪)* This is comment *( :‬‬
‫اسم البرنامج‬

‫‪ ‬السطر االول هو لكتابه اسم للبرنامج ‪ ،‬اي اسم يمكنك وضعه كيفما‬
‫تريد‪ ،‬لكن يحبذ ان يكون له عالقه بالبرنامج الذي تكتبه‪.‬‬
‫‪ ‬إسم البرنامج يتكون من حروف وأرقام‪ ،‬يبدأ بحرف وال يحتوي‬
‫على مسافات‪.‬‬
‫‪ ‬يمكن إلسم البرنامج أن يحتوي على أكثر من كلمة‪ ،‬فمن الممكن ان‬
‫تكتب الكلمات متالصقة مع مراعاة تكبير الحرف االول من كل‬
‫كلمة أو وضع عالمة – للفصل بين الكلمات‪.‬‬
‫قسم التصريحات‬

‫في هذا الجزء نصرح بجميع االشياء التي سوف نستخدمها في البرنامج‬
‫ونقصد بها (الوحدات ‪ ،uses‬المتغيرات ‪ ،var‬الثوابت ‪،const‬‬
‫األنماط ‪ ،type‬اإلجراءات ‪ ،procedure‬الدوال ‪)...function‬‬
‫في درسنا هذا سوف نتطرق فقط للتصريح بالوحدات‪ ،‬الثوابت‬
‫والمتغيرات‪.‬‬
‫قسم التصريحات‬

‫‪ -1‬التصريح بالوحدات (المكتبات) ‪:‬‬


‫‪ ‬الوحدة ‪ unit‬هي عبارة عن مجموعة من األوامر واإلجراءات التي‬
‫سنستخدمها في البرنامج‪.‬‬
‫‪ ‬الكلمة المحجوزة ‪ uses‬تستخدم لإلعالن عن الوحدات التي سوف‬
‫نستخدمها في البرنامج‪.‬‬
‫‪ ‬هناك العديد من الوحدات الجاهزة التي نستطيع استخدامها أو يمكننا‬
‫القيام بإنشاء وحداتنا الخاصة‪.‬‬
‫‪ ‬لغة باسكال تستخدم اسم الوحدات ‪ unit‬بدال من اسم المكتبات‪ ،‬ومن‬
‫باسكال‪:‬‬ ‫لغة‬ ‫في‬ ‫المستخدمة‬ ‫الوحدات‬ ‫اشهر‬
‫‪... windos,strings,wincrt‬الخ‬
‫قسم التصريحات‬

‫مثال ‪:‬‬
‫;‪Uses wincrt‬‬
‫;‪Uses wincrt, windos‬‬

‫مثال التعليمة ‪ clrscr‬لمسح الشاشة هي عبارة عن إجراء موجود داخل‬


‫الوحدة ‪ ،wincrt‬وإذا أردنا استعمالها في البرنامج يجب أن نكون قد‬
‫صرحنا عن الوحدة ‪.wincrt‬‬
‫قسم التصريحات‬

‫‪ -2‬التصريح بالثوابت ‪:‬‬


‫‪ ‬في لغة باسكال نوعين من الثوابت ‪ :‬حرفية ورقمية‪.‬‬
‫‪ ‬قيمة الثابت ال يمكن تغييرها في البرنامج‪.‬‬

‫مثال ‪:‬‬
‫‪const‬‬
‫;‪un = 1; PI = 3.14‬‬
‫;‪TVA = 0.176‬‬
‫;'‪souLionE = '------------‬‬
‫; '‪TiTRE = 'pascal‬‬
‫قسم التصريحات‬

‫‪ -2‬التصريح بالمتغيرات ‪:‬‬


‫العمليات في البرنامج تنفذ على المتغيرات بتغيير قيمتها‪ ،‬والمتغير‬
‫يعرف بـ ‪ :‬إسمه(معرف)‪ ،‬نوعه وقيمته‪.‬‬
‫‪ ‬اإلسم (المعرف)‪ :‬وهو ما يميزه عن غيره من المتغيرات‪.‬‬
‫‪ ‬النوع‪ :‬هي مجموعة القيم التي يمكن أن يأخذها المتغير‪ ،‬نذكر منها‪:‬‬
‫‪string,char,boolean,real,integer‬‬
‫‪ ‬القيمة‪ :‬التي يأخذها المتغير من مجموعة القيم الممكنة حسب نوعه‬
‫قسم التصريحات‬

‫عند التصريح بالمتغير فإن اآللة تحجز خانات من الذاكرة الستقبال القيم‬
‫التي نعطيها لهذا المتغير‪.‬‬

‫مثال ‪:‬‬
‫‪var‬‬
‫;‪x, y : real‬‬
‫;‪i : integer‬‬
‫;‪c : char‬‬
‫;‪s : string‬‬
‫البرنامج الرئيسي‬
‫الجزء الرئيسي في برنامج باسكال يبدأ بالكلمة المحجوزة ‪begin‬‬
‫وينتهي بالكلمة ‪ end.‬وهو يحتوي على التعليمات واألوامر‬
‫والعمليات‪ ...‬الخ‬
‫‪ -1‬اإلسناد ‪ :‬يسمح بإعطاء قيمة لمتغير‪.‬‬
‫• الرمز المستعمل هو =‪:‬‬
‫• الشكل العام لإلسناد ‪:‬‬
‫;‪variable := expression‬‬
‫مثال ‪:‬‬
‫;‪X : = 5‬‬ ‫‪‬‬ ‫‪6 := X + 4; ‬‬
‫‪Z := X * Y – 4; ‬‬ ‫;‪X + := 0‬‬ ‫‪‬‬
‫صحيح و ‪ Y‬منطقي)‬ ‫;‪X( X := Y‬‬ ‫‪‬‬
‫البرنامج الرئيسي‬

‫‪ -2‬القراءة (‪: )Read‬‬


‫‪ ‬يسمح إجراء القراءة ‪ read‬للمستخدم بإعطاء قيمة للمتغير‬
‫الستخدامها في البرنامج‪.‬‬
‫‪ ‬ال تتسبب هذه التعليمة في إرجاع المؤشر إلى السطر(ال ينتقل إلى‬
‫السطر الموالي)‪.‬‬
‫‪ ‬البد أن تكون القيمة من نفس نوع المتغير‪.‬‬
‫‪ Readln ‬تستخدم مثل التعليمة ‪ read‬ولكنها تتسبب في انتقال‬
‫المؤشر إلى بداية السطر التالي‪ .‬عندما ال يتم تعيين متغير للتعليمة‬
‫‪ Readln‬يكفي الضغط فقط على المفتاح ‪Entrer‬‬
‫البرنامج الرئيسي‬

: ‫• الشكل العام‬
Read (variables);
Readln (variables);

: ‫مثال‬
read (x, y, z);
read (b) ;
readln (x);
‫البرنامج الرئيسي‬
‫‪ -3‬الكتابة (‪: )Write‬‬
‫‪ ‬يستخدم إجراء الكتابة ‪ write‬لعرض النص وترك المؤشر في نهاية‬
‫النص المعروض‪.‬‬
‫‪ ‬تُستخدم هذه التعليمات لعرض سالسل أحرف باإلضافة إلى قيم‬
‫المتغيرات والثوابت‪...‬‬
‫‪ ‬يجب أن يكون في بداية ونهاية النص المراد عرضه الرمز ‘‬
‫فيجب‬ ‫‘‬ ‫‪ ‬إذا كان النص المراد عرضه يحتوي على الرمز‬
‫مضاعفته‪.‬‬
‫‪ ‬يجب فصل أسماء المتغيرات المختلفة بفاصالت‪.‬‬
‫‪ ‬إجراء ‪ WriteLn‬مشابه لإلجراء السابق فيما عدا أنه يتم إرجاع المؤشر إلى‬
‫بداية السطر التالي‪.‬‬
‫البرنامج الرئيسي‬

: ‫• الشكل العام‬
Write (variable1);
Write ('Texte à afficher');
Write ('Texte à afficher', variable1, variable2, 'texte2');
Write ('L''apostrophe se double.');
WriteLn ('Texte avec renvoi à la ligne');
: ‫مثال‬
Program Exemple1;
Var nom : String;
BEGIN
Write ('Entrez votre nom : ');
ReadLn (nom);
WriteLn ('Votre nom est ', nom); { print my name }
ReadLn;
END.
‫لغة البرمجة باسكال‬

: ‫مثال‬
program somme ; {Programme pour afficher la somme de deux nombres entiers}
var
x , y : integer;
somme : integer;
begin
read ( x, y );
somme : = x + y;
write (‘La somme est : ‘ , somme);
end .

You might also like