تبلیغات
برترین وبلاگ آموزش برنامه نویسی - جلسه سوم سی شارپ
 
برترین وبلاگ آموزش برنامه نویسی
درباره وبلاگ


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

مدیر وبلاگ : محمدرضا اسماعیلی
موضوعات
نظرسنجی
سطح تدریس در این وبلاگ چگونه است؟







آمار وبلاگ
  • کل بازدید :
  • بازدید امروز :
  • بازدید دیروز :
  • بازدید این ماه :
  • بازدید ماه قبل :
  • تعداد نویسندگان :
  • تعداد کل پست ها :
  • آخرین بازدید :
  • آخرین بروز رسانی :

سلام...با آموزش جلسه سوم سی شارپ کار رو ادامه میدیم....راستی تا چند جلسه دیگه وارد آموزش تصویری میشیم....چون مبحث الگوریتم نویسی به تصویر نیاز نداره فعلا فقط متن هستش...اما جلوتر از تصویر هم کمک میگیریم.
جواب تمرین های جلسه قبل:
جواب 1)فرض  میکنیم اعداد ورودی هیچکدام با هم برابر نیستند
1-شروع
2- سه عدد A وBوC ورا از ورودی بگیر.
3-اگر A>B و A>C آنگاه A را چاپ کن و برو به مرحله 6
4-اگر B>A و B>C آنگاه B را چاپ کن و برو به مرحله 6
5-C را چاپ کن
6-پایان
جواب 2)
1-شروع
2-ارتفاع و قاعده مثلث را از ورودی دریافت کن
3-  2/(ارتفاع*قاعده) را محاسبه و چاپ کن
4-پایان.
شروع جلسه سوم:

جلسات قبل راجع به مبحث الگوریتم و الگوریتم نویسی بحث کردم...روش کار همینه...فقط ممکنه بعضی الگوریتم ها یه ذره پیچیده باشه که اون موقع باید ابتکار به خرج بدبد..ولی چون این مبحث مهمه بازم این جلسه راجع به همین مسئله بحث  میکنیم:
با یه مثال شروع میکنیم:
سوال)الگوریتمی بنویسید که طول سه ضلع را از ورودی دریافت کند مشخص کند که آیا با این اضلاع میتوان مثلثی ساخت یا نه؟
خیلی خوب اول میریم سراغ حل ریاضی مسئله:
برای اینکه بدونیم با سه ضلع میشه یه مثلث ساخت باید مجموع دو ضلع از ضلع سوم بیشتر باشه یعنی:(فرض میکنیمA  وB  وB   سه ضلع مثلث اند)
A+B>C     AND     B+C>A      AND       A+C>B
دقت کنید داریم میگیم بزرگتر یعنی حتی اگه مساوی باشه نمیشه
اگه این سه تا شرط برقرار باشند اون وقت میشه گفت که میشه ساخت ولی اگه یکی از اینا برقرار نباشه اون وقت نمیشه مثلث ساخت.
.(علامت => یعنی کوچکتر یا مساوی)
الگوریتم برنامه:
1-شروع
2-A و B و C را از ورودی دریافت کن.
3-اگر A+B<=C آنگاه برو به مرحله 7
4-اگر C+B<=A آنگاه برو به مرحله 7
5-اگر A+C<=B آنگاه برو به مرحله 7
6-عبارت "میتوان ساخت" را چاپ کن و برو به مرحله 8
7-عبارت "نمیتوان ساخت"را چاپ کن
8-پایان
سوال 2)
الگوریتمی بنویسید که دو عدد را از ورودی بگیره و جای اونها رو با هم عوض کنه؟
1-دو عدد A و B را از ورودی بگیر.
2-مقدار متغیر A را در متغیر C ذخیره کن(یا میتونیم بگیم C=A)
3-مقدار متغیر B را برابر A قرار بده(یا میتونیم بگیم    A=B)
4-مقدار متغیرC را در متغیر B ذخیره کن(یا میتونیم بگیم B=C)
5-پایان
برای درک بهتر مسئله یه بار روی کاغد با چندتا عدد خودتون امتحان کنید.
سوال 3)
الگوریتمی بنویسید که یه عدد رو از ورودی بگیره و 5 بار عدد 4 رو بهش اضافه کنه.
اینجا یه توضیح لازمه::::::باید مفهوم شمارنده رو بهتون بگم.
شمارنده:

