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

مشاهدة النسخة كاملة : دورة خفيفة في تعلم أساسيات البرمجه في لغة سي++


@شقردي عنيزة@
13-02-05, 10:56 pm
السلام عليكم ..ورحمة الله وبركاته

أخواني وأخواتي الإعزاء........أعضاء منتدى بريدة

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

يسرني أن اوجه الدعوه لكل عضوء من الأعضاء الأفاضل وخاصةً الذينَ يرغبون
في تعلم أساسيات البرمجه في لغة سي++ وأيضاً فيجول بيسك
يسرني دعوتهم للحصول على دروس... مجانيه أكرر وأنا بكامل قواي العقليه مجانيه...(تكفى يامعهد نيورايزن).. معلينا.. موضوعنا
.............................
حيث أن مثل هذه اللغات تعتبر من لغات البرمجة التي حظيت بانتشار كبير واقصد لغة سي++ على وجه التحديد
فهي لغة تجمع بين السرعه والبساطة والإيجاز لبناء التطبيقات المتعدده ... وبما أن بعض المقبلين على تعلم مثل هذه اللغات
قد يجدون في بعض الأحيان صعوبه في التعلم وحيث أنه لايوجد شك في تفاوت العقول في نسبة الفهم الإ أنني ساحاول بقدر استطاعتي
مراعاة ذلك عند بداية الشرح....
وكما تعلمون فأن لغات البرمجة كثيره وتتغير بأستمرار ولكن تبقي لغة سي++ هي الأساس لبداية الدخول في عالم البرمجة
وأنا لا أدعي الإلمام التام بمعرفة هذه اللغات ...ولكن أن شاء الله أستطيع أن اضيْ شعله متواضعه في طريق كل من رغب
الدخول في طريق تقنية البرمجة فعلي كل من يجد في نفسه الرغبة في التعلم
الرجاء أبلاغي مشكوراً في الرد على موضوعي هذا...
ولا يسعني في النهاية غير ان اعبر عن شكري وامتناني للقائمين على هذا المنتدى

أخوكم....@الشقردي@

الرمادي
14-02-05, 02:39 pm
إستاذي العزيز @الشقردي@


سأكون اول المنتسبين لهذه الدورة ويشرفني ان أكون احد تلامذتك :)

وإن شاءالله لن تجد صعوبة في إيصال ماتود إلينا

ننتظر مشاركة الآخرين وبداية هذه الدورة المهمة


تقبل تحياتي ,,,

ميدوو
14-02-05, 07:46 pm
جزاك الله خير اخوي على الدورة
بس كيف راح تكون طريقتها؟؟

@شقردي عنيزة@
15-02-05, 11:31 pm
أخي وعزيزي الرمادي....

الله يحيك من ممشاك الى ملفاك .... وانضمامك الى هذه الدوره يعتبر بمثابة وسام شرف

على صدري

وعفواً يأخي بدري علينا لقب استاذ فهناك الكثير ممن هم أجدر مني في هذا المنتدى وستثبت لك الايام ذلك
واكاد أجزم انهم بيننا في هذا المنتدى لكن ربما الظروف لم تحن ولكن سوف يظهرون

تحياتي أخي وأن شاءالله نوفق في أيصال كل ماهو مفيد

اكار شوكولانا
16-02-05, 12:29 am
أحد يعاف العلم ......سجلن معكم.......وبارك الله فيك ونفع بعلمك

ămōяẻ
16-02-05, 01:02 am
انا معاكم

وش الطريقة علمونى

@شقردي عنيزة@
16-02-05, 01:06 am
ميدوو ... والجازي أخوي الله يجزاه عنا خير أن شاءالله ...
واشكرك على هذا السؤال حيث أنه سؤال في محله
بداية الدوره طبعاً يجب الأتفاق عليها من جميع الإعضاء المشاركين لإجل الإنتقال من موضوع الى موضوع آخر يكون سلس.
سوف نبدا الدوره من خلال آثير هذا المنتدى بطرح سلسله من الدروس او الوحداة حيث
أن كل وحدة تحتوي على مجموعة محددة من الدروس فمثلاً ... أذا قلنا الوحدة الاولى تتكون من

- مكونات لغة سي ++
- الاسماء التعريفية
-المتغيرات
-أنواع المتغيرات
-الكلمات المحجوزه
-المعاملات الحسابيه....الخ الخ

فكما تلاحظ في الاعلى كل عنوان يعتبر بمثابة درس منفرد .... فاعملية السرعه في الشرح والتسلسل في المواضيع بصوره سريعه تعتمد اعتماد كامل على المتلقي وذلك بسرعة فهم الدروس فمن الصعب جداً
تجاوز اي فقره لن كل فقره تعتمد على اللتي قبلها وهكذا...
وطبعاً التفاعل مع الدروس والتركيز هو أساس الفهم ... وذلك بطرح الإسئله والاستفسار عن أي نقطه من نقاط الموضوع المطروح الغير مفهومه...
سوف تكون طريقة الشرح مدعومه بالصور والامثله

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

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

السعودي
16-02-05, 01:33 am
http://www.buraydh.com/sign/taheya/bsmal.gif
http://www.buraydh.com/sign/taheya/slam.gif
تسلم أخـي الحبيب @الشقردي@

نحن في شوق لما عندكم

فسجل عندك " طالب متبدئى " لدى مدرسة @الشقردي@
http://sms555.jeeran.com/z6.gif
http://members.lycos.co.uk/as890ss/x1.gif
http://sms555.jeeran.com/z11.gif

الموضوع <<< مـثـبـت >>

أبو بسام
16-02-05, 02:14 pm
ممتاز جدا أخي الكريم الشقردي

توكل على الله وانا معك طالب

وابقتراح عليك اقتراح بسيط وانت ابخص بالامور هذه

شرايك تبدأ مع تطبيق برنامج صغير جداً لتكون الصورة واضحة

يعني التعلم مع العمل

وبالنسبة للبرامج تراها موجودة عندي (عائلة) Visual Studio 6
ولك تحياتي

@شقردي عنيزة@
18-02-05, 05:21 pm
للجميع أولاً أقدم اسفي وأعتذاري على التأخر في الرد وذلك لظروف خارج أرادتي....

عزيزي اكار شوكولانا

صدقت يأخي فلا أحد يعاف العلم وخاصةً أذا كان العلم نافع

والله يحيك معنا عبر آثير منتدى بريدة والى الامام أن شاءالله.

ــــــــــــــــــــــــــــــــ

عزيزي عموري

ياهلا وغلا فيك ويسعدني أنضمامك معنا ...أما بخصوص الطريقة أمل مراجعة ردي
على (الاخ ميدوو)

@شقردي عنيزة@
18-02-05, 06:13 pm
أخي وعزيزي وأستاذي السعودي ابو براهيم

الله يسلمك يالغالي واذا ماشالتك الارض نشيلك فوق روؤسنا يابو براهيم

وعفواً يابو ابراهيم أذا كنت أنت مبتدى فماذا نكون نحن أذاً .. فصدقني يأخي أن كل الذي عندنا
أنما هو من بعض الذي عندكم

ومشكور مره ثانيه لإنضمامك معنا والله يوفق الجميع

ــــــــــــــــــــــــــــــــــــــــــــــــــ ــــــــــــــــــــــــــــــــــــــ


أبو بسام

مرحبا ألف .... ويسعدنا أنضمامك معنا

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

وأشكرك على هذه اللفته عن وجود برنامج (عائلة) Visual Studio 6 لديك فوجود البرنامج لدى
الشخص الذي يرغب في ألانظمام معنا ضروري جداً لئننا سوف نقوم بتطبيق بعض الإمثله
على برنامج Microsoft Visual C++ 6.0 لذا أرجو أن استطعت رفع هذا البرنامج على النت
فلا تبخل به علينا
تقبل تحياتي وفائق أحترامي....
@الشقردي@

@شقردي عنيزة@
18-02-05, 06:19 pm
بسم الله الرحمن الرحيم
والصلاة والسلام على آشرف الانبياء والمرسلين سيدنا محمد عليه وعلى آله وصحبه أتم الصلاة والتسليم ....أمابعد
أخواني درسنا اليوم هو أول الدروس التي يجب علينا معرفتها. قبل الشروع في بناء برامج بلغة سي++ يجب
علينا شرح مكونات اللغة والأن الى درس اليوم:

مكونات لغة سي++
1- الأسماء التعريفية Identifier))
تطلق الأسماء التعريفية على المتغيرات‘ المؤشرات‘ العناوين. فعند تعريف هذه الأسماءهناك قواعد
يجب علينا مرعاتها وهي على النحو التالى:
- أن يكون الحرف الأول من الاسم حرفا أبجديا أو خطاً تحتياً( _ ) underscore.
- يجب أن لا يحتوى الأسم على رموز خاصة ، مثل (!،&،#،....الخ.
- أن لا يكون الاسم إحدى الكلمات المحجوزه ، مثل (if،int،for ....الخ.
- عدم ترك أي مسافه بين حروف الاسم عند التعريف وعند الإستخدام.

ملاحظه/ يجب التنبيه الى أن لغة سي++ تفرق بين الحروف الأبجدية الصغيرة والكبيرة فمثلاً كلمة "ali" و"ALI" ليست أسماً واحداً
وذلك بسبب اختلاف معاملة المترجم للحروف الصغيرة والكبيرة.

اما ألان سوف نقوم بعرض بعض الامثله للإسماء التي يمكن او لا يمكن استخدامها مع ذكر السبب..

http://www.arab3.com/images14/65975341.jpg

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

@شقردي عنيزة@
19-02-05, 10:12 pm
لليوم الثاني والشباب (غـيـــاب)

شكلي ابستخدم المسطعه هههههههههههه

لكن تدرون الوعد أذا جاء رصد أعمال الدوره
والمواظبه لا يجي لمي أحد ويقول عندي ظروف وماني عرف أيش من الاعذار اللي أنتم خابرين؟
سلملم

MiSs_7o0oRyAh
20-02-05, 12:04 am
http://www.geocities.com/miss_7o0oryah/basmlah.gif

http://www.geocities.com/miss_7o0oryah/no.gifالسلام عليكم ورحمة الله وبركاتهhttp://www.geocities.com/miss_7o0oryah/no.gif
. . . . .
. . .
.

وش السالفة ...
الدعوة به دورات وحنا ما درينا
متى
شلون
وراه
وشوله
وراه ما علمتونا :)

طيب عندي سؤال
عادي الاختلاط بالفصل
اشوف الطلاب كلهم شباب مخالف ادخل ولا تخافون ابتغطا


ابلا الشقردي .... قصدي استاذ
معليش متعودة على ابلا :)
ترا انا معكم :)
وانشالله بتفوق على الشباب عشان تعرفون ان البنات ذهينات :)



