دورة لغة باسكال: أساسيات بناء البرامج
تهدف هذه المقالة إلى تقديم مقدمة شاملة عن لغة البرمجة باسكال، بدءًا من خصائصها العامة وبيئتها التقنية، وصولًا إلى العناصر الأساسية التي يتكون منها البرنامج، وكيفية كتابته بشكل صحيح. ستتعرف على الأبجدية المستخدمة في باسكال، والكلمات المفتاحية، والمُعرفات، والمُفَرِّقات، والمعاملات، والتعليقات، والهيكل العام للبرنامج.
I- مقدمة إلى لغة باسكال I- INTRODUCTION AU LANGAGE PASCAL
1- الخصائص العامة للغة باسكال 1- Caractéristiques générales du langage pascal :
1.1- عموميات 1.1 Généralités :
الخوارزمية هي نتيجة عرض منطقي لحل برنامج. يجب ترجمة طريقة الحل إلى سلسلة منظمة من المعادلات والتعاريف والإجراءات التي تشكل جوهر الخوارزمية.
Un algorithme est le résultat d'une démonstration logique de résolution d'un programme. La méthode de résolution doit alors être transcrite en une suite ordonnée d'équations, de définitions et d'actions, qui forment le corps de l'algorithme.
لتجسيد الخوارزمية بشكل فعلي، يجب أولاً ترجمتها إلى برنامج بلغة برمجة يفهمها الحاسوب. لهذا الغرض، لغة باسكال هي لغة برمجة منظمة للغاية تحترم الشكل الخوارزمي، وبالتالي فإن كتابتها سهلة.
Pour concrétiser réellement un algorithme, il faut au préalable le traduire en un programme d'un langage de programmation compréhensible par l'ordinateur. Pour cela, le langage PASCAL est un langage de programmation très structuré qui respecte la forme algorithmique, son écriture est alors aisée.

مخطط سير البرنامج
تم تصميم وتطوير لغة البرمجة باسكال في بداية السبعينيات من قبل نيكلاوس ويرث في المعهد التقني الفيدرالي العالي في زيورخ. حتى الآن، تم استخدام باسكال على نطاق واسع في الجامعات ومدارس الهندسة ومراكز البحوث في مجال تكنولوجيا المعلومات، ولكن ظهور مترجمات PASCAL (البرنامج الذي يسمح بترجمة برنامج مكتوب بلغة PASCAL إلى برنامج مفهوم للآلة لتنفيذه) على الحواسيب الصغيرة أدى إلى تطور كبير في هذه اللغة.
Le langage de programmation PASCAL a été conçu et développé au début des années 70 par NIKLAUS WIRTH à la EIDGENOSSE TECHNISCHE HOCHSCHULE DE ZURICH (Ecole polytechnique de Zurich). Jusqu'à présent PASCAL a été largement utilisé dans les universités, les écoles d'Ingénieurs et les centres de recherches en Informatique, mais l'apparition de compilateurs PASCAL (Programme qui permet de traduire un programme écrit en PASCAL en un programme compréhensible par la machine pour y être exécuter) sur les micro-ordinateurs a conduit à un développement considérable de ce langage.
توجد حاليًا العديد من بيئات باسكال، من أهمها MS PASCAL من Microsoft و TURBO PASCAL من BORLAND.
Actuellement, il existe plusieurs environnements PASCAL parmi les plus importants on cite MS PASCAL de Microsoft et TURBO PASCAL de BORLAND.
2- البيئة التقنية للغة باسكال 2- Environnement technique du langage pascal :
مرة أخرى، لغة باسكال هي لغة منظمة تتميز بالوضوح في ترتيب التعليمات، وبالتالي فهي تعتبر لغة التدريس بامتياز.
Encore une fois, le langage PASCAL est un langage structuré possédant une clarté dans la disposition des instructions, par conséquent, il s'avère le langage d'enseignement par excellence.
بشكل عام، لتنفيذ برنامج مكتوب بلغة PASCAL (برنامج المصدر) على الحاسوب، يجب أولاً ترجمته إلى برنامج تفهمه الآلة (الحاسوب).
D'une manière globale pour exécuter un programme écrit en PASCAL (programme source) dans un ordinateur, il faut au préalable le traduire en un programme compréhensible par la machine (ordinateur).

