منتدى طلاب جامعة الحديدة

أخي الزائر إن لم تكن عضواً في المنتدى فنحن ندعوك لكي تنظم إلينا وشكراً تحيات مدير المنتدى طارق البغوي

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

منتدى طلاب جامعة الحديدة

أخي الزائر إن لم تكن عضواً في المنتدى فنحن ندعوك لكي تنظم إلينا وشكراً تحيات مدير المنتدى طارق البغوي

منتدى طلاب جامعة الحديدة

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


    تعريف لغة الباسكال من البدايه مشهد

    عبد الواسع عمر الرمانه
    عبد الواسع عمر الرمانه
    طالب لا يضاها
    طالب لا يضاها


    ذكر
    عدد الرسائل : 1299
    العمر : 38
    البلد : اليمن
    القسم والمستوى : أستاد حاسوب
    المزاج : عسل+سكرزياده
      : تعريف لغة الباسكال من البدايه مشهد 15781610
    السٌّمعَة : 5
    نقاط : 430
    تاريخ التسجيل : 14/10/2007

    بطاقة الشخصية
    تخصصي: حاسوب
    المحافظة: الحديدة

    تعريف لغة الباسكال من البدايه مشهد Empty تعريف لغة الباسكال من البدايه مشهد

    مُساهمة من طرف عبد الواسع عمر الرمانه الجمعة نوفمبر 28, 2008 9:29 pm


    عن باسكال :
    باسكال لغة برمجه انشئت بواسطة 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 : موقع شخصي يهتم بالبرمجه Smile
    MySmartBB : برنامج منتديات عربي Smile

    مدونتي الشخصيه

    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
    تعريف لغة الباسكال من البدايه مشهد P_up



    ipsmenu.register( "post-member-205574", '', 'popmenubutton-new', 'popmenubutton-new-out' );

    تعريف لغة الباسكال من البدايه مشهد To_post_off Jun 18 2004, 11:22 AM

    ع



    تعريف لغة الباسكال من البدايه مشهد Spacer
    تعلم برمجة 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.




    عبد الواسع عمر الرمانه
    عبد الواسع عمر الرمانه
    طالب لا يضاها
    طالب لا يضاها


    ذكر
    عدد الرسائل : 1299
    العمر : 38
    البلد : اليمن
    القسم والمستوى : أستاد حاسوب
    المزاج : عسل+سكرزياده
      : تعريف لغة الباسكال من البدايه مشهد 15781610
    السٌّمعَة : 5
    نقاط : 430
    تاريخ التسجيل : 14/10/2007

    بطاقة الشخصية
    تخصصي: حاسوب
    المحافظة: الحديدة

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

    مُساهمة من طرف عبد الواسع عمر الرمانه الجمعة نوفمبر 28, 2008 9:31 pm


    متابــــــــــــــــــــــــــــــــعـــــــــــــــه
    ماهي المتغيرات؟
    المتغيرات عباره عن اسماء تخزّن في ذاكرة الحاسوب . هذا الاسم يستخدم لتخزين المعلومات في الذاكره .

    يمكننا استخدام انواع مختلفه من المعلومات في المتغيرات , مثلاً الارقام و السلال و غيره .


    استخدام المتغيرات :
    يجب دائماً ان نعلن عن المتغيرات قبل استخدامها . نستخدم الكلمه الاساسيه var لعمل ذلك . دائماً يجب اختيار نوع البيانات للمتغير . وهذه هي انواع المتغيرات المختلفه .

    Byte :
    من 0 إلى 255

    Word :
    من 0 إلى 65535

    ShortInt :
    من -128 إلى 127

    Integer :
    من -32768 إلى 32767

    LongInt :
    من -4228250000 إلى 4228249000

    Real :
    قيم النّقطة المتغيّرة

    Char :
    حرفاً واحداً

    String :
    فوق 255 حرف

    Boolean :
    true
    او false


    في هذا المثال سوف نتعرف على طريقة الاعلان عن متغير من نوع intger اسمه i :

    كود

    program Variables;

    var
    i: Integer;

    begin
    end.

    لإعطاء قيمه للمتغير يتم استخدام عامل الاسناد :=

    كود

    program Variables;

    var
    i: Integer;

    begin
    i := 5;
    end.

    يمكنك انشاء متغيرين او اكثر من نفس النوع إذا وضعت الفاصله بعد المتغير الاول و قمت بكتابة اسم المتغير الثاني بعدها . كذلك يمكنك انشاء متغيرات مختلفه بدون الحاجه إلى استخدام الجمله الاساسيه var اكثر من مره :

    كود

    program Variables;

    var
    i, j: Integer;
    s: String;

    begin
    end.

    اذا كنت تريد ادراج سلسله في متغير يجب استخدام علامة الاقتباس الفرديه ' , النوع Boolean فقط يمكن اسناد قيمتين له و هم True و False :

    كود

    program Variables;

    var
    i: Integer;
    s: String;
    b: Boolean;

    begin
    i := -3;
    s := 'Hello';
    b := True;
    end.

    الحسابات مع المتغيرات :
    يمكن استخدام المتغيرات في العمليات الحسابيه . على سبيل المثال يمكن أن تسند القيمة بمتغيّر ثمّ تضيف الرقم 1 له . العمليات الحسابيه التي يمكن استخدامها :

    + :
    اضافه (زائد)
    - :
    طرح
    * :
    ضرب
    / :
    قسمه
    div :
    قسمة عدد صحيح
    mod :
    باقي قسمة العدد الصحيح

    المثال التالي يقوم ببعض العمليات الحسابيه :

    كود

    program Variables;

    var
    Num1, Num2, Ans: Integer;

    begin
    Ans := 1 + 1;
    Num1 := 5;
    Ans := Num1 + 3;
    Num2 := 2;
    Ans := Num1 - Num2;
    Ans := Ans * Num1;
    end.

    يستخدم النوع Strings في تخزين السلاسل مثل الحروف والارقام المختلفه و غيره , و يمكنك استخدام العمليات الحسابيه مع هذا النوع من المتغيرات حيث لا يتم جمع الرقمين المخزنين على صيغة String بمعنى جمع , مثلاً اذا قمت بإضافة السلسله التي قيمتها 1 إلى السلسله التي قيمتها 1 سوف يكون الناتج 11 و ليس 2 .

    كود

    program Variables;

    var
    s: String;

    begin
    s := '1' + '1';
    end.

    يمكنك قراءة محتوى المتغيرات بإستخدام Readln و ReadKey . الامر الثاني و هو ReadKey من الوحده crt و هي تقرأ حرف واحد فقط . سوف ترى ان طريقة عمل ReadKey مختلفه عن Readln .

    كود

    program Variables;

    uses
    crt;

    var
    i: Integer;
    s: String;
    c: Char;

    begin
    Readln(i);
    Readln(s);
    c := ReadKey;
    end.

    طباعة المتغيرات على الشاشه طريقه سهله . اذا كنت تريد طباعة المتغيرات على الشاشه يمكنك استخدام الامر Writeln :

    كود

    program Variables;

    var
    i: Integer;
    s: String;
    begin
    i := 24;
    s := 'Hello';
    Writeln(i);
    Writeln(s,' world');
    end.

    الثوابت :
    الثوابت لا تختلف عن المتغيرات إلا انه قيمتها لا يمكن ان تتغير أي قيمه ثابته . يمكن اسناد القيمه إلى الثابت عند الاعلان عن الثابت . const هي الكلمه الاساسيه للاعلان عن الثوابت .

    كود

    const
    pi: Real = 3.14;

    var
    c, d: Real;

    begin
    d := 5;
    c := pi * d;
    end.
    عبد الواسع عمر الرمانه
    عبد الواسع عمر الرمانه
    طالب لا يضاها
    طالب لا يضاها


    ذكر
    عدد الرسائل : 1299
    العمر : 38
    البلد : اليمن
    القسم والمستوى : أستاد حاسوب
    المزاج : عسل+سكرزياده
      : تعريف لغة الباسكال من البدايه مشهد 15781610
    السٌّمعَة : 5
    نقاط : 430
    تاريخ التسجيل : 14/10/2007

    بطاقة الشخصية
    تخصصي: حاسوب
    المحافظة: الحديدة

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

    مُساهمة من طرف عبد الواسع عمر الرمانه الجمعة نوفمبر 28, 2008 9:32 pm

    التعامل مع السلاسل :
    يمكنك في السلاسل ان تقوم بإستخراج حرف معيّن من سلسله معينه



    كود

    program Strings;

    var
    s: String;
    c: Char;

    begin
    s := 'Hello';
    c := s[1];{c = 'H'}
    end.

    كذلك يمكنك معرفة طول سلسله بإستخدام الامر Length :

    كود

    program Strings;

    var
    s: String;
    l: Integer;

    begin
    s;= 'Hello';
    l := Length(s);{l = 5}
    end.

    للبحث عن شئ في سلسله يمكنك استخدام الامر Pos .
    البارامترات
    :
    1:
    كلمة البحث

    2:
    السلسله التي سيتم البحث بها


    كود

    program Strings;

    var
    s: String;
    p: Integer;

    begin
    s := 'Hello world';
    p := Pos('world',s);
    end.

    الامر Delete يقوم بحذف الحروف من السلسله .
    البارامترات
    :
    1:
    السلسله التي سيتم الحذف منها

    2:
    بدء الحذف من اين
    3:
    كمية الاحرف التي سيتم حذفها


    كود

    program Strings;

    var
    s: String;

    begin
    s;= 'Hello';
    Delete(s,1,1);{s = 'ello'}
    end.

    الامر Copy يقوم بنسخ ما هو مطلوب من السلسله
    البارامترات
    :
    1:
    السلسله التي سيتم النسخ منها

    2:
    بدء النسخ من اين
    3:
    كمية الاحرف التي سيتم نسخها


    كود

    program Strings;

    var
    s, t: String;

    begin
    s;= 'Hello';
    t := Copy(s,1,3);{t = 'Hel'}
    end.

    الامر Insert يقوم بإضافة الحروف المطلوبه في السلسله المختاره .
    البارامترات
    :
    1:
    الحروف التي سوف تضاف للسلسله

    2:
    المتغير الذي سيتم الاضافه إليه
    3:
    من اين سيتم اضافة الحروف


    كود

    program Strings;

    var
    s: String;

    begin
    s := 'Hlo';
    Insert('el',s,2);
    end.

    التحويلات :
    الامر Str يقوم بتحويل المتغير من نوع integer إلى
    string .

    كود

    program Convert;

    var
    s: String;
    i: Integer;

    begin
    s;= '123';
    Str(i,s);
    end.

    الامر Val يقوم بتحويل المتغير من نوع string إلى integer

    كود

    program Convert;

    var
    s: String;
    i: Integer;

    begin
    i;= 123;
    Val(s,i,i);
    end.

    الامر Int يعطيك العدد قبل الفاصله في عدد حقيقي


    كود

    program Convert;

    var
    r: Real;

    begin
    r := Int(3.14);
    end.

    الامر Frac يعطيك العدد بعد الفاصله في عدد حقيقي


    كود

    program Convert;

    var
    r: Real;

    begin
    r := Frac(3.14);
    end.

    الامر Round سيكمل عدد حقيقي إلى اقرب عدد صحيح


    كود

    program Convert;

    var
    i: Integer;

    begin
    i := Round(3.14);
    end.

    الامر Trunc سيعطيك العدد قبل فاصلة كعدد صحيح .

    كود

    program Convert;

    var
    i: Integer;

    begin
    i := Trunc(3.14);
    end.

    الحاسوب يستخدم الارقام من 0 إلى 255 (1 بايت) لتمثيل الحروف وهذه الحروف تسمّى بحروف ASCII
    الامر Ord يحول الحروف إلى ارقام و الامر Chr يحول الارقام إلى حروف . استخدم العلامه # قبل الحرف لتحويلها إلى احرف



    كود

    program Convert;

    var
    b: Byte;
    c: Char;

    begin
    c := 'a';
    b := Ord(c);
    c := Chr(b);
    c := #123;
    end.

    إضافات :
    الامر Random يعطيك رقم عشوائي من الصفر إلى الرقم الذي تعطيه اياه و الامر Randomize يستخدم لعمل ارقام اكثر عشوائيه بالإعتماد على ساعة النظام
    .

    كود

    program Rand;

    var
    i: Integer;

    begin
    Randomize;
    i := Random(101);
    end.
    عبد الواسع عمر الرمانه
    عبد الواسع عمر الرمانه
    طالب لا يضاها
    طالب لا يضاها


    ذكر
    عدد الرسائل : 1299
    العمر : 38
    البلد : اليمن
    القسم والمستوى : أستاد حاسوب
    المزاج : عسل+سكرزياده
      : تعريف لغة الباسكال من البدايه مشهد 15781610
    السٌّمعَة : 5
    نقاط : 430
    تاريخ التسجيل : 14/10/2007

    بطاقة الشخصية
    تخصصي: حاسوب
    المحافظة: الحديدة

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

    مُساهمة من طرف عبد الواسع عمر الرمانه الجمعة نوفمبر 28, 2008 9:34 pm


    متابعه
    if then else :
    الجمله الشرطيه if تسمح لك بإتخاذ القرارات في برنامجك . المثال التالي يسأل المستخدم ان يدخل رقم و يخبر المستخدم اذا كان الرقم اكبر من 5 .

    كود

    program Decisions;

    var
    i: Integer;

    begin
    Writeln('Enter a number');
    Readln(i);
    if i > 5 then
    Writeln('Greater than 5');
    end.


    و القرارات التي يمكنك اتخاذها مع الجمله الشرطيه if :

    > :
    اكبر من

    < :
    اصغر من
    >= :
    اكبر من او يساوي
    <= :
    اصغر من او يساوي
    = :
    يساوي
    <> :
    لا يساوي

    المثال السابق كان يخبرنا فقط اذا كان الرقم اكبر من 5 , اذا كنا نريد ان يخبرنا انه ليس اكبر من 5 يجب ان نستخدم else .

    كود

    program Decisions;

    var
    i: Integer;

    begin
    Writeln('Enter a number');
    Readln(i);
    if i > 5 then
    Writeln('Greater than 5')
    else
    Writeln('Not greater than 5');
    end.

    إذا كانت الحاله صحيحه (True) اختر الجزء الذي بعد then و اذا لم تكن صحيحه (False) اختر الجزء الذي بعد else . ذلك لان الحاله i > 5 تعتبر من النوع Boolean

    كود

    program Decisions;

    var
    i: Integer;
    b: Boolean;

    begin
    Writeln('Enter a number');
    Readln(i);
    b := i > 5;
    end.

    اذا كنت تريد ان تستخدم اكثر من حاله واحده يجب عليك ربط حاله بالاخرى . لربط الحالات يمكنك استخدام AND او OR . اذا استخدمت AND يجب ان تكون الحالتين صحيحتين و اذا استخدمت OR يجب ان تكون حاله واحده او الحالتين صحيحتين .

    كود

    program Decisions;

    var
    i: Integer;

    begin
    Writeln('Enter a number');
    Readln(i);
    if (i > 1) and (i < 100) then
    Writeln('The number is between 1 and 100');
    end.

    اذا كنت تريد كتابة امرين او اكثر بعد الجمله الشرطيه يجب استخدام begin و end; .

    كود

    program Decisions;

    var
    i: Integer;

    begin
    Writeln('Enter a number');
    Readln(i);
    if i > 0 then
    begin
    Writeln('You entered ',i);
    Writeln('It is a positive number');
    end;
    end.

    كذلك يمكنك استخدام if داخل if

    كود

    program Decisions;

    var
    i: Integer;

    begin
    Writeln('Enter a number');
    Readln(i);
    if i > 0 then
    Writeln('Positive')
    else
    if i < 0 then
    Writeln('Negative')
    else
    Writeln('Zero');
    end.

    Case :

    الامر Case يشبه إلى حد ما if لكنه يقبل العديد من الحالات مره واحده


    كود

    program Decisions;

    uses
    crt;

    var
    Choice: Char;

    begin
    Writeln('Which on of these do you like?');
    Writeln('a - Apple:');
    Writeln('b - Banana:');
    Writeln('c - Carrot:');
    Choice := ReadKey;
    case Choice of
    'a': Writeln('You like apples');
    'b': Writeln('You like bananas');
    'c': Writeln('You like carrots');
    else;
    Writeln('You made an invalid choice');
    end;
    end.

    عبد الواسع عمر الرمانه
    عبد الواسع عمر الرمانه
    طالب لا يضاها
    طالب لا يضاها


    ذكر
    عدد الرسائل : 1299
    العمر : 38
    البلد : اليمن
    القسم والمستوى : أستاد حاسوب
    المزاج : عسل+سكرزياده
      : تعريف لغة الباسكال من البدايه مشهد 15781610
    السٌّمعَة : 5
    نقاط : 430
    تاريخ التسجيل : 14/10/2007

    بطاقة الشخصية
    تخصصي: حاسوب
    المحافظة: الحديدة

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

    مُساهمة من طرف عبد الواسع عمر الرمانه الجمعة نوفمبر 28, 2008 9:36 pm

    التكرار يستخدم متى اردت اعادة تطبيق الشيفره اكثر من مره .
    مثال : اذا اردنا ان نطبع الجمله Hello على الشاشه 10 مرات سوف نحتاج إلى كتابة الامر Writeln عشرة مرات . يمكنك بإستخدام التكرار ان تكتب الامر مره واحد و سوف يتم طباعة الجمله 10 مرات
    .

    هناك 3 انواع من التكرار و هم
    for , while , repeat .

    التكرار
    For :
    هكذا يتم استخدام التكرار
    for
    كود
    program Loops;

    var
    i: Integer;

    begin
    for i := 1 to 10 do
    Writeln('Hello');
    end.

    اذا كنت تريد استخدام اكثر من امر بعد الكلمه for فيجب ان تضع الاوامر بوسط الامر begin و end
    كود
    program Loops;

    var
    i: Integer;

    begin
    for i := 1 to 10 do
    begin
    Writeln('Hello');
    Writeln('This is
    حلَقة تكرار
    ',CAPTION,'Loop',WRAP, TEXTFONTCLASS,'myText','purple');" onmouseout=nd(); href=""Loop ',i);
    end;
    end.

    التكرار
    While :
    التكرار While يكرر الاوامر ما دام الشرط صحيح . طريقة الاستخدام


    كود
    program Loops;

    var
    i: Integer;

    begin
    for i := 1 to 10 do
    begin
    Writeln('Hello');
    Writeln('This is
    حلَقة تكرار
    ',CAPTION,'Loop',WRAP, TEXTFONTCLASS,'myText','purple');" onmouseout=nd(); href=""Loop ',i);
    end;
    end.

    التكرار
    Repeat until :
    التكرار Repeat until يشبه التكرار while و لكنه يختبر الحاله في اسفل التكرار
    .
    كود
    program Loops;

    var
    i: Integer;

    begin
    i := 0;
    repeat
    i := i + 1;
    Writeln('Hello');
    until i = 10;
    end.

    اذا كنت تريد استخدام اكثر من حاله في التكرار while او rapeat اضف الاقواس بين الحاله

    كود
    program Loops;

    var
    i: Integer;
    s: String;

    begin
    i := 0;
    repeat
    i := i + 1;
    Write('Enter a number: ');
    Readln(s);
    until (i = 10) or (s = 0);
    end.

    Break
    و Continue :

    الامر Break يخرج من من التكرار في اي وقت . في المثال التالي البرنامج لا يطبع اي شئ لانه يخرج من التكرار قبل تنفيذ العمليه
    .
    كود
    program Loops;

    var
    i: Integer;

    begin
    i := 0;
    repeat
    i := i + 1;
    Break;
    Writeln(i);
    until i = 10;
    end.

    الامر Continue يقفز إلى اعلى التكرار

    كود
    program Loops;

    var
    i: Integer;

    begin
    i := 0;
    repeat
    i := i + 1;
    Continue;
    Writeln(i);
    until i = 10;
    end.



    --------------------
    El7zn.Com : موقع شخصي يهتم بالبرمجه Smile
    MySmartBB : برنامج منتديات عربي Smile

    مدونتي الشخصيه

    Free As In Freedom

    "The GNU\'s Not Unix
    مشروع لبناء نظام تشغيل حر بالكامل من الصفر
    ',CAPTION,'GNU',WRAP, TEXTFONTCLASS,'myText','purple');" onmouseout=nd(); href=""GNU GPL is not Mr. Nice Guy. It says "no" to some of the things that people sometimes want to do." Richard Stallman

    هنا معلومات عن جميع توزيعات <p/style=\'text-align:/left;\'لينكس أو ليونكس و هى نواة نظام تشغيل مجانية و مفتوحة المصدر مبنية على الـ Unix
    ',CAPTION,'Linux',WRAP, TEXTFONTCLASS,'myText','purple');" onmouseout=nd(); href="http://www.arabteam2000-forum.com/index.php?showforum=45"
    Linux و هنا لمعرفة آخر اخبار الشيفره المصدريه و تحميلها و هنا مجموعه من برامج <p/style=\'text-align:/left;\'لينكس أو ليونكس و هى نواة نظام تشغيل مجانية و مفتوحة المصدر مبنية على الـ Unix
    ',CAPTION,'Linux',WRAP, TEXTFONTCLASS,'myText','purple');" onmouseout=nd(); href="http://www.arabteam2000-forum.com/index.php?showforum=45"
    Linux
    كود
    # Free As In Freedom

    import sys;

    os = sys.platform;

    if os.startswith('linux'):
    print 'Live Freedom With Linux';
    else:
    print 'Die !';
    عبد الواسع عمر الرمانه
    عبد الواسع عمر الرمانه
    طالب لا يضاها
    طالب لا يضاها


    ذكر
    عدد الرسائل : 1299
    العمر : 38
    البلد : اليمن
    القسم والمستوى : أستاد حاسوب
    المزاج : عسل+سكرزياده
      : تعريف لغة الباسكال من البدايه مشهد 15781610
    السٌّمعَة : 5
    نقاط : 430
    تاريخ التسجيل : 14/10/2007

    بطاقة الشخصية
    تخصصي: حاسوب
    المحافظة: الحديدة

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

    مُساهمة من طرف عبد الواسع عمر الرمانه الجمعة نوفمبر 28, 2008 9:38 pm


    المصفوفات احد انواع المتغيرات , ما يميز المصفوفات عن باقي المتغيرات انه يمكنها تخزين اكثر من قيمه في متغير واحد .

    المصفوفات تعرّف غالباً مثل طريقة تعريف المتغيرات و لكن يجب ان تذكر عدد البيانات التي سوف يتم تخزينها
    .
    كود
    program Arrays;

    var
    a: array[1..5] of Integer;

    begin
    end.

    يمكننا ان نصل إلى كل العناصر بإستخدام اسم المتغير و من ثم وضع رقم العنصر بين القوسين []
    كود
    program Arrays;

    var
    a: array[1..5] of Integer;

    begin
    a[1] := 12;
    a[2] := 23;
    a[3] := 34;
    a[4] := 45;
    a[5] := 56;
    end.

    لسهوله اكثر في استدعاء المصفوفات للقرائه استخدام التكرار لكي يتم قرائة الخمس عناصر من خلال سطر واحد .
    كود
    program Arrays;

    var
    a: array[1..5] of Integer;
    i: Integer;

    begin
    for i := 1 to 5 do
    Readln(a[i]);
    end.

    تصنيف المصفوفات :
    احياناً قد تريد ترتيب قيم المصفوفات بطريقه معينه . لعمل ذلك يمكنك استخدام تصنيف bubble . تصنيف bubble واحده من الطرق الكثيره لتصنيف المصفوفات و هو الاكثر شعبيه . في تصنيف bubble اكبر اعداد ينتقلون إلى آخر المصفوفه
    .
    كود
    program Arrays;

    var
    a: array[1..5] of Integer;
    i, j, tmp: Integer;

    begin
    a[1] := 23;
    a[2] := 45;
    a[3] := 12;
    a[4] := 56;
    a[5] := 34;
    for i := 1 to 4 do
    for j := 2 to 5
    if a[j] > a[j + 1] then
    begin
    tmp := a[j];
    a[j] := a[j + 1];
    a[j + 1] := tmp;
    end
    end.

    مصفوفات 2D :
    يمكن ان يكون لدى المصفوفات بعدان بدلاً من واحد , او بعباره اخرى يمكن ان يكون لديهم صفوف و اعمده بدلاً من صفوف فقط
    .
    كود
    program Arrays;

    var
    a:
    مصفوفة
    ',CAPTION,'Array',WRAP, TEXTFONTCLASS,'myText','purple');" onmouseout=nd(); href=""Array [1..3,1..3] of Integer;

    begin
    end.

    للوصول إلى القيم يجب ان تستخدم اسم المتغير ثم عددين بين الاقواس
    [] .
    كود
    program Arrays;

    var
    r, c: Integer;
    a:
    مصفوفة
    ',CAPTION,'Array',WRAP, TEXTFONTCLASS,'myText','purple');" onmouseout=nd(); href=""Array [1..3,1..3] of Integer;

    begin
    for r := 1 to 3 do
    for c := 1 to 3 do
    Readln(a[r,c]);
    end.

    عبد الواسع عمر الرمانه
    عبد الواسع عمر الرمانه
    طالب لا يضاها
    طالب لا يضاها


    ذكر
    عدد الرسائل : 1299
    العمر : 38
    البلد : اليمن
    القسم والمستوى : أستاد حاسوب
    المزاج : عسل+سكرزياده
      : تعريف لغة الباسكال من البدايه مشهد 15781610
    السٌّمعَة : 5
    نقاط : 430
    تاريخ التسجيل : 14/10/2007

    بطاقة الشخصية
    تخصصي: حاسوب
    المحافظة: الحديدة

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

    مُساهمة من طرف عبد الواسع عمر الرمانه الجمعة نوفمبر 28, 2008 9:39 pm


    الانواع :
    من الممكن ان تقوم بإنشاء نوع متغيرات خاص بك بإستخدام الامر
    type .
    النّوع الاول الذي يمكن ان تعمله هو نوع records (سجلات) . السجلات هي عباره عن متغيّران او اكثر من انواع مختله في واحد . على سبيل المثال ان يكون المستخدم طالب و لديه رقم و اسم الطالب . كيف سوف ننشئ نوعاً من البيانات
    :
    كود
    program Types;

    Type
    Student = Record
    Number:
    Name;
    end;

    begin
    end.

    بعد ان تنشئ النوع يجّب ان تعلن عن متغير من النوع الذي قمنا بإنشاءه لكي يمكننا استخدامه :
    كود
    program Types;

    Type
    StudentRecord = Record
    Number:
    Name;
    end;

    var
    Student: StudentRecord;

    begin
    end.

    للوصول إلى العدد و الاسم من السجل يجب ان تتبع الآتي :
    كود
    program Types;

    Type
    StudentRecord = Record
    Number:
    Name;
    end;

    var
    Student: StudentRecord;

    begin
    Student.Number := 12345;
    Student.Name := 'John Smith';
    end.

    النوع الآخر هو set , النوع set ليس له فائده كبيره , و اي شئ يمكنك عمله مع set يمكن ان يعمل بسهوله في طريقة اخرى . على سبيل المثال لدينا نوع set يدعى Animal و المعلومات المخزنه dog , cat و rabbit :
    كود
    program Types;

    Type
    Animal = set of (dog, cat, rabbit);

    var
    MyPet: Animal;

    begin
    MyPet := dog;
    end.

    لا يمكنك استخدام Readln او Writeln في sets . يمكنك ان تنشئ مدى من المتغيرات من 'a' إلى 'z' . في هذا النوع يمكنك ان تختبر إذا كان المتغير من ضمن المدى :
    كود
    program Types;

    uses
    crt;

    Type
    Alpha = 'a'..'z';

    var
    Letter: set of Alpha;
    c: Char;

    begin
    c := ReadKey;
    if c in [Letter] then
    Writeln('You entered a letter');
    end.

    عبد الواسع عمر الرمانه
    عبد الواسع عمر الرمانه
    طالب لا يضاها
    طالب لا يضاها


    ذكر
    عدد الرسائل : 1299
    العمر : 38
    البلد : اليمن
    القسم والمستوى : أستاد حاسوب
    المزاج : عسل+سكرزياده
      : تعريف لغة الباسكال من البدايه مشهد 15781610
    السٌّمعَة : 5
    نقاط : 430
    تاريخ التسجيل : 14/10/2007

    بطاقة الشخصية
    تخصصي: حاسوب
    المحافظة: الحديدة

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

    مُساهمة من طرف عبد الواسع عمر الرمانه الجمعة نوفمبر 28, 2008 9:42 pm


    الإجراءات
    :
    الإجراءات يعتبر برنامج فرعي . يمكن ان يستدعى من الجزء الرئيسي للبرنامج . يتم الإعلان عن الاجراء خارج الجسم الرئيسي للبرنامج بإستخدام الكلمه

    إجراء

    ',CAPTION,'Procedure',WRAP, TEXTFONTCLASS,'myText','purple');" onmouseout=nd(); href=""
    Procedure . يجب ان تعطي الاجراء اسم مميز . الاجراءات لها بدايه و نهايه خاصه بها . في هذا المثال سوف نتعرف على طريقة الاعلان و الاستدعاء لاجراء اسمه Hello يطبع الكلمه "Hello" على الشاشه .

    كود

    program Procedures;

    إجراء

    ',CAPTION,'Procedure',WRAP, TEXTFONTCLASS,'myText','purple');" onmouseout=nd(); href=""
    Procedure Hello;
    begin
    Writeln('Hello');
    end;

    begin
    end.

    لإستخدام الاجراء يجب ان نقوم بإستدعاءه من خلال اسمه المميز في جسم البرنامج (مكان كتابة شيفره البرنامج
    )

    كود

    program Procedures;

    إجراء

    ',CAPTION,'Procedure',WRAP, TEXTFONTCLASS,'myText','purple');" onmouseout=nd(); href=""
    Procedure Hello;
    begin
    Writeln('Hello');
    end;

    begin
    Hello;
    end.

    الاجراءات يجب ان تكون دائماً فوق المكان الذي يتم استدعاءه اي يجب ان تقوم بالاعلان عن الاجراء ثم استدعاءه ولا يجوز استدعاء الاجراء قبل الاعلان عنه . في المثال التالي سوف يتم استدعاء اجراء داخل اجراء آخر
    .

    كود

    program Procedures;

    إجراء

    ',CAPTION,'Procedure',WRAP, TEXTFONTCLASS,'myText','purple');" onmouseout=nd(); href=""
    Procedure Hello;
    begin
    Writeln('Hello');
    end;

    إجراء

    ',CAPTION,'Procedure',WRAP, TEXTFONTCLASS,'myText','purple');" onmouseout=nd(); href=""
    Procedure HelloCall;
    begin
    Hello;
    end;

    begin
    HelloCall;
    end.

    يمكن ان تكون للاجراءات بارامترات مثل اي امر تستخدمه . يجب ان تعطي اسم البارامتر و نوعه و سوف يتم استخدامه مثل اي متغير . اذا كنت تريد ان تستخدم اكثر من بارامتر في اجراء واحد يجب ان تكون الفاصله المنقوطه ; هي التي تفصل بينهم



    كود

    program Procedures;

    إجراء

    ',CAPTION,'Procedure',WRAP, TEXTFONTCLASS,'myText','purple');" onmouseout=nd(); href=""
    Procedure Print(s: String; i: Integer);
    begin
    Writeln(s);
    Writeln(i);
    end;

    begin
    Print('Hello',3);
    end.

    المتغيرات العامّه و المحليه
    :
    المتغيرات التي نستخدمها حاليّاً تعتبر متغيرات عامه , اي يمكننها استخدامها في اي وقت و في اي مكان في البرنامج . المتغيرات المحليه يمكن استخدامها فقط بداخل الاجراء و المتغيرات المحليه لا تأخذ مكانها من الذاكره إذا لم يبدأ الاجراء . يتم الاعلان عن المتغيرات المحليه تحت إعلان اسم الاجراء
    .

    كود

    program Procedures;

    إجراء

    ',CAPTION,'Procedure',WRAP, TEXTFONTCLASS,'myText','purple');" onmouseout=nd(); href=""
    Procedure Print(s: String);
    var
    i: Integer;
    begin
    for i := 1 to 3 do
    Writeln(s);
    end;

    begin
    Print('Hello');
    end.

    الدوال
    :
    الدوال تشبه الاجراءات بإستثناء انها تعيد قيمه . الكلمه function تستخدم بدل الكلمه

    إجراء

    ',CAPTION,'Procedure',WRAP, TEXTFONTCLASS,'myText','purple');" onmouseout=nd(); href=""
    Procedure عند تعريف الدوال . لتعريف ما هو نوع البيانات للقيمه العائده يجب ان تستخدم النقطتين : و بعدها نوع البيانات و قبل النقطتين اسم الدالّه .

    كود

    program Functions;

    function Add(i, j:Integer): Integer;
    begin
    end;

    begin
    end.

    عند اسناد قيمة الداله لمتغير سيجعل المتغير يساوي القيمه المعاده من الداله . اذا استخدمت الداله في شئ مع مثل Writeln سوف يتم طباعة قيمة العائد . لاسناد قيمة العائد انشئ اسم الداله تساوي القيمه التي تريدها ان تكون هي العائد.

    كود

    program Functions;

    var
    Answer: Integer;

    function Add(i, j:Integer): Integer;
    begin
    Add := i + j;
    end;

    begin
    Answer := Add(1,2);
    Writeln(Add(1,2));
    end.

    يمكنك الخروج من اجراء او داله في اي وقت بإستخدام الامر Exit .

    كود

    program Procedures;

    إجراء

    ',CAPTION,'Procedure',WRAP, TEXTFONTCLASS,'myText','purple');" onmouseout=nd(); href=""
    Procedure GetName;
    var
    Name: String;
    begin
    Writeln('What is your name?');
    Readln(Name);
    if Name = '' then
    Exit;
    Writeln('Your name is ',Name);
    end;

    begin
    GetName;
    end.
    وان كان هناك أي أخطاء أرجو التنبيه
    ومشكورين

      الوقت/التاريخ الآن هو الثلاثاء نوفمبر 26, 2024 6:37 am