بس عندي اقتراح بسيط
انا اشوفك بديت بالدري الاول
ياليت لو تحط دروسك بموضوع مستقل
وكل فصل او وحده تكون في موضوع مستقل
حتى يسهل علينا تجميعه :)

واسفه على كثر القرق

<<<< شكل السلوك صفر
.
. . .
. . . . .
http://www.geocities.com/miss_7o0oryah/no.gifتحياااا:for12:ااااتيhttp://www.geocities.com/miss_7o0oryah/no.gif

http://www.geocities.com/miss_7o0oryah/sob7ank.gif

أبو بسام
20-02-05, 08:21 pm
ما شاء الله عليك يالشقردي
كفيت وويت
درس مختصر ويغطي الفايدة وزيادة

جزاك الله خير

نحتري الدرس الثاني

@شقردي عنيزة@
20-02-05, 09:31 pm
وعليكم السلام يأنسه حوريه

صح النوم .... هالحين لنا أسبوع وحنا حلوقنا منبحه ماخلينا أحد ماقناله لا والموضوع مثبت بعد

وبرضه ما فتكينا الله يرجا أبليسك من أول يوم حاضرتي رجتينا ....

وبعدين بخصوص الاختلاط لا يقطر سعبولك بس.. والله لو تنقزين ما تفرحينبه .... تدرين ليش ؟

لئننا عاملين حسابنا للإ مور هاذي..ومجهزين قاعه خاصه للبنات وبه دائره تلفزيونيه مغلقه بعد:for6:


ومن ناحية التفوق يالله شدي حيلك وأثبتي لنا بالفعل مو كلام بس .. لكن ياخوفي بكرا أذا سالنك
سؤال عن أي فقره من فقرات أي درس بديتي اتماميين وطققين اصابعك ههههههههههههههههه (تراي أمزح)


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

واخيراً أنستي وليس بيننا أخير أن شاءالله اسمحيلي أن أحيي فيك هذه الشجاعه

المنقطعة النضير على أنظمامك لهذه الدوره

دام التواصل والى الامام أن شاءالله

@الشقردي@

@ شيختهم @
23-02-05, 12:55 am
يسلموووووو اخوي الشقردي ،،،،،،

والله منت سهل ....

دورات كمبيوتر ،،،، ومجانيه بعد ،،،،،،،

وبما ان تخصصي كمبيوتر ،،،،، راح اعرض خدماتي لمساعدتك اخوي ،،،،

مع اني مااحب لغة السي ++ حيييييل ،،، وغاثتني محاضراتها بالكليه ،،،،

بعكس الفيجول بيسيك ،،،، اللي اعتبره من اهم البرامج ومفيد جدا ،،،،

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

والبرمجه خاصة ،،،،

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

<<< غصب علي من دكتورها المرعب ،،،!!!

عالعموم ،،،،،

اعتبرني اخوي مساعده لك وتحت الخدمه بأي أمر أو طلب للأعضاااااااء الطلاب .....

وعندي مراجع للـــغة اللي يبغى يستفيد ابلغه بأسمائها ومؤلفيها ،،،،لتستفيدوا أكثر ،،،،،،

<<< اقول طلاب تعالوا بقول (( كلمة سر ))

<<~~ إذا شد عليكم استاذنا الشقردي بالواجبات قولولي ،،،،،،~~ اغششكم ~~،،،،،،،

(( اسمحولي عالتأخير لكن توني اشوف الموضوع ))

وتقبلوا تحيــــــــــــــــاتي ،،،

@شقردي عنيزة@
23-02-05, 12:58 am
الله يعطيك العافية والصحه أخوي أبو بسام

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

ومن المعلوم أن برمجيات النظم تنقسم إلى قسمين أو نوعين أساسيان
1- برمجيات النظم (SYSTEM SOFTWARE)
وهي البرامج التي تتخاطب مباشرة مع المكونات المادية للحاسوب مثل برامج نظم التشغيل برنامج نظام التشغيل (DOS) ، وبرنامج نظام النوافذ
(WINDOWS) ، وبرامج التحكم في وسائط التخزين ، برامج التحكم في أجهزة الاتصلات ،وبرامج التحكم في شبكات الحاسب
2- البرمجيات التطبقية(APPLICATION SOFTWARE)
وهي البرامج التي تتخاطب مع المستخدم مباشره وهي : نظم المعلومات ، محرر النصوص ، الجداول الإكترونية ، نظم إدارة قواعد البيانات ... والفرق بين برمجيات النظم والبرامج التطبقية هو أن برامج النظم تتخاطب مباشرة مع المكونات المادية للحاسوب أم البرمجيات التطبقية تتخاطب مع المستخدم ..
ولغات البرمجة هي التي تستخدم في كتابة وبناء البرامج التطبقية وايضاً برامج النظم بواسطة المبرمجين ...ولغات البرمجة هي الوسيلة التي تمكن المستخدم من توجيه الحاسوب للقيام بالأعمال المفيدة والمتعددة لئن الحاسوب بما لديه من قدرات عاليه في عملية أجراء العمليات المعقده جداً وبدقه عاليه وفائقة السرعه ألا أنه يبقى غبي بالنسبه لعقل الإنسان لن الإنسان هو الذي يسير الحاسوب وليس العكس والمقصود من البرمجة أي إجراء العمليات الحسابية والمقارنات المنطقية على البيانات لا ستخلاص المعلومات ويمكن تمثيل عملية معالجة البيانات للحصول على المعلومات على الشكل التالي..
العمليات الحسابية التي يتم إجراءها على البيانات مثل (الجمع ، الطرح، القسمة ، الضرب). والمقارنات المنطقية مثل (ترتيب البيانات ، مقارنة القيم) والبيانات عبارة عن الكلمات مثل (الحروف ، الأرقام ، والرموز) المتعلقه بموضوع معين مثل (أسماء الطلاب ، أعمارهم ، درجات المواد ،....... الخ الخ وهذه البيانات هي التي يتم إدخالها للحاسب ويتم عليها إجراء العمليات(المعالجة)
للحصول على المعلومات المفيدة..والمعلومات هي ناتج معالجة البيانات ...وبمعنى آخر فإن المعلومات هي الحقائق المنظمة والمفيدة الناتجة من معالجة البيانات فمثلاً من البيانات السابقة عن الطلبة يمكن الحصول على المعلومات آلاتية مثل ( مجموع درجات كل طالب ، ترتيب الطلبة حسب مجموع الدرجات ، المعدل التركمي ، اعمار الطلاب) .... وأسف جدً جدً على الإطاله
أحس أني فغيت راسك فغي أعذرني... لئني أود لك ما أود لنفسي بدون مبالغة والله يشهد على كتابتي هذه فأحساسي أو حدسي أن شئت يخبرني أنك تعشق مثل هذه البرامج أو ربما تكون قد أطلعت على مثل هذه اللغات من قبل وأنا لم اتي الى هذا المنتدى إلا لإجل أن أفيد واستفيد
وفي الختام تقبل شكري وإمتناني وللمره الأف ....أسف على الإطاله
@الشقردي@

الرمادي
23-02-05, 01:43 am
إستاذي العزيز الشقردي


شكرا لهذا الدرس الرائع والبسيط

بادرة طيبة تدل على أننا سنحظى بشرح رائع وسلس يستطيع الوصول إلينا بسهولة


اخي الشقردي اسمح لي بتقديم معلومة بسيطة


الأخ الغالي ابوبسام

إستاذ في البرمجة

وتستطيع الإعتماد عليه كثيرا في دروسك القادمة

فهي تخصص دراسته وعمله الحالي


تقبل خالص تحياتي ,,

أبا ياسر
23-02-05, 11:08 pm
<<عاض ثوبه وجاي يمشي مليون من صندوق الرسائل في بريدي (جت رسالة من المنتدى من ضمنها موضوعك :) )

طالب متأخر بيسجل معكم :D

جزاك الله خيراً ..

@شقردي عنيزة@
23-02-05, 11:34 pm
الله يسلمك يأختي **دلــــــــــع**

والله يحيك بيننا أخت عزيزه علينا وأكيد أننا ما راح نستغني عن خدماتك ....فأرجوك ثم أرجوك
أن لا تبخلي علينا بما لديك ونطمع بما تجودين به فكما تعلمين ويعلم كل من له أدنى معرفة
في البرمجه أن لغة سي++ لا تسعها أمهات الكتب مجتمعه فأنتي ربما تمتلكين معلومات لا أعرفها وأنا ربما كذلك فهذ القصد من موضوعي هذا كله نتواصل لنتحاور ولذلك فليكن حوارنا بما هو مفيد وأذا كان كذالك فإن شاء الله أنه سيعود بالنفع على الجميع ولن نتوقف إن شاء الله عند هذه اللغة فقط وأقصد لغة السي++ فهناك العديد من الموضيع للرغبين في التعلم إن شاء الله
و إذا كنتي تعشقين الفيجول بيسك لماذا إذاً لا تتحفيننا بموضوع أخر غير هذا الموضوع وهذه دعوه للجميع فا أنا أشاطرك الراي بأن فيجول بيسك ممتع جداً وخاصه أنه لغة رسومية ويستخدم طريقة التفسير interpretation وليست طريقة التجميع compilation فعندما يعتمد المبرمج طريقة التفسير في تنفيذ برامجه سيتمكن من تنفيذ برنامجه مباشره ويكتشف مافيه من أخطاء دون أي مجهود يذكر فهي تعتمد على ردة الفعل السريع وهذا من أحد سرر تميزها حيث أن هذا النوع
من التفاعل المباشر حيوي للغاية وخاصة للمبرمجين المبتدئين فهؤلا دائماً يبحثون عن ردة الفعل السريعه فكل ما في الأمر هو عملية سحب بعض الأدوات بالفأره ووضعها في أحد النوافذ المفتوحه أو ما يسميها فيجول بيسك (form) مع أن اللغات التي تعتمد على طريقة التجميع تعتبر أسرع ولكن تحتاج الى مجهود أكبر بكثير وهذا من احد مسببات العزوف عنها لدى المقبلين لتعلم البرمجة .....

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