بيئة لغة باسكال
وبعبارة أخرى، يمكننا أن نعتبر في البداية أن البرنامج هو مترجم PASCAL وأن البيانات هي البرنامج المصدر. ستكون النتيجة هي ترجمة برنامج المصدر (بلغة PASCAL) إلى برنامج يتكون من تعليمات الآلة: برنامج الكائن.
Autrement, on peut considérer dans un premier temps que le programme est le COMPILATEUR PASCAL et la donnée est le programme source. Le résultat sera la traduction de notre programme source (en PASCAL) en un programme formé d'instructions machine : LE PROGRAMME OBJET.

مخطط توضيحي للغة باسكال
بعد ذلك، يتم استخدام الحاسوب مرة أخرى: سيكون برنامجه هو برنامج الكائن وبيانات الإدخال هي بياناتنا الخاصة، مما ينتج عنه النتيجة المتوقعة.
Ensuite, l'ordinateur est alors utilisé à nouveau : son programme sera le programme objet et ses données d'entrée nos propres données, produisant ainsi le résultat attendu.

مخطط تجميعي للغة باسكال
في كلتا المرحلتين، يجب منع الأخطاء التي قد تحدث:
Dans les deux étapes, il faut prévenir des erreurs à savoir :
-
- خطأ الترجمة: يتم اكتشافه أثناء الترجمة: إذا كتبنا على سبيل المثال Begin ولكننا حذفنا end. سيقوم المترجم بالكشف عن الخطأ والإبلاغ عنه.
L'erreur de compilation détectée lors de la traduction : Si par exemple nous écrivons Begin mais que nous omettons le end. Le compilateur détecte et signale l'erreur.
-
- خطأ التنفيذ: يتم اكتشافه أثناء تنفيذ البرنامج الكائن: إذا أعطينا البرنامج التالي Racine Carrée القيمة -1 للمتغير x، فسوف يتعطل البرنامج لأن SQRT لا تقبل وسيطًا سالبًا.
L'erreur d'exécution est détectée pendant le déroulement du programme objet : Si au programme Racine Carrée suivant nous donnons la valeur -1 à x, le programme sera mis en défaut parce que SQRT n'accepte pas d'argument négatif.
PROGRAM Racine Carrée (input, output); VAR x: Real; BEGIN Read (x); Write (sqrt(x)); END.
3- التدوينات الأساسية (بناء الجملة) 3- Notation fondamentales (syntaxe) :
3.1- مخطط بناء الجملة 3.1 Le Diagramme de Syntaxe :
يتم وصف أي برنامج بلغة باسكال من خلال بناء الجملة والدلالة. يحدد بناء الجملة قواعد الكتابة التي يجب استخدامها لصياغة كل تعليمة، بينما تشير الدلالة إلى كيفية ربط التعليمات والإجراءات لتنفيذ تطبيق ما.
Tout programme PASCAL est décrit par sa syntaxe et sa sémantique. La syntaxe établit les règles d'écriture que l'on doit utiliser pour formuler chacune des instructions, tandis que la sémantique indique comment il faut enchaîner instructions et actions pour exécuter une application.
يسمى الرسم البياني الذي يمثل قواعد الكتابة وتسلسلها بمخطط بناء الجملة.
Le graphisme représentant les règles d'écriture et leur enchaînement est appelé un diagramme de syntaxe.

رموز مخطط بناء الجملة