فرض کنیم شما میخواهید ورزش کنید....مربی شما بهتون میگه باید 5 بار بارفیکس برید...
اون وقت شما یه بار بارفیکس میرید و میگید 1.
یه بار دیگه بارفیکس میرید و میگید 2.
و تا5 این مراحل رو تکرار می کنید...
وقتی 5 رو گفتید به مربیتون میگید تمام شد 5 بار حرکت بارفیکس رو انجام دادم.
5 شمارنده نام داره و حرکت بارفیکس چیزی که برنامه از شما می خواد....
5 شمارنده نام داره و اضافه کردن عدد 4 به عدد ورودی چیزیه که برنامه از شما می خواد
توی این برنامه هم همینطوره....
شما یه عدد رو از ورودی میگیرید و 4 تا بهش اضافه می کنید...یه شمارنده تعریف  میکنید تا برا شما 5 تا بشماره
فقط چند تا نکته:
1-مقدار شمارنده باید 0 باشه چون شما وقتی یه متغیر تعریف میکنید توش هیچی نیست...ولی اگه صفر باشه اونوقت میتونید به برنامتون بگید به شمارنده
1 واحد اضافه کن.
2-اگه شمارنده ما برابر 5 شد یعنی ما کارمون رو(اضافه کردن 4 به عدد ورودی)رو 5 بار انجام دادیم پس کار تمومه
حالا الگوریتم برنامه:
1-شروع
2-عدد A را از ورودی دریافت کن.
3-متغیری به نام S تعریف کن و مقدار آنرا برابر 0 قرار بده.
4-    (A=A+4)
5-    (S=S+1)
6-اگر S برابر 5 بود A را چاپ کن و برو به مرحله 8
7- برو به مرحله 4
8-پایان
تحلیل الگوریتم:
S شمارنده ماست یعنی 5 بار میشماره تا ما بتونیم 5 بار عددمون رو با اضافه 4 کنیم.
نکته دیگه دستور A=A+4 هستش....این دستور این کار رو انجام میده:
عددمون رو که از ورودی خوندیم 4 تا بهش اضافه می کنه میذاره تو خود عدد...فرض کنید ما عدد 7 رو وارد کردیم..اون وقت این دستور این کار رو انجام میده:
7+4=7
13+4=13
17+4=17
یعنی مقدار جدید جای مقدار قبلی رو میگیره.
فکر کنم مشکلی نمونده باشه....
شمارنده رو معمولا با نماد I  نشون میدیم.

حالا یه سوال سخت تر:
سوال4)
الگوریتمی بنویسید که N را از ورودی گرفته و مجموع سری زیر را محاسبه کند.

S=1+3+5+7+..........+N

چون این مثال هم مهمه...هم توش چند تا نکته مهم برنامه نویسی هست..........هم یه ذره دقت می خواد....میتونید 10 دقیقه استراحت کنید بعد برید ادامه مطلب....






