عن باسكال : باسكال لغة برمجه انشئت بواسطة Niklaus Wirth في عام 1970 . كان اسمها سابقاً Blaise Pascal , عالم الرياضيات الفرنسي المشهور . لقد صنعت هذه اللغه لتعليم البرمجه ولكي تكون محل ثقه لدى المبرمجين . منذ ذلك الوقت قد اصبحت لغة البرمجه باسكال اكثر من انها فقط لغه اكاديميه و لكنّها استخدمت تجارياً ايضا . ما الذي احتاجه لأبدأ مع باسكال : قبل بداية تعلم برمجة الباسكال , تحتاج إلى مترجم باسكال (compiler) . هذا الدرس يستخدم (مترجم باسكال المجاني) : http://www.freepascal.org/ . يمكنك الحصول على قائمه من مترجمات باسكال في http://www.freebyte.com/programming/pascal/#pascal_compilers . برنامجك الاول : اول شئ يجب ان تفعله ان تفتح مترجم الباسكال . دائماً نبدأ البرنامج بكتابة اسمه . ادخل program و اسم البرنامج بعدها . سوف نقوم بتسمية برنامجنا الاول "Hello" لانه سيقوم بطباعة الجمله المشهوره "Hello world" على الشاشه , سوف تكون طريقة الكتابه بهذه الطريقه : كود program Hello; بعدها يجب علينا ان نطبع الكلمتين begin و end . بعدها نقوم بكتابة شيفرة البرنامج بين هاتين الكلمتين . تذكر وضع النقطه بعد الكلمه end , هكذا ستكون صيغة ما كتبناه حتى الآن : كود program Hello; begin end. الآن نكتب الشيفره التي تطبع الجمله على الشاشه : كود program Hello; begin Write('Hello world'); end. يجب ان تكون الجمله بين علامة الاقتباس الفرديه ' . واي شي يكون بين علامة الاقتباس الفرديه عباره عن سلسله (كلمات و حروف) . كل السلاسل يجب ان تكون بهذا الشكل . علامة الفاصله المنقوطه ; هي نهاية السطر . يجب ان تتذكر دائما ان تضع هذه العلامه في نهاية سطر . الامر Readln يستخدم لانتظار المستخدم ان يقوم بالضغط على زر الادخال لكي ينتهي البرنامج . كود program Hello; begin Write('Hello world'); Readln; end. الآن يجب ان تخزّن البرنامج بإسم hello.pas تجميع البرنامج و ترجمته : برنامجنا الاول الآن جاهز للترجمه . عندما تقوم بترجمة البرنامج , سيقوم المترجم بقرائة الملف المصدري (الشفره التي قمت بكتابتها) و يقوم بتطبيقها . اذا كنت تستخدم مترجم من نوع IDE قم بالضغط على CTRL+F9 انها دائماً تستخدم لترجمة و تشغيل البرنامج في المترجمات من نوع IDE . اذا كنت تستخدم مترجم يعتمد على سطر الاوامر مثل Free Pascal ادخل الامر التالي : كود fpc hello.pas اذا تلقيت اي خطأ عند الترجمه يجب ان تقرأ هذا الدرس مره اخرى بعنايه لاكتشاف اين هو الخطأ . مستخدمين IDE سوف يجدون ان برنامجهم تمت ترجمته و تم تشغيله في وقت قصير . مستخدمين سطر الاوامر يجب ان يدخلون اسم البرنامج في متلقي الاوامر لكي يعمل . يجب ان تجد الجمله "Hello world" عندما تقوم بتشغيل برنامجك و عند الضغط على زر الادخال سوف يتم الخروج من البرنامج . مبروك ! لقد كتبت اول برنامج لك في باسكال . المزيد من الاوامر : الامر Writeln مثل الامر Write بإستثناء انه يقوم بنقل المؤشر إلى سطر جديد . هنا شفره لبرنامج يقوم بطباعة الكلمه Hello و بعدها world في السطر الذي يليه : كود program Hello; begin Writeln('Hello'); Write('world'); Readln; end. استخدام الاوامر من الوحدات : الاوامر التي تقوم ببنائها في مترجمك اساسيه جداً و انت تحتاج لاستخدام المزيد . الوحدات يمكن ان تُدرَج في برنامجك لكي تعطيك القدره على استخدام المزيد من الاوامر . الوحده crt احد اقوى الوحدات المفيده الموجوده . الامر ClrScr موجود من ضمن الوحده crt و استخدامها هو تنظيف الشاشه . كيفية استخدام هذا الامر : كود program Hello; uses crt; begin ClrScr; Write('Hello world'); Readln; end. التعليقات : التعليقات جمل تستخدم للتعليق على احد اجزاء البرنامج . المترجم لا يعتبر التعليقات جزء من الشيفره والتعليقات فقط للاشخاص الذين يطّلعون على الشيفره المصدريه للبرنامج , التعليقات يتم اضافتها بين العلامتين { } . يفضل دائما ان تقوم بكتابة تعليقات في اول الملف تشرح فيه وظيفة الملف و ان تقوم بكتابة التعليقات بجانب الاوامر صعبة الفهم لكي تقوم بشرحها . مثال : كود {This program will clear the screen, print "Hello world" and wait for the user to press enter.} program Hello; uses crt; begin ClrScr;{Clears the screen} Write('Hello world');{Prints "Hello world"} Readln;{Waits for the user to press enter} end. المسافات : قد تلاحظ اننا تركنا قبل الاوامر 3 اسطر . هذه الطريقه مفيده في جعل البرنامج سهل القرائه . الكثير من المبتدئين لا يفهم سبب وضع تلك المسافات ولكن اذا بدأ بكتابة البرامج الكبيره سوف يفهم فائدتها . مصدر هذا الدرس : http://www.sepsis.za.net/programming_pascal01.html مترجم الدرس : MaaSTaaR | |
-------------------- El7zn.Com : موقع شخصي يهتم بالبرمجه MySmartBB : برنامج منتديات عربي مدونتي الشخصيه Free As In Freedom "The GNU GPL is not Mr. Nice Guy. It says "no" to some of the things that people sometimes want to do." Richard Stallman هنا معلومات عن جميع توزيعات Linux و هنا لمعرفة آخر اخبار الشيفره المصدريه و تحميلها و هنا مجموعه من برامج Linux كود # Free As In Freedom import sys; os = sys.platform; if os.startswith('linux'): print 'Live Freedom With Linux'; else: print 'Die !'; Linux Registered User #407187 | |
ipsmenu.register( "post-member-205574", '', 'popmenubutton-new', 'popmenubutton-new-out' ); | Jun 18 2004, 11:22 AM |
ع | تعلم برمجة Pascal الدرس الثاني - الالوان , الاحداثيات , النوافذ و الصوت الالوان : لتغيير لون النص الذي يُطبع على الشاشه يمكننا استخدام الامر TextColor . مثال : كود program Colors; uses crt; begin TextColor(Red); Writeln('Hello'); TextColor(White); Writeln('world'); end. الامر TextBackground يقوم بتغيير لون خلفية النص . اذا كنت تريد تغيير لون خلفية الشاشه إلى لون معيّن يجب ان تستخدم الامر ClrScr . كود program Colors; uses crt; begin TextBackground(Red); Writeln('Hello'); TextColor(White); ClrScr; end. إحداثيات الشاشه : يمكنك ان تضع السهم في اي مكان تريده في الشاشه بإستخدام الامر GoToXY . في الدوس , الشاشه بعرض 80 حرف و ارتفاعها 25 حرف . يتغير الطول و العرض في المنصات الاخرى , قد تتذكر الرسوم البيانيه في الرياضيات . احداثيات الشاشه كذلك تعمل بنفس الطريقه . في المثال الذي سوف نعرضه سوف نعرف كيف نحرّك المؤشر إلى العمود العاشر في الصف الخامس كود program Coordinates; uses crt; begin GoToXY(10,5); Writeln('Hello'); end. النوافذ : النوافذ ستسمح لك بتعريفها على الشاشه لكي تحتل المنطقه التي تطلبها . اذا قمت بإنشاء النافذه و قمت بتنظيف الشاشه سوف يتم تنظيف ما على الشاشه فقط . الامر Window يأخذ 4 بارامترات و هم إحداثيات (اعلى , يسار , يمين , اسفل) . كود program Coordinates; uses crt; begin Window(1,1,10,5); TextBackground(Blue); ClrScr(Blue); end. الصوت : الامر Sound يُصدر صوت بالتكرار الذي تطلبه منه الذي تطلبه منه . الامر Delay يأخذ الوقت بالثواني التي تخبره بها . يستخدم هذا الامر بين الامرين Sound و NoSound ليُصدر الصوت الاخير من مقدار معين من الوقت كود program Sounds; uses crt; begin Sound(1000); Delay(1000); NoSound; end. |