جب علينا قبل الدخول في البرمجة فهم الطريقة الرياضية للتعامل مع البيانات وطريقة تعامل المصنف مع الدوال الرياضية والأقواس
وبرنامج الباسكال يتعامل مع العمليات الرياضية حسب القاعدة التالية
والتي تعتمد على الأسبقية بحيث
أولا : تنفيذ الدالة Not
ثانيا : تنفيذ الدوال التالية
AND
MOD
DIV
/
*
بحيث أن الدالتين Div و Mod دوال رياضية سيتم التعرف عليها لاحقا
ثالثا : تنفيذ العمليات
OR
-
+
رابعا : تنفيذ المعاملات المنطقية
=
<>
<=
>=
<
>
عندما يكون هناك دالتين من نفس المستوى ننفذ الدالة بدءا من اليسار إلى اليمين
لتتضح الرؤيا حول إستخدام قاعدة الأولويات نرى الأمثلة التالية
1-Write a PASCAL program to find the roots of a quadratic equation (assume that b2 – 4ac >= 0)
يريد في هذا المثال إيجاد جذور لمتتابعة ثنائية
الحل
Program Root(input,output);
Var
A,b,c :integer;
X1,x2 : real ;
الناتج عرفناه على أنه عدد حقيقي لإنه سيكون ناتج من عمليات منها عمليات قسمة
وفي حالة وجود عمليات قسمة فناتجها دائما عدد حقيقي وليس صحيح
Begin
Writeln (‘Enter the Numbers A , B ,C’);
Readln (a,b,c);
X1:= (-b+sqrt(b*b –4*a*c))/(2*a);
X2:= (-b-sqrt(b*b –4*a*c))/(2*a);
Write (‘The Nunmber X1 =’,x1 ,’And Number X2 =’,x2);
End.
2- Find (7 Div 2/3)
في هذا المثال نلاحظ أن الدالتين Div و / يأتيان في مرتبة واحده في أولوية التنفيذ
ولكن لإن Div أتت قبل من جهة اليسار فنقوم بتنفيذها أولا لذلك
7 div 2/3 =
3 / 3 =
1.0
( لاحظ أن العدد جوابه 1.0 وليس 1 لإنه ناتج من قسمة فلذلك يعد عدد حقيقي Real ولا يعتبر
سنتعرف في هذا القسم على نوع جديد من الأوامر في الباسكال وهذا النوع من الأنواع الشائعة الإستخدام في البرنامج وهو الأمر Readln ويستخدم هذا الأمر لإدخال البيانات من المستخدم وحفظها في متغيرات تناسب نوع البيانات المدخلة وله نوعان
الأول : Readln
وهو يقوم بقراءة البيانات من المستخدم وبعدها ينتقل المؤشر للسطر التالي
الثاني : Read
وهو مشابه للأمر Readln ولكن الفرق الوحيد أنه لا ينتقل سطر للأسفل بعد قراءة البيانات بل يكمل بنفس السطر
Write (‘Enter Your Name :’);
Readln (Name);
في المثال السابق يقوم البرنامج في السطر الأول بطباعة السؤال ( أدخل إسمك ) ولإننا إستخدمنا الأمر Write فإن المؤشر لا ينتقل للسطر التالي بل يقرأ السطر التالي والمؤشر في نفس السطر
في السطر التاني ينتقل البرنامج لوضع إستقبال البيانات من المستخدم ومن ثم حفظها في المتغير المختار Name و يجب أن تكون البيانات المدخلة من نفس نوع المتغير وإلا سوف يولد البرنامج رسالة خطأ
Enter your name : I
لو أضفنا السطور التالية للمثال
Writeln (‘Enter your Age :’);
Read (Age);
Write (‘Enter your Salary :’);
Readln (Salary);
في السطر الثالث يطبع البرنامج الرسالة وينتقل بعدها للسطر التالي لإستقبال البيانات من المستخدم ، ونلا حظ هنا اننا إستخدمنا الأمر Read
بعدها سيقوم البرنامج بطباعة السطر الخامس ولن ينتقل للسطر التالي بل سيستقبل البيانات في نفس السطر لإننا إستخدمنا الأمر Write
سنتعرف في هذا القسم على نوع جديد من الأوامر في الباسكال وهذا النوع من الأنواع الشائعة الإستخدام في البرنامج وهو الأمر Readln ويستخدم هذا الأمر لإدخال البيانات من المستخدم وحفظها في متغيرات تناسب نوع البيانات المدخلة وله نوعان
الأول : Readln
وهو يقوم بقراءة البيانات من المستخدم وبعدها ينتقل المؤشر للسطر التالي
الثاني : Read
وهو مشابه للأمر Readln ولكن الفرق الوحيد أنه لا ينتقل سطر للأسفل بعد قراءة البيانات بل يكمل بنفس السطر
Write (‘Enter Your Name :’);
Readln (Name);
في المثال السابق يقوم البرنامج في السطر الأول بطباعة السؤال ( أدخل إسمك ) ولإننا إستخدمنا الأمر Write فإن المؤشر لا ينتقل للسطر التالي بل يقرأ السطر التالي والمؤشر في نفس السطر
في السطر التاني ينتقل البرنامج لوضع إستقبال البيانات من المستخدم ومن ثم حفظها في المتغير المختار Name و يجب أن تكون البيانات المدخلة من نفس نوع المتغير وإلا سوف يولد البرنامج رسالة خطأ
Enter your name : I
لو أضفنا السطور التالية للمثال
Writeln (‘Enter your Age :’);
Read (Age);
Write (‘Enter your Salary :’);
Readln (Salary);
في السطر الثالث يطبع البرنامج الرسالة وينتقل بعدها للسطر التالي لإستقبال البيانات من المستخدم ، ونلا حظ هنا اننا إستخدمنا الأمر Read
بعدها سيقوم البرنامج بطباعة السطر الخامس ولن ينتقل للسطر التالي بل سيستقبل البيانات في نفس السطر لإننا إستخدمنا الأمر 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 إلى السطر الذي يلي آخر جمله لإنها من النوع 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
لقد تعرفنا على طريقة تعريف متغيرات بالبرنامج لحفظ البيانات فيها حسب نوعها وذلك داخل التعريف 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);
التصريح Var
ويتم في هذا القسم من البرنامج التصريح عن نوع البيانات بالبرنامج قبل إستخدامها
ويتم التصريح حسب نوع البيانات إما الأنواع الأربعه Integer , Real , Boolean , Chr أو نوع قام المستخدم بتعريفه وسيتم دراسته بفصل آخر
ويخضع إسم المتغير إلى شروط وهي
1- أن يبدأ بحرف ( ولا تقبل الأسماء التي تبدأ بأرقام )
2- يحوي الإسم حروفا وأرقاما فقط
3- لا يكون الإسم من ضمن الكلمات المحجوزه بالذاكرة
4- يفضل دائما أن يكون إسم له معنى للتسهيل
أمــــثــلة
A: integer; تم تعريف مكان بالذاكره إسمه A وهو يقبل البيانات فقط من نوع الأعداد الصحيحه
B: Real; تم تعريف مكان بالذاكره إسمه B وهو يقبل البيانات من النوع الصحيح وأيضا النوع الذي الحقيقي الذي يحوي كسور
Grade: Chr; تم تعريف مكان بالذاكره إسمه Grade وهو يقبل البيانات من النوع Chr
F: Boolean; تم تعريف مكان بالذاكره إسمه F وهو يقبل بيانات من النوع Boolean أي قيم منطقيه (يقبل إما قيمه True – False )
والآن لنأخذ مثال تطبيقي على إستخدام التصريح Var
A:=5; (صحيح)
A:=3.5; (خطأ) – لإنه تم إسناد عدد حقيقي كسري إلى متغير صحيح
B:=5; (صحيح)
B:=3.5; (صحيح)
Grade:=`r`; (صحيح)
Grade:=d; (خطأ) – لعدم وضع الأقواس
F:=True; (صحيح)
F:=False; (صحيح)
F:=10; (خطأ) – لإن المتغير F لايقبل إلا قيم منطقيه إما True أو False
ونلاحظ مما سبق
القيمه Real اعم من Integer فهي تقبل القيم الصحيحه والحقيقيه ولكنها تأخد حيز من الذاكرة أكبر
المزيد من المواضيع
تعلم برمجة Pascal الدرس الثاني عشر - انشاء وحداتك الخاصّه
تعلم برمجة Pascal الدرس الحادي عشر - ملفات المعلومات
تعلم برمجة Pascal الدرس العاشر - الملفات النصيه
تعلم برمجة Pascal الدرس التاسع - الإجراءات و الدوال
تعلم برمجة Pascal الدرس الثامن - Types, Records و Sets
تعلم برمجة Pascal الدرس السادس - التكرار
تعلم برمجة Pascal الدرس الخامس - اتخاذ القرار
تعلم برمجة Pascal الدرس الثالث - المتغيرات و الثوابت
تعلم برمجة Pascal الدرس الثاني - الالوان , الاحداثيات , النوافذ و الصوت
تعلم برمجة Pascal الدرس الاول - مقدمه
حلقات التكرار في باسكال
حلقات التكرار في باسكال
عبارة CASE في باسكال
جملة IF - ELSE
الدرس التاسع : الدوال القياسية
الدرس الثامن : التعابير الرياضية
الدرس السابع : قاعدة الأولويات
الدرس السادس : أمر Read والأمر Readln
الدرس الخامس : أمر Write والأمر Writeln
الدرس الرابع : الثوابت في البرنامج
الدرس الثاني : أنواع البيانات في الباسكال
الدرس الأول : أساسيات في الباسكال
تاريخ لغة الباسكال
End;Integer
وبرنامج الباسكال يتعامل مع العمليات الرياضية حسب القاعدة التالية
والتي تعتمد على الأسبقية بحيث
أولا : تنفيذ الدالة Not
ثانيا : تنفيذ الدوال التالية
AND
MOD
DIV
/
*
بحيث أن الدالتين Div و Mod دوال رياضية سيتم التعرف عليها لاحقا
ثالثا : تنفيذ العمليات
OR
-
+
رابعا : تنفيذ المعاملات المنطقية
=
<>
<=
>=
<
>
عندما يكون هناك دالتين من نفس المستوى ننفذ الدالة بدءا من اليسار إلى اليمين
لتتضح الرؤيا حول إستخدام قاعدة الأولويات نرى الأمثلة التالية
1-Write a PASCAL program to find the roots of a quadratic equation (assume that b2 – 4ac >= 0)
يريد في هذا المثال إيجاد جذور لمتتابعة ثنائية
الحل
Program Root(input,output);
Var
A,b,c :integer;
X1,x2 : real ;
الناتج عرفناه على أنه عدد حقيقي لإنه سيكون ناتج من عمليات منها عمليات قسمة
وفي حالة وجود عمليات قسمة فناتجها دائما عدد حقيقي وليس صحيح
Begin
Writeln (‘Enter the Numbers A , B ,C’);
Readln (a,b,c);
X1:= (-b+sqrt(b*b –4*a*c))/(2*a);
X2:= (-b-sqrt(b*b –4*a*c))/(2*a);
Write (‘The Nunmber X1 =’,x1 ,’And Number X2 =’,x2);
End.
2- Find (7 Div 2/3)
في هذا المثال نلاحظ أن الدالتين Div و / يأتيان في مرتبة واحده في أولوية التنفيذ
ولكن لإن Div أتت قبل من جهة اليسار فنقوم بتنفيذها أولا لذلك
7 div 2/3 =
3 / 3 =
1.0
( لاحظ أن العدد جوابه 1.0 وليس 1 لإنه ناتج من قسمة فلذلك يعد عدد حقيقي Real ولا يعتبر
سنتعرف في هذا القسم على نوع جديد من الأوامر في الباسكال وهذا النوع من الأنواع الشائعة الإستخدام في البرنامج وهو الأمر Readln ويستخدم هذا الأمر لإدخال البيانات من المستخدم وحفظها في متغيرات تناسب نوع البيانات المدخلة وله نوعان
الأول : Readln
وهو يقوم بقراءة البيانات من المستخدم وبعدها ينتقل المؤشر للسطر التالي
الثاني : Read
وهو مشابه للأمر Readln ولكن الفرق الوحيد أنه لا ينتقل سطر للأسفل بعد قراءة البيانات بل يكمل بنفس السطر
Write (‘Enter Your Name :’);
Readln (Name);
في المثال السابق يقوم البرنامج في السطر الأول بطباعة السؤال ( أدخل إسمك ) ولإننا إستخدمنا الأمر Write فإن المؤشر لا ينتقل للسطر التالي بل يقرأ السطر التالي والمؤشر في نفس السطر
في السطر التاني ينتقل البرنامج لوضع إستقبال البيانات من المستخدم ومن ثم حفظها في المتغير المختار Name و يجب أن تكون البيانات المدخلة من نفس نوع المتغير وإلا سوف يولد البرنامج رسالة خطأ
Enter your name : I
لو أضفنا السطور التالية للمثال
Writeln (‘Enter your Age :’);
Read (Age);
Write (‘Enter your Salary :’);
Readln (Salary);
في السطر الثالث يطبع البرنامج الرسالة وينتقل بعدها للسطر التالي لإستقبال البيانات من المستخدم ، ونلا حظ هنا اننا إستخدمنا الأمر Read
بعدها سيقوم البرنامج بطباعة السطر الخامس ولن ينتقل للسطر التالي بل سيستقبل البيانات في نفس السطر لإننا إستخدمنا الأمر Write
سنتعرف في هذا القسم على نوع جديد من الأوامر في الباسكال وهذا النوع من الأنواع الشائعة الإستخدام في البرنامج وهو الأمر Readln ويستخدم هذا الأمر لإدخال البيانات من المستخدم وحفظها في متغيرات تناسب نوع البيانات المدخلة وله نوعان
الأول : Readln
وهو يقوم بقراءة البيانات من المستخدم وبعدها ينتقل المؤشر للسطر التالي
الثاني : Read
وهو مشابه للأمر Readln ولكن الفرق الوحيد أنه لا ينتقل سطر للأسفل بعد قراءة البيانات بل يكمل بنفس السطر
Write (‘Enter Your Name :’);
Readln (Name);
في المثال السابق يقوم البرنامج في السطر الأول بطباعة السؤال ( أدخل إسمك ) ولإننا إستخدمنا الأمر Write فإن المؤشر لا ينتقل للسطر التالي بل يقرأ السطر التالي والمؤشر في نفس السطر
في السطر التاني ينتقل البرنامج لوضع إستقبال البيانات من المستخدم ومن ثم حفظها في المتغير المختار Name و يجب أن تكون البيانات المدخلة من نفس نوع المتغير وإلا سوف يولد البرنامج رسالة خطأ
Enter your name : I
لو أضفنا السطور التالية للمثال
Writeln (‘Enter your Age :’);
Read (Age);
Write (‘Enter your Salary :’);
Readln (Salary);
في السطر الثالث يطبع البرنامج الرسالة وينتقل بعدها للسطر التالي لإستقبال البيانات من المستخدم ، ونلا حظ هنا اننا إستخدمنا الأمر Read
بعدها سيقوم البرنامج بطباعة السطر الخامس ولن ينتقل للسطر التالي بل سيستقبل البيانات في نفس السطر لإننا إستخدمنا الأمر 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 إلى السطر الذي يلي آخر جمله لإنها من النوع 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
لقد تعرفنا على طريقة تعريف متغيرات بالبرنامج لحفظ البيانات فيها حسب نوعها وذلك داخل التعريف 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);
التصريح Var
ويتم في هذا القسم من البرنامج التصريح عن نوع البيانات بالبرنامج قبل إستخدامها
ويتم التصريح حسب نوع البيانات إما الأنواع الأربعه Integer , Real , Boolean , Chr أو نوع قام المستخدم بتعريفه وسيتم دراسته بفصل آخر
ويخضع إسم المتغير إلى شروط وهي
1- أن يبدأ بحرف ( ولا تقبل الأسماء التي تبدأ بأرقام )
2- يحوي الإسم حروفا وأرقاما فقط
3- لا يكون الإسم من ضمن الكلمات المحجوزه بالذاكرة
4- يفضل دائما أن يكون إسم له معنى للتسهيل
أمــــثــلة
A: integer; تم تعريف مكان بالذاكره إسمه A وهو يقبل البيانات فقط من نوع الأعداد الصحيحه
B: Real; تم تعريف مكان بالذاكره إسمه B وهو يقبل البيانات من النوع الصحيح وأيضا النوع الذي الحقيقي الذي يحوي كسور
Grade: Chr; تم تعريف مكان بالذاكره إسمه Grade وهو يقبل البيانات من النوع Chr
F: Boolean; تم تعريف مكان بالذاكره إسمه F وهو يقبل بيانات من النوع Boolean أي قيم منطقيه (يقبل إما قيمه True – False )
والآن لنأخذ مثال تطبيقي على إستخدام التصريح Var
A:=5; (صحيح)
A:=3.5; (خطأ) – لإنه تم إسناد عدد حقيقي كسري إلى متغير صحيح
B:=5; (صحيح)
B:=3.5; (صحيح)
Grade:=`r`; (صحيح)
Grade:=d; (خطأ) – لعدم وضع الأقواس
F:=True; (صحيح)
F:=False; (صحيح)
F:=10; (خطأ) – لإن المتغير F لايقبل إلا قيم منطقيه إما True أو False
ونلاحظ مما سبق
القيمه Real اعم من Integer فهي تقبل القيم الصحيحه والحقيقيه ولكنها تأخد حيز من الذاكرة أكبر
المزيد من المواضيع
تعلم برمجة Pascal الدرس الثاني عشر - انشاء وحداتك الخاصّه
تعلم برمجة Pascal الدرس الحادي عشر - ملفات المعلومات
تعلم برمجة Pascal الدرس العاشر - الملفات النصيه
تعلم برمجة Pascal الدرس التاسع - الإجراءات و الدوال
تعلم برمجة Pascal الدرس الثامن - Types, Records و Sets
تعلم برمجة Pascal الدرس السادس - التكرار
تعلم برمجة Pascal الدرس الخامس - اتخاذ القرار
تعلم برمجة Pascal الدرس الثالث - المتغيرات و الثوابت
تعلم برمجة Pascal الدرس الثاني - الالوان , الاحداثيات , النوافذ و الصوت
تعلم برمجة Pascal الدرس الاول - مقدمه
حلقات التكرار في باسكال
حلقات التكرار في باسكال
عبارة CASE في باسكال
جملة IF - ELSE
الدرس التاسع : الدوال القياسية
الدرس الثامن : التعابير الرياضية
الدرس السابع : قاعدة الأولويات
الدرس السادس : أمر Read والأمر Readln
الدرس الخامس : أمر Write والأمر Writeln
الدرس الرابع : الثوابت في البرنامج
الدرس الثاني : أنواع البيانات في الباسكال
الدرس الأول : أساسيات في الباسكال
تاريخ لغة الباسكال
End;Integer
لا يوجد حالياً أي تعليق