منتديات كزورينا


عزيزي الزائر / عزيزتي الزائرة يرجي التكرم بتسجبل الدخول اذا كنت عضو معنا
او التسجيل ان لم تكن عضو وترغب في الانضمام الي اسرة المنتدي
سنتشرف بتسجيلك
شكرا
ادارة المنتدي



 
الرئيسيةمكتبة الصوربحـثالتسجيلدخول

مدير المنتدى:اهنئ اعضاء وزوار المنتدى بعيد الاضحى المبارك وكل عام وانتم بخير


شاطر | 
 

 تعلم برمجة السي شارب من الالف للياء

اذهب الى الأسفل 
كاتب الموضوعرسالة
kazorina
المدير العام

المدير العام
avatar

تاريخ التسجيل : 19/04/2008
اعيش فى :
عددالمساهمات : 466
الجنس : ذكر
تاريخ الميلاد : 10/06/1987
العمر : 31

الابراج : الجوزاء
العمل : خريج
نقاط : 587017
السٌّمعَة السٌّمعَة : 20
نشاط العضو :
100 / 100100 / 100

الموقع http://kazorina.yoo7.com/

مُساهمةموضوع: تعلم برمجة السي شارب من الالف للياء   الثلاثاء 17 أبريل 2012 - 20:42



الدرس الأول


*تعريف البرمجة


ايه هى البرمجة ؟؟ يعنى ايه برمجة

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

فى الحقيقة البرمجة كلمة اوسع واكبر من كده بكتير فالبرمجة هى كل عمل منظم ومرتب يبدأ بحاجات تعرفها وينتهى بنتائج تحققها

مثلا سمعت واحد قبل كده بيقول "اوعى وشك الواد برمجله دماغه " أو "يا لهوى دا البت بوزلته برمجة نافوخه"
ولما حد يعمل حاجة حلوه او يكلفت حد تانى فى حوار تقولله "يا واد يا برمجى "

هى دى البرمجة
البرمجة يا رجاله هى تنظيم وترتيب افكار معينة للوصول لنتائج مطلوبه , بعد كده بقت تتقال على كتابة مجموعة من الأوامر تحدد الخطوات دى زى هبدأ منين ---هعمل ايه ---هنهى ازاى

وعلشان تعرف تبرمج لازم تعرف حاجات مهمة , هى ايه بقى الحاجات دى ؟

1-انت عاوز ايه بالظبط ,, يعنى المطلوب توصل لإيه ؟؟؟ الخطوة دى بنسميها تحديد المشكلة
2-ايه الأدوات اللى هحتاجها علشان اوصل للمطلوب ده ---- ودى بنسميها تحديد العوامل اللى هى العوامل المساعدة يعنى
3-تسمية العوامل (معناها انك تدى لكل حاجة إسم رمزى تعرفها بيه بعد كده , سيم يعنى ) سيبك من دى مؤقتا لكن اعرف اسمها بس وهنجيلها بعدين
4-خطوات التنفيذ يعنى هنعمل ايه بقى بالظبط علشان نوصل للنتيجة اللى احنا عاوزينها دى
5-نعمل حساب الظروف واللى ممكن يطلعلنا فى النص كده ويبوظلنا كل حاجة (عارفين اسمه ايه طبعا عدوها دى) دى بنسميها فى البرمجة استنتاج ومحاولة تفادى الأخطاء المتوقعة
6-وصلنا خلاص وعملنا اللى احنا عاوزينه وبنسميها استقبال النتائج و انهاء البرنامج

نقول مثال عملى على الخطوات دى

انت عاوز تخرج من بيتكو تروح شارع الهرم مثلا (هتعمل ايه هناك يا لئيييييم)
1-تحديد المشكلة = الوصول إلى شارع الهرم
2-الأدوات المطلوبة = وسيلة النقل وفلوس ولا هنقضيها كعابى يعنى
3-تسمية العوامل = هنقول النقل هنسميه مواصلات والفلوس هنسميها الثمن
4- خطوات التنفيذ = ألبس هدومى --- اورنش الشوز --- احط برفان علشان الناس متقرفش منى ---أتأكد من الفلوس والمحفظة والبطاقة علشان اللجان كتير اليومين دول --- اخرج من بيتنا --- ابص على بلكونة الجيران (يمكن اخد نظرة ولا حاجة ) ---اتنرفز علشان افتكرت ان بنت الجيران بتحب واحد تانى --- اطلع على الطريق --- اوقف تاكسى (لو موقفش خد نمرته ووقف غيره ) --- الهرم يا اسطا لو سمحت ---وصلنا الهرم يا استاذ انزل بقى ,انا قلت من الأول شغلانه تقصر العمر(ده السواق اللى بيقول )
5-نعمل حساب الظروف فى كل خطوة من الخطوات اللى فاتت دى مثلا
الهدوم مش مكوية طيب هتعمل ايه (يا اما اكويها يا اكبر دماغى وامشى مكرمش )
البرفان خلص =يا اشترى واحد فى السكة يا ادخل استحمى يا يولعوا الناس هو انا اللى هقرف ولا هم
وهكذا