مثال على مخطط بناء الجملة
العنصر | الوصف |
---|---|
BEGIN | يشير إلى بداية البرنامج. |
INSTRUCTION | يشير إلى أحد عناصر المعالجة؛ الذي يمكن أن يكون: - تعليمة كتابة - تعليمة قراءة - تعليمة تنفيذ الاختبار |
; | حرف فاصل بين التعليمات. |
يشير إلى مسار الدياجرام. في هذا المثال، إذا كانت هناك تعليمات أخرى للتنفيذ، فإن المسار سيكون تجاه الرمز "؛"، وإلا سيذهب إلى النهاية "END". | |
END. | يشير إلى نهاية المعالجة. |
II- العناصر الأساسية II- ÉLÉMENTS DE BASE :
1- أبجدية باسكال 1- Alphabet pascal :
يتم بناء التمثيل المكتوب للغة باستخدام مجموعة من الحروف أو الرموز الأساسية المكونة من الحروف والأرقام والأحرف الخاصة التي تضمن وظيفة محددة جيدًا، بالإضافة إلى الحرف مسافة. تتكون هذه المجموعة من الحروف التالية:
La représentation écrite du langage est construite à l'aide d'un jeu de caractères ou symboles de base composé de lettres, de chiffres et de caractères spéciaux assurant une fonction bien précise, ainsi que du caractère Espace.
-
26 حرفًا من الأبجدية: من A إلى Z، ومن a إلى z.
Les 26 lettres de l'alphabet : A à Z, a à z.
-
10 أرقام: من 0 إلى 9.
Les 10 chiffres : 0 à 9.
-
الأحرف الخاصة التالية: + - * / = ^ <> ( ) [ ] { } . , : ; ' # $ _
Les caractères spéciaux suivants : + - * / = ^ <>() []{}., : ; ' # $ _
2- عناصر النص في باسكال 2- Elément d'un texte pascal :
2.1- الكلمات المفتاحية في باسكال 2.1- Les mots clés pascal :
هي كلمات يتعرف عليها المترجم، وتشكل المفردات الأساسية للغة باسكال. إنها تستخدم لتحديد دور التعليمات أو خصائص البيانات.
Ce sont des mots reconnus par le compilateur, ils constituent le vocabulaire de base du langage PASCAL. Ils servent à définir le rôle des instructions ou les caractéristiques des données.
مثال:
Exemple : FUNCTION, INTEGER, TYPE sont des mots clés.
تكون بعض الكلمات المفتاحية محجوزة لاستخدام محدد ولا يمكن استخدامها خارج سياقها. هذه هي الكلمات المحجوزة التي يجب ألا يستخدمها البرنامج إلا في دورها المحدد مسبقًا. وهي كالتالي:
Certains mots clés sont réservés à un usage bien précis et ne peuvent être utilisés hors de leur contexte. Ce sont les mots réservés que le programme ne devra employer que dans leur rôle prédéfini. Ce sont :
AND ARRAY BEGIN CASE CONST
DIV DO DOWNTO ELSE END
FILE FOR FORWARD FUNCTION GOTO
IF IN LABEL MOD NIL
NOT OF OR PACKE PROCED
PROGRAM URE
RECORD REPEAT SET THEN
TYPE UNTIL VAR WHILE
2.2- المعرفات 2.2- Les identificateurs :
تتم تسمية الكائنات التي يتم التعامل معها بواسطة المعرفات التي يختارها المبرمج. وهي تحدد أسماء المتغيرات ومجموعات الثوابت الشكلية والإجراءات...
Les objets manipulés sont nommés par les identificateurs qui sont choisis par le programmeur. Ils désignent des noms de variables, d'ensembles de constantes figuratives, de procédures, ...
المعرف هو سلسلة من الحروف والأرقام، ويجب أن يكون الرمز الأول حرفًا إلزاميًا.
Un identificateur est une suite de lettres et de chiffres le premier symbole étant obligatoirement une lettre.
يتم إعطاء بناء جملة المعرفات بواسطة المخطط التالي:
La syntaxe des identificateurs est donnée par le diagramme suivant :

