Jump to content
منتدى البحرين اليوم

عاشق مريم

الأعضاء
  • مشاركات

    39
  • انضم

  • آخر زيارة

عن عاشق مريم

Previous Fields

  • الجنس
    ذكر
  • من الذي اخبرك عن منتدى البحرين اليوم
    صاحب صديق
  • سنة الميلاد
    1985

عاشق مريم الانجازات

Newbie

Newbie (1/14)

0

الشهرة

  1. ترفع‮ خالص التعازي‮ ‬وصادق المواساة الى جلالة الملك حمد بن عيسى آل خليفة عاهل البلاد المفدى والى صاحب السمو الشيخ خليفة بن سلمان آل خليفة رئيس الوزراء وصاحب السمو الشيخ سلمان بن حمد آل خليفة ولي‮ ‬العهد بوفاة المغفور له بأذن الله تعالى سمو الشيخ فيصل بن حمد ال خليفة نجل جلالة الملك داعين الله ان‮ ‬يتغمد الفقيد الغالى بواسع رحمته ويسكنه فسيح جناته‮.‬ ‮»‬انا لله وانا اليه راجعون‮«.‬ هشام الصالح
  2. ثانكس اختي ع الصور العجيبة وايد وايد حلوين يعطيج العافية
  3. بوووووووووووووه قمة الاحباط لهذي الدرجه محد مهتم لهذي المادة والكل ماشي فيها اوكي والله زين عيل بالتوفيق حبايبي
  4. http://bahrain2day.com/forums/index.php?showtopic=237370
  5. العفو ومشكورين ع الرد نواصل الدرس تكملة .. if statment اعتذر عن التأخير إخواني آخر شرح لنا كان عن الIF statment ، إذن لنواصل شرح هذه الأداة ، ولعل خير ما استهل به الشرح هو مثال مبسط كيف لي ان اعرف إذا كان الرقم موجباً ام سالباً ، قد اسلفنا شرح مثل هذا المثال وهذا كان الناتج CODE int main () { int n; cout << "Enter an integer: "; in >> n; if (n < 0) cout << "Negative" << endl; if (n > 0) cout << "Positive" << endl; return 0; } لنحاول تحليل هذا الكود ، نرى ان هنالك 2 if .. اول if تقول إذا كان الرقم اصغر من صفر اي سالب اطبع "العدد سالب" وإذا كان موجب لن يطبع شئ ،، بينما في الif الثانية إذا كان الرقم موجب اطبع "العدد موجب " وإذا كان سالباً لا تطبع شئ مهلاً ، لماذا افحص الرقم مرتين ! .. من البديهي أنه إذا كان الرقم سالباً فإنه مستحيل ان يكون موجباً .. وإذا كان موجباً فلن يكون سالباً ، ومن جهة أخرى إذا لم يكون سالب فهو موجب ! .. الIF تعطينا قابلية لترجمة مثل هذه الحالة CODE int main () { int n; cout << "Enter an integer: "; in >> n; if (n < 0) cout << "Negative" << endl; else cout << "Positive" << endl; return 0; } نلاحظ إضافة كلمة else .. هنا استفدنا منها بشكل كبير حيث اذا كان الرقم سالب فسوف تطبع "العدد سالب " شكل عادي .. ماذا لو كان الرقم غير سالب اي انه العدد سوف يكون موجب البرنامج يقوم بالإنتقال بشكل تلقائي إلى الelse وينفذ امرها ///////////////////////////////////////// ~ While Loop ~ وبعد ان انتهينا من شرح الif statments ندخل إلى احد الأوامر الاكثر اثارة في لغة السي وهي التكرار مثلاً لو قلنا اننا نريد ان نعمل برنامج يقوم بطباعة الأرقام من 1 إلى 10 سهل جداً، CODE cout << 1 << endl; cout << 2 << endl; cout << 3 << endl; cout << 4 << endl; cout << 5 << endl; cout << 6 << endl; cout << 7 << endl; cout << 8 << endl; cout << 9 << endl; cout << 10 << endl; لا احد يستطيع ان يقول انه هذا البرنامج خاطئ! هل استطيع ان اكتب البرنامج بطريقة اخرى ؟ بالطبع نجعل لنا variable n في البداية يساوي 1 ثم نزيده ونطبعه CODE int n = 1; cout << n << endl; n = n + 1; cout << n << endl; n = n + 1; cout << n << endl; n = n + 1; cout << n << endl; n = n + 1; cout << n << endl; n = n + 1; cout << n << endl; n = n + 1; cout << n << endl; n = n + 1; cout << n << endl; n = n + 1; cout << n << endl; n = n + 1; cout << n << endl; n = n + 1; ايضاً برنامج صحيح ولكن انظروا الى البرنامج الثاني ،، هل تلاحظون انه هنالك تكرار ؟ لماذا اكرر الشئ بنفسي ما دام لدي طريقة في البرنامج تقول كرر لي هذا الشئ عدد من المرات وهذا ما يحدث بالضبط CODE int n = 1; while (n <= 10) { cout << n << endl; n = n +1; } هذا البرنامج اختصر علينا الكثير من العمل! ولكن كيف يعمل ؟ لنرى ماذا لو اردنا ان نعمل برنامج آخر يحسب لنا كم عدد الdigits الموجودة في رقم ما مثلاً لتقسيم الdigit علينا ان نعرف بعض الأمور الأساسية لو كان عندنا رقم 123 محطوط في فاريبل n ماذا يحدث لو سوينا CODE n = n / 10; الn راح تصير قيمتها 12 صح ؟ مارأيكم نواصل العملية مرة ثانية CODE n = n /10; كم قيمة الn ? 1 صح الحين CODE n = n /10; الحين كم قيمة الn صارت صفر لأن 1 على 10 = 0 انزين الحين خلنا نجرب بعد CODE n = n /10; بعد الجواب صفر ! فما له داعي نواصل في العملية مارأيكم بدل ما اكتب الأمر اكثر من مرة اقوم اخلي السي يكرر لي ها الشي من خلال الwhile اقوله ما دام قيمة الn ما صارت صفر واصل في اللووب CODE int n = 123; while (n != 0) { n = n /10; } سؤال متى راح تتوقف هذي اللوب ؟ بالأحرى كم مرة راح تتنفذ ؟ بالضبط 3 مرات صح ؟ حلو شرايكم نحط في وسط اللوب شي يزيد ويحسب لنا ها اشي CODE int n = 123; int c = 0; while (n != 0) { n = n /10; c++; } الحين نلاحظ انه الc بتصير فيها 3 وهي بالضبط عدد الدجت الموجودة داخل الرقم بس نسوي cout c سؤال آخر كيف بإمكاننا ان نعرف ان الرقم عدد اولى ام لا لازم نعرف شي وهو انه الرقم لازم ما ينقسم إلى على نفسه والواحد يعني لازم اشيك كـــــــــــــــــل الأعداد الي تحت الرقم إلى الواحد إذا حصلت انه في رقم ينقسم على العدد مالنا بدون باقي فأن الرقم اكيد مو عدد اولي نفرض انه الرقم = 10 لازم نشيك هل العشرة ينقسم على التسعة ؟ إذا اي يعني اطلع من اللووب واقول انه الرقم مو عدد اولي إذا لاء اشوف هل العشرة تنقسم على الثمانية ؟ إذا اي اطلع من اللوب إذا لا اشوف هل العشرة تنقسم على السبعة .. الى هل العشرة تنقسم على 2 وخلاص وتنتهي اللوب جذي CODE int n = 10; int t = n; int prime = 1; نفترض انه برايم في البداية while (t >= 2) { if (n % t == 0) { prime = 0; break; نطلع من اللوب } } عقب اللووب if (prime == 1) cout << "prime!" << endl; else cout << " not prime!" << endl; ] اعذروني على الشرح السريع واتمنى انكم تستفيدون /////////////////////////////////////////////////////////////////////// اكتب برنامج يطبع الشكل التالي.. * ** *** **** ***** ****** ******* ******** ********* هنا مطلوب ندخل رقم مثلاً 5 (نحطه في n) ويطبع لنا * ** *** **** ***** علشان نطبع هذا نحتاج اولاً ان نعرف انه في اول سطر نطبع 4 سبيسات مع نجمة وحدة السطر الثاني 3 سبيسات ونجمتين السطر الثالث 2 سبيس و 3 نجمات السطر الرابع 1 سبيس و4 نجمات السر الخامس 0 سبيس و5 نجمات خلنا نفرض انه عندنا شي اسم رقم السطر .. يبتدي من 1 CODE Row = 1; خلنا نكتب برنامج الحين يطبع بس 4 سبيسات CODE for (int i = 1; i <= 4; i ++) cout << " "; هذي اللوب راح تطبع لي 4 سبيسات .. لكن ما علاقة 4 بالواحد ؟ (تذكر اننا في السطر الأول 1 نطبع 4 سبيسات نحاول نوجد علاقة فيما بينها سهل .. نحن نريد 5 اسطر صحيح ؟ اذن ال4 = 5 - 1 نفرض ان الرقم المدخل كان n وهو عدد الأسطر راح اعدل اللوب شوي CODE for (int i = 1; i <= n - Row; i ++) cout << " "; ماذا راح تطبع هذه الوب ؟ ايضاً 4 سبيسات لماذا ؟ لأن قيمة n = 5 .. والrow ايضاً قيمتهها 1 لأن احنا افترضنا قيمتها واحد الآن نريد في السطر الأول نطبع 4 سبيسات سويناها .. نريد الآن ان نطبع نجمة واحدة كيف ؟ سهل امره CODE for (int i = 1; i <= Row; i ++) cout << "*"; لأن الrow قيمتها 1 فأن اللوب راح تستمر مرة واحدة فقط وهذا المطلوب إذن لدينا كودان CODE Row = 1; for (int i = 1; i <= n - Row; i ++) cout << " "; for (int i = 1; i <= Row; i ++) cout << "*"; هذا الكود مسؤول عن سطر واحد فقط .. وهو يطبع 4 سبيسات ونجمة واحدة إذن ما رأيك الآن ان نزيد قيمة الRow ? إلى 2 اللوب الأولية سوف تطبع n - Row اللي هي 5 - 2 = 3 سبيسات .. وعدد النجوم راح يصي Row =2 يعني نجمتين وهذا هو المطلوب نفس الشي لما يصير Row =3 .. شرايك نحط كل ها الكلام في لووب ونفك روحنا ؟ CODE int n =5; for (int Row = 1; i <= n; i ++) { for (int i = 1; i <= n - Row; i ++) cout << " "; for (int i = 1; i <= Row; i ++) cout << "*"; } بهذا الشئ راح يكتمل البرنامج بس طبعاً هنالك شئ ناقص وهو انه بعد طباقة النجوم نحتاج لسطر جديد CODE int n =5; for (int Row = 1; Row <= n; Row++) { for (int i = 1; i <= n - Row; i ++) cout << " "; for (int i = 1; i <= Row; i ++) cout << "*"; cout << endl; } وهذا البرنامج كاملاً للنسخ واللصق CODE #include <iostream.h> int main () { int n =5; int i; cin >> n; for (int Row = 1; Row <= n; Row ++) { for ( i = 1; i <= n - Row; i ++) cout << " "; for ( i = 1; i <= Row; i ++) cout << "*"; cout << endl; } getchar();getchar(); return 0; } //////////////////////////////////// الفاكتوريال لا يأتي في الإمتحانات لسهولته ولكن إن اردتم شرحاً عنه فلا بأس .. معنى الفاكتوريال او المضروب لرقم "ن" هو حاصل ضرب جميع الأرقام التي تحت العدد "ن" إلى ال1 مثلاً إذا كانت n تساوي 5 فأن n! يساوي CODE 5*4*3*2*1 دعنا نلعب في الحسبة قليلاً ، CODE f=1 CODE f = f * 2= 1 * 2 = 2 CODE f =f * 3= 2 * 3 = 6 CODE f = f * 4 = 6 * 4 = 24 CODE f = f * 5 = 24 * 5 = 120 نلاحظ الآتي لحساب فاكتوريال 5 يجب علينا فعل الآتي CODE f = 1; f = f * 1; f = f * 2; f = f * 3; f = f * 4; f = f * 5; لاحظوا ان الأرقام 1 2 3 4 5 تتزايد ! ما رأيكم ان نضعها في شئ يتحرك بدل ان اكررها بنفسي CODE int f= 1; for (int i = 1; i <= 5; i ++) f = f * i; cout << f; نلاحظ انه تم استبدال التكرار بلووب وهذا هو المطلوب ////////////////////////////////////////////////////// ~Functions~ الفنكشن في السي ++ ، انظروا إلى الكود التالي ، CODE for (int i = 0; i < 4; i ++) cout << "*"; هذا الكود شغلته يطبع 4نجوم متوالية ، CODE **** تم استخدام نفس الكود لطباعة مربع كما في الشكل التالي CODE **** **** **** **** وهذا هو الكود المعدل CODE for (int i = 0; i < 4; i ++) cout << "*"; cout << endl; for (int i = 0; i < 4; i ++) cout << "*"; cout << endl; for (int i = 0; i < 4; i ++) cout << "*"; cout << endl; for (int i = 0; i < 4; i ++) cout << "*"; الآن اراد احدهم استخدام نفس الكود لطباعة مربعين متوالين هكذا CODE **** **** **** **** **** **** **** **** بكل بساطة يقوم بتكرار العملية الكود العلوي مرتان CODE for (int i = 0; i < 4; i ++) cout << "*"; cout << endl; for (int i = 0; i < 4; i ++) cout << "*"; cout << endl; for (int i = 0; i < 4; i ++) cout << "*"; cout << endl; for (int i = 0; i < 4; i ++) cout << "*"; // second square for (int i = 0; i < 4; i ++) cout << "*"; cout << endl; for (int i = 0; i < 4; i ++) cout << "*"; cout << endl; for (int i = 0; i < 4; i ++) cout << "*"; cout << endl; for (int i = 0; i < 4; i ++) cout << "*"; ما شاء الله كأن الكود صار طويل ما تلاحظون اني قاعد اكرر نفس الكود في كل البرامج الي تم كتابتها سابقاً ؟؟ طالعوا الرسمة معاي هذه احدى الطرق .. نقدر نختار كود معين (نحس انه قاعدين نكرره ) ونعطيه اسم .. في حالتنا اخترنا اللووب CODE for (int i = 0; i < 4; i ++) cout << "*"; وعطيناها اسم drawfour يعني الحين drawfor ,واللوب صارو واحد .. إذا امبي اطبع 4 نجوم عندي خيارين يا اني اكتب كود اللوب ، أو اني مجرد احط الإسم المستعار بهذه الطريقة CODE drawfour (); ما شاء الله صار الكود صغير بدل اللوب الكريهة حلو شرايكم الحين نكتب برنامج الي يطبع مربع ؟ سهل لازم اطبع 4 نجوم وراها سطر جديد بعدين 4 نجوم وراها سطر جديد بعدين 4 نجوم وراها سطر جديد بعدين اربع نجوم وراها سطر جديد اوف تعبت CODE drawfour(); cout << endl; drawfour(); cout << endl; drawfour(); cout << endl; drawfour(); كأن صار الكود اقصر لا ؟ اوكى تقدرون تسوون المربعين بنفس الطريقة ؟ اعتقد سهل بس بنحاول مع بعض CODE drawfour(); cout << endl; drawfour(); cout << endl; drawfour(); cout << endl; drawfour(); cout << endl; //second sequre drawfour(); cout << endl; drawfour(); cout << endl; drawfour(); cout << endl; drawfour(); اوكى سهلة السالفة لا ، بس للحين ترى احنى ما شرحنا شي مجرد قاعدين نسوي اشياء تسهل علينا العملية ولا نعرف شنو هي ، عملية التسمية الي سويناها احنا يوم قلنا انه اللووب خلنا نعطيها اسم drawfour هذي يسمونها الFunction مالت اللوب ، وطبعاً البرنامج مالنا ناقص ، الفنكشن الي اسمها drawfour لازم نعرفها مو بالكلام طبعا لازم نكتب كود نقول يالله خل الdrawfour هي اللوب شلوون ؟ مثل الكود التالي CODE void drawfour () { for (int i = 0; i < 4; i ++) cout << "*"; } بكل بساطة نفتح قوس ونكتب drawfour ونكتب الكود داخل القوسين ، الحين البرنامج لما ينادي drawfour راح ينفذ نفس الكود مال اللوب إذن البرنامج الكامل هو CODE include <iostream.h> void drawfour () { for (int i = 0; i < 4; i ++) cout << "*"; } int main () { drawfour(); cout << endl; drawfour(); cout << endl; drawfour(); cout << endl; drawfour(); return 0; } هذا راح يطبع CODE **** **** **** **** هنالك اشياء غريبة في الفنكشن التي كتبناها .. لنستعيدها ا CODE void drawfour () { for (int i = 0; i < 4; i ++) cout << "*"; } ياترى ما معنى void هنا ؟ و ما سر القوسين الفارغين الذان بعد الdrawfour مباشرة ؟ بإختصار ، ربما رأيتم انني اقول "ننادي الفنكشن" المناداة معناتها اني عطيه الفنكشن شي ، واخليها ترجع لي شي .. في حالة الفنكشن مالتنا عطيتها ولا شي والدليل القوسين الفاضين () .. ورجعت ايضاً لي ولا شي ، وهذا سر كلمة void .. اي انها ما ترجع شي ، والدليل على ذلك انها ما فيها الأمر return مثل الmain الmain لو تلاحظون اخواني ، ايضاً تعتبر فنكشن في امثلتنا الي نكتبها الmain ما تاخذ شي ، بس ترجع شي .. وهذا الشي نوعه int يعني من نوع رقم .. بالأحرى هذا الشي الي ترجعه الفنكشن هو الصفر صح ؟ CODE return 0; بس السؤال الي يطرح نفسه .. الفنكشن لازم احد يناديها لا ؟ مين الي ينادي الmain ? الي ينادي المين هو بشكل تلقائي الكومبايلر يالله الحين نبي ندش شوي في فنكشن اخشن شوي ، خلنا نشوف البرنامج التالي CODE int main () { int n1, n2, sum; cin >> n1; cin >> n2; sum = n1 + n2; cout << sum; return 0; } البرنامج الفوقي يجمع رقمين n1 وn2 .. نفترض اني في خلال البرنامج احتاج لعملية الجمع اكثر من مرة (مثل حالة المربعات والنجوم ) لازم نكتب فنكشن تسهل علينا العملية .. نقول الفنكشن اسمها sumtwo .. عاد الحين لما نكتبها ما يصير ما تاخذ شي .. لازم تاخذ شيئين بالأحرى ، مو هي راح تجمع رقمين ؟ إذن نخليها تاخذ رقمين n1 و n2 .. وتجمعهم هل تتوقعون انها راح ترجع شي ؟ نعم راح ترجع مجموع الرقمين خلنا نشوف CODE int sumtwo (int n1, int n2) اول جزء .. الفنكشن تاخذ رقمين ..n1 ونوعه int وn2 بعد نوعه int .. وترجع حاصل جمع الرقمين الي هو اكيد int CODE int sumtwo (int n1, int n2) { int sum = n1 + n2; return sum; } تلاحظون هني انه لما ننادي الفنكشن لازم نعطيها شيئين .. علشان تسوي شغلتها ولا ما بتسوي شي .. مو مثل الdrawfour .. ناديناها بس ما عطيناها شي ، لأن بس تطبع نجوم من عندها .. بس هذي الفنكشن لا تقول لازم تعطيني رقمين علشان اجمعهم عيل شخانتي انا من وين اجمع لك رقمين من مخباي ؟ عطني رقمين بجمعهم لك وبرجع لك الناتج اوكى خلنا الحين نشوف شلون بناديها ،، امبي اجمع رقمين 4 و 2 واطبع الناتج CODE int sum; sum = sumtwo (2, 4); cout << sum << endl; الحين راح تاخذ الفنكشن 2 و 4 وتروح للكود مالها .. الn1 بتصير هي ال2 .. والn2 بتصير هي 4 صح ؟ راح تجمع القيم وتسوي return حق 4 +2 الي هي 6 .. الحين sumtwo خلصت شغلتها ورجعت 6 .. هذي القيمة الحين ترجع وتنحط في الsum .. بعدين تجي الcout بارز مبرز وتطبع الsum //////////////////////////////////////////////////////////
  6. مرحباااا حبيت احط لكم دروس في لغة الc++ لطلاب itcs101 واتمنى من ربي يوفقني لتكملة الدروس معاكم واي شخص محتاج مساعده يخبرني وانا بساعده قد ما اقدر وبالي اعرفه طبعا مبدئيات البرمجة خلنا نتعلم اول شي، نسوي برنامج او بالأحرى نكتب برنامج يسوي لنا شغلة معينة ، كبداية طبعاً ما راح نسوي شي خشن، راح نسوي برنامج اول ما يشتغل يطبع على الشاشة Hello World في الفوتوشوب لما نبي نرسم رسمة او نصبغ شي معين او نعدل في تصميم، نحتاج إلى قائمة من الأدوات صح ؟ الفرشاة والفلتر وما ادري شنو، هذي الأدوات بدونها ما اقدر اسوي شي ، نفس الشي في الC++ راح نحتاج لمجموعة من الأدوات، وفي مثالنا راح نحتاج إلى اداة الطباعة وإسم هذي الأداة Cout اول حرف C اختصار لغة البرمجة C، وباقي الكلمة out يعني مخرجات، يعني هذا الأمر مختص لإخراج كتابة إلى الشاشة، إذن كيف نستخدم هذا الأمر في اول برنامج لنا ؟ CODE cout << "Hello World"; هذا سطر البرنامج الذي سوف يطبع عند تنفيذه ، Hello World على الشاشة ، نلاحظ اننا انهينا السطر ب; ،، سيميكولن ، وهذي العلامة ضرورية لكي تحدد لنا نهاية السطر لكل امر نكتبه، هل استطيع ان استخدم الأمر اكثر من مرة ؟ بالطبع تستطيع ،، مثلاً نفس الجملة اريد طباعتها بإستخدام كود آخر CODE cout << "Hello"; cout << " World"; نفس الناتج ،، إسلوب آخر لطباعة نفس المسج CODE cout << "Hello" << " World"; اطبع hello بعدها اتليها بطباعة world رمز >> معناته انني اريد ان اطبع بالإمكان ايضاً كتابة الكود بإسلوب آخر ،، CODE cout << "H" << "e" << "l" << "l" << "o" << " World"; لا اريد ان اعجل في الأمر، كل شئ في دوره، لنقل أننا نريد ان نعمل برنامج يقوم بطباعة الكلمة بشكل مختلف Hello World اي كلمة hello بعدها سطر جديد بعدها world ،، هنا يجب ان اقول للبرنامج انني اريد طباعة سطر جديد ، وأستطيع فعل هذا من خلال نفس الأمر cout ،، ولكن ببساطة هل كيف استطيع ان اقول للC++ اطبعي لي سطر جديد هل هناك طريقة اجعلها تفهم هذا الشئ ؟ ////////////////////////////////////////////////////////// والآن علينا ان نجيب على هذا السؤال ، هل كيف استطيع ان اقول للC++ اطبعي لي سطر جديد هل هناك طريقة اجعلها تفهم هذا الشئ ؟ هنالك اضافة جديدة للأمر ، CODE cout << "Hello" << endl << "World"; الأمر يقول اطبع لي كلمة Hello ، والحقها بالendl (لاحظوا انه يفتقر لل" " ) ثم اتبعها بكلمة World ،، هذا الأمر من شأنه ان يظهر لنا الناتج Hello World إذن دعنا نسئل بعض الأسئلة، ما هو الناتج (output) للأمر التالي، 1) CODE cout << "T" << endl << "e" << "edmond" << endl; CODE cout << "Welcome To " << "endl" << "C"; 3) CODE cout << "Hello << endl; CODE cout << "The" << endl; cout << "Virus" << endl; cout << "Has been" << endl; cout << "Launched!" << endl CODE cout << "Scanning ... [C:\SE.DLL]" < endl; اكتب برنامج لطباعة الشكل التالي ، CODE * * * * * * * * * * * * * * * * /////////////////////////////////////////////////////////// ~ بـــــــيئة السي ++ ~ لنبدأ الآن في جزء ثاني من البرمجة وبعد ان انتهينا من عمل برنامج مجرد يطبع مسج Hello World بإستخدام الأداة cout ،، كما يلي CODE cout << "Hello World" << endl; السؤال في وين بالضبط راح اكتب هذي الأمر ؟ وشلون تقدر الوندوز "تنفذ" هذا الأمر في الحقيقة هني لازم نعرف انه البرنامج الي نستخدمه لكتابة برامج (في حالتنا هو VISUAL C ++) لازم يبدأ بغرفة يبتدي فيها تنفيذ الأوامر لأن كل برنامج يتكون من مجموعة من الغرف ، كما يلي CODE ROOM1 { } ROOM2 { } ROOM3 { } ومن البديهي ان برنامجنا لازم يحتوي على مجموعة من الغرف صح، لكن ما دام احنا تونا في بداية البرمجة راح نكتفي بغرفة وحدة هذي الغرفة هي الغرفة الرئيسية وإسمها CODE MAIN { } اول ما يشتغل البرنامج يبحث عن هذي الغرفة وينفذ اي امر فيها، الحين عرفنا وين نحط اوامرنا صح ؟ CODE int main () { cout << "Hello World" << endl; return 0; } لاحظ اننا قمنا "لغمنا" الغرفة شوي حطينا فيها int و اقواس وشغلة اسمها return نروح مثلاً حق return ،، نعلم ان لكل غرفة باب صح ، هذي الغرفة لما نطلع منها عملية return تخلينا "نغلق" باب الغرفة انزين عرفنا شلون نغلق الغرفة شلون افتحها ؟؟ هني تجي مسألة الmain هي بداية الغرفة او بابها ، int راح نآخذ شنو هي بالضبط بالتفصيل ، بس بشكل مختصر ، هو نقدر نقول انها مفتاح الباب الي راح نغلقه او نفتحه بس بعد ما زال البرنامج ناقص، ! السبب انه احنا استخدمنا هني اداتين من عند لغة سي بس للأسف ما صرحنا بهذي الشي لازم نقول حق السي ترى احنا تسلفنا من الكراج الفلاني مطرقة و قبان ، هني في برنامجنا البسيط تسلفنا cout و تسلفنا endl لازم نصرح ها الشي عاد مو من الكراج ،، اتسلفناهم من مكتبة اسمها مكتبة المدخلات والمخرجات ، وهي iostream شلون ؟؟ كما يلي CODE #include <iostream> using std::cout; using std::endl; int main () { cout << "Hello world" << endl; return 0; } الحين البرنامج كامل ، الكامل الله أسئلة على الطاير فكروا فيها بس لا تجاوبون عليها هل كيف كل برنامج يتكون من غرفة وحدة بس ؟ هل كيف اقدر اسوي (او ابني) غرفة خاصة فيني احط فيها اوامر ؟ هل كيف اقدر " انادي " او ادخل الغرفة الي بنيتها آنا اكثر من مرة لو مرة وحدة بس ؟ ////////////////////////////////////////////////////////// ~ المــتغيرات ~ برامجنا الي كتبناها إلى حد الحين مجرد تطبع لنا شي على الشاشة خلنا ندش في البرامج الحقيقة الآن، لو افترضنا اننا نحتاج ألى برنامج يآخذ رقم ويطبع لنا مربع هذ االرقم هل ستكفينا آداة الcout وحدها ؟ امممم اعتقد لا لأن احنا قلناها نحتاج إلى برنامج ياخذ رقم والcout مجرد تطبع ما تآخذ شي ، السؤال الحين ، من وين راح آخذ الرقم هذا ؟ يعني مين المسؤول الي راح يدخل هذا الرقم ، شي منطقي انه يكون المستخدم لهذا البرنامج صح ، يعني نحتاج لأداة وظيفتها بس تسأل المستخدم "دخل لي رقم " هذي الأداة هي Cin لحظة وحدة اشياء كثيرة مبهمة ، شلون جذي ، انت الحين قلت بتأخذ رقم من عند المستخدم .. اوكى بتاخذه وين بتحطه تحتاج لمكان تحطه ولا بتحطه في الهوا كلام جميل ، صح نحتاج لمكان نحط فيه الرقم، بس مو اي مكان ها ، نحتاج لمكان "يتسع" لهذا الرقم، يعني نحتاج في الغرفة مالتنا إلا هي الMain نحتاج إلى "كبت" او رف من الرفوف نتسلفه حق نحط فيه ها الرقم ،، مجموعة من الأسئلة 1) اكتب برنامج يقرأ من عند المستخدم رقم ويضعه في مكان x ثم يطبع مربع هذا الرقم اي الرقم في نفسه مثلاً إذا كان الرقم الذي ادخله المستخدم هو 5 فإن الناتج هو 25 2) اكتب برنامج يقرا رقم من عند المستخدم ويقوم بحساب المعادلة التالية وإظهار الناتج CODE f(x) = x*x + 2*x - 1 الآن اكتب برنامج ، يقرأ رقمين ويطبع ما يلي 1) حاصل جمعهم 2) حاصل ضربهم 3) حاصل قسمتهم 4) حاصل طرحهم 5) الباقي من القسمة ///////////////////////////////////////////////////////////// ~If Statment~ إلى الآن استطعنا ان نعمل برامج عادية، ماذا لو أردنا تطوير انفسنا ببرامج مختلفة قليلاً ، مثلاً اردنا ان نكتب برنامج يقرأ رقم من عند المستخدم إذا كان الرقم موجب يطبع الرقم موجب وإذا كان الرقم سـالب يطبع الرقم سالب ، نلاحظ ان البرنامج في هذه الحالة سوف يختلف، حيث هناك "إذا" كيف بإمكان ان اخبر البرنامج اذا كان الرقم موجب او إذا كان سالب ،! نحتاج إلى أمر هنا هو الif وهو الأمر الذي يجعلنا "نختار" ما نريد فعله ، ولكن كيف ، لنبدأ كتابة البرنامج الذي يعرف أن الرقم المدخل سالب ام موجب ، بسؤال انفسنا ، كيف لي ان اعرف إذا الرقم الذي تم ادخاله موجب أو سالب ؟ الأرقام الموجبة اكبر من صفر الأرقام السالبة اصغر من صفر إذن إذا كان الرقم المدخل اكبر من صفر 100 هو موجب ، وإذا كان الرقم المدخل أصغر من صفر 100 هو سالب دعنا نكتب البرنامج CODE #include <iostream> using std:cout; using std:cin; using std:endl; int main () { return 0; } نقوم بقراءة القيمة مـن اليوسر ،، CODE #include <iostream> using std:cout; using std:cin; using std:endl; int main () { int n; cout << "Enter a number "; cin >> n; return 0; } الآن ،،،،، نقول سوف نطبع رسالة إن الرقم موجب إذا كان اكبر من صفر هكذا CODE #include <iostream> using std:cout; using std:cin; using std:endl; int main () { int n; cout << "Enter a number "; cin >> n; if (n > 0) cout << "The Number is Positive" << endl; if (n < 0) cout << "The Number is Negative" << endl; return 0; } يعتمد! الآن لنرى كيف سوف يتم تنفيذ البرنامج ، عندما نقوم بتشغيل البرنامج يمر على الأوامر بالترتيب .. إلى ان يـصل إلى الـسطر CODE if (n > 0) دعنا نقوم بفلترة ما يحدث بالضبط لندخل إلى داخــل البرنامج ونضع انفسنا في الذاكرة ،، كما يلي أتمنى ان تكون المسألة وضحت لديكم اسئلة: من دون استخدام الكومبيال وبالنظر فقط ما هو ناتج البرنامج التالي CODE int main () { int n; n = 8; cout << n + 1 << endl; if (n < 0) cout << "A"; if (n > 0) cout << "B"; n = n*-1; if (n < 0) cout << "C"; cout << "D"; return 0; } /////////////////////////////// تكملة .. if statment كيف لي ان اعرف إذا كان الرقم موجباً ام سالباً ، قد اسلفنا شرح مثل هذا المثال وهذا كان الناتج CODE int main () { int n; cout << "Enter an integer: "; in >> n; if (n < 0) cout << "Negative" << endl; if (n > 0) cout << "Positive" << endl; return 0; } لنحاول تحليل هذا الكود ، نرى ان هنالك 2 if .. اول if تقول إذا كان الرقم اصغر من صفر اي سالب اطبع "العدد سالب" وإذا كان موجب لن يطبع شئ ،، بينما في الif الثانية إذا كان الرقم موجب اطبع "العدد موجب " وإذا كان سالباً لا تطبع شئ مهلاً ، لماذا افحص الرقم مرتين ! .. من البديهي أنه إذا كان الرقم سالباً فإنه مستحيل ان يكون موجباً .. وإذا كان موجباً فلن يكون سالباً ، ومن جهة أخرى إذا لم يكون سالب فهو موجب ! .. الIF تعطينا قابلية لترجمة مثل هذه الحالة CODE int main () { int n; cout << "Enter an integer: "; in >> n; if (n < 0) cout << "Negative" << endl; else cout << "Positive" << endl; return 0; } نلاحظ إضافة كلمة else .. هنا استفدنا منها بشكل كبير حيث اذا كان الرقم سالب فسوف تطبع "العدد سالب " شكل عادي .. ماذا لو كان الرقم غير سالب اي انه العدد سوف يكون موجب البرنامج يقوم بالإنتقال بشكل تلقائي إلى الelse وينفذ امرها تمارين ما هو ناتج الكود التالي ؟ CODE int main () { int n = 4; cout << "TEST" << endl; cout << "TTTT" << endl; if (n == 4) cout << "4"; else cout << "NO4"; if (n - 1 < 2) cout << "FALSE" << endl; return 0; } سؤال ثاني CODE int main () { int n = 3; if (n - 1 == 2) cout << n; else if (n == 2) cout << "test"; cout << "K"; return 0; } ///////////////////////////////////////////////// أتمنى ان القي تجاوب علشان انتقل للWhile
  7. اولا العدد : 1و2اعرابه :صفة نوعة من التذكير والتانيث :يطابق المعدود تذكيرا وتانيثا اعراب المعدود:يعرب حسب موقعة في الجملة حاله من الجمع والافراد :المعدود يطابق العدد افرادا وتثنية مثال:اشتريت كتابا واحدا _اشتريت كتابين اثنين_طاولتين اثنتين ثانيا الاعداد من 3الى 10 اعرابه:يعرب حسب موقعة في الجملة نوعة من التذكير والتانيث :يخالف المعدود تذكيرا وتانيثا اعراب المعدود:مضاف اليه مجرور حاله من الجمع والافراد :جمع مثال:جاء خمسة رجال_جاءت تسع نساء_رايت سبعة طلاب_رايت عشر طالبات ثالثا 11 و12 اعرابه: 11 يعرب حسب موقعة في الجملة 12 يعرب اعراب المثنى في جزئه الاول نوعة من التذكير والتانيث : الجزءان يطابقان المعدود تذكيرا وتانيثا اعراب المعدود:تمييز منصوب حاله من الجمع والافراد :مفرد مثال:جاء احد عشر رجلا_رايت احد عشر كوكبا_جاءت احدى عشرة امرأه_رايت احدى عشرة حلقه_جاء اثنا عشر رجلا_رايت اثني عشر رجلا _جاءت اثنتا عشرة امرأه_رايت اثنتي عشر قرية رابعا 13 الى19 اعرابه:حسب موقعة في الجملة(مبني على فتح الجزئين ) نوعة من التذكير والتانيث :الجزء الول يخالف المعدود والجزء الثاني يطابقه اعراب المعدود:تمييز منصوب حاله من الجمع والافراد :مفرد مثال:جاء خمسة عشر رجلا _رأيت سبعة عشر كتابا _حضرت ثلاث عشرة طالبة_مررت باربع عشر قرية خامسا الاعداد 20و30و40و50و60و70و80و90 اعرابه:حسب موقعة في الجملة (يعرب اعراب جمع المذكر السالم) نوعة من التذكير والتانيث :دائما مذكر اعراب المعدود:تمييز منصوب حاله من الجمع والافراد :مفرد مثال: جاء عشرون رجلا _رايت خمسين بدرا_حضرت ثلاثون طالبة_سافرت الى اربعين مدينة سادسا 21 الى 99 عرابه:الجزء الاول حسب موقعة في الجملة والثاني معطوف نوعة من التذكير والتانيث :الجزء الول يخالف والجزء الثاني مذكر دائما اعراب المعدود:تمييز منصوب حاله من الجمع والافراد :مفرد مثال:جاء خمسة وعشرون رجلا_رايت سبعة واربعين شخصا_مررت بسبع وثلاثين قرية_جاءت ستةوتسعون طالبة سابعا 100 اعرابه:حسب موقعة في الجملة نوعة من التذكير والتانيث :مؤنث دائما اعراب المعدود:مضاف اليه حاله من الجمع والافراد :مفرد مثال:جاء مئه رجل _رايت مئه كتاب _حضرت مئه طالبة_سمعت مئة محاضرة واخيرا 1000 و1000000 اعرابه:حسب موقعة في الجملة نوعة من التذكير والتانيث :مذكر دائما اعراب المعدود:مضاف اليه حاله من الجمع والافراد :مفرد مثال :جاء الف رجل _رايت الف كتا ///////////////////////////////////////////////////////////////// التحليل: التحليل الموضوعي للمقال يقوم على تفكيكه إلى بنيته التكوينية بدءاً من مقدمته إلى نهايته..والتحليل الجيد يأتي من خلال القراءة المتأنية بإستيعاب لحيثيات الموضوع.. منهجية التحليل: 1- كتابة مقدمة للتعريف بصاحب النص: يذكر فيها عنوان النص، اسم صاحبه، الموضوع المطروح، هدف الكاتب،ويجب أن يورد في المقدمة أهم الأفكار والنتائج المهمة التي توصّل إليها الكاتب. 2- تقديم ملخص وافي عن النص أو الموضوع المحلل. 3- النقد وإبداء الرأي وهذا هو الجزء المهم في التحليل، حيث إن التحليل يتضمن الآراء الشخصية وهذا خلاف التخليص الذي يبدو حيادياً ويجب على المحلل أن يبرر ما يقوله تبريراُ منطقياً مقبولاً معللاً يستند إلى الأدلة وينتقل بالقارئ إلى مرحلة الإقتناع.. أهم المعايير في التحليل : - اهمية الموضوع - تغطية الكاتب للموضوع في إطار ما ذكره -مدى موضوعية الكاتب - كيفية تفسير الكاتب للمادة ومدى صحته وبطلانه - مدى شمولية المعالجة - مدى واقعية افتراضاته -جوانب الإثارة أو التشويق ///////////////////////////////////////////////// 1- أ) طبيعة المسرحية وبناؤها : حوار بين الشخصيات بالاضافة الى ماكتبه الاخ هزيم ب) المكان : بهو استقبال صغير في شقة الزوجين ج) الزمان : ليلاً (ساعة كاملة تقريباً ) د) الشخصيات : الزوج، الزوجة، المندوب، الفتاة (الشخصية الرئيسية)، اما الشخصيتان الثانويتان فهما الطبيب وام الفتاة هـ) الاحداث : مايحتاج اكتبهم من المسرحية و) اللغة : اللغة العربية الفصحى ز) تحقق المتعة: تحققت المتعة في المسرحية والتشويق ففيها تعميق لرؤيتنا الى الحياة . 2- حب الحياة والتعلق بها 3- ليست شريرة ولا تحترف الاجرام لكنها مريضة نفسية تريد ان تقتل 4- عندما عرض عليهما الموت وان يختار احدهما تشبث كل منهما بالحياة ورفض الموت 5- اطلاق الفتاة للمسدس على الزوج والزوجة والمندوب ولكن لم يصب احدهم اذى لانها اكتشفت ان المسدس مزيف وليس حقيقي ولكنها بذلك ارتاحت نفسياً لاعتقادها بانها قتلت وانتهت بقول الزوج للفتاة بأنها هدمت سعادته الزوجية 6- على لسان الفتاة، وهي تخاطب المندوب عندما ارادت قتله فسألها مستنكراً اذا كانت دمائه علاجها التطبيقات اللغوية 7- أ) عندي : ضمير متصل مبني على السكون في محل جر بالاضافة هو : ضمير بارز منفصل مبني على الفتح في محل رفع مبتدأ أنا : ضمير منفصل مبني على السكون في محل رفع مبتدأ إنـها : ضمير بارز متصل في محل نصب اسم ان صحتـها : ضمير متصل في محل جر بالاضافة ب) زوجي 8- أ) صه = اسكت >> اسم فعل امر آه = للتحسر او التوجع >> اسم فعل مضارع 9 - عفواً = مفعول مطلق شكراً = مفعول مطلق مهرولاً = حال شراً = مفعول به كثيراً = حال الليلة = ظرف زمان ، شخصاً = مفعول به انزعاجاً = تمييز اشراراً = خبر كان زوجين = مفعول به ، متحابين = صفة 10- أ) تفهما = فعل مضارع مجزوم بحذف حرف النون تدركا نفس الشي ب) يهمني = فعل مضارع مرفوع بالضمة الظاهرة أخنق = فعل مضارع منصوب بالفتحة الظاهرة ج) يجب = فعل مضارع مرفوع بالضمة الظاهرة تقتلي = فعل مضارع منصوب بحذف حرف النون د) تطلقي = فعل مضارع مجزوم بحذف حرف النون هـ) تلق = فعل مضارع مجزوم بحذف حرف العلة أثق = فعل مضارع مرفوع بالضمة الظاهرة هنالك بعض المفردات الهامة مثل .. تعودُ فتاة مريضة : تزور بحبوحة : سعادة، مكانة ينتحل : يتقمص ويتمثل دمِثة: طيبة او ذات كلام طيب ينبسا : يهمسا ، يتكلما بصوت منخفض جامحة : كبيرة الشنيع : السيء عين مطلبي : أساس ، نفس بختنا : حظنا ألحفت : ألحت تضطرم : تشتعل يدرآن : يتدافعان أزف : دنا وقرب الوضيع : الدنيء هباب : ريح أو غبار مطرقة : ساكتة لا تتكلم ، أرخى عينيه ينظر للأرض بالنسبة للتطبيقات الاسلوبية 12- شد انتباه القارئ ليبين ردة فعل الاشخاص وتخلق تفاعل ويجسد المشهد ويضفي تدفقاً وحركة. ////////////////////////////////////// • أسم الفاعل : - يكون من الفعل الثلاثي على وزن فاعل مثلا : ضارب - شارب - أسم الفاعل من الغير الثلاثي يشتق على 3 خطوات : # نحول صيغة الفعل إلى مضارع مثلاً : أنطلق ...... ينطلق # نقلب الياء إلى م مضمومة ينطلق ...... مُنطلق # نكسر الحرف الذي قبل الآخر مُنطلِق * أسم المفعول : - أسم المفعول من الفعل الثلاثي على وزن مفعول مثل : مضروب - معلوم - مكسور - أسم المفعول من غير الثلاثي يشتق في 3 خطوات . # يقلب الفعل إلى صيغة المضارع أنجز ........ ينجز # نقلب الياء إلى م مضمومة ينجز .......... منجز # نفتح الحرف الذي قبل الآخر مُنجَز * أسم التفضيل على وزن أفْعل : مثل : أكبر - أصغر - أحسن - أقبح أسم المكان على وزن مفعل : مثل : السجود ....... مسجد الشروق ...... مشرق السعي........ مسعى الهبوط ......... مهبط وقوف ........... موقف * الصفة المشبهة : هي صفة بمعنى أسم الفاعل أو أسم المفعول ولكنها ليست على وزنها . فعيل : مثل : جميل - قصير - عريض - قتيل - ذبيح - مريض أفعل : أحمر - أعمى - أخضر - أصلع فعلان : سكران - غضبان - جوعان * صيغ المبالغة : فعول : أكول - كسول - نؤوم - حنون عبوس فعال : قتال - سفاح - جزار - جبار - نصاب - عباس مفعال : مقدام - مطلاق - مزواج فعيل : سكير - شرير – سكيت اسم الفاعل : للدلالة على الحدث ومن وقع منه او تعلق به اسم المفعول : للدلالة على الحدث وماوقع عليه او من وقع عليه الصفة المشبهه : للدلالة على ثبوت صفة لصاحبها اسم التفضيل : للدلالة على ان شيئين اشتركا في صفة معينة وزاد احدهما على الاخر فيها اسما الزمان والمكان: للدلالة على الحدث ومكان وقوعه او زمان وقوعه /////////////////////////////////////////////////////////// اتمنى لكم التوفيق
  8. ماشاء الله وايد وايد حلووووووووة صورة رهيبة مشكور حبوب
  9. =1.36 - Page: 68 #include<iostream> int main() { int n1,n2,n3,n4,n5,num; cout<<"Enter five-digit number:"; cin>>num; n5=num%10; num=num/10; n4=num%10; num=num/10; n3=num%10; num=num/10; n2=num%10; num=num/10; n1=num%10; num=num/10; cout<<n1<<" "<<n2<<" "<<n3<<" "<<n4<<" "<<n5<<" "<<endl; return 0; } والسموحه ع التقصر بس عدلي الفواصل صاروا باليسار بدل اليمين
  10. Q=1.35 - Page: 68 #include <iostream> using namespace std; int main (){ cout<<"A ="<<static_cast< int >( 'A' )<<endl; cout<<"B ="<<static_cast< int >( 'B' )<<endl; cout<<"C ="<<static_cast< int >( 'C' )<<endl; cout<<"a ="<<static_cast< int >( 'a' )<<endl; cout<<"b ="<<static_cast< int >( 'b' )<<endl; cout<<"c ="<<static_cast< int >( 'c' )<<endl; cout<<"0 ="<<static_cast< int >( '0' )<<endl; cout<<"1 ="<<static_cast< int >( '1' )<<endl; cout<<"2 ="<<static_cast< int >( '2' )<<endl; cout<<"$ ="<<static_cast< int >( '$' )<<endl; cout<<"* ="<<static_cast< int >( '*' )<<endl; cout<<"+ ="<<static_cast< int >( '+' )<<endl; cout<<"/ ="<<static_cast< int >( '/' )<<endl; return 0;} ---------------------------------------------------------------------- =1.36 - Page: 68 #include<iostream> int main() { int n1,n2,n3,n4,n5,num; cout<<"Enter five-digit number:"; cin>>num; n5=num%10; num=num/10; n4=num%10; num=num/10; n3=num%10; num=num/10; n2=num%10; num=num/10; n1=num%10; num=num/10; cout<<n1<<" "<<n2<<" "<<n3<<" "<<n4<<" "<<n5<<" "<<endl; return 0; } عاد انتو عدلو الفواصل طلعو مقلوبين ومعذرة ع التاخير
×
×
  • Create New...