6-استقبال النتائج وانهاء البرنامج =انزل من العربية وخلص فى الحوار علشان السواق طق منك


هى دى البرمجة ,, سهله صح ؟؟

كل اللى فات ده على فكرة دار فى دماغك يعنى لسه مش على ارض الواقع بمعنى ان ال6 خطوات اللى فاتوا دول انت كمبرمج بتفكر فيهم ويفضل تكتبهم على ورق قبل كتابة البرنامج الفعلى , طيب ليه الدوامة دى ما ادخل على البرنامج علطووووووووووول واخلص

دى من اهم الفروق بين المبرمجين (القدرة على تحليل النظم) يعنى ممكن فعلا تنفض لكل اللى فات وتبدأ بكتابة البرنامج مباشرة بس تعالوا نفكر مع بعض ايه اللى ممكن يحصل فى الحالتين

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

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

المشكلة الأكبر ان فيه مشاكل مش بتوقف البرنامج ولا بتدى خطأ فى الكتابة بنسميها أخطاء منطقية واللى هى بتدى نتائج بس نتائج غير صحيحة زى ايه مثلا ؟؟

زى ما تقعد على القهوة وتقول للقهوجى شاى وحجرين لو سمحت راح الراجل جابلك الشاى والحجرين (نتيجة اهه) بس ممكن تكون مغلوطة ليه ؟؟ علشان جابلك شاى تقيل سكر خفيف وانت بتحبه خفيف سكر زياده او جابلك شيشة معسل زغلول وانت بتشرب قص وقتها يا ترمى الشاى والشيشة (بس هتحاسب عليهم ) يا تقولله يغيرهملك وبرضه هتحاسب عليهم وفى الحالتين خسرت وقتك وخسرت فلوسك

نقطة اخيره فى الطريقتين دول

الطريقة المنظمة الأولى تسهل كتيييير تتبع البرنامج ولو صادفك اى خطأ هتكون عارف بالظبط الخطأ ده فين
الطريقة التانية متاهه لأنك مش محدد من البداية خطوات العمل ولا انت هتروح فين علشان ترجع ازاى

دول الطريقتين وانت اختار اللى يريحك لكن الصح الطريقة الأولى

نلخص الكلام اللى فات بقى علشان هزرنا فيه كتير ونقوله بكلام علمى

****************

مفهوم البرمجة

1-البرمجة هى فن ترتيب الأفكار وخطوات العمل بإستخدام الأدوات المتاحة للوصول لنتيجة محدده
2-البرمجة هى علم حل المشكلات
3-البرمجة هى مجموعة من الخطوات المنظمة التى توضح طريقة الوصول لهدف محدد

كل دول صح وفيه غيرهم كتير من الجمل المشابهة المهم يكون المعنى وصلك

خطوات حل المشكلات (خطوات البرمجة)
1-تحديد الهدف (تحديد المشكلة)
2-تحديد العوامل والوسائل المساعدة وتسميتها
3-كتابة خطوات العمل
4-استنتاج الأخطاء و المشكلات
5-استقبال النتائج وانهاء البرنامج

*****************************************

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

اللى فات ده كان مفهوم البرمجة بوجه عام واللى لو ركزت فيه شوية هتلاقى كل شئ بيدور فى الدنيا ممكن تسميه برنامج وكل حوار بتحور فيه انت وواحد صاحبك علشان تقضوا مصلحة ممكن تسميه برمجه

برمجة الكمبيوتر مش هتختلف عن الكلام ده لكن ليها تعريف زياده شوية وهو
مجموعة من الخطوات المنظمة التى توضح طريقة الوصول لهدف محدد مكتوبة بلغة يفهمها الحاسب الآلى

معنى كده ان الكمبيوتر مبيفهمش اللغة بتاعتنا دى ايوه للأسف مبيفهمهاش طيب بيفهم انهى لغة ,, انجليزى طبعا

لا للأسف ولا انجليزى ,, يااه ده غبى بقى (مش قوى يعنى)

الكمبيوتر لأنه مجرد آله بتشتغل بالكهرباء فهو مبيفهمش غير لغة الكهرباء
والكهرباء مفيهاش غير موجب وسالب (طرف حى فيه كهرباء وطرف ارضى مبيكهربش ) علشان كده الكمبيوتر معندوش غير الحاجتين دول يا موجب يا سالب يا فيه كهربا يا مفيش وبيسمى الطرف الموجب اللى فيه كهرباء بالإسم 1 (واحد) واللى مفيهوش 0 (صفر)
انت هتشتغلنا يا عم امال ازاى بيكتب 5 و10 ومحمد ومحسن وابانوب وعزيز وفيفى عبده
اقوللك يا سيدى

الكمبيوتر بيقسم الذاكره بتاعته لأجزاء (بنسمى كل جزء منها بايت Byte ) كل جزء من دول 8 خانات (وفى الأنظمة المتقدمة زادوا إلى 9 وهناك طرق تقسيم تصل بالبايت الواحد إلى 16 خانه ) خلينا فى اللى العالم كله يعرفوا وهو ال 8 خانات كل بايت من دول يمثل حرف او رقم ندى مثال