مثال:
أمثلة صحيحة | أمثلة غير صحيحة |
---|---|
NOM | 9 NOM |
PRENOM | TURBO PASCAL |
TURBOPASCAL | END. |
F22 | CH 22 |
MINUSCULE | : Minuscule |
EXO |
ملاحظة: يُنصح بالإعلان عن المعرفات بطول 8 أحرف لاحترام المعايير القياسية وتجنب الأسماء الطويلة جدًا التي قد تجعل الكتابة مملة.
REMARQUE : Il est conseillé de déclarer les identificateurs sur une longueur de 8 caractères pour respecter les normes standards et pour éviter d'avoir des noms trop longs dont l'écriture pourrait devenir très fastidieuse.
2.3- المحددات 2.3- Les séparateurs :
تشكل المحددات علامات الترقيم في اللغة:
Ils constituent la ponctuation du langage :
-
.. → يفصل حدود فاصل زمني.
Sépare les bornes d'un intervalle : ..
-
, → يفصل عناصر القائمة.
Sépare les éléments d'une liste : ,
-
: = → رمز الإسناد.
: = → Symbole d'affectation ;
-
'→ لتضمين الثوابت من نوع الحرف والسلسلة (يسمى علامة اقتباس).
'→Encadre les constantes de type caractère et chaîne (il est dit cote);
-
. → يحدد نهاية البرنامج.
• → Marque le point final d'un programme ;
-
; → يفصل بين سطرين في البرنامج.
; - Sépare deux lignes du programme ;
-
=→ يسبق القيمة في إعلان الثابت.
=→Précède la valeur dans une déclaration de constante ;
-
{ → بداية التعليق.
{ → Début de commentaire ;
-
} → نهاية التعليق.
} → Fin de commentaire ;
-
[ و ] → لتضمين قائمة مؤشرات المتغير.
[et] → Encadrent la liste d'indice d'une variable indiquée ;
-
← يفصل بين كلمتين متتاليتين (وهي المسافة).
→ Sépare 2 mots consécutifs (il s'agit de l'espace) ;
-
( و ) → لتضمين القوائم المرتبطة بالكلمات المفتاحية.
(et) → Encadrent les listes associées à des mots clés ;
2.4- المعاملات 2.4- Les opérateurs :
تشير إلى عملية يتم تنفيذها على الحاسوب. نجد المعاملات التقليدية التالية:
Ils indiquent un traitement à l'ordinateur. On trouve les opérateurs classiques :
-
- المعاملات الحسابية • Opérateurs arithmétiques :
- الجمع: +
- الطرح: -
- الضرب: *
- القسمة: /
Addition : +
Soustraction : -
Multiplication : *
Division : /
-
- معاملات المقارنة • Opérateurs de comparaison :
جميع العلاقات الترتيبية:
Toutes les relations d'ordre :
- أصغر من أو يساوي: <=
- أكبر من: >
- يساوي: = ... إلخ.
Inférieure ou Egal : <=
Supérieur : >
Egal : = etc....
- - المعاملات المنطقية • Opérateurs Logiques :
في لغة باسكال، يتم تحديدها بالكلمات المفتاحية:
En PASCAL, ils sont désignés par des mots clés :
- AND: و المنطقية
- OR: أو المنطقية
- NOT: النفي المنطقي ... إلخ.
AND: ET logique
OR : OU logique
NOT: Négation logique etc...
تسمح بدمج عدة شروط:
Ils permettent de combiner plusieurs conditions :
مثال: (S > 10) ET (B <= 10) (S > 10) AND (B <= 10)
- معاملات المجموعات • Opérateurs d'ensembles :
- * : تقاطع المجموعات.
* : Intersection d'ensembles ;
- + : اتحاد المجموعات.
+ : Union d'ensembles ;
- معامل الانتماء • Opérateur d'appartenance :
يتم تمييزه بالرمز : IN
Il est noté par : IN
3- التعليقات 3- Les commentaires :
التعليقات هي تسلسلات من الأحرف محاطة بالرموز: { و } وتستخدم لتوضيح البرامج (لوصف ما تفعله التعليمة على سبيل المثال).
Les commentaires, sont des suites de caractères encadrées par les symboles: { et } et qui servent pour argumenter les programmes (décrire se que fait une instruction par exemple).
مثال: {اختبار البرنامج}
Exemple : {test de programme}
ملاحظة: من المهم جدًا وضع التعليقات في البرامج لجعلها أكثر وضوحًا وسهولة للفهم.
Remarque : Il est très important de mettre des commentaires dans les programmes afin de les rendre plus lisibles et compréhensibles.
4- الهيكل العام لبرنامج باسكال 4- Structure générale d'un programme pascal :
البرنامج هو عبارة عن مجموعة منظمة من التعليمات التي تسمح بإنجاز معالجة محددة قابلة للتنفيذ بواسطة الحاسوب. يتكون الهيكل العام لبرنامج PASCAL من 3 أجزاء:
Un programme est une suite ordonnée d'instructions qui permettent la réalisation d'un traitement donné exécutable par l'ordinateur. La structure générale d'un programme PASCAL est composée de 3 parties :
-
1- تحديد البرنامج (تذييل): يتكون من اسم البرنامج متبوعًا بقائمة من معلمات البيئة.
1- Une identification du programme (en- tête);
-
2- جزء الإعلانات: يصف الكائنات التي سيتم التعامل معها بواسطة البرنامج مثل الثوابت والمتغيرات والأنواع ...إلخ.
2- Une partie déclaration ;
-
3- جزء التعليمات: هو الجزء الرئيسي من البرنامج ويصف مجموعة العمليات التي سيتم تنفيذها. يبدأ دائمًا بالكلمة المفتاحية BEGIN وينتهي بالكلمة المفتاحية END متبوعة بنقطة.
3- Une partie instructions toujours terminée par un point.
الجزء | الوصف |
---|---|
IDENTIFICATION | يتم تأمين تعريف البرنامج عن طريق تذييل يحدد اسم البرنامج متبوعًا بقائمة من معلمات البيئة. |

