الثوابت
لقد تعرفنا على طريقة تعريف متغيرات
بالبرنامج لحفظ البيانات فيها حسب نوعها
وذلك داخل التعريف Var
ولكن
ماذا لو أردنا تعريف بيانات تكون قيمتها
ثابته طوال عمل البرنامج فإننا نستخدم
لتعريفها
نوع
جديد داخل الأمر Const
وتكون على الشكل التالي
Const
A
= 30 ;
B
= 9.6 ;
C
= “Name”;
-
طوال عمل البرنامج سيسند للثابت A
القيمة 30 ولا
يمكن تغيير هذه القيمة خلال البرنامج أبدا
-
نلاحظ أن هناك علامة مساواة = بين إسم
الثابت وقيمته بينما في تعريف Var
المتغيرات هناك علامة : بين إسم
المتغير ونوعه
- الثابت المعرف يعامل في البرنامج على أنه
كلمة محجوزة Reserved
Word
Program
Circle(input,output);
Const
Pi=3.14;
Var
Radius
: integer ;
Circum
, area : real ;
Begin
Writeln
( ‘Enter Radius’);
Read
( radius);
Circum
:= 2*pi* radius ;
Area
:= pi * radius * radius ;
Writeln
(‘The value of circum is’,circum);
Writeln
(‘The value of area is’,area);
End.
في
البرنامج السابق قمنا بتعريف ثابت في
البرنامج بالإسم pi
وهو يتخذ دائما القيمة 3.14
إستخدام
الثوابت في البرنامج يسهل عمل البرنامج
ويسهل تعديل القيم بسهولة بخاصة في
البرامج الكبيرة
لو
أردنا تنفيذ البرنامج السابق ولكن بدون
الإعتماد على الثوابت فسيكون البرنامج
على الشكل
Program
Circle(input,output);
Var
Pi
: real ;
Radius
: integer ;
Circum
, area : real ;
Begin
Write
(‘Enter Value of pi :’);
Readln
(pi);
Writeln
( ‘Enter Radius’);
Read
( radius);
Circum
:= 2*pi* radius ;
Area
:= pi * radius * radius ;
Writeln
(‘The value of circum is’,circum);
Writeln
(‘The value of area is’,area);
End;
امر
Write
سنتعرف
في هذا القسم على نوع جديد من الأوامر في
الباسكال وهذا النوع من الأنواع الشائعة
الإستخدام في البرنامج وهو الأمر Writeln
ويستخدم هذا الأمر للطباعة
وإخراج البيانات على الشاشة وله نوعان
الأول
: Writeln
وهو
يقوم بطباعة الجملة والإنتقال بعدها إلى
السطر الذي يليه مثل
Writeln
(‘This is First Line’);
Writeln
(‘This is the second Line’);
Writeln
(‘This is the first line’,’This is complete of the first line’);
نلاحظ في هذا المثال أنه سيقوم بطباعة
الجملة الأولى وفي نفس السطر سيقوم بطباعة
الجملة الثانية وسينتقل بعدها للسطر الذي
بعده
الثاني
: Write
وهو
مشابه للأمر Writeln
ولكن الفرق الوحيد أنه لا
ينتقل سطر للأسفل بعد طباعة الجملة بل
يكمل بنفس السطر
Write
(‘This is the first line ‘);
Writeln
(‘This is the complete of the first line’);
Write
(‘This is the Second line’);
Write
(‘This is complete of line 2’);
Writeln
(‘This is the End’);
في
هذا المثال توضيح كامل لعمل دالة الإخراج
بحالتيها
يقرأ
البرنامج السطر الأول ويطبعه وبما أنه Write
فإن المؤشر لن ينتق للسطر
الذي يليه بل سيقرأ السطر الآخر ويطبعه
بنفس السطر
وبما
أن السطر الثاني من النوع Writeln
فإن المؤشر بعد الإنتهاء من
طباعة السطر ينتقل للسطر التالي لطباعة
البيانات الأخرى
لذلك
سيكون ناتج السطور السابقة بعد التنفيذ
|
This
is the first line This is the complete of the first line
This
is the Second line This is complete of line 2 This is the End
I
|
بعد
الإنتهاء من نتفيذ الأوامر ينتقل
المؤشر I إلى
السطر الذي يلي آخر جمله لإنها من النوع Writeln
تدريب
:
لو
أراد منك طباعة الأسطر التالية
My
Name is Rayan
o
I
live in Riyadh
حيث
يقصد دائما بالعلامة o
فراغ
الجواب
Writeln
(‘My Name is Rayan’);
Writeln
;
Writeln
(‘I Live in Riyadh ‘);
ويمكن
أيضا حلها بالشكل التالي
Writeln
(‘My Name is Rayan’);
Writeln(‘’);
Write
(‘I Live in Riyadh ‘);
والفرق
بينهما أن المؤشر في الحالة الأولى سيكون
في النهاية في السطر الذي يلي آخر عبارة
وفي
المثال الثاني سيكون في نفس السطر الأخير
لو
أراد طباعة قيمة في متغير فنستخدم الأمر
كما يلي في هذا المثال
فلو
فرضنا أن S=10 وأراد
طباعة قيمتها فنكتب
Writeln
(‘The Value of S =’,s);
ويمكن
أيضا طباعة أكثر من قيمة أكانت جملة أو
متغير وذلك بإستخدام الفاصلة [,]
بينها
مثل
لو عرفنا المتغيرات التالية
A
= ‘Rayan’;
B = ‘=’ ;
C= ‘20’;
Writeln
(‘My Name is’,B,A,’and my age is’,c);
فسيكون
الناتج على الشكل
My
Name is =Rayan and my age is 20