00000001 لما يكون الرقم ده موجود فى خانات البايت يطبعلك الرقم واحد طيب واتنين بيفهما ازاى
2= 00000010
وهكذا
3=00000011 4= 00000100 5=00000101 6=00000110 وهكذا
فالكمبيوتر كل اللى بيعمله انه بيقارن الخانات دى ويشوف البايت ده بيساوى اى رقم او اى حرف ويتعامل معاه

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

وهى دى لغات البرمجة

إذا لغة البرمجة هى مجرد وسيط بين الإنسان والكمبيوتر

***********

آخر حاجة بقى علشان انا طولت عليكم قوى كده

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

بمعنى اننا لو عاوزين نطبع جمله فى آخر سطر الكمبيوتر بينفذ كل السطور الأولى لحد ما يوصل لآخر سطر
لكن مع التطور وزيادة أحجام البرامج اللى بقت توصل إلى آلاف الأسطر واحيانا ملايين بقى الموضوع صعب قوى وبياخد وقت طويل جدا فى التنفيذ وخصوصا لو حبينا نعيد البرنامج مرة تانية

ومن هنا اصبح ضرورى جدا ايجاد حل آخر وطريقة جديدة للبرمجة وكانت الطريقة العبقرية الجديدة هى طريقة الأحداث او الأهداف

يعنى ايه وايه هى الطريقة دى

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

وليها مسميات كتييير جدا منها
-البرمجة الموجهة للأحداث
-البرمجة الكائنية
-البرمجة الشيئية
-برمجة الأهداف

كله بمعنى واحد ويقصد بيه الطريقة الجديدة فى البرمجة

من اللغات التى تعتمد هذه الطريقة لغة السى شارب C#

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


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

ولو فعلا كده كتير قولولى علشان بعد كده احاول اقلل شوية


سؤال

- لغة البرمجة هى مجرد وسيط بين الكمبيوتر والويندوز (صح ولا غلط)
- لغة السى شارب من اللغات التى تعتمد طريقة المسار المسلسل

سؤال 2

مطلوب برمجة عمل كوب من الشاى


يا ريت تفكروا فى الأسئلة دى واللى عاوز يكتب إجابته فى مشاركة ماشى علشان نحللها مع بعض (تحليل علمى مش ب و ب)


يا عم انجز بقى كله رغى رغى رغى إخلللاااااااااااااااااا ص

حاضر ,, اشوفكوا المرة الجاية






عدل سابقا من قبل kazorina في الثلاثاء 17 أبريل 2012 - 20:48 عدل 1 مرات
الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو http://kazorina.yoo7.com
kazorina
المدير العام

المدير العام
avatar

تاريخ التسجيل : 19/04/2008
اعيش فى :
عددالمساهمات : 466
الجنس : ذكر
تاريخ الميلاد : 10/06/1987
العمر : 31

الابراج : الجوزاء
العمل : خريج
نقاط : 587017
السٌّمعَة السٌّمعَة : 20
نشاط العضو :
100 / 100100 / 100

الموقع http://kazorina.yoo7.com/

مُساهمةموضوع: رد: تعلم برمجة السي شارب من الالف للياء   الثلاثاء 17 أبريل 2012 - 20:43




الدرس الثانى

عناصر لغة البرمجة

الدرس ده هنتعرف على حاجتين جداد

1-العناصر الأساسية فى لغة البرمجة
3-واجهة وعناصر لغة البرمجة السى شارب C#

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

علشان نعرف البرمجة دى ماشية ازاى لازم نتعرف على العناصر الآتية

الكائنات Objects
الفئات Classes
الوسائل او الطرق Methods

الكائن هو اى شئ له وجود مادى يعنى انا كائن وانت كائن القلم والعربية وكوب الشاى والجو بتاعى والمنتدى ده زرار الرد السريع كائن وعضويتك فى المنتدى كائن الشخصية بتاعتك فى كونكر كائن الأيتمات كائنات وكل ما له وجود مادى فهو كائن
كل كائن له مجموعة من الصفات Property زى الإسم والطول والعرض واللون إلخ (الجو بتاعى مثلا طولها 168 سم وعيونها خضراء وشعرها أصفر (وسعتها شوية انا صح؟؟) دى اسمها صفات الكائن)
كل كائن من دول بيقوم بمجموعة من الأفعال او الطرق Methods زى الوقوف والمشى والقفز والحب والمعاكسة وعمل دماغ والبرمجة وغيرها من التصرفات والأفعال التى يواجه بها الكائن المتغيرات والظروف الجديدة اللى بتقابله فى حياته
كل كائن بتقع عليه مجموعة من الآحداث Events زى خد علقة , البنت بتاعته حبته ، مضغوط عليه وهكذا

إذا نقدر نلم كل اللى فات فى تعريف واحد بيقول