@شقردي عنيزة@
23-02-05, 11:50 pm
أخي وعزيزي الرمادي

لا شكر على واجب أخوي

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

ودام التواصل أن شاء الله

@الشقردي@

@شقردي عنيزة@
23-02-05, 11:58 pm
أبا ياسر
هههههههههههههههههههههه أضحك الله سنك
ربي يحييك وهذي والله أنه الساعة المباركه اللي خلتنا نتعرف عليك
وكلنا لك يأخوي

من التأخر في التسجيل لا ماعليك تونا بأول درس يعني يمديك تبداء معنا

فأهلاً وسهلاً بك

تحياتي أخوك @الشقردي@

@شقردي عنيزة@
24-02-05, 12:18 am
بسم الله الرحمن الرحيم
أخواني و أخواتي بعد أن تكلمنا في الدرس الأول عن الأسماء التعريفية وعلى ماذا تطلق وعن الرموز المستخدمة في عملية التسمية وأيضاً الرموز التي لا يمكن استخدامها في عملية التسمية، في هذا الدرس سوف نتوسع قليلاً لنتطرق إلى كيفية الإعلان عن هذه الأسماء والطرق المستخدمة فإلى الدرس الثاني


الدرس الثاني
2-1 المتغيرات (varibles)
دائماً نحتاج عند كتابة وتشغيل أي برنامج بلغة سي++ الى تخزين المعلومات الواردة في البرنامج في ذاكرة الحاسب بأسماء معينة. ويطلق على هذه الاماكن متغيرات،( وسبب التسمية يعود الى أمكانية تخزين قيم مختلفة من نفس النوع خلال تشغيل البرنامج). وفي أثناء تنفيذ البرنامج يتم تخزين قيم مختلفة في موضع الذاكرة نفسه (same memory location) في أوقات مختلفة. وهذا النوع من مواضع الذاكرة الرمزي (symbolic name) الذي نُلحقه أي نجعله يرتبط بموضع ذاكرة هو اسم المتغير(variables name) ، أو الاسم التعريفي للمتغير
ملاحظة.. قبل كتابة المتغيرات يجب الإعلان عن المتغير والإعلان عن متغير يعني تحديد اسمه ونوع بياناته .. والمثال التالي يوضح طريقة تعريف المتغير ونوعه.
http://www.arab3.com/images15/60842600.jpg
وإذا كان هناك أكثر من متغير واحد من النوع نفسه، فيمكن أن نعلن عنهم جميعاً في عبارة واحدة أو في أكثر من عبارة كما يلي: http://www.arab3.com/images15/70555767.jpg
حيث أعلنا عن المتغيرات الأربعه i, g, d, r; في عبارة واحدة لأن الأربعة متغيرات من النوع نفسه (float) ويجوز أن نعلن عنها أيضاً هكذا:
http://www.arab3.com/images15/92368771.jpg
والطريقة الأخيرة قد تكون أفضل حيث أنها تسمح لنا بإضافة تعليقات(comments) يمين كل إعلان لشرح خطوات سير البرنامج وسوف نقوم بشرح إضافة التعليقات في الدروس القادمة إن شاء الله .

22 الثوابت (constants)
(الثوابت الرمزية وثوابت سلاسل الرموز) أي رمز مفرد محصور بين حاصرتين مفردتين يعد ثابتاً، وكذلك أي سلسلة رموز محصورة بين حاصرتين مزدوجتين تعد ثابتاً ، والمثالين التاليين يوضحان عملية تمثيل الثوابت الرمزية، وثوابت سلاسل الرموز:
أولاً الثوابت الرمزيةhttp://www.arab3.com/images15/59618720.jpg
ثانياً ثوابت سلاسل الرموز
http://www.arab3.com/images15/38385984.jpg
ومعنى الثابت في لغة سي++ كما هو في الرياضيات، حيث أنه هو الشيء الذي لا تتغير قيمته بل يبقى على حاله ودائما يلجا المبرمج لا أستخدم هذه الطريقة لعملية وصف البيانات المكونة من رمز واحد أو سلسلة رموز. وتستخدم كل مكينة مجموعة خاصة من الرموز ومنها الرموز الأبجدية والعددية التي يمكن أن تمثلها. ويلاحظ أن كل رمز يُحاط أو يحاصر بين حاصرتين مفردتين يحتاجهما البرنامج المترجم للتفرقة مثلاً بين الرمز'7' والقيمة الصحيحة 7، حيث أن طريقتي تخزينهما داخل الماكينة مختلفتان، وكذلك العمليات التي تجري عليهما تختلف، فمثلاً لا نجمع الرمز '5' مع الرمز '8' كما أننا لا نجمع الرمز 'S' مع الرمز 'G' ، ولكن يمكننا أن نجمع القيمة الصحيحة 5 مع القيمة 8، أو أن نقارن بين قمتين رمزيتين أيهما أصغر من الأخرى، أو أيهما تسبق الأخرى في سلسلة المقارنة لمجموعة الرموز(أي الترتيب المعرف سابقاً لجميع الرموز، وهذه السلسلة تختلف عموماً من مجموعة رموز لمجموعة أخرى ، ولكن في أي من السلاسل تكون 'A' أصغر من 'B' و 'B' أصغر من 'C' وهكذا ، وكذلك فإن '1' أصغر من '2' و '2' أصغر من '3' وهكذا ....وعند هذه النقطة نكون قد أنهينا درسنا لهذا اليوم على أمل اللقاء في دروس قادمة أن شاء الله.....

@شقردي عنيزة@
27-02-05, 07:48 pm
بسم الله الرحمن الرحيم
أخواني ... تعلمنا في الدرس السابق عن كيفية الأعلان عن المتغيرات وعن ماهي المتغيرات
وماذا تعني كلمة الثابت سواء ثابت رمزي أو سلسلة في درسنا اليوم سنواصل ماتوقفنا عنده
وسوف نتطرق اليوم الى أنواع المتغيرات، وأيضاً الكلمات المحجوزة، والمعاملات الحسلبية، والتعبير الحسابي وأولوية العمليات الحسابية فإلى درس اليوم

3- أنواع المتغيرات
تعمل المتغيرات على تخزين أنواع مختلفة من البيانات في البرنامج حسب ما تستدعيه الحاجة. الجدول في الصورة التالية يوضح بعض أنوع البيانات التي يمكن تخزينها في المتغيرات مع مساحة الذاكرة الضرورية لتخزين بيانات كل نوع.
http://www.arab3.com/images15/89386637.jpg
وبعض أنواع البيانات هذه تُستخدم بكثرة، ولذلك تعرّفها لنا اللغة، وتسمى أنواعاً قياسية(standard). وإضافة للأنواع القياسية فإن اللغة تسمح للمبرمج بتعريف أنواعه الخاصة للبيانات والتي تسمى أنواع البيانات المعرفة بالمستخدم.

4- الكلمات المحجوزة (Keywords)
هي كلمات معرفة مسبقاً لها استخدامات خاصة محددة (specific uses) في لغة سي++، مثل كلمة int التي تستخدم للدلالة على أسماء المتغيرات والدوال صحيحة القيم (integer valued).وكلمة ifالتي تدل على بداية جملة شرطية. ويجب التنبيه إلى عدم استخدام أي من هذه الكلمات المحجوزة كاسم تعريفي يعرفه المبرمج، وأيضاً يجب كتابتها أثناء الاستخدام بحروف صغيره وسنورد في هذه الصورة التالية بعض منها وهي التي شائعة الاستخدام:
http://www.arab3.com/images15/7822223.jpg
5-1 المعاملات الحسابية Arithmetic Operators
قد تحتاج أحياناً في برنامجك إلى أجراء بعض العمليات الحسابية المختلفة للوصول إلى النتائج المطلوبة ، في الصورة التالية نبين المعاملات الحسابية التي يمكن استخدامها وكما هو موضح في الصورة يجب أن يظهر متغير واحد فقط في الطرف الأيسر من الجملة :
http://www.arab3.com/images15/33954511.jpg
5- 2التعبير الحسابي(Expression)
هو ترتيبه من الأسماء التعريفية والقيم الحرفية والمؤثرات ، والتي يمكن تقييمها لحساب قيمة من نوع معين وفي الصورة التالية أمثلة على الطريقة التي يتم بها أعادة صياغة التعابير الرياضية إلى تعابير حسابية مقبولة في برامج لغة سي++:
http://www.arab3.com/images15/20108962.jpg]
6- أولوية العمليات الحسابية
لإجراء العمليات الحسابية والحصول على النتائج الصحيحة والمتوقعة يجب الأخذ في الاعتبار أن كل معامل له ترتيب ووقت للتنفيذ في التعبيرالحسابي(expression) وإذا تساوت أولويتان مثل الجمع والطرح أو الضرب والقسمة في التعبير فتقدم العملية الأقرب ألي يسار التعبير. والصورة التالية تبين أولوية التنفيذ لكل معامل فتأمل جيدً في الصورة لمعرفة أولوية التنفيذ في كل تعبير حسابي:
http://www.arab3.com/images15/8179180.jpg
أما الآن فسوف نورد هذا المثال لبيان أولوية التنفيذ لبعض العمليات الحسابية:
http://www.arab3.com/images15/83077991.jpg
لنفترض أن قيمة x=2 , y=6 , z=2 , a=3 فأن نتيجة التعبير الحسابي = 11
وذلك وفقاً للأسلوب المتبع في نظام لغة سي++. فإلى الشرح
لو رجعنا إلى الصورة السابقة ومن خلال عملية الترقيم الظاهرة في الصور نجد أن مترجم الإله بدا برقم (1) وهي عملية القسمة أولاً حيث قسم المعامل y على z ثم بدا بالعملية رقم (2) وهي عملية الضرب حيث ضرب المعامل z في المعامل a وأخيراً بدا بالعملية رقم (3) عملية الجمع
وهي أخر عملية بين هذه ألاولويات ومع نهايتها نكون قد أنهينا درسنا لهذا اليوم ...والسلام عليكم

MiSs_7o0oRyAh
27-02-05, 08:37 pm
<<< باين انه تدربي دميجته

الف شكر استاذ شقردي انشالله ابذاكر زيييين :)

