نمرات درس «برنامه نویسی شیئگرا»
برای یافتن نمره خود، باید شماره دانشجویی خود را داشته باشید. کلیدهای CTRL+F را فشرده و شماره دانشجویی خود را وارد کنید تا از بین شمارههای زیر، شماره و نمره شما پیدا شود.
گروه نرم افزار، ترمی:
۸۷۶۹۳۸۱۰۸۸ ۱۳
۸۷۶۹۳۸۱۱۱۱ ۹
۸۷۶۹۳۸۱۱۰۹ ۵
۸۷۶۹۳۸۱۰۷۹ ۳
۸۷۶۹۳۸۱۰۷۷ ۱۴
۸۷۶۹۳۸۱۱۱۲ ۷
۸۷۶۹۳۸۱۰۷۳ ۱۷
۸۷۶۹۳۸۱۱۰۲ ۸
۸۷۶۹۳۸۱۰۹۷ ۱۱
۸۷۶۹۳۸۱۰۸۹ ۷
۸۷۶۹۳۸۱۱۰۱ ۹
۸۷۶۹۳۸۱۰۷۵ ۸
۸۷۶۹۳۸۱۰۷۴ ۵
۸۷۶۹۳۸۱۰۹۸ ۸
۸۷۶۹۳۸۱۰۸۵ ۱۸
۸۷۶۹۳۸۱۰۷۱ ۷
۸۷۶۹۳۸۱۰۹۱ ۱۲
۸۷۶۹۳۸۱۱۰۸ ۶
۸۷۶۹۳۸۱۰۸۴ ۵
۸۷۶۹۳۸۱۰۹۶ ۱۹
۸۷۶۹۳۸۱۰۹۳ ۱۲
۸۷۶۹۳۸۱۱۰۶ ۸
۸۷۶۹۳۸۱۰۷۲ ۹
۸۷۶۹۳۸۱۰۹۰ ۹
۸۷۶۹۳۸۱۰۸۷ ۲۰
۸۷۶۹۳۸۱۱۰۳ ۵
۸۷۶۹۳۸۱۰۹۹ ۱۱
۸۷۶۹۳۸۱۰۸۲ ۱۷
۸۷۶۹۳۸۱۱۰۰ ۵
۸۷۶۹۳۸۱۱۰۷ ۱۸
۸۷۶۹۳۸۱۰۸۳ ۷
۸۷۶۹۳۸۱۰۹۴ ۸
۸۷۶۹۳۸۱۰۸۶ ۱۴
گروه نرم افزار، پودمانی:
۸۷۶۹۳۸۴۳۱۴ ۸
۸۷۶۹۳۸۴۱۶۴ ۷
۸۷۶۹۳۸۴۱۷۹ ۵
۸۷۶۹۳۸۴۳۲۵ ۵
۸۷۶۹۳۸۴۳۴۸ ۵
۸۷۶۹۳۸۴۱۸۵ ۷
۸۷۶۹۳۸۴۲۹۶ ۵
۸۷۶۹۳۸۴۳۴۹ ۱۲
۸۷۶۹۳۸۴۳۰۶ ۵
۸۷۶۹۳۸۴…..وهابی ۵
دانشجویان عزیز، به نکات زیر دقت کنید:
– به دانشجویانی که موفق شدند از این درس نمره قبولی کسب کنند، تبریک عرض میکنم (۱۴ نفر از ۴۲ نفر. یعنی ۳۲ درصد قبولی). میتوان تضمین کرد که این افراد، در دروس بعدی که با درس «برنامه نویسی پیشرفته یا شیئگرا» مرتبط است (مثل درس برنامه نویسی شبکه، مدلسازی دادهها و …) مشکلی نداشته باشند.
– گلایهام از دانشجویانی که نمره قبولی کسب نکردند، این است که وقتی موضوعی را متوجه نمیشوند، همانطور دست روی دست میگذارند و خود را با افکار منفی دلخوش میکنند تا وقت بگذرد، هیچ جنب و جوشی ندارند. باید بین کتابهای مختلف، بین سیدیهای آموزشی مختلف، سایتهای مختلف، اساتید مختلف آنقدر بگردید تا مطلب را متوجه شوید نه اینکه متکی به یک جزوه و کلاس باشید.
– به دانشجویانی که نمره قبولی کسب نکردهاند، یک فرصت دیگر داده میشود، امیدوارم قدر این فرصت را بدانند.
در تاریخ ۱۱ بهمن ۸۸ رأس ساعت ۱۶ یک بار دیگر همین امتحان با همین سؤالات، برگزار میشود.
در تاریخ ۱۰ بهمن ۸۸ رأس ساعت ۱۵:۳۰ یک کلاس توجیهی برگزار میشود.
در این جلسه، تمام سؤالات توسط افرادی که بالاترین نمرات را گرفتهاند، حل و رفع مشکل میشود:
– خانم منصوری، سؤالات ۱، ۲ و ۳ را تشریح خواهند نمود.
– خانم ساربانی، سؤالات ۴، ۵، ۶ و ۸
– آقای قمی، سؤال ۷ و ۹ (مهمترین سؤالات، سؤال ۷ است با ۱۵ نمره و سؤال ۹ است با ۱۰ نمره که آقای قمی با نمره ۲۰ به خوبی تشریح خواهند نمود)
– افرادی که نام بردم، سؤالات مذکور را به درستی حل کردهاند.
– خانم منصوری، خانم ساربانی و آقای قمی موظفند طبق قاعده «زکات علم، آموختن است» در این جلسه حضور یافته و به سؤالات، پاسخ دهند.
– سؤالات به ایمیل این افراد ارسال میشود. (آقای قمی، به بنده ایمیل بزنند تا سؤالات را دریافت کنند)
– حضور تمام افرادی که نمره قبولی نگرفتهاند در جلسه ۱۰ بهمن الزامی است.
– افرادی که نمره قبولی خواهند گرفت، طبق قاعده «من لَم یَشکُرِ المَخلوقَ، لَم یَشکُرِ الخالِق» (هر کس از خلق خدا تشکر نکند، از خالق نیز تشکر نمیکند) موظفند هدیهای برای هر یک از این سه نفر تهیه کنند. (در غیر اینصورت، نمره قبولی تغییر خواهد کرد!!!! )
چند نکته در مورد سؤالات امتحان:
– انتظار میرفت دو سؤال تستی که فقط برای کاهش اضطراب شما در ابتدای سؤالات داده شده بود، توسط همه پاسخ داده شود که متأسفانه در مورد چند نفر چنین نشد.
– در مورد سؤال سوم: «مفهوم شیئگرایی» ربطی به #C ندارد. متأسفانه اکثر شما مشخصات زبان #C را گفته بودید در حالی که سی.شارپ یکی از چندین زبانی است که شیئگرایی را پشتیبانی میکند. شما باید در مفهوم شیئگرایی، به تشابه شیئهایی مثل «شخص»، «کتاب»، «دکمه» و … با شیئهای واقعی دنیای ما اشاره میکردید. که این تشابه، درک برنامهنویسی را آسانتر میکند. و اینکه هر شیئ همچون اشیای واقعی، رفتارها، صفات و عملکردهای خاص خود را دارد که در زبانهای شیئگرا، رفتار یک شیئ را Event و صفت یک شیئ را Property و عملکرد شیئ را Method مینامند.
زبانهایی مثل جاوا، «Visual Basic» و … قبل از ظهور #C، شیئگرایی را پشتیبانی میکردهاند، پس دقت کنید که شیئگرایی ربطی به زبان سی.شارپ و مایکروسافت ندارد…
– در سؤال هفتم که قرار بر این بود که خطوط کدها را تشریح کنید، شما باید حتماً اشاره میکردید که کل برنامه چه کاری انجام میدهد.
در مورد توضیح هر خط، نباید مثلاً بگویید که یک متغیر از ورودی میگیرد!! این که واضح است. باید به طور مثال توضیح دهید که مقداری را به عنوان «باند بالا در بعد صفر مربوط به یک آرایه دو بعدی به نام ARR» از ورودی دریافت میکند. (توضیحات هر خط، کامل و نسبت به برنامه جاری)
– مفهوم Encapsulation در کتاب الکترونیکی که مطالعه کردهاید، مفهوم دقیق و کاملی نیست. در جلسه آخر توضیحاتی در مورد «کپسوله سازی» دادم.
کپسوله سازی همان مفهوم کلی کلاسهاست که شما در یک کلاس، همه چیز را تعریف میکنید و در قالب کلاس (مثل یک کپسول که حاوی همه چیز است) ارائه میکنید. صفات، متودها، اعضای دادهای و … در قالب یک کلاس قرار میگیرند و مثل یک کپسول به کاربر نهایی ارائه میشوند.
مثلاً شما یک کلاس به نام Convert دارید که مایکروسافت زحمت تعریف متودها و صفات آن را کشیده است. یعنی مفاهیم مربوط به تبدیلات دادهای را در کپسولی به نام Convert به شما ارائه کرده است. آیا شما خبر دارید که متود ToString یا ToChar که متودهای کلاس Convert هستند، چطور عمل میکنند؟ خیر. پس یکی از فواید کپسوله سازی، مخفی نگه داشتن عملیاتی است که کاربر نیاز چندانی به دانستن آنها ندارد. (در کتاب الکترونیکی فقط بحث «مخفی سازی» توضیح داده شده است که ناقص است)
نکات پایانی:
– نمرات، فعلاً موقتی است و تصمیم نهایی بعد از ۱۱ بهمن گرفته میشود. (البته نمرات قبول، تغییر نخواهد کرد)
– با نگاهی به نمرات، متوجه میشوید که بنده از دادن نمره ۲۰ به کسی بدم نمیآید و از طرفی اگر کسی شایسته نمره قبولی نباشد، به هیچ وجه نمره قبولی نمیدهم.
هر کس زحمت کشیده باشد، به خوبی متوجه میشوم و نتایج زحماتش را با افتخار به او خواهم داد، اما اگر کسی آنطور که باید، تلاش نکند، متأسفانه…
– إن شاء الله با مطالعه در چند روز باقیمانده و حضور در کلاس رفع اشکال که توسط دوستانتان اداره خواهد شد، همه نمره مورد نظرتان را خواهید گرفت.
– بنده احتمالاً در کلاس رفع اشکل حضور نخواهم داشت، خواهش میکنم به دور از هر گونه شوخی (به خصوص آقایان) و به هم ریختن جو کلاس، کلاس را اداره کنید.
– لیست حضور و غیاب کلاس ۱۰ بهمن، توسط خانم ساربانی تهیه و به آقای مراغی تحویل داده شود.
نکته مهم:
در طی این مدت باید سؤالات را بفهمید، نه اینکه تصور کنید حالا که جوابها را میدانید، میتوانید تقلب کنید. با توجه به اینکه سؤالات آزمون، ارائه و حل شده است، در زمان آزمون، اگر هر گونه تقلب مشاهده شود، نمره فعلی رد خواهد شد…
بیش از این از دست بنده کاری بر نمیآید.
موفق باشید؛
حمید رضا نیرومند
سلام استاد دستتون درد نکنه لطف کردید که ارفاق کردید انشاء… همه باهم جبران کنیم
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)
شی گرایی یکی از مهم ترین و کاربردی ترین مباحث در برنامه نویسی پیشرفته و ساختیافته می باشد .
در حقیقت شی گرایی نوعی طرز تفکر خاص در پیاده سازی برنامه هاست ، به عبارتی برنامه نویس با بخش های مختلف برنامه به همان صورتی که با اشیا در دنیای واقعی رفتار می کند ، ارتباط برقرار می نماید .
مثال هایی از دنیای خارج و همچنین شبیه نمودن اصول شی گرایی به اصول وراثت و….
به یادگیری و تفهیم شی گرایی کمک می نماید .
کلاس ها مهم ترین جزء شی گرایی هستند و در حقیقت کلاس ، تولید کننده یک شی محسوب می شود .
برای برنامه نویسی شی گرا و کپسوله کردن برنامه تسلط به مفاهیم زیر الزامیست :
۱- متدها (رفتار ها)
۲- متغیر ها
۳- خصیصه ها
هر سه بخش فوق می توانند Public , Private یا Protected باشد .
متغیر ها و متد های Private یا خصوصی فقط در همان کلاس قابل دسترسی هستند و از دنیای خارج پنهانند ، متغیر ها و متد های Public یا عمومی از طریق دنیای خارج قابل دسترسی هستند . در مورد Protected هم در بخش وراثت صحبت خواهیم کرد .
در صورتی که نوع متغیر public یا private تعیین نگردد (یا از Dim استفاده شود) به صورت پیشفرض متغیر Private در نظر گرفته خواهد شد .
شما میتوانید در دنیای خارج برای خود مثال هایی از کلاس ها و اشیا بزنید ، به عنوان مثال کلاس انسان را در نظر بگیرید (منظور از کلاس مجموعه رفتار و خصیصه های انسانی است)
فرض کنید این کلاس شامل دو رفتار “رشد کردن” و “حرف زدن” و همچنین دارای سه خصیصه “سن” و “قد” و “رنگ چشم” باشد .
البته می توان سن و قد و رنگ چشم را به عنوان متغیر نیز در نظر گرفت ولی به دلایلی که بعدا ذکر خواهد شد ما این دو را به عنوان خصیصه در نظر میگیریم .
خوب ما یک کلاس به نام انسان داریم که شامل دو متد (رفتار) و سه خصیصه می باشد .
حال می خواهیم یک شی جدید از این کلاس ایجاد نماییم . نام این شی جدید را “آقا فریبرز” میگذاریم .
پس ما یک آقا فریبرز داریم که قادر است حرف بزند و رشد کند ! چرا ؟!
جواب واضح است چون یک شی از کلاس انسان است و انسان همانطور که ما تعیین کردیم رشد می کند و حرف میزند ، بنابراین هر شیی که از این کلاس ایجاد گردد خواص و رفتاری مانند این کلاس خواهد داشت .
فرض می کنیم این شی در کنترل ماست و میخواهیم که ۲ سال رشد کند . این رشد کردن بر خصیصه های سن و قد تاثیر می گذارد ، البته واضح است که بر روی خصیصه رنگ چشم تاثیری ندارد .
خوب من قصد دارم تمامی حرف های بالا را در دنیای برنامه نویسی ایجاد کنم
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