الكائن هو كل كيان مادى له وجود تقع عليه احداث ويقوم بمجموعة من الوسائل

واللى يهمنا فى الموضوع ده علشان ميكونش صعب عليك هو تعريف الكائن ككل شئ مادى له وجود

أما الفئات Classes فهى دى القالب اللى بيطلعلنا الكائنات ,, يعنى ايه ؟؟

يعنى مثلا فى ورشة الأحذية فيه قالب بيطلع احذية من نوع ومقاس معين فالقالب ده بنسميه فئة Class وكل حذاء بيطلع منه اسمه كائن وزى مثلا الرسم الهندسى اللى بيعمله مهندس لبيت أو تصميم عربية جديدة ، الرسم او التصميم اسمهم Classes أما البيت او العربية نفسها فهى كائن إذا الفئات هى القوالب التى تنتج كائنات , ومن الكلام اللى فات ده تقدر تستنتج ان كل الكائنات اللى بتطلع من فئة واحده تتشابه فى الصفات ,صح ؟؟

صح .. لأن القالب بتاعها واحد ،،، ممكن بعد كده انت تغير بعض الصفات دى او كلها زى ما تحب لكن فى الأساس بداية خروجها من الفئة او الكلاس بتكون متشابهه تماما فى الصفات

وده هيجرنا إلى تعريفين مهمين جدا فى البرمجة وهما :-
1-التوريث Inheritance
2-التغليف Encapsulation

*التوريث :- من معناه كده ،، يعنى حاجة بتدى صفات او مميزات لحاجه تانية وطبعا التوريث بيكون من الكبير للصغير زى الأب ما بيورث ابنه وزى الكلاس ما بتدى صفات معينة للكائنات بتاعتها
طيب هل يجوز ان يورث كائن صفاته للفئة؟ طبعا لأ لأن الكائن ابن من ابناء الفئه وده معناه ان الإبن يمكن ان يرث من الأب لكن الأب لا يمكن ان يرث من الإبن (إلا فى حالات خاصة جدا وبطرق خاصة جدا جدا ويمكن نتكلم عنها فيما بعد)

*التغليف :- من اسمها كده هو تغليف البيانات والمعلومات بتاعتنا لإخفاءها عن العامة واللى جه منها كلمة كبسولة (بتاع المضاد الحيوى) وفى لغة البرمجة هى تحديد صلاحيات الوصول إلى معلومة معينه يعنى مش اى حد ياخد المعلومة دى او يوصل للخاصية دى وبعنبر عنها بالكلمة private يعنى خاص ، وعكسها Public او عام زى مثلا فى المنتدى هنا اى حد ممكن يبدأ موضوع جديد او يرد على موضوع بمشاركة يبقى المواضيع الجديدة او اضافة ردود او حتى قراءة المواضيع وردودها من النوع public العام اللى اى حد ممكن يوصلله لكن تعديل المشاركات او حذف المواضيع من المواضيع المغلف او الخاصة private واللى مش من حق حد يوصللها إلا اللى له صلاحيات الوصول دى زى المشرفين او الإدارة او صاحب المشاركة نفسها وهكذا

نفكر نفسنا بأهم النقاط اللى فاتت علشان نشوف فهمنا ولا لسه
- ما هو الكائن object
- ما هو مفهوم الكلاس او الفئة Class
- ما هو الميثود Method
- ما هى الخصائص
-ما مفهوم كل من التوريث والتغليف


طيب لما احب استخدم خاصية للكائن او الفئة او أعدل فيها اعمل ايه

فيه صيغة عامة للتعديل او استدعاء خاصية أو طريقة لأى كائن او كلاس وهى

Object.property=new Value
اسم الكائن او الكلاس ثم نقطة ثم اسم الخاصية تساوى القيمة الجديدة
يعنى مثلا لو عاوز اقول ان اسم الشخصية بتاعتى فى كونكر يكون اسمها New Programmer يبقى اكتبها بالشكل الآتى
MyCharacter.Name=New Programmer
ونفس الصيغة دى تقدر تستخدمها مع اى كائن او مع اى كلاس ولأى صفة او ميثود فيا ريت تحفظها كويس


*واجهة لغة البرمجة السى شارب
اول ما تشغل السى شارب هتظهرلك الشاشة دى
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]

1-الجزء ده هو الجزء الخاص بالتصميم وكتابة البرنامج بتاعك وأول ما تبدأ السى شارب بيجيبلك فيه صفحة البداية Start Page

والصفحة دى نفسها بتتقسم لشوية حاجات (هى مش مهمة قوى بالنسبة لك لكن نقولها برضة من باب العلم بالشئ
2-آخر المشاريع او البرامج اللى قمت بيها او فتحتها على السى شارب واللى ممكن تفتح اى واحد فيهم بمجرد الضغط على اسمه وكمان هتلاقى فوقيهم بشوية كلمتين Open / New واللى هم بتفتح مشروع او برنامج موجود عندك على الجهاز أو تبدأ مشروع جديد بNew
3-مكتبة الفيجوال ستوديو او نصائح وارشادات بتقدمهالك اللغة علشان تساعدك على الشغل

ولما تبدأ مشروع جديد من كلمة New او من قائمة File --> New Project

هتظهرلك الشاشة دى
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]

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

