نمرات درس «برنامه نويسي شيئگرا»
برای یافتن نمره خود، باید شماره دانشجویی خود را داشته باشید. کلیدهای CTRL+F را فشرده و شماره دانشجویی خود را وارد کنید تا از بین شمارههای زیر، شماره و نمره شما پیدا شود.
گروه نرم افزار، ترمي:
8769381088 13
8769381111 9
8769381109 5
8769381079 3
8769381077 14
8769381112 7
8769381073 17
8769381102 8
8769381097 11
8769381089 7
8769381101 9
8769381075 8
8769381074 5
8769381098 8
8769381085 18
8769381071 7
8769381091 12
8769381108 6
8769381084 5
8769381096 19
8769381093 12
8769381106 8
8769381072 9
8769381090 9
8769381087 20
8769381103 5
8769381099 11
8769381082 17
8769381100 5
8769381107 18
8769381083 7
8769381094 8
8769381086 14
گروه نرم افزار، پودماني:
8769384314 8
8769384164 7
8769384179 5
8769384325 5
8769384348 5
8769384185 7
8769384296 5
8769384349 12
8769384306 5
8769384…..وهابي 5
دانشجويان عزيز، به نكات زير دقت كنيد:
– به دانشجوياني كه موفق شدند از اين درس نمره قبولي كسب كنند، تبريك عرض ميكنم (14 نفر از 42 نفر. يعني 32 درصد قبولي). ميتوان تضمين كرد كه اين افراد، در دروس بعدي كه با درس «برنامه نويسي پيشرفته يا شيئگرا» مرتبط است (مثل درس برنامه نويسي شبكه، مدلسازي دادهها و …) مشكلي نداشته باشند.
– گلايهام از دانشجوياني كه نمره قبولي كسب نكردند، اين است كه وقتي موضوعي را متوجه نميشوند، همانطور دست روي دست ميگذارند و خود را با افكار منفي دلخوش ميكنند تا وقت بگذرد، هيچ جنب و جوشي ندارند. بايد بين كتابهاي مختلف، بين سيديهاي آموزشي مختلف، سايتهاي مختلف، اساتيد مختلف آنقدر بگرديد تا مطلب را متوجه شويد نه اينكه متكي به يك جزوه و كلاس باشيد.
– به دانشجوياني كه نمره قبولي كسب نكردهاند، يك فرصت ديگر داده ميشود، اميدوارم قدر اين فرصت را بدانند.
در تاريخ 11 بهمن 88 رأس ساعت 16 يك بار ديگر همين امتحان با همين سؤالات، برگزار ميشود.
در تاريخ 10 بهمن 88 رأس ساعت 15:30 يك كلاس توجيهي برگزار ميشود.
در اين جلسه، تمام سؤالات توسط افرادي كه بالاترين نمرات را گرفتهاند، حل و رفع مشكل ميشود:
– خانم منصوري، سؤالات 1، 2 و 3 را تشريح خواهند نمود.
– خانم سارباني، سؤالات 4، 5، 6 و 8
– آقاي قمي، سؤال 7 و 9 (مهمترين سؤالات، سؤال 7 است با 15 نمره و سؤال 9 است با 10 نمره كه آقاي قمي با نمره 20 به خوبي تشريح خواهند نمود)
– افرادي كه نام بردم، سؤالات مذكور را به درستي حل كردهاند.
– خانم منصوري، خانم سارباني و آقاي قمي موظفند طبق قاعده «زكات علم، آموختن است» در اين جلسه حضور يافته و به سؤالات، پاسخ دهند.
– سؤالات به ايميل اين افراد ارسال ميشود. (آقاي قمي، به بنده ايميل بزنند تا سؤالات را دريافت كنند)
– حضور تمام افرادي كه نمره قبولي نگرفتهاند در جلسه 10 بهمن الزامي است.
– افرادي كه نمره قبولي خواهند گرفت، طبق قاعده «من لَم يَشكُرِ المَخلوقَ، لَم يَشكُرِ الخالِق» (هر كس از خلق خدا تشكر نكند، از خالق نيز تشكر نميكند) موظفند هديهاي براي هر يك از اين سه نفر تهيه كنند. (در غير اينصورت، نمره قبولي تغيير خواهد كرد!!!! )
چند نكته در مورد سؤالات امتحان:
– انتظار ميرفت دو سؤال تستي كه فقط براي كاهش اضطراب شما در ابتداي سؤالات داده شده بود، توسط همه پاسخ داده شود كه متأسفانه در مورد چند نفر چنين نشد.
– در مورد سؤال سوم: «مفهوم شيئگرايي» ربطي به #C ندارد. متأسفانه اكثر شما مشخصات زبان #C را گفته بوديد در حالي كه سي.شارپ يكي از چندين زباني است كه شيئگرايي را پشتيباني ميكند. شما بايد در مفهوم شيئگرايي، به تشابه شيئهايي مثل «شخص»، «كتاب»، «دكمه» و … با شيئهاي واقعي دنياي ما اشاره ميكرديد. كه اين تشابه، درك برنامهنويسي را آسانتر ميكند. و اينكه هر شيئ همچون اشياي واقعي، رفتارها، صفات و عملكردهاي خاص خود را دارد كه در زبانهاي شيئگرا، رفتار يك شيئ را Event و صفت يك شيئ را Property و عملكرد شيئ را Method مينامند.
زبانهايي مثل جاوا، «Visual Basic» و … قبل از ظهور #C، شيئگرايي را پشتيباني ميكردهاند، پس دقت كنيد كه شيئگرايي ربطي به زبان سي.شارپ و مايكروسافت ندارد…
– در سؤال هفتم كه قرار بر اين بود كه خطوط كدها را تشريح كنيد، شما بايد حتماً اشاره ميكرديد كه كل برنامه چه كاري انجام ميدهد.
در مورد توضيح هر خط، نبايد مثلاً بگوييد كه يك متغير از ورودي ميگيرد!! اين كه واضح است. بايد به طور مثال توضيح دهيد كه مقداري را به عنوان «باند بالا در بعد صفر مربوط به يك آرايه دو بعدي به نام ARR» از ورودي دريافت ميكند. (توضيحات هر خط، كامل و نسبت به برنامه جاري)
– مفهوم Encapsulation در كتاب الكترونيكي كه مطالعه كردهايد، مفهوم دقيق و كاملي نيست. در جلسه آخر توضيحاتي در مورد «كپسوله سازي» دادم.
كپسوله سازي همان مفهوم كلي كلاسهاست كه شما در يك كلاس، همه چيز را تعريف ميكنيد و در قالب كلاس (مثل يك كپسول كه حاوي همه چيز است) ارائه ميكنيد. صفات، متودها، اعضاي دادهاي و … در قالب يك كلاس قرار ميگيرند و مثل يك كپسول به كاربر نهايي ارائه ميشوند.
مثلاً شما يك كلاس به نام Convert داريد كه مايكروسافت زحمت تعريف متودها و صفات آن را كشيده است. يعني مفاهيم مربوط به تبديلات دادهاي را در كپسولي به نام Convert به شما ارائه كرده است. آيا شما خبر داريد كه متود ToString يا ToChar كه متودهاي كلاس Convert هستند، چطور عمل ميكنند؟ خير. پس يكي از فوايد كپسوله سازي، مخفي نگه داشتن عملياتي است كه كاربر نياز چنداني به دانستن آنها ندارد. (در كتاب الكترونيكي فقط بحث «مخفي سازي» توضيح داده شده است كه ناقص است)
نكات پاياني:
– نمرات، فعلاً موقتي است و تصميم نهايي بعد از 11 بهمن گرفته ميشود. (البته نمرات قبول، تغيير نخواهد كرد)
– با نگاهي به نمرات، متوجه ميشويد كه بنده از دادن نمره 20 به كسي بدم نميآيد و از طرفي اگر كسي شايسته نمره قبولي نباشد، به هيچ وجه نمره قبولي نميدهم.
هر كس زحمت كشيده باشد، به خوبي متوجه ميشوم و نتايج زحماتش را با افتخار به او خواهم داد، اما اگر كسي آنطور كه بايد، تلاش نكند، متأسفانه…
– إن شاء الله با مطالعه در چند روز باقيمانده و حضور در كلاس رفع اشكال كه توسط دوستانتان اداره خواهد شد، همه نمره مورد نظرتان را خواهيد گرفت.
– بنده احتمالاً در كلاس رفع اشكل حضور نخواهم داشت، خواهش ميكنم به دور از هر گونه شوخي (به خصوص آقايان) و به هم ريختن جو كلاس، كلاس را اداره كنيد.
– ليست حضور و غياب كلاس 10 بهمن، توسط خانم سارباني تهيه و به آقاي مراغي تحويل داده شود.
نكته مهم:
در طي اين مدت بايد سؤالات را بفهميد، نه اينكه تصور كنيد حالا كه جوابها را ميدانيد، ميتوانيد تقلب كنيد. با توجه به اينكه سؤالات آزمون، ارائه و حل شده است، در زمان آزمون، اگر هر گونه تقلب مشاهده شود، نمره فعلي رد خواهد شد…
بيش از اين از دست بنده كاري بر نميآيد.
موفق باشيد؛
حميد رضا نيرومند
سلام استاد دستتون درد نكنه لطف كرديد كه ارفاق كرديد انشاء… همه باهم جبران کنیم
salam osatd kheyli az shoam mamnonim enshalah jobran konim
salam ostad ma sharmandeim shoma kheily dar haghe ma lotf darin
enshalah jobran konim. doroste inja nabayad moshkelate shakhsi ro matrah kard vali bavar konid ye moshkeli hododan 8mahe baram be vojod omade ke mani ke matnaye englisi 5-6 safeyro toye 1 roz hez mikardam alan nemitonam darsaye rahat ro ham ghabol sham 2 mah pish khastam ba shoma matrah konam
goftam mazlom namay mishe gozashtam bade emtahana be shoma begam omid varam hamishe ensanhye ba khoda va ba iman ro to jamee zyad dashte bashim
salam ostad khyli aghay enfaghe bozorgi dar haghe ma kardid .ye khahesh darim agar momkene kelase roze 10 bahman ro chan roz zodtar bargozar konid .khahesh mikinin azato chon ye chand rozi betonim tamrin konim .kheyli lotf mikonid enshaalah jobran konim.
سلام؛
ساعت و تاریخ کلاس، تغییر نخواهد کرد…
شما بخشهایی از سؤالات که در ذهنتان است را از روی جزوه مرور کنید، اگر مشکل یا سؤالی دارید، لیست کنید و در کلاس حاضر شوید.
با عرض سلام و خسته نباشید .
با تشکر از زحمات بیوقفه شما و از شما بابت الطافی که نسبت به ما داشته اید کمال تشکر وقدر دانی می شود/( عنایت بفرماید سولات برنامه نویسی شی گرا را در سایت قرار داده تا ما باحل کردن آن با آمادگی بیشتری در جلسه امتحان حضور پیدا کنیم.)
با سپاس فراوان رضا فلکی
salam mamnon az shoma jobran mishe i
nshalah
salam kheyli mamnon agar mishe soala ro bezarid to sayt ta ma ba amadegi bishtari sar jalase hazer beshim
salam momnon va motashakerim
ba salam kheyli mamnon az forsati ke dadid
مفاهیم ، مبانی و اصول شی گرایی (OOP)
شی گرایی یکی از مهم ترین و کاربردی ترین مباحث در برنامه نویسی پیشرفته و ساختیافته می باشد .
در حقیقت شی گرایی نوعی طرز تفکر خاص در پیاده سازی برنامه هاست ، به عبارتی برنامه نویس با بخش های مختلف برنامه به همان صورتی که با اشیا در دنیای واقعی رفتار می کند ، ارتباط برقرار می نماید .
مثال هایی از دنیای خارج و همچنین شبیه نمودن اصول شی گرایی به اصول وراثت و….
به یادگیری و تفهیم شی گرایی کمک می نماید .
کلاس ها مهم ترین جزء شی گرایی هستند و در حقیقت کلاس ، تولید کننده یک شی محسوب می شود .
برای برنامه نویسی شی گرا و کپسوله کردن برنامه تسلط به مفاهیم زیر الزامیست :
1- متدها (رفتار ها)
2- متغیر ها
3- خصیصه ها
هر سه بخش فوق می توانند Public , Private یا Protected باشد .
متغیر ها و متد های Private یا خصوصی فقط در همان کلاس قابل دسترسی هستند و از دنیای خارج پنهانند ، متغیر ها و متد های Public یا عمومی از طریق دنیای خارج قابل دسترسی هستند . در مورد Protected هم در بخش وراثت صحبت خواهیم کرد .
در صورتی که نوع متغیر public یا private تعیین نگردد (یا از Dim استفاده شود) به صورت پیشفرض متغیر Private در نظر گرفته خواهد شد .
شما میتوانید در دنیای خارج برای خود مثال هایی از کلاس ها و اشیا بزنید ، به عنوان مثال کلاس انسان را در نظر بگیرید (منظور از کلاس مجموعه رفتار و خصیصه های انسانی است)
فرض کنید این کلاس شامل دو رفتار “رشد کردن” و “حرف زدن” و همچنین دارای سه خصیصه “سن” و “قد” و “رنگ چشم” باشد .
البته می توان سن و قد و رنگ چشم را به عنوان متغیر نیز در نظر گرفت ولی به دلایلی که بعدا ذکر خواهد شد ما این دو را به عنوان خصیصه در نظر میگیریم .
خوب ما یک کلاس به نام انسان داریم که شامل دو متد (رفتار) و سه خصیصه می باشد .
حال می خواهیم یک شی جدید از این کلاس ایجاد نماییم . نام این شی جدید را “آقا فریبرز” میگذاریم .
پس ما یک آقا فریبرز داریم که قادر است حرف بزند و رشد کند ! چرا ؟!
جواب واضح است چون یک شی از کلاس انسان است و انسان همانطور که ما تعیین کردیم رشد می کند و حرف میزند ، بنابراین هر شیي که از این کلاس ایجاد گردد خواص و رفتاری مانند این کلاس خواهد داشت .
فرض می کنیم این شی در کنترل ماست و میخواهیم که 2 سال رشد کند . این رشد کردن بر خصیصه های سن و قد تاثیر می گذارد ، البته واضح است که بر روی خصیصه رنگ چشم تاثیری ندارد .
خوب من قصد دارم تمامی حرف های بالا را در دنیای برنامه نویسی ایجاد کنم
next in ================= http://www.how2learnasp.net =====================================================
کلاس های جنریک (عمومی) کلاس هایی هستند که از آنها می توان برای انواع داده های متفاوت استفاده کرد.
قبل از این که به بحث کلاس های عمومی بپردازیم بهتر است به توابع عمومی (جنریک) نگاهی بیندازیم. به یک مثال توجه کنید. فرض کنید می خواهیم یک تابع به نام sum برای جمع کردن دو عدد ورودی بنویسیم. توابع زیر می توانند برای این منظور تعریف شوند:
public int sum( int a, int b)
{
return (a + b);
}
public double sum( double a, double b)
{
return (a + b);
}
public byte sum( byte a, byte b)
{
return (a + b);
بقيه در :
http://persiadevelopers.com
thx