خیلی خوب...انشا الله خستگی تون در رفته باشه...
بریم سراغ سوال:
فرض کنیم که ما عدد N رو 13 وارد کردیم........اونوقت جواب ما میشه
1+3+5+7+9+11+13:
درواقع روند برنامه اینطوریه:
تا وقتی که به N نرسیدی عملیات جمع باید انجام بشه....
راه حل:
متغیری به اسم  SUM,I در نظر بگیر و مقدار I را برابر 1 و مقدار SUM رو برابر 0 در نظر بگیر.
SUM=SUM+I
حالا مقدار2 را بهI اضافه کن و درI ذخیره کن .(I=I+2)
و این مراحا رو تا زمانی که به N نرسیدی انجام بده.
دقت کنید I اولش 1 بود بعد با SUM جمع شد بعد 2 واحد بهش اضافه شد...
اول برنامه از 1 شروع شده و دوتا دوتا بالا رفته تا به 13 (N) برسه...
پس   I هم از یک شروع شده و بهش دوتا دوتا اضافه شده تا به 13(N) برسه...
الگوریتم برنامه:
1-شروع
2-عدد N را از ورودی دریافت کن.
3-متغیری به نام I تعریف کن و مقدار اون رو برابر 1 قرار بده
4-متغیری به نام SUM تعریف کن و مقدار اون رو برابر 0 قرار بده.
5-SUM=SM+I
6-I=I+2
7-اگر I<=N آنگاه برو به مرجله 5
8-SUM را چاپ کن....
9-پایان...
اگه این الگوریتم رو یه بار روی کاغ تحلیل کنید اگه مشکلی باشه حتما رفع میشه...
شما میتونید سوالاتتون رو از طریق نظرات ارسال کنید و از همین بخش نظرات بیاید وپاسخ سوالات رو دریافت کنید...زیر نظراتون جوابشو میذارم.....
خیلی خوب...جلسه تقریبا سنگینی بود....برید یه کم استراحت کنید بزارید منم به کارم برسم...فعلا....
تمرین1)
الگوریتمی بنویسید که یک عدد را از ورودی گرفته و زوج یا فرد بودن عدد را مشخص کند
تمرین2)
الگوریتمی بنویسید که یک عدد را از ورودی گرفته و تعداد ارقام آنرا چاپ کند(مثلا 142 سه رقم دارد)








نوع مطلب : سی شارپ، 
برچسب ها :
لینک های مرتبط :

       نظرات
بیست و سوم مهر 92
محمدرضا اسماعیلی
سی ام مرداد 96 01:48 ب.ظ
Awesome blog! Do you have any tips for aspiring writers?
I'm planning to start my own site soon but I'm a little lost on everything.
Would you suggest starting with a free platform like Wordpress or go for a paid option? There are so many choices out there that I'm totally overwhelmed ..

Any recommendations? Bless you!
شانزدهم مرداد 96 09:01 ق.ظ
Hey there! This post couldn't be written any better! Reading through this
post reminds me of my old room mate! He always kept
chatting about this. I will forward this write-up to him.
Fairly certain he will have a good read. Thanks for sharing!
هفتم مرداد 96 06:45 ب.ظ
It's awesome in support of me to have a website, which is helpful
in support of my experience. thanks admin
بیست و چهارم مهر 92 05:56 ب.ظ
داداش دیگه اولشو من ندیدم نزن خب؟
محمدرضا اسماعیلی
بیست و چهارم مهر 92 11:11 ق.ظ
این توضیحات سی پلاس پلاس هست نه سی شارپ که
محمدرضا اسماعیلیهمانطور که اول آموزش گفتم مبحث الگوریتم نویسی بین تمام زبان های برنامه نویسی مشترک است.
بیست و سوم مهر 92 06:23 ب.ظ
سلام...ممنون از آموزش خوبتون...
تو رو خدا ادامه بدین...
وسط راه رهاش نکنین
محمدرضا اسماعیلیحتما...ممنون از اینکه با من همراه هستید
بیست و سوم مهر 92 03:49 ب.ظ
khon nistam majboram ba mobile am biyam shakhte!
vali dastet dard nakone ke gozashti .ta shab hamasho minevisam javab tamrinatam midam kheyli azat mamnonam
 
لبخندناراحتچشمک
نیشخندبغلسوال
قلبخجالتزبان
ماچتعجبعصبانی
عینکشیطانگریه
خندهقهقههخداحافظ
سبزقهرهورا
دستگلتفکر