فأنت بتختار نوع المشروع وتكتب اسمه فى خانة Name اللى تحت دى وبعد كده Ok هتلاقى الشاشة دى ظهرتلك
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]

1-هو اسم المشروع اللى انت كتبته فى خانة name
2-هى الكلاس الأولى لمشروعك
3- هى الدالة الأساسية (دالة فى لغة البرمجة يعنى مجموعة من الأوامر بتقوم بوظيفة معينه انت بتحددها ) فى مشروعك او اول دالة هتبدأ تكتب فيها اوامر البرنامج بتاعك
4- مستعرض المشروع وكتبلك فيه نوع مشروعك وتحتيه هتلاحظ 3 كلمات
* Properties وجواها كل خصائص مشروعك
* References وهى ادوات التوثيق أو ملف بيتخزن فيه معلومات عن مشروعك وبعض البرامج الخارجية اللى هتستخدمها إن وجد زى مكانه وتاريخ انشائه وهكذا
* بعد كده كل الكلاسات اللى هيحتوى عليها مشروعك وطبعا فى البداية بيكون كلاس واحد فقط وهو اسم مشروعك

لاحظ علامات { } ودى بتحدد بداية ونهاية كل مجموعة محددة من الأوامر واللى بتكون مرتبطة مع بعض ومشتركة فى نفس الهدف منها

كل اللى فات عن واجهة التطبيق لو فيه حاجه مش مفهومة متقلقش هتفهما بعدين لما نيجى نطبق عملى

وكفاية كده علشان منكترش عليكو






عدل سابقا من قبل kazorina في الثلاثاء 17 أبريل 2012 - 20:49 عدل 1 مرات
الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو http://kazorina.yoo7.com
kazorina
المدير العام

المدير العام
avatar

تاريخ التسجيل : 19/04/2008
اعيش فى :
عددالمساهمات : 466
الجنس : ذكر
تاريخ الميلاد : 10/06/1987
العمر : 31

الابراج : الجوزاء
العمل : خريج
نقاط : 587017
السٌّمعَة السٌّمعَة : 20
نشاط العضو :
100 / 100100 / 100

الموقع http://kazorina.yoo7.com/

مُساهمةموضوع: رد: تعلم برمجة السي شارب من الالف للياء   الثلاثاء 17 أبريل 2012 - 20:45



الدرس الثالث
السلام عليكم
النهارده هنبدأ بأمر الله ندخل فى عالم البرمجة بشكل فعلى وعملى

واعتقد ان اول حاجه لازم نعرفها فى عالم البرمجة كخطوة اولى هى المتغيرات والثوابت

المتغيرات والثوابت


فاكرين فى اول درس قلنا ان خطوة من خطوات حل المشكلات هى تسمية العوامل ,, تسمية العوامل تعنى اعطاء العنصر او العامل اللى هنتعامل معاه إسم نعرفه بيه طول البرنامج ,طيب ليه احنا بنحتاج الأسماء دى ما ندى القيم اللى عندنا مباشرة بدلا من التسمية دى

اولا :- بنحتاج العوامل دى علشان احيانا قيمتها بتساوى حاجات بيكون من الصعب حفظها او بتاخد وقت فى كتابتها يعنى مثلا خدنا فى الإعدادية ان حساب مساحة الدائرة يساوى ط نق تربيع و ط تساوى 22/7 فبدلا من انى كل ما احتاج احسب مساحة دائرة فى البرنامج بتاعى اكتب نفس المعادلة بريح دماغى واعمل عامل مساعد اسمية مثلا س واقول ان
س=22/7
وبكده فى كل مرة احتاج احسب مساحة دائرة بكتب يدوب س*نق تربيع بدلا من 22/7 وطبعا انت ممكن تقوللى بس دى سهلة ومش صعب انى احفظها او اكتبها ده ممكن يكون صحيح لكن انا بس بديك مثال بسيط لكن احيانا بتكون المعادلات اصعب من كده بكتير وأطول فالعوامل المساعدة بتسهل عليك كتيييييييير وتوفر وقت ومجهود ذهنى كبير جدا


ثانيا :- أحيانا مش بتكون عارف القيمة اصلا قبل بداية البرنامج وبتكون القيمة دى هتدخل اثناء سير البرنامج من المستخدم زى مثلا لو طلب منك برنامج لحساب مجموع درجات طلبة مدرسة معينة فى 5 مواد هنا انت مش عارف بالظبط الدرجات دى كام فهتعمل ايه وقتها؟؟

ببساطة هتدى لكل مادة اسم وليكن مثلا المادة الأولى والمادة الثانية وحتى المادة الخامسة

وتبنى البرنامج بتاعك بأسماء المواد دى وبعدين لما المستخدم يدخل الدرجات البرنامج هيمشى طبيعى جدا