@شقردي عنيزة@
27-02-05, 09:10 pm
<<< باين انه تدربي دميجته

هههههههههههههههههههههههههه

حسبي الله على أبليسك؟؟

عموماً لا تستعجلي في الحكم فمازلنا في أول الطريق ...وحتى الأن لم نبدا البداية الحقيقية
فالتشويق والمتعة ...عند بداية بناء البرامج بالتطبيق العملي واقصد بالعمل على برنامج سي++
بتنفيذ المدخلات وتتبع المخرجات عند أذن سوف تتضح لكي الصورة أكثر فأكثر... فالمطلوب منكي فقط هو قراءة الدروس السابقة بتأني وقليل من التركيز ... وطرح الاسئلة المتكرره عن الفقرات الغير مفهومه ...فأرجو أن لا تترددي في طرح أي سؤال حول أي درس والكلام موجه لجميع المشاركين فأنا استغرب أنه حتى هذه اللحظه لم أتلقى أي سؤال لا من قريب ولا من بعيد حول الدروس السابقه عموماً ....نحن نعذر الجميع فالكل مشغول بدنياه الله يعينه وأنا واحداً من هؤلا

تقبلي تحياتي

@شقردي عنيزة@
03-03-05, 10:54 pm
بسم الله الرحمن الرحيم
اخواني وأخواتي الإعزاء مواصلتن لدروسنا السابقه حيث توقفنا في الدرس السابق عند أولوية المعاملات الحسابية فإكمال للدرس السابق سوف نبداء درس اليوم بالأدوات العلاقية والمنطقية وهي أخر دروس الوحدة الإولى فبسم الله نبدأ....

7-1الأدوات العلاقية والمنطقية
يحتاج المبرمج أحياناً إلى استخدام بعض المعاملا ت العلاقية والمنطقية في التعبير الحسابي داخل البرنامج لمعرفة العلاقة بين متغيرات وتنفيذ عمل ما حسب هذه العلاقة في الصورة التالية بعض الأمثلة للمعاملات العلاقية والنتيجة النهائية للتعبير الحسابي في كل مثال:
http://www.arab3.com/images15/9248599.jpg
ودائماً تكون نتيجة التعبير أحدى أمرين أما FALSE إذا كان ناتج التعبير خطأ أو TRUE إذا كان ناتج التعبير صحيح.

7-2 الأدوات المنطقية
http://www.arab3.com/images15/53953263.jpg

أولوية التنفيذ للمعاملات العلاقية والمنطقية
لإجراء العمليات العلاقية والمنطقية والحصول على النتائج الصحيحة والمتوقعة يجب الأخذ في الاعتبار أن كل معامل من المعاملات له ترتيب ووقت للتنفيذ في التعبير الحسابي مع ملاحظة أنة في حالة استخدام الأقواس مع هذه المعاملات تتقدم الأقواس ، وإذا استخدمنا المعاملات الحسابية إلى جانب المعاملات العلاقية والمنطقية فللمعاملات الحسابية الأولوية على المعاملات العلاقية والمنطقية في التعبير الحسابي والصورة التالية توضح أولوية التنفيذ للمعاملات العلاقية والمنطقية في التعبير الحسابي:
http://www.arab3.com/images15/67495803.jpg
ومع نهاية هذه الفقرة نكون قد أنهينا الوحدة الأولى من سلسلة دروس لغة سي++ فما هي أهداف هذه الوحدة؟ أو بمعنى آخر ما هي الأهداف التي أردة توصيلها إلى القارئ من خلال الدروس السابقه ... سوف ألخصها بالأتي:
1-كيفية إختيار الأسماء التعريفية.
2-المتغيرات وأنواعها .
3-معرفة الكلمات المحجوزة.
4-معرفة المعاملات والتعابير الحسابية وأولوياتها.
5-معرفة المعاملات العلاقية والمنطقية وأولوياتها.
وهذه بعض الأسئله والتمارين على ما سبق دراسته في الوحدة الأولى شفت الشباب ماحد سئل :a4:قلت أسئل أنا فهل لهذه الإسئله من مجيب ؟
س1 ماهي المتغيرات؟
س2 أنظر الى الصورة التالية ومن خلالها أجب عن الإسئلة التي بداخلها
http://www.arab3.com/images15/6992557.jpg
س3 ماهي شروط تسمية المتغيرات؟
س4 ماهي الكلمات المحجوزة؟ أذكر مثال
ومع نهاية هذا السؤال نختم هذه الوحدة على أمل اللقاء بمشيئة الله وقوته في القريب العاجل لنواصل ما بدأنه فإلى ذلك الحين أترككم بحفظ الله ورعايته والسلام عليكم

أبا ياسر
05-03-05, 04:47 pm
جميل جداً اخي الشقردي .. استمر بارك الله فيك ..

وعلى فكرة الصور التي في آخر موضوع لا تظهر ..

ولو تستخدم هذا الموقع لرفع الصور حتى تبقى الصور بإذن الله مدة أطول
http://members.lycos.co.uk/calaam/up/upload.php

دمت بخير ..
:) :) ..

ولدالقصيم
05-03-05, 09:04 pm
يعطيكم ربي العافية

جهود ميزة ليست بغريبه على اهل الكرم

لكن

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


مع شكري لكم

وللشقردي كل احترام وتقدير

تحياتي

MiSs_7o0oRyAh
06-03-05, 02:25 pm
http://www.geocities.com/miss_7o0oryah/basmlah.gif

http://www.geocities.com/miss_7o0oryah/no.gifالسلام عليكم ورحمة الله وبركاتهhttp://www.geocities.com/miss_7o0oryah/no.gif
. . . . .
. . .
.

بارك الله فيك استاذنا الفاضل ...


وهذا شرح الدرس كامل فرغته في ملف وورد
حتى يسهل على الطلاب المذاكرة ...

اتمنى ان يحوز على رضى الجميع .....



.
. . .
. . . . .
http://www.geocities.com/miss_7o0oryah/no.gifتحياااا:for12:ااااتيhttp://www.geocities.com/miss_7o0oryah/no.gif

http://www.geocities.com/miss_7o0oryah/sob7ank.gif

MiSs_7o0oRyAh
06-03-05, 05:40 pm
http://www.geocities.com/miss_7o0oryah/basmlah.gif

http://www.geocities.com/miss_7o0oryah/no.gifالسلام عليكم ورحمة الله وبركاتهhttp://www.geocities.com/miss_7o0oryah/no.gif
. . . . .
. . .
.

وهذا حل الواجب .... :)

ـــــــــــــــــــــــــــــــــــ

ج 1 / المتغيرات هي مكان تخزين المعلومات الواردة
في البرنامج في ذاكرة الحاسب ...

ج 2 /
http://forum.hawaaworld.com/files/58777/6992557.gif

ج 3 / شروط تسمية المتغيرات ...
- أن يكون الحرف الأول من الاسم حرفا أبجديا أو خطاً تحتياً( _ ).
- يجب أن لا يحتوى الأسم على رموز خاصة ، مثل !،&،#،....الخ.
- أن لا يكون الاسم إحدى الكلمات المحجوزه ، مثل if،int،for ....الخ.
- عدم ترك أي مسافه بين حروف الاسم عند التعريف وعند الإستخدام.

ج 4 / الكلمات المحجوزة هي كلمات معرفة مسبقاً لها استخدامات خاصة محددة في لغة ++C
مثل كلمة int .


.
. . .
. . . . .
http://www.geocities.com/miss_7o0oryah/no.gifتحياااا:for12:ااااتيhttp://www.geocities.com/miss_7o0oryah/no.gif

http://www.geocities.com/miss_7o0oryah/sob7ank.gif

@شقردي عنيزة@
08-03-05, 12:32 am
أبا ياسر تسلم أخوي ...والله يبارك بالجميع أن شاءالله
أما بخصوص عدم ظهور الصور ..شكل السبب من المتصفح الخاص حقك لن الشباب تظهر الصور عندهم من دون أي مشاكل ....عموماً أذا أستمرت المشكله عندك ...راجع عيادة الدكتور ابو أبراهيم السعودي وسوف تجد العلاج لديه أن شاءالله ....
:x3:
دام التواصل


ولدالقصيم

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


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

أما بخصوص الواجب..... تستحقين 10/10 الإجابات كلها صحيحه مشاء الله عليكي وصدقيني أن حافظتي على هالمستوى سوف تبدعين بأذن الله طبعاً ....بالتوفيق إن شاءالله
تحياتي أختي

أبا ياسر
08-03-05, 11:12 pm
الصور الآن ظاهره ربما وقت رؤيتي لصورة كانت هناك مشكلة في الموقع المرفوع عليه الصور ..