مخطط عام لبرنامج باسكال
ملاحظة: يتم فصل الإعلانات والتعليمات بنقاط فاصلة (;). لتوضيح استخدام مخططات بناء الجملة، يمكن تمثيل الهيكل العام لبرنامج باسكال بالطريقة التالية:
REMARQUE : Les déclarations et les instructions sont séparées par des points virgules (;). Afin d'illustrer l'utilisation des diagrammes de syntaxe la structure générale d'un programme PASCAL peut être représentée de la manière suivante :

مخطط بناء جملة الهيكل العام
ملخص RÉSUMÉ :
في هذا الدرس، تعلمنا أن لغة باسكال هي لغة برمجة متطورة، مزودة بمترجم يترجم أي برنامج مصدر مكتوب بلغة باسكال إلى برنامج آلة قابل للتنفيذ. لكتابة برنامج بلغة باسكال، يجب احترام هيكله المكون من ثلاثة أجزاء:
Dans cette leçon nous avons appris que le langage Pascal est un langage de programmation évolué, doté d'un compilateur qui traduit tout programme source écrit en Pascal en un programme machine exécutable. Pour écrire un programme en Pascal il faut respecter sa structure qui est composée des trois parties suivantes :
-
1- التعريف أو تذييل البرنامج: يتكون من إعطاء اسم للبرنامج وتحديد بعض معلمات البيئة.
1- L'identification ou l'en-tête du programme qui consiste à lui associer un nom et lui définir quelques paramètres d'environnement.
-
2- الإعلانات: لوصف جميع الكائنات التي يتعامل معها البرنامج مثل الثوابت والمتغيرات والأنواع...إلخ.
2- Les déclarations pour décrire tout les objets que manipule le programme tel que les constantes, les variables, les types ...etc.
-
3- التعليمات: تلعب الدور الرئيسي في البرنامج، وهي عبارة عن عمليات أساسية مثل القراءة والكتابة والعمليات الرياضية ...إلخ.
3- Les instructions qui jouent le rôle principal dans le programme, se sont des opérations de base tel que la lecture, l'écriture, les opérations mathématiques...etc.
يجب أن يبدأ جزء التعليمات بالكلمة المحجوزة BEGIN وينتهي بالكلمة المحجوزة END متبوعة بنقطة.
La partie instruction doit commencer par le mot réservé BEGIN et se terminer par le mot réservé END suivi d'un point.
تمارين تطبيقية EXERCICES D'APPLICATION :
تمرين رقم 1: هل المعرفات التالية صحيحة؟ برر إجابتك.
المعرف | الإجابة |
---|---|
Essai | |
10B | |
A* | |
VAR | |
CASE |
تمرين رقم 2:
ليكن البرنامج التالي الذي يعرض رسالة بسيطة:
PROGRAM 1Message (INPUT, OUTPUT);
BEGIN
WRITE ('Bonjours tout le monde');
END;
أعطِ الأخطاء النحوية المختلفة.
تمرين رقم 3:
ليكن البرنامج التالي الذي يحسب مجموع مربعي رقمين ثم يعرض النتيجة على الشاشة. ناقش بناء الجملة الخاص به.
PROGRAME Scarre (INPUT, OUTPUT),
VAR
A, B, C : INTEGER
BEGIN
READ (A, B);
A = A*A;
B = B * B;
C = A + B;
WRITE (C);
END.
تصحيح التمارين CORRIGÉ DES EXERCICES
تمرين رقم 1 EXERCICE N°01 :
المعرف | الإجابة |
---|---|
Essai | صحيح |
10B | غير صحيح. يجب أن يبدأ المعرف بحرف. |
A* | غير صحيح. المعرف لا يحتوي على أحرف خاصة. |
VAR | غير صحيح. المعرف لا يحتوي على مسافة. |
CASE | غير صحيح. هي كلمة مفتاحية. |
تمرين رقم 2 EXERCICE N°02 :
توجد خطأين في البرنامج:
- الأول: يجب أن يبدأ معرف البرنامج "1message" بحرف.
- الثاني: نهاية البرنامج هي END. بدلًا من END ;
تمرين رقم 3 EXERCICE N° 03 :
نلاحظ وجود ثلاثة أخطاء في بناء الجملة:
- الأول: الكلمة المفتاحية PROGRAM بدون E.
- الثاني: ينتهي تذييل البرنامج بفاصلة منقوطة بدلاً من فاصلة.
- الثالث: في نهاية الإعلانات تكون الفاصلة المنقوطة داخل القوسين (بين قوسين INTEGER).