التسمية دى فى لغة البرمجه تسمى المتغيرات

وهى حجز اماكن فى ذاكرة الجهاز وتسميتها بإسم المتغير ده وتجهيزها لإعطاء قيمة معينة ليها وفى الحالة دى فى كل مرة بتكتب اسم المتغير ده الكمبيوتر تلقائى بيروح للعنوان ده فى الذاكرة ويشوف قيمته كام ويتعامل مع القيمة دى زى ما انت امرته سواء بالجمع او الطرح او اى عملية حسابية او حتى طباعة او اى شئ آخر وبنسميه متغير لأنه ممكن يحمل قيم مختلفه يعنى ممكن فى بداية البرنامج تكون قيمته 2 وفى نهايته تكون 9 او اى قيمة ايا كانت فلأن قيمته ممكن تتغير فى اى وقت بنسميه متغير

أما الثوابت فهى القيم التى تعطيها للمتغيرات او القيم الثابتة أيا كانت يعنى مثلا الرقم 5 لا يمكن بأى حال من الأحوال يساوى 8 او 4 او اى شئ آخر إلا ال 5 علشان كده اسمه ثابت لأن قيمته لا يمكن تتغير مهما حصل

طيب ازاى بنكتبها فى البرنامج دى , الصيغة العامة هى كالآتى :-
المتغير = قيمة ------------- Variable=Value

فالمتغير يكون دائما قبل علامة تساوى والقيمة بعد علامة التساوى والقيمة دى ممكن تكون ثابت اوعملية حسابية او حتى متغير آخر ,,
ايه اللخبطة دى بقى علشان نفهم الموضوع ده هنقول ازاى البرنامج بيشتغل مع الصيغة دى

البرنامج بيقسم ذاكرة الجهاز اللى هي إسمها الرام إلى أجزاء يشبه الجدول كده كل عمود في الجدول مقسوم نصين الجزء الأعلى فيه عنوان المتغير والجزء الأسفل فيه القيمة زي كده
*******************************
هنا عنوان المتغيرات| متغير 2 |متغير 3
******************************
هنا القيم بتاعتها ...| قيمة 2 ..|قيمة 3
******************************

لما مثلا نكتب الجملة دى س=5 البرنامج علطول بيروح للعنوان اللى فى الذاكرة ويجهز الإبرة بتاعته لكتابة القيمة اللى بعد علامة تساوى وبعدين يقرأ ال 5 ويحطها فى قيمة هذا العنوان اللى هو س
ولما نكتب س= 5+2-3 بيروح للمكان اللى اسمه س ويخلص العملية الحسابية اللى هى 5+2-3 ويشوفها بتساوى كام 4 ويكتب فى قيمة س الرقم 4
اما لو كتبت س=ص مثلا فأيضا بيروح للمكان اللى اسمه س ويجهز إبرة الكتابة وبعدين يروح لبعد علامة تساوى هيلاقيه اسم متغير يقوم يروح بإبرة القرائة للعنوان ص ويشوف قيمته تساوى كام وبعدين يكتبها فى قيمة العنوان س ,, لو الجزء ده مش مفهوم قولولى وانا اوضح اكتر

طيب عرفنا ايه هو المتغير وايه هو الثابت ,, فيه بقى قواعد عامة لكتابة اسماء المتغيرات دى وهى نوعين من القواعد

1-القواعد الأساسية (وهى القواعد اللى لو خالفتها يتسبب فى خطأ البرنامج ) :-
اولا :- يجب ان يبدأ بحرف , يعنى مينفعش يكون اسم المتغير يبدأ برقم او رمز مثلا Name , Age , A66 أو اى كلمة تبدأ بحرف من حروف اللغة
ثانيا :- يجب ان لا تكون من الكلمات المحجوزة للغة , يعنى ايه الكلام ده يعنى فيه كلمات معينة لغة البرمجة بتفهم بيها ايه المطلوب زى مثلا كلمةobject وكلمة class وكلمة if وغيرهم من الكلمات اللى لغة البرمجة بتستخدمها والكلمات دى دائما بتاخد لون مختلف زى الأزرق او الأخضر يعنى لو حاولت تكتب اسم متغير ولقيت لونه اتحول من الأسود إلى اى لون آخر تعرف علطول انه من الكلمات المحجوزة للغة ولا يجوز ليك استخدامه كإسم لمتغير وفى الحالة دى يا اما تغير الإسم او تضيف او تحذف حرف من الحروف اليه
ثالثا :- يجب ان يكون مكون من حروف وأرقام او حروف فقط ولا يحتوى على رمز من الرموز الخاصة زى رموز العمليات الحسابية من ضرب وطرح وقسمة وجمع مثلا او علامات تساوى او علامات الأسس واى علامات خاصة ما عدا علامة الشرطة التحتية Under Score فهى مسموح بها فى اسماء المتغيرات
رابعا :- لا يكون مستخدما من قبل يعنى متكونش كتبته قبل كده كمتغير
خامسا واخيرا بيان نوعه