@شقردي عنيزة@
09-03-05, 08:51 pm
بسم الله الرحمن الرحيم
أخواني أخواتي دائماً على الخير نلتقي بحول الله وقوته ....بعد أن تعرفنا في الوحدة ألاولى على مكونات لغة سي++ ، وبينا من خلال الدروس السابقه القواعد الأساسيه الواجب معرفتها عند الراغبين لتعلم مثل هذه اللغات ، نواصل لننتقل للوحدة الثانية ونتوسع قليلاً لنبداء بمعرفة الشكل العام للبرنامج بلغة سي++ وكيف يتم تنفيذ البرنامج ومن أين ينطلق البرنامج وأين يتوقف وماهي العمليات التى تتم في مختلف مراحل سير البرنامج... فإلى الدرس:

الوحدة الثانية: الملامح الأساسية للغة C++
الشكل العام لبرنامج بلغة C++
من خلال الصورة التالية يظهر لنا أن البرامج المكتوبة بلغة سي++ تشترك بعدة خصائص وكل خاصية لها وظيفة من خلالها يتم توجيه مترجم الإله لتنفيذ خطوات سير البرنامج من بداية البرنامج ألي نهايته
http://www.arab3.com/images15/15418007.jpg
وبعد أن أطلعنا علي الصورة السابقة وقرأنا ما بها من تعليقات على أجزاء البرنامج دعونا أن نتناول هذه التعليقات من خلال درسنا هذا وهو يعتبر من الدروس المهمة فألي الدرس:
الدالة الرئيسية main ( )
يجب أن يحتوي أي برنامج من برامج لغة سي++ على الدالة الرئيسية main ( ) حيث من عندها يبدأ تنفيذ خطوات البرنامج وبنهاية خطواتها ينتهي تنفيذ البرنامج. يحدد القوس المتعرج الأيسر "{" بداية الدالة ويحدد القوس المتعرج الأيمن "}" نهايتها.
الدوال المساندة
قد يحتوى البرنامج على دوال أخرى مساندة ومساعدة للدالة الرئيسية main . يحتاج المبرمج إلى تقسيم مشروعه إلى دوال مختلفة وذلك لتسهيل عملية البناء والصيانة. ويجب أن تكون عملية الاتصال بهذه الدوال عن طريق أوامر موجودة في الدالة الرئيسية. يجب تعريف هذه الدوال في بداية البرنامج وقبل الدالة الرئيسية وذلك لإمكانية الاتصال بها من داخل الدالة الرئيسية. لا تختلف هذه الدالة عن الدالة الرئيسية من ناحية كتابة الخطوات لتنفيذ المطلوب. تكتب في العادة خطوات كل دالة مساندة على حدة بعد الدالة الرئيسية. يحدد القوس المتعرج الأيسر"{" بداية الدالة بينما يحدد القوس المتعرج الأيمن "}" نهايتها.
توجيهات المترجم
تستخدم هذه التوجيهات لإعلام المترجم وأمره بضم مكتبة أو مكتبات جاهزة للبرنامج وقت الترجمة. بواسطة هذه الطريقة نستطيع استخدام دوال ومتغيرات المكتبة أو المكتبات المضمومة وكأنها كتبت داخل البرنامج. يستخدم الأمر (#include) واسم المكتبة بين < > لضم المكتبات المتاحة مع لغة سي++.
مكتبة (iostream.h)
لا يخلو أي برنامج نافع من عمليات إدخال وإخراج و إلا ما الفائدة من البرنامج إذا لم نتمكن من إدخال قيمة أو إخراج معلومة. تستخدم هذه المكتبة لأغراض كثيرة لا يهمنا منها سوى دوال هذه المكتبة التي تمكنا من عمليات الإدخال عن طريق لوحة المفاتيح (cin) أو الإخراج عن طريق الشاشة (cout). دائماً أحرص على ضم هذه المكتبة ضمن برامجك حتى تتمكن من رؤية مخرجات برامجك .
التعليقات
تعتبر التعليقات الموجودة في أي برنامج من الجمل التوضيحية وليس التنفيذية الغرض منها عمل تعليق على أجزاء البرنامج لتسهيل قراءته وصيانته خصوصاً لو كان البرنامج من البرامج الكبيرة المعقدة. يهمل المترجم هذه الجمل وكأنها غير موجودة في البرنامج . هناك طريقتان لكتابة جمل توضيحية:
1- استخدام //
يوضع // قبل بداية السطر للتذليل على بداية جملة توضيحية ولو كان هناك أكثر من سطر متتالي يمكن إضافة // في بداية كل سطر أو استخدام الطريقة الثانية..
2- استخدام /* */
يوضع */ قبل بداية الجملة للتذليل على بداية جملة توضيحية ويوضع /* بعد نهايتها. يستفاد من هذه الطريقة عندما يكون هناك حاجة لكتابة أكثر من سطر متتابع للتوضيح بوضع */ في بداية السطر الأول ووضع /* في نهاية السطر الأخير.
العبارات (الجمل) Statements
تعتبر العبارات حجر الأساس لتنفيذ المطلوب من البرنامج تنقسم العبارات إلى عبارات تنفيذية وعبارات تعريفية. يجب أن تنتهي كل العبارات في البرنامج بالفاصلة المنقوطة( ; )
وعند هذا الحد نختم درس اليوم ونتوقف عند الجمل حيث الدرس القادم نبدا من أنواع الجمل
فأحتى يحين موعدنا أترككم بحفظ الله ورعايته

الرمادي
09-03-05, 10:16 pm
مبدع إستاذي @الشقردي@


نحن معك دائما وابدا


<< اول مره يفهم على طول :)


تقبل تحياتي ,,

@شقردي عنيزة@
10-03-05, 04:15 pm
تسلم أخوي الرمادي..... على الأطراء الجميل
وشكراً جزيلاً على التواصل المستمر ....
ودائماً تجدنا على العهد ما حيينا أن شاء الله
بالتوفيق أخي
>> سعادة المدير الاداري..... أول مره يفهم على طول (ألف الصلاة والسلام عليك ياحبيب الله محمد) :for2:
هههههههههههههههههههههههههههه
حسبي الله على أبليسك

@شقردي عنيزة@
12-03-05, 10:58 pm
بسم الله الرحمن الرحيم ....
قبل أن نواصل درس اليوم أريد أن أشير إلى ان بعض الكلمات التي ترد أحيانأ في الشرح تظهر بصورة خاطئة احياناً بالذات اللي باللغة الانجليزيه والسبب هذا عائد الى المتصفح وعملية الدعم فا دائماً الكلمات الصحيحة هي التي موجوده في الامثلة التي في الصور المرفقه هذا للتوضيح فقط....

توقفنا في الدرس الماضي عند العبارات (الجمل).... وقلنا أن الجمل هي حجر الأساس لتنفيذ المطلوب من البرنامج وتنقسم العبارات إلى عبارات تنفيذية وعبارات تعريفية ...سوف نبدا اليوم من الجمل التنفيذيه ونقول...
العبارات (الجمل) التنفيذية Statements
دائما نستطيع التحكم بعملية سير البرنامج من خلال الجمل التنفيذية حيث أنها تعتبر عصب الحياة لأي برنامج، فمترجم الإله لا يستطيع أن يهمل هذه الجمل فعن طريقها يستمد توجيهاته، لا حظوا مثلاً من خلال الصورة التالية عملية جعل مترجم الإله أن يحجز مساحة باسم متغير ويسند له قيمة :
http://www.arab3.com/images15/35246144.jpg
العبارات (الجمل) التعريفية
كما هو واضح من خلال الصورة السابقة التي إمامنا أننا نستطيع أن نسند أي قيمة لمتغير ما، أو أن نغير قيمته عن طريق ما يسمى بعبارة إسناد. ومن الجدير التنبيه إلى أنه لا يمكن استخدام أي متغير داخل البرنامج قبل التعريف بنوع المتغير لحجز المساحة الكافية لتخزينه في ذاكرة الحاسب، لذلك لا يخلو أي برنامج من تعريف للمتغيرات المستخدمة في البرنامج الصورة التالية توضح عملية تعريف بعض المتغيرات من أنواع مختلفة:
http://www.arab3.com/images15/29742913.jpg
مكان تعريف المتغير ومدى صلاحيتها
يجب لفت الانتباه على أنه يمكن تعريف المتغير في أي جزء من البرنامج شريطة عدم الاستخدام قبل التعريف. مكان التعريف داخل أجزاء البرنامج تحدد مدى صلاحية المتغير. انظر للصورة التالية:
http://www.arab3.com/images15/12030895.jpg
العبارة الجملة المركبة
العبارة المركبة هي أي مجموعة من العبارات التي تنفذ بالتتابع كجملة واحدة عند الحاجة. يبين القوس المتعرج الأيسر "{" بداية الجملة بينما يبين القوس المتعرج الأيمن "}" نهاية الجملة.
دوال الإدخال والإخراج
دائماً عند كتابة أي برنامج يجب ضم مكتبة iostream.h لتتمكن من استخدام دالتي الإخراج cout والإدخال cin
دالة الإخراج cout
تستخدم هذه الدالة للطباعة وإخراج البيانات على الشاشة فيمكن مثلاً طباعة قيمة متغير أو متغيرات ، طباعة رسالة أو نص، الانتقال للطباعة في سطر جديد انظر للصورة التالية لتوضيح طريقة استخدام الدالة لبعض الأمثلة:
http://www.arab3.com/images15/71579499.jpg
يلاحظ من خلال الصورة السابقة سهولة استخدام الدالة cout لإظهار قيمة متغير أو طباعة نص حيث يتم استخدام اسم الدالة cout متبوعاً ب (>>) ثم ما يراد إخراج قيمته أو طباعته مع ملاحظة وجوب وضع ما يراد طباعته كنص بين علامتي التنصيص" " كما أخبرنا في السابق وبالتحديد في درس الثوابت .
رموز التحكم في أخراج النص
تبين الصورة التالية بعض الرموز كثيرة الاستخدام داخل النص وتتحكم في شكل الإخراج مع الدالة cout مع مثال على كل منها:
http://www.arab3.com/images15/85008351.jpg
لا يقتصر وضع هذه الرموز على بداية أو نهاية النص بل يمكن وضعها في أي مكان داخل النص حسب الضرورة كما يمكن استخدام أكثر من رمز معاً داخل نص واحد إذا دعت الحاجة لذلك.. الرمز \n يستخدم بكثرة للانتقال لسطر جديد، يمكن الاستعاضة عنه باستخدام الأمر endl للطباعة أو الانتقال لسطر جديد كما هو موضح في الصورة التالية:
http://www.arab3.com/images15/31750875.jpg
دالة الإدخال cin
تستخدم هذه الدالة لإدخال قيم متغيرات عن طريق لوحة المفاتيح المثال في الصورة التالية يوضح طريقة استخدام الدالة في عملية إدخال القيم إلى المتغيرات:
http://www.arab3.com/images15/61740932.jpg

ومع نهاية هذا المثال نختم درسنا لهذا اليوم والسلام عليكم ورحمة الله وبركاته...
@الشقردي@

@شقردي عنيزة@
19-03-05, 08:11 pm
السلام عليكم ورحمة الله وبركاتة

أخواني اخواتي الأعضاء ...... بما أن مدة رفع الصور أنتهت..
من الموقع أياه ....(الله يفشله فشلنا):for9:
ساحاول أن شاءالله جاهدً أعادة رفعها مره ثانيه....لو مافيه الإ أنا في هالموضوع أدربي راسي لحالي ...لا كن ماعليه أنا برضه استفيد فهذا الموضوع تجديد لمعلوماتي وللجميع التوفيق

@شقردي عنيزة@
19-03-05, 09:36 pm
بسم الله الرحمن الرحيم
تعرفنا في الدرس السابق على الشكل العام للغة سي++ وعن كيفية استخدام بعض الدوال
في برامج سي++، من خلال هذا الدرس سوف نشرح عن الأسلوب المتبع لبناء البرامج
وعملية تحويل البرامج إلى منطق

الأسلوب المتبع لبناء برنامج
دائماً عند بناء أي برنامج في لغة سي++ هناك أساليب يجب أتباعها وهي على النحو التالي:
1-دراسة المشكلة لتحديد المفاهيم الرئيسية لحل المشكلة و محاولة التعبير عن هذه المفاهيم بأسلوب يضمن القوة والمتانة.
2-تحويل المفاهيم الأساسية لحل المشكلة إلى خطوات (المنطق) ومن ثم تحويل الخطوات إلى صيغ تتقبلها لغة سي++.
طرق التعبير عن الخوارزميات (المنطق)
يتم التعبير عن حل المشكلة باستخدام أحد الطريقتين التالية:
1-الطريقة الو صفية
يتم في هذه الطريقة التعبير عن الخوار زم باستخدام الكلمات العادية وهي مفيدة في الخوارزميات البسيطة فمثلاً يمكن كتابة المنطق لإيجاد معدل نجاح 4 طلاب في مادة ما وحساب النسبة اللازمة للنجاح كالتالي:
المنطق
•أقراء درجات الطلاب الأربعة
• احسب المعدل عن طريق جمع الدرجات
•اقسم الدرجات على 4 فإذا كان المعدل اكبر من 60 فإن النسبة مقبولة للنجاح وإظهار رسالة بذلك وألا إظهار رسالة بأن النسبة غير مقبولة.
2- طريقة المخطط الانسيابي
تستخدم هذه الطريقة الرسم لإظهار عمل البرنامج وذلك عن طريق الأشكال الموضحة في الصورة التالية:
http://shgardee.jeeran.com/المخطط%20الانسيابي.JPG
ويمكن توضيح خطوات أو منطق حل المسألة السابقة أيجاد معدل نجاح 4 طلاب بطريقة المخطط الانسيابي كما هو موضح في الصورة التالية:
http://shgardee.jeeran.com/المخطط%20الانسيابي%20لحل%20مشكلة.JPG
دعونا نعود إلى الصورة السابقة ونتتبع خطوات البرنامج من البداية إلى النهاية..
-أبدا..طبعاً هذه هي بداية البرنامج الرئيسي والجميع متفق معنا كما قلنا سابقاً أن أي برنامج دائماً يبدأ من الدالة الرئيسية main حيث من عندها يبدأ تنفيذ البرنامج.
-قراءة الدرجات.. في هذه المرحلة يتم إدخال درجات الطلاب وذلك من خلال رسالة تخبر المستخدم بإدخال الدرجات، وفي مفهومنا نحن طبعاً كما تعلمنا من خلال الدروس السابقة أن الدرجات هي قيم المتغيرات.
-أيجاد المعدل.. في هذه المرحلة تتم عملية المعالجة للبيانات حيث كما هو ظاهر من خلال الصورة السابقة العملية الحسابية لإيجاد المعدل وذلك حسب البيانات المدخلة للبرنامج.
-عملية اتخاذ القرار...تحدث بعد عملية المعالجة وذلك بتحقق شرط معين فإذا تحقق الشرط سوف تنفذ خطوات معينه وأيضاً إذا لم يتحقق الشرط سوف تنفذ خطوات معينة...يعنى ما فيه فكه منفذ خطوات منفذ وهذا هو ما نسميه ب (المنطق) .... ليش! لوعدنا إلى البرنامج السابق وقمنا بإدخال 4 درجات لطالب معين وكانت درجاته أعلى من 60.. في هذه الحالة سوف يطبع لنا رسالة تفيد بالنجاح ... وإذا كانت أقل من 60 سوف يطبع لنا رسالة تفيد بعدم النجاح إذا هذا هو المنطق بعلم البرمجة يجب أن تكون المفاهيم الرئيسية للبرنامج محدده قبل الشروع ببناء البرنامج دائماً حتى تتجنب الأخطاء في برامجك.
ما هو المطلوب لكتابة برامج بلغة سي++
تحتاج لكتابة برامج بلغة سي++ إلى بيئة لتصميم وكتابة وحفظ واسترجاع وترجمة وتشغيل البرنامج.
توجد شركات مشهورة تصنع هذه اللغات مثل شركة Microsoft و شركة Borland ، ونحن سوف نستخدم البيئة المصنعة من قبل شركة Microsoft Visual C++ الإصدار 6.0 ...
أما الآن سوف نقوم بشرح كيفية تشغيل برنامج Microsoft Visual C++ 6.0 وأيضاً كيفية التعامل مع البرنامج.
1-تشغيل البرنامج
-أضغط على زر ابدأ ثم كافة البرامج All Programs (أو البرامج Programs لمستخدمي ويندوز98 ، ملينيوم ، 2000).
-اختيار قائمة Microsoft Visual Studio 6.0 ثم Microsoft Visual C++ 6.0 كما في الصورة التالية:
http://shgardee.jeeran.com/0000.JPG
بعد ذلك سوف تظهر لك الشاشة التالية:
http://shgardee.jeeran.com/1.JPG
بعد ذلك سوف تظهر هذي الشاشة:
http://shgardee.jeeran.com/2.JPG
ثم بعد ذلك سوف تظهر لك هذه النافذه:
http://shgardee.jeeran.com/3.JPG
ثم بعد ذلك سوف تظهر لك الشاشة التالية:
http://shgardee.jeeran.com/4.JPG
بعد ذلك سوف تظهر لك هذه النافذه:
http://shgardee.jeeran.com/5.JPG
الآن أذهب إلى file >>new وسوف تظهر لك الشاشة التالية:
http://shgardee.jeeran.com/6.JPG
الآن بعد الضغط على زر ok سوف تظهر لنا الشاشة التالية:
http://shgardee.jeeran.com/7.JPG
وبنهاية هذه الخطوه نكون قد انتهينا من عملية أنشاء المشروع حيث كما هو واضح من خلال الصورة السابقة أسم المشروع في الجهه اليسرى من النافذه وفي الجهه اليمنى مكان كتابة البرامج وسوف نتطرق لعملية كتابة البرامج في الدروس القادمة أن شاء الله.
أخواني حتى يحين موعدنا القادم أن شاءالله أترككم بحفظ الله ورعايته...

MiSs_7o0oRyAh
19-03-05, 10:01 pm
http://www.geocities.com/miss_7o0oryah/basmlah.gif

http://www.geocities.com/miss_7o0oryah/no.gifالسلام عليكم ورحمة الله وبركاتهhttp://www.geocities.com/miss_7o0oryah/no.gif
. . . . .
. . .
.

الف شكر ابلا شقردي ...:)

الحين بديت ادري وش اليالفة اول اقرا وادربي دميجتي ومدري وين انا بوووه

الف شكر لك ..
ولا تطول علينا في تعديل الصور اللي راحت بارك الله فيك ..

.
. . .
. . . . .
http://www.geocities.com/miss_7o0oryah/no.gifتحياااا:for12:ااااتيhttp://www.geocities.com/miss_7o0oryah/no.gif

http://www.geocities.com/miss_7o0oryah/sob7ank.gif

@شقردي عنيزة@
20-03-05, 10:41 pm
وعليكم السلام ياحوريه

ابلا... والا... هبلا......:a1: هذا مو مهم عندي....أهم شي عندي
أنك بديتي تفهمين للدرس وتركزين
تحياتي

ميدوو
20-03-05, 11:31 pm
والله جهد جبار اخوي شقردي يعطيك الف عافيه على ابداعك الدائم بالشرح
تحياتي

الرامي
22-03-05, 01:38 am
مشكور اخي الشقردي
لكن الصوره ما ظهرت

@شقردي عنيزة@
22-03-05, 08:25 pm
الله يعفيك أخوي ميدوو
وعيال علي يستاهلون كل خير
تحياتي أخوي
مشكور على التواصل

@شقردي عنيزة@
22-03-05, 08:37 pm
الرامي ....الله يحيك أخوي
ومافهمت قصدك أي صوره اللي ماطلعت
الدروس ألاوله والا الدرس الاخير...أذا كانت الدروس ألاوله فهذا عائد للموقع المستضيف للصور وأن شاءالله سأحاول على أعادة رفعها
أما قصد أن كان الدرس الأخير فأحاول يأخي أن تضع مؤشر الماوس على الصورة في حالة
عدم ظهورها ثم اضغط الزر الايمن وأختر اظهار الصوره وان شاءالله سوف تظهر
تحياتي أخوي

@شقردي عنيزة@
28-03-05, 09:48 pm
2-التعامل مع برنامج سي++:
بعد أن تعلمنا في الدرس السابق على عملية تشغيل برنامج سي++ وأيضاً عملية بناء مشروع. صار لزامً علينا معرفة أو طريقة كتابة البرامج وفق بيئة سي++ حيث من خلالها سوف يتضح لنا جميع ما تعلمناه في السابق.
أما الآن فالمطلوب من الجميع تطبيق هذه الامثله تطبيقاً عملياً واقصد طبعاً المهتمين بتعلم هذه اللغة.
المثال الأول
اكتب وترجم ثم نفذ البرنامج التالي ماهي المدخلات وماهي المخرجات:
http://shgardee.jeeran.com/0.JPG
الآن سوف نقوم بتطبيق هذا البرنامج على بيئة سي++، الصوره التالية توضح عملية كتابة البرامج في بيئة سي++.
http://shgardee.jeeran.com/oooo.JPG
لعملية تنفيذ البرنامج السابق تابع الصورة التالية
http://shgardee.jeeran.com/3-1.JPG
ثم بعد ذلك سوف تحصل على الشكل التالي:
http://shgardee.jeeran.com/3-2.JPG
ثم بعد ذلك سوف تظهر الشاشة التالية:
http://shgardee.jeeran.com/3-3.JPG
كما تلاحظون من خلال الصورة السابقة أن المشروع جاهز للتنفيذ ولكن لا تتوقع أن تكون برامجك التي تقوم بكتابتها سليمه دائماً من الأخطاء فلغة سي++ دقيقه جدً في عملية التنفيذ فلا تستغرب أو تصب بأي أحباط اذا أكتشف مترجم الإله أي خطاء أو عيب في برنامجك فأحياناً قد تحتاج إلى مراجعة برنامجك أكثر من مره حتى تكتشف الخطاء وتقوم بتصحيحه ، وإذا استطعت تجاوز هذه المرحلة بنجاح سوف تظهر لك الشاشة التالية:
http://shgardee.jeeran.com/5.JPG
ثم بعد ذلك سوف تحصل على الشاشة النهائية للبرنامج أو المخرجات التى تنتج بعد عملية تنفيذ هذا البرنامج وهي على الشكل التالي:
http://shgardee.jeeran.com/14.JPG
كما تلاحظون هذه شاشة تنفيذ البرنامج بعد التنفيذ النهائي ولكن ألا تلاحظون معي أنه في جملة السطر الأخير من شاشة تنفيذ البرنامج تم دمج الجمله is my first program المراد طباعتها
مع الأمر الافتراضي Press any key to continue. لعلاج مثل هذه المشكله فقط نضيف جملة الانتقال إلى سطر جديد endl في نهاية الجمله
كما في الصوره التالية:
http://shgardee.jeeran.com/15.JPG
أضغط على زر التنفيذ ! وسوف تحصل على الشاشه التالية:
http://shgardee.jeeran.com/8.JPG
الآن بعد أن تعلمنا على عملية أعداد مشروع وأيضاً عملية كتابة البرامج في بيئة سي++ سوف نقوم الآن بتوريد بعض البرامج لنحاول تطبيقها عمالياً وذلك لمزيد من الفائده والتمرس على كتابة البرامج داخل بيئة سي++.
بنفس الخطوات السابقه قم بإعداد مشروع ومن ثم اكتب وترجم ونفذ البرنامج التالي:
http://shgardee.jeeran.com/9-1.JPG
لنفترض أن قيمة x=8 وقيمة y=6 إذا ماهي المدخلات وماهي المخرجات

اكتب ونفذ البرنامج التالي ماهي المخرجات
http://shgardee.jeeran.com/12.JPG
اكتب ونفذ البرنامج التالي ماهي المخرجات
http://shgardee.jeeran.com/13.JPG
ومع نهاية هذه الأمثلة نكون قد أنهينا الوحدة الثانية من سلسلة دروس لغة سي++
فمأهي أهداف هذه الوحدة:
- معرفة الشكل العام للبرنامج بلغة سي++ .
- معرفة الدوال بجميع أنواعها ، توجيهات المترجم، التعليقات، تعريف المتغيرات ، طرق التعبير عن الخوارزميات .
أما الآن فسنقوم بطرح بعض الأسئلة على هذه الوحدة للمساعدة في عملية فهم هذه الوحدة.
س1 ماهي الملامح الرئيسية لبرامج سي++؟
س2 ماهي المكتبة التي تمكننا من استخدام دالتي الإدخال والإخراج؟
س3 ما هو اسم الدالة الرئيسية في أي برنامج؟
س4 اكتب عبارة تعريف المتغير y من نوع عدد عشري؟
س5 اكتب العبارة لإدخال قيمة y ؟
س6 اكتب العبارة لطباعة الرسالة "hello there" متبوعة بسطرين ثم قيمة y ؟
س7 ما هو المنطق ؟
س8 ما هو المخطط الانسيابي ؟
س9 ماذا نعني بمدى صلاحية المتغير؟
وأمل التوفيق للجميع وإلى اللقاء في درس قادم إن شاءالله.

@شقردي عنيزة@
06-04-05, 12:44 am
الوحدة الثالثة
الاختيار
تمثل الدالة الرئيسية في لغة C++ نقطة الانطلاق لتنفيذ البرنامج، منها يتم تنفيذ الجمل بالتتالي من الأعلى إلى الأسفل كما هو مبين في الصورة التالية:
http://shgardee.jeeran.com/f0.JPG
من خلال الصورة السابقة نلاحظ أنه يتم تنفيذ الجمل بالتتالي(statement 1) ثم الجملة الثانية (statement 2) حتى نصل إلى أخر جملة (statement n) والتي بعد تنفيذها نصل إلى نهاية الدالة الرئيسية وبالتالي إلى نهاية البرنامج. كل جملة من الجمل السابقة تمثل عمل شيء ما مصاغ بلغة C++، فمنها ما قد يكون جملة واحدة تنفذ كأمر واحد، ومنها ما هو جملة مركبة (أوامرها محصورة بين قوسين متعرجين { } تنفذ بالتتالي كجملة واحدة.
الغرض من استخدام جمل الاختيار (Selection)
باستخدام أحد جمل الاختيار (Selection) نصل إلى مفترق الطرق لتقرير ما يجب علينا تنفيذه في الجملة حسب ما يمليه علينا (منطق) حل المشكله التي من اجلها كتب البرنامج.
عملية الاختيار تتم بناء على قيمة (حالة) الشرط (Condition) الموجود في الجملة والذي يؤول إلى أحد قيمتين أي (حالتين):
- خطأ ويمثلها القيمة صفر.
- صح ويمثلها أي قيمة أخرى غير الصفر.
لذلك فإن ما يجب تنفيذه في الجملة يتم بناء على قيمة الشرط الموجودة في هذه الجملة.
أنواع جمل الاختيار (selection)
تتم عملية الاختيار (selection) باستخدام أحد الجمل التالية:
1-جملة if الشرطية
2- جملة switch/ case الشرطية
جملة if الشرطية

تستخدم الكلمة if للدلالة على بداية جملة اختيارية يتم فيها التحقق من الشرط (condition) الموجود بالجملة لتنفيذ عمل ما.
تعتبر if من الكلمات المحجوزة في معظم لغات البرمجة ومنها سي++للاستخدام في الجمل الاختيارية .

تأتي جملة if في عدة أشكال:
- الشكل البسيط
- الشكل البسيط البديل
- الشكل المتداخل.
الشكل البسيط : if (condition) statement
يتم في هذا الشكل تغير سير البرنامج لتنفيذ شيء ما في حالة تحقق الشرط الموجود في الجملة ثم إكمال ما تبقى من البرنامج كما هو مبين في المخطط الانسيابي الموضح في الصورة التالية:
http://shgardee.jeeran.com/f1.JPG
يتضح من المخطط الانسيابي لجملة if الشرطية البسيطة:
- تغير مسار تنفيذ البرنامج في حالة تحقق الشرط (تغير المسار في الاتجاة الايمن لتنفيذ جملة أو جملة مركبة) لتنفيذ عمل ما ثم الرجوع للمسار الطبيعي لتنفيذ باقي الجمل في البرنامج.
- لم يتغير مسار تنفيذ البرنامج في حالة عدم تحقق الشرط ( مسار التنفيذ من الأعلى إلى الأسفل).
صياغة جملة if الشرطية البسيطة
يمكن صياغة جملة if شرطية بسيطة كالتالي:
http://shgardee.jeeran.com/f2.JPG
تعتبر الجملة السابقة صياغة لجملة if شرطية بسيطة الغرض منها طباعة رسالة للمستخدم عندما تكون x اكبر من y .
تبدا الصياغة لأي جملة شرطية بسيطة بالترتيب التالي:
- الكلمة المحجوزة if
- الشرط ويجب أن يكون محصور بين قوسين ( )
- الجملة التي يراد تنفيذها في حالة تحقق الشرط. عبارة الأخراج (cout )
مثال1:
أكتب برنامج يقوم باستقبال عددين صحيحين ويستخدم if الشرطية البسيطة لطباعة رسائل إلى المستخدم تبين العلاقة بين العددين (اكبر ، اصغر ، يساوي).
المنطق
- عرف المتغيرين (x,y) من نوع عدد صحيح
- أعلم المستخدم بإدخال قيمة المتغير x
- استقبل القيمة المدخلة لتخزينها كقيمة للمتغير x
- أعلم المستخدم بإدخال قيمة المتغير y
- استقبل القيمة المدخلة لتخزينها كقيمة للمتغير y
- استخدم جملة شرطية بسيطة يكون الشرط فيها صحيحاً إذا كانت قيمة المتغير x أصغر من قيمة y وفي حالة تحقق الشرط تطبع رسالة للمستخدم لإشعاره بذلك.
- استخدم جملة شرطية بسيطة يكون الشرط فيها صحيحاً إذا كانت قيمة x اكبر من قيمة y وفي حالة تحقق الشرط تطبع رسالة للمستخدم لإ شعاره بذلك.
- استخدم جملة شرطية بسيطة يكون الشرط فيها صحيحاً إذا كانت قيمة x تساوي قيمة y وفي حالة تحقق الشرط تطبع رسالة للمستخدم لإ شعاره بذلك.
لنطبق هذا المثال على برنامج سي++ عملياً ونتحقق من صحة هذا المثال

انظر إلى الصورة التالية والشاشات التابعة (شاشه1،شاشه2 ،شاشه3) لترى كيفية ترجمة المنطق التالى لحل المثال بلغة C++ .
http://shgardee.jeeran.com/f3.JPG
في الصورة السابقة كود البرنامج بعد أن قمنا بكتابته في بيئة سي++ والان لنقوم بعملية ترجمة المشروع وتنفيذه كما تعلمنا في الدروس السابقة ونتتبع الشاشات الثلاث لنتحقق من الشروط الثلاثة:
- الشاشة الأولى:
أذا كانت قيمة x أصغر من قيمة y : أذا أطبع رسالة للمستخدم تفيد بذلك.
لنفترض أن قيمة x=5 وقيمة y=8 وذلك حسب الشرط المعطى if(x<y) أنظر إلى الشاشة الأولى:
http://shgardee.jeeran.com/f4.JPG
كما نلاحظ من خلال الشاشة السابقة في السطر الأول العباره Enter x value وهي رسالة تطلب من المستخدم إدخال قيمة للمتغير x كما حددنا نحن ذلك أثناء كتابة البرنامج.
في السطر الثاني قام المستخدم بإدخال قيمة للمتغير وهي الرقم 5 ثم بعد ذلك قام بالضغط على زر انتر.
في السطر الثالث ظهرت رسالة تطلب من المستخدم أدخال قيمة للمتغير y كما حددنا نحن ذلك أثناء كتابة البرنامج أيضاً. قام المستخدم بإدخال الرقم 8 ثم بعد ذلك قام المستخدم بالضغط على زر أنتر... الآن تتم عملية المقارنة بالتحقق من الشرط هل x أصغر من y الجواب (نعم) أذا أطبع رسالة تفيد بذلك وهو ما فعلها هذا البرنامج بالضبط حيث تم طباعة الرسالة المصاحبة في حالة الأصغر (x is less than y) حينما تحقق الشرط.
الشاشة الثانية:
إذا كانت قيمة x أكبر من قيمة y لنتحقق من الشرط ، لنفرض أن قيمة x=10 وقيمة y=7 لنرى ذلك من خلال الشاشة الثانية:
http://shgardee.jeeran.com/f5.JPG
كما هو واضح من خلال الشاشة السابقة قيمة المتغير x=10 وقيمة المتغير y=7 كما أفترضنا وبعد أن تحقق البرنامج من عملية المقارنة بين قيمة المتغيريين ووجد أن الشرط قد تحقق قام بطباعة الرسالة المصاحبة
في حالة الأكبرx is greater than y
الشاشة الثالثة:
إذا كانت قيمة المتغير x تساوي قيمة المتغير y ..لنفرض أن قيمة المتغير x=12 وقيمة المتغير y=12 لنرى ذلك من خلال الشاشة الثالثة:
http://shgardee.jeeran.com/f6.JPG
وبالنظر للشاشة الثالثة يتضح تحقق الشرط في جملة if الثالثة حيث تم طباعة الرسالة المصاحبة
في حالة التساوي x is egual to y

مثال2:
استخدم if الشرطية البسيطة لبناء برنامج لمعرفة تقدير طالب حسب البيانات الموضحة في الصورة التالية:
http://shgardee.jeeran.com/F7.JPG
المنطق
- عرف المتغيرmark من نوع عدد صحيح(لتخزين درجة الطالب المدخله)
- عرف المتغير lgrade من نوع حرف (لتخزين قيمة التقدير)
- اطلب من المستخدم إدخال درجة الطالب
- استقبل القيمة المدخله لتخزينها كقيمة للمتغير mark
- استخدم جملة شرطية بسيطة يكون الشرط فيها صحيحاً اذا كانت قيمة mark أصغر من 60 وفي حالة تحقق الشرط اجعل قيمة المتغير lgrade="F"
- استخدم جمله شرطية بسيطة يكون الشرط فيها صحيحاً اذا كانت قيمة mark أكبر او تساوي 60 وفي حالة تحقق الشرط اجعل قيمة المتغير lgrade="D"
- استخدام جملة شرطية بسيطة يكون الشرط فيها صحيحاً اذا كانت قيمة mark أكبر او تساوي 70 وفي حالة تحقق الشرط اجعل قيمة المتغير lgrade="C"
- استخدام جملة شرطية بسيطة يكون الشرط فيها صحيحاً اذا كانت قيمة mark أكبر او تساوي 80 وفي حالة تحقق الشرط اجعل قيمة المتغير lgrade="B"
- استخدام جملة شرطية بسيطة يكون الشرط فيها صحيحاً اذا كانت قيمة mark أكبر او تساوي 90 وفي حالة تحقق الشرط اجعل قيمة المتغير lgrade="A "
- اطبع الدرجة والتقدير بطباعة قيمة المتغير mark وطباعة قيمة المتغير lgrade

أما الآن أنظر إلى البرنامج من خلال الصورة التالية ثم تابع الشاشات الثلاث لترى كيفية ترجمة المنطق بلغة سي++:
http://shgardee.jeeran.com/f8.JPG
بعد ان أنتهينا من عملية كتابة البرنامج نقوم بعملية التنفيذ لمعرفة كيفية الوصول إلى النتائج من خلال هذا البرنامج:
الشاشة رقم1:
http://shgardee.jeeran.com/f9.JPG
كما هو واضح من خلال الصورة التالية قمنا بإدخال القيمة 100 لإختبار الشرط الخامس (اذا كانت قيمة الدرجة المدخله أكبر من 90 المعدل = 'A' بعد أدخال القيمة نضغط على (انتر) لنرى الناتج على الشاشة التالية:[/
align]
http://shgardee.jeeran.com/f10.JPG
كما تلاحظون من خلال الشاشة التالية بعد ان قمنا بإدخال الدرجة رقم 100 وبعد عملية التنفيذ يقوم البرنامج أولاً بعملية مقارنة الشرط وكما شرحنا في السابق حيث أتفقنا أن عملية تنفيذ أي برنامج تبدا بالتسلسل أي من الأعلى إلى الأسفل حيث يبدا البرنامج بأختبار القيمة مع الشرط الاول فإذا تحقق الشرط فأنه سوف يطبع الجمله المصاحبه مع الشرط الأول وأذا لم يتحقق الشرط فأنه سوف ينتقل إلى الشرط الثاني ليقوم بعملية التحقق من الشرط فإذا تحقق سوف يطبع الجمله المصاحبه مع الشرط الثاني وهكذا.......حتى أن يتحقق الشرط كما في مثل برنامجنا هذا حيث القيمة المدخلة 100 لا تتحقق الأ مع وصول البرنامج إلى الشرط الخامس if(mark>=90) فبعد أن تحقق الشرط قام البرنامج بتنفيذ الجملة المصاحبة: lgrade='A' ....بمعنى أن الدرجة 100 يقابلها المعدل 'A' .
[align=right]الشاشة رقم2:
الدرجة المدخلة=70 والتقدير المحسوب C=
http://shgardee.jeeran.com/F11.JPG
الشاشة رقم3:
الدرجة المدخلة =50 والتقدير المحسوب
http://shgardee.jeeran.com/F12.JPG
كما لاحظنا من خلال الشاشات الثلاث السابقه أن البرنامج يعطي النتائج الصحيحة حسب الدرجات المدخله...
سؤال؟
ماذا لو عكسنا ترتيب الجمل الشرطية في البرنامج السابق مع احتفاظنا بالشروط ذاتها في كل الجمل؟ هل يعطي البرنامج النتائج الصحيحة المتوقعه؟
أنتظر الأجابة ولي عوده أن شاء الله في الدرس القادم لمواصلة ماتوقفنا عنده
والسلام عليكم .....

@شقردي عنيزة@
23-04-05, 12:10 am
تنويه يالربع ...... في الوحدة الثانية وبالتحديد الفقرة كيفية تشغيل برنامج Microsoft Visual C++ 6.0
وردة الصورة رقم (1) ورقم (2) بطريق الخطاء

بسم الله الرحمن الرحيم

أما الآن سوف نقوم بشرح كيفية تشغيل برنامج Microsoft Visual C++ 6.0 وأيضاً كيفية التعامل مع البرنامج.
1-تشغيل البرنامج
-أضغط على زر ابدأ ثم كافة البرامج All Programs (أو البرامج Programs لمستخدمي ويندوز98 ، ملينيوم ، 2000).
-اختيار قائمة Microsoft Visual Studio 6.0 ثم Microsoft Visual C++ 6.0 كما في الصورة التالية:[/align]
http://shgardee.jeeran.com/0000.JPG
بعد ذلك سوف تظهر لك الشاشة التالية:
http://shgardee.jeeran.com/1.JPG
.

والصحيح أن الصورة رقم (1) هي:
http://buraydh.com/forum/attachment.php?attachmentid=12717&stc=1
والصورة رقم (2) هي:
http://buraydh.com/forum/attachment.php?attachmentid=12715&stc=1

لذلك جرى التنبيه تحياتي للجميع