تبليغاتX
C++ آموزش
خب بالاخره این جلسه هم اماده شد. اما دیدم حجمش زیاد میشه دو قسمتش کردم. تازه خب بد تر اینه که ازاین به بعد دیر به دیر تر اپدیت می کنم مثلا دو ماهی به یه بار بالاخره یواش یواش درسا سختر می شه و مسئولیت ها بیشتر می شه کارا بیشتر میشه و.... حالا فعلا اینو داشته باشین ببینم چی میشه.

مثال 1: سیستم پنجره ای:

اهداف مثال:

1.آشنایی با نحوه ی حل مساله و پیاده سازی کلاس ها ی لازم.

2.آشنایی عملی با مفهوم کلاس و اشیاء

جلسه ی قبل گفتیم که سیستم پنجره ای یعنی چه اگر به یاد ندارید حتما همین الان انتهای جلسه هجدهم را بخوانید.

 

اهداف کلاس:

گفتیم که در یک چنین سیستمی باید در هر لحظه

1.به پنجره ی فعال دسترسی داشته باشیم.

2.تعداد پنجره های موجود را بدانیم.

3.بتوانیم پنجره های دیگر را فعال کنیم(بین پنجره ها حرکت کنیم)

 

اهداف اشیاء نمونه سازی شده از کلاس(هر پنجره):

لازمه ی اینها این است که

4.هر پنجره بتواند خودش را رسم کند(ایجاد نمود گرا فیکی)

5. ویژگی های اساسی خود را مانند موقعیت قرار گیری در صفحه نمایش(left,top) , طول و عرض و رنگبندی را بداند.

6.بداند آیا پنجره ی فعال خودش است یا خیر.

و احتمالا یک سری امکانات اضاف که مایلیم هر یک از پنجره هایمان داشته باشند مانند عنوان یا محتوای متنی.

دانلود این جلسه

دانلود سورس کد این جلسه

ادامه ی مطلب فرا موش نشود.


ادامه مطلب
+ نوشته شده توسط سجاد مهدی بیرقدار در یکشنبه هشتم اردیبهشت 1387 و ساعت 1:8 |

این تابع شماره سال را به عنوان ورودی می گیرد در صورت کبیسه بودن مقدار یک و در غیر این صورت مقدار صفر بر میگرداند.

منطق برنامه اینست که سال های 1367و1371 را بعنوان مبداء میگیرد بعد با توجه به کوچکتر یا بزرگتر بودن سال نسبت به این دو مبداء چهارتا چهارتا کم یا زیاد میشود تا عدد حاصل به سال مورد نظر برسد اگر رسید کبیسه است وگرنه نیست.

int is_leap_year(int y){

int count=1367,tmp=0;

 while(count>y)

   count=count-4;

if(count==y)

   tmp=count;

 count=1371;

while(count

   count=count+4;

if((tmp==y)||(count==y))

    return 1;

else

    return 0;

}

خب راه حل بالا برای شروع خوب است اما چندان جالب نیست. در واقع این راه حل پیچیدگی زمانی بهینه ای ندارد اما به عنوان تمرین قابل قبول است. اما راه حل بهتر یک خط فرمول ریاضی است. میدانیم که هر چهار سال یک بار سال کبیسه واقع می شود. پس میتوان با یک تقسیم بر چهار سال کبیسه را شناسایی کرد. اما یک مشکل کوچک وجود دارد.

مشکل این است که عدد سال در تقسیم بر چهار باید چه ویژگی داشته باشد؟ در ریاضیات  مبحث بخشپذیری مطلبی با عنوان اعداد همنهشت مطرح میشود که میگوید عدد a در تقسیم بر b باقیمانده ای خواهد داشت که بین صفر تا b-1 است بنابراین تمام اعداد را میتوان در b مجموعه قرار داد که اعضا هر مجموعه در تقسیم بر b دارای باقیماده ی یکسان هستند.

حال با در نظر گرفتن این مطلب میتوان نشان داد که سالهایی را که بعنوان مبدا در نظر گرفته بودیم در تقسیم بر چهار دارای باقیمانده ی 3 هستند. پس سال های کبیسه اعداد با باقیمانده ی 3 در تقسیم بر چهار هستند.

بنابراین عبارت  year%4==3  میتواند کبیسه بودن یک سال را مشخص کند.

int is_leap_year(int y){

     return y%4==3;

 

+ نوشته شده توسط سجاد مهدی بیرقدار در سه شنبه نوزدهم تیر 1386 و ساعت 23:50 |