2-القواعد التنظيمية :- ودى بتمشى عليها علشان يكون شغلك منظم وتعرف تتعامل مع البرنامج فى سهولة ويسر
أولا :- يبدأ بحرف كبير علشان تبعد عن الكلمات المحجوزة وعلشان تلفت نظرك لأنه اسم متغير فالحروف الكبيرة ملفته للنظر
ثانيا :-يعبر عن الوظيفة اللى بيقوم بيها يعنى مثلا لو انت عاوز تحجز اسم متغير هتحط فيه رقم تليفون اصحابك لو كتبته مثلا name مش هيقوللك خطأ فى البرنامج وانما هيكمل عادى جدا ومفيش فيه اى مشاكل لكن بعد كده اى حد هيقرأ البرنامج بتاعك او انت نفسك لو جيت تعدل فيه بعد كده او تقراه مرة تانية اول حاجة هتيجى فى بالك انه بيحمل اسماء مش ارقام تليفونات فيفضل انك تكتبه Phonenumber علشان اى حد يقراه او انت لما تحب تعدل فيه هتفهم مباشرة ان هذا المتغير مخصص لأرقام تليفونات ومش اى حاجة تانية وهكذا
ثالثا :- الفصل بين الكلمات او التمييز بينها يعنى مثلا فى المثال اللى فات كتبنا اسم المتغير Phonenumber وده كلمتين اللى هم Phone وnumber وممكن متكونش واضحة علشان كده قاللك حاول تفصل او تميز ما بين الكلمات فى اسم المتغير ودة ليها طريقتين الأولى انك تكتب اول حرف من كل كلمة بحرف كبير زى كده PhoneNumebr او الطريقة التانية انك تفصل بينهم بالشرطة التحتية زى كده Phone_number او تضم الإتنين Phone_Number زى ما تحب المهم تحاول بقدر الإمكان ان الإسم يكون واضح ومعبر عن الوظيفة اللى بيقوم بيها

وهى دى قواعد تسمية المتغيرات

أنواع المتغيرات والثوابت

لأن لغات البرمجة تطورت وكمان احتياجات المبرمجين تطورت أصبح فيه انواع كتير من المتغيرات تكفى إحتياجاتك بالكامل
فأصبح فيه متغيرات رقمية بأنواعها ومتغيرات حرفية بأنواعها ومتغيرات تاريخ ومتغيرات الصواب والخطأ ومتغيرات الملحوظات ,, سيبك منهم كلهم وركز مؤقتا فى اهم نوعين وهما المتغيرات الحرفية والمتغيرات النصية

أنواع المتغيرات النصية
1-string وهو اشهر واكثر الأنواع انتشارا واستخداما ولما بتكتبه قبل الإسم بتقول للجهاز ان هذا المتغير سيحمل قيم حرفية او نصية فقط وده معناه انك لو اديتله اى قيمه حتى لو كانت مجموعة من الأرقام فسيتعامل معها على انها نص وليست رقم
2-char وده متغير نصى ولكن يحمل قيمة من حرف واحد فقط ولا يمكن ان تكون قيمته اكبر من حرف واحد فقط
3-String خلى بالك أنها نفس النوع الأول مع اختلاف ان الحرف الأول فى الأولى صغير والثانية كبير والفرق بينهما ان الثانية نوع من الدوال وبنستخدمه فى حالات خاصة جدا هنجيلها بعدين لكن اشهر هذه الحالات هو عندما تكون القيمة كبيرة جدا

أنواع المتغيرات الرقمية الصحيحة
1-byte ويحمل قيم حتى الرقم 255 فقط ولو اديتله قيمه اكبر من كده زى 280 مثلا هيطلعك رسالة خطأ
2-short ويحمل قيم من سالب –32768 إلى موجب 32767
3-ushort واكبر قيمة له هى 65535 وأقل قيمة صفر
4-integer وإختصارها int ويبدأ من –2147483647 إلى 2147483647
5-uinteger وإختصارها uint وأكبر قيمة ممكن يحملها 4294967295واقل قيمة صفر
6- long ويحمل قيم من -9223372036854775808 وحتى 9223372036854775807
7-ulong واكبر قيمة هى 18446744073709551616 وأقل قيمة صفر

لو لاحظت ان اى نوع يتحط قبله الحرف u بتكون أكبر قيمة له هى ضعف النوع الأصلى وده سببه ان المكان المحجوز للنوع بتوفر فيه الرقم بالسالب وتضيف المساحة للرقم الأصلى وبكده بيكون الضعف ومن هنا برضه ممكن تستنتج ان كل نوع بيتحدد ليه مساحة معينه فى الذاكرة وده بتحتاجه جدا انك تعرف اكبر واقل قيمة ممكن تستخدمها علشان توفر فى المساحة المتاحة فى الذاكرة وخصوصا مع البرامج الكبيرة


أنواع المتغيرات الرقمية العشرية


1-single ويحمل ارقام عشرية حتى سبع ارقام بعد العلامة

2- double ويحمل ارقام حتى 14 رقم بعد العلامة

