أحمد تجاني بن مويزة
السلام عليكم والرحمة الله تعالى وبركاته والرحمة الله تعالى وبركاته نرحب بزوارنا الكرام ونرجو ان تجدو المراد في منتدى تجاني وتسجيل فيه وتقديم مساهمات فيه لتطويره الى منتدى خاص وكبير ولكل شيء اعيد واكرر اهلا بزوارنا الكرام والسلام عليكم و

انضم إلى المنتدى ، فالأمر سريع وسهل

أحمد تجاني بن مويزة
السلام عليكم والرحمة الله تعالى وبركاته والرحمة الله تعالى وبركاته نرحب بزوارنا الكرام ونرجو ان تجدو المراد في منتدى تجاني وتسجيل فيه وتقديم مساهمات فيه لتطويره الى منتدى خاص وكبير ولكل شيء اعيد واكرر اهلا بزوارنا الكرام والسلام عليكم و
أحمد تجاني بن مويزة
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.
أحمد تجاني بن مويزة

كل مايخص الحرازلية* ودروس الباك الجامعة* الرياضيات *الفيزياء* العلوم و الطيران الحربي * ناروتو* وان بيس* العاب الحرب الممتعة

اهلا نقبل كل المساهمات الخاص بالجامعة دروس ومواقع تعليميةو وشكرا
ترفبو الحلاقات ناروتو الحصرية2011/2012
بحـث
 
 

نتائج البحث
 


Rechercher بحث متقدم

سحابة الكلمات الدلالية

المواضيع الأخيرة
» طائرةصنع جزائري
 وللتعمق في الباسكال Emptyالجمعة نوفمبر 15, 2013 8:30 pm من طرف زائر

»  وللتعمق في الباسكال
 وللتعمق في الباسكال Emptyالجمعة يوليو 20, 2012 1:37 am من طرف azeaze1203

» شرح جملة IF - ELSE
 وللتعمق في الباسكال Emptyالجمعة يوليو 20, 2012 1:33 am من طرف azeaze1203

» عبارة CASE في باسكال
 وللتعمق في الباسكال Emptyالجمعة يوليو 20, 2012 1:32 am من طرف azeaze1203

» حلقات التكرار في لغة باسكال
 وللتعمق في الباسكال Emptyالجمعة يوليو 20, 2012 1:31 am من طرف azeaze1203

» حلقات التكرار في لغة باسكال
 وللتعمق في الباسكال Emptyالجمعة يوليو 20, 2012 1:30 am من طرف azeaze1203

» ما هي المتغيرات باسكال
 وللتعمق في الباسكال Emptyالجمعة يوليو 20, 2012 1:29 am من طرف azeaze1203

» الإجراءات باسكال
 وللتعمق في الباسكال Emptyالجمعة يوليو 20, 2012 1:28 am من طرف azeaze1203

» باسكال لغة برمجه
 وللتعمق في الباسكال Emptyالجمعة يوليو 20, 2012 1:26 am من طرف azeaze1203

نوفمبر 2024
الأحدالإثنينالثلاثاءالأربعاءالخميسالجمعةالسبت
     12
3456789
10111213141516
17181920212223
24252627282930

اليومية اليومية

التبادل الاعلاني

انشاء منتدى مجاني




أهلا وسهلا بك زائرنا الكريم, أنت لم تقم بتسجيل الدخول بعد! يشرفنا أن تقوم بالدخول أو التسجيل إذا رغبت بالمشاركة في المنتدى

وللتعمق في الباسكال

اذهب الى الأسفل  رسالة [صفحة 1 من اصل 1]

azeaze1203

azeaze1203
Admin

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


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

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


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

https://tidjani.ahlamontada.com
مُشاطرة هذه المقالة على: reddit

لا يوجد حالياً أي تعليق

الرجوع الى أعلى الصفحة  رسالة [صفحة 1 من اصل 1]

صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى