المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : تاريخ لغة الباسكال


The Puni$her
09-09-07, 12:23 AM
عود قصة الرياضي والفيلسوف الفرنسي بليز باسكال إلى منتصف القرن السادس عشر ميلادي عام 1642م حيث أن هذا الشاب والذي كان يبلغ الثامنة عشر ربيعا والذي كانت بوادر العبقرية والاختراع تبدو جليه على أعماله وحيث أنه كان شديد الإبداع في علم الرياضيات مولعا بالاكتشافات العلمية وتطبيق النظريات الرياضية ففي نفس السنه اخترع أول حاسب نصف آلي وسمي باسمه ( حاسب باسكال 1642 ) ، وكان ذلك لسبب أساسي وهو مساعده أبيه الذي كان يعمل في مؤسسة الضرائب محصلا للفواتير والذي كان يقضي معظم لياليه مستخدما العد اليدوي في إحصاء وتدقيق حسابات المبالغ التي حصلها وقد كان يشكل هذا النوع البطيء من الحساب إرباكا لعائلته ، وبالتالي يأخذ منه الوقت الكبير .





يتكون حاسب باسكال الميكانيكي من مجموعه متتالية من الإطارات ( الأقراص ) كل واحد منها مرقمة من الصفر إلى التسعة ، هذه الإطارات مرتبه بحيث تقرأ الأرقام المسجلة عليها من اليسار إلى اليمين ويتم إدارتها يدويا عن طريق الذراع ، فعندما يتم أحد هذه الأقراص دورته من الصفر إلى التسع فإن نتوء الرقم 9 يدفع الطارة المجاورة له رقما واحدا وعند ذلك أي دورة الطارة الأولى تسعة مواقع متتالية ( دوره كاملة ) فإنها تدفع الطارة التالية لها من اليسار موقعا واحدا وهكذا حتى يتم تسجيل العدد .





وبهذه الطريقة استطاع والد باسكال إجراء عمليات الجمع والطرح أما عمليات الضرب والقسمة فتتم بتكرار عمليات الجمع والطرح مرات متعددة .

The Puni$her
09-09-07, 12:26 AM
بل أن نتمكن من كتابة برامج بلغة الباسكال أو أي لغة أخرى لا بد لنا أولا من فهم منطقي لجميع الخطوات الواجب


إتباعها لحل المسألة بواسطة الحاسب


هذه الخطوات هي ما تعرف باللوغاريتم The Algorithm بعد ذلك يمكن تحويل هذه الخطوات إلى إيعازات باسكال


والتي ستتحول بدورها إلى لغة الآلة المستعملة


بواسطة برنامج المصنف Compiler





وبرنامج الباسكال هو مجموعه من الإيعازات بعضها منفذ Executable وبعضها غير منفذ Non-Executable


وتتألف هذه الإيعازات من كلمات دليليه أو من كلمات تعريفية يجب على المبرمج تعريفها في بداية كل برنامج



Program The Total (input, output);


{This program find sum of two integer number}





Var


A, B, Total: integer;





Begin





Write (‘Enter two integer numbers to be add: ‘);


Readln (a, b);


Total: = a+b;


Writeln (‘The sum of’, A,’and’, B,’is’, Total);





End.






حيث نلاحظ


- السطر الأول هو للتعريف باسم البرنامج ووسيله الإدخال والإخراج

- أن الجزء الملون بالأزرق هو عباره عن كلمات محجوزه سنتعرف عليها بالتفصيل بالدروس القادمه

- الجزء الملون بالأخضر هو عباره عن إيعاز غير منفذ وهي ملاحظات خاصه بقاريء البرنامج

- الكلمه الدليليه Var للتصريح عن المتغيرات وسيتم دراستها بالتفصيل

- الجزء الممتد من Begin إلى End هو عباره عن جسم البرنامج والأوامر بينها

- السطر الأخير يحتوي على End متبوعه بنقطه وذلك للدلاله على نهايه البرنامج وسنلاحظ أن

1- بعد كل سطر هنالك نقطه فاصلة (;) للدلالة على سطر آخر يلية

2- بعد كلمه End هنالك نقطة (.) للدلاله على أنه لا يوجد سطر بعد ذلك

The Puni$her
09-09-07, 12:28 AM
راح نتعرف على أنواع البيانات في لغة الباسكال والقواعد الخاصه لكل منها


للتمكن من جمع هذه البيانات في تعابير تشكل إيعازات البرامج في هذه اللغة








يمكننا تمييز نوعين من أنواع البيانات :





الأول


وهو ما تشترك فيه كل لغات البرمجه لذلك سنطلق عليه إسم البيانات القياسيه وهي:





1- الكميات الصحيحه Integer


وهي الأعداد الصحيحه الكامله التي لا تحوي على كسور


مثل 11





2- الكميات الحقيقيه Real


وهي الأعداد الحقيقيه التي تحوي كسور فيها


مثل 2.3434





3- الكميات المميزه Char


وهي الحروف والأشكال المميزة


مثل A,@,H,^,&





4- الكميات المنطقيه Boolean


ويمكن أن تأخد قيمتين هما إما صحيح True أو خطأ False








الثاني

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

The Puni$her
09-09-07, 12:31 AM
المتغيرات في برنامج الباسكال


التصريح 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 فهي تقبل القيم الصحيحه والحقيقيه ولكنها تأخد حيز من الذاكرة أكبر

ღ вєℓℓα ღ
09-09-07, 02:13 AM
شكرا جزيلا وردة عالموضوع الرائع

Linux Root
09-09-07, 02:18 AM
مشكور حب وعاشت ايدك على موضوع الشنيع

Angel Sky
09-09-07, 02:18 AM
شكراً مصطفى على الموضوع .. عاشت ايدك

The Puni$her
09-11-07, 12:36 AM
شوكرن شباب و بنات على المرور
نورتوا الموضوع برددكم الحلوة

ياسمينه
11-15-07, 02:30 AM
شكرا عالمجهوود واني عندي خلفيه جيده عللى لغه بااسكال وكلش احبهه.تحياتي الك

The Puni$her
11-16-07, 07:44 PM
ِكرن وردة على المرور
و بما انه عندج خلفية بلغةالباسكال اتمنى انه تفيدينة و نستفاد منج حتى ولو الشي القليل يا ريت
تحياتي الج