متقلقش من القيم دى ومش لازم تحفظها ممكن بس تعرف قيم تقريبية زى ان النوع شورت اكبر قيمه ليه هى 32 الف وفيه طريقة سهلة جدا علشان تعرف اكبر واقل قيمة لنوع معين هنقولها بعدين فمتقلقش انك مش قادر تحفظ القيم دى


بقى ان تعرف ان اى متغير حرفى لا بد ان تكون قيمته بين علامات تنصيص "" يعنى مثلا
"
Address="Egypt
وإلا هتظهر رسالة خطأ


مثال 1:- أكتب برنامج يقوم بطباعة اسم المستخدم وليكن Zero مع جملة ترحيب

اولا هعمل متغير يحمل قيمة اسم المستخدم كالتالى
;"
string Name="Zero
ثانيا هكتب أمر إخراج وليكن إطبع مرحبا + قيمة المتغير
;
Print "Welcome"+Name

وتعالوا نطبق عملى
احنا فى كل الأمثلة اللى جاية هنستخدم نوع المشاريع اللى اسمها console application علشان احنا قلنا قبل كده انه هو النوع الأشهر والأكثر استخداما وخصوصا عند مبرمجى السورسات وأكواد الإتصال عموما
واهم امرين تعرفهم فى النوع ده هم امر ادخال قيم وامر اخراج نتائج
امر الإدخال (واللى بتستخدمه لما تكون فيه قيمة هتدخل أثناء التشغيل)
;()
Console.ReadLine
أمر الإخراج واللى بيستخدم لإظهار نتائج معينة او طباعة معلومات محددة
;()
Console.WriteLine


افتح السى شارب وابدأ مشروع جديد ومن القائمه اختار




Console Application وبعدين ok
هتلاقى الشاشة دى ظهرت
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]


انزل بالمؤشر بتاعك إلى العلامة { اللى تحت كلمة static void Main وإضغط Enter

وإكتب السطرين دول
اقتباس :
string Name="Zero";
Console.Writeline("Welcome "+Name);
ايه اللى احنا عملناه خطوة خطوة
العلامتين {} دول هم بداية مجموعة معينه من الأوامر ونهاية هذه المجموعة
لا بد ان ينتهى كل أمر بعلامة الفاصلة المنقوطة ;
فى السطر الأول قلنا للجهاز إحجز مكان فى الذاكرة بتاعتك واديله اسم Name وده هيحمل قيم من النوع النصى وحط قيمته تساوى Zero

فى السطر الثانى قلنا للجهاز اطبعلى على شاشة المساعد (Console) كلمة Welcome وبجوارها قيمة المتغير Name

بعد ما تخلص اضغط ctrl+F5 او من القائمة اختار Debug ومنها اختار Start Without Debugging هتلاقى الشاشة السوداء بتاعة الكونسول ظهرت وفيها سطرين
Welcome Zero
Press any key to continue …

اضغط اى مفتاح هتلاقى الشاشة اختفت ورجعت تانى لصفحة كتابة مشروعك جرب تضغط F5 من غير كنترول او من قائمة Debug اختار Start Debugging وشوف ايه اللى هيحصل

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

والآن ماذا لو كان هذا الإسم غير معروف من البداية يعنى احنا مش عارفين الإسم اللى هيطلع هنا هتيجى الحاجة لإستخدام امر الإدخال ودى هنعملها بالشكل الآتى
اقتباس :
string Name=Console.ReadLine();
Console.Writeline("Welcome "+Name);
وجرب تشغيل البرنامج هتلاقى الشاشة السوداء ظهرت بدون اى كتابة عليها وفى انتظار أنك تدخل الإسم , اكتب اى اسم واضغط Enter هتلاقى رسالة الترحيب ظهرت بالإسم اللى انت ادخلته

معلش أنا دمى محروق شويتين ومش قادر اكمل دلوقتى وكمان حاسس انى كده كتير عليكو فى مرة واحده فكفاية كده النهارده أنا آسف فعلا بس والله حقيقى مش قادر

مثال للحل :- مطلوب عمل برنامج يقوم بحساب وطباعة مجموع رقمين




الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو http://kazorina.yoo7.com
 
تعلم برمجة السي شارب من الالف للياء
الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
منتديات كزورينا :: قسم الالعاب :: قسم كونكر تهييس :: قسم الشروحات المميزه-
انتقل الى:  
Preview on Feedage: %D9%85%D9%86%D8%AA%D8%AF%D9%8A%D8%A7%D8%AA-%D9%83%D8%B2%D9%88%D8%B1%D9%8A%D9%86%D8%A7 Add to My Yahoo! Add to Google! Add to AOL! Add to MSN
Subscribe in NewsGator Online Add to Netvibes Subscribe in Pakeflakes Subscribe in Bloglines Add to Alesti RSS Reader
Add to Feedage.com Groups Add to Windows Live iPing-it Add to Feedage RSS Alerts Add To Fwicki
الدخول السريع بشكل احترافى
  • تذكرني؟