الصفحة الرئيسية | رشح الموقع | اضفنا للمفضلة | صفحة البداية | راسلني 

 

القائمة الرئيسية

 

شرح تقسيم الهارد


لغات برمجة


لوحة البيوس


الشبكات

الدرس الأول | الدرس الثاني | الدرس الثالث | الدرس الرابع | الدرس الخامس

  

امر Read

سنتعرف في هذا القسم على نوع جديد من الأوامر في الباسكال وهذا النوع من الأنواع الشائعة الإستخدام في البرنامج وهو الأمر 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


قاعدة الأولويات

يجب علينا قبل الدخول في البرمجة فهم الطريقة الرياضية للتعامل مع البيانات وطريقة تعامل المصنف مع الدوال الرياضية والأقواس

وبرنامج الباسكال يتعامل مع العمليات الرياضية حسب القاعدة التالية

          والتي تعتمد على الأسبقية بحيث

أولا : تنفيذ الدالة 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  ولا يعتبر Integer)