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


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

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







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

سلام...با آموزش جلسه سوم سی شارپ کار رو ادامه میدیم....راستی تا چند جلسه دیگه وارد آموزش تصویری میشیم....چون مبحث الگوریتم نویسی به تصویر نیاز نداره فعلا فقط متن هستش...اما جلوتر از تصویر هم کمک میگیریم.
جواب تمرین های جلسه قبل:
جواب 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
محمدرضا اسماعیلی
هفتم خرداد 97 05:55 ق.ظ

Fine knowledge. Appreciate it!
cialis sicuro in linea buy cheap cialis in uk wow look it cialis mexico link for you cialis price cialis professional yohimbe cialis 20 mg best price cialis kaufen bankberweisung 40 mg cialis what if i take wow look it cialis mexico where to buy cialis in ontario
بیستم اردیبهشت 97 06:40 ق.ظ

Thank you! Fantastic information.
we like it cialis price generic cialis at walmart cialis generico in farmacia look here cialis order on line cialis sale online cialis patent expiration cialis generika purchasing cialis on the internet cialis reviews cialis online nederland
چهاردهم اردیبهشت 97 08:05 ب.ظ
Thanks very interesting blog!
هفتم اردیبهشت 97 09:16 ب.ظ

Amazing posts. Kudos.
buy cialis online nz cialis prezzo di mercato cialis kaufen wo link for you cialis price cialis tablets for sale click here take cialis cialis 200 dollar savings card cialis en mexico precio cialis cuantos mg hay female cialis no prescription
چهارم اردیبهشت 97 10:11 ق.ظ

Amazing stuff, Thanks.
how to order viagra canadian pharmacy viagra viagra no pres buy viagra cvs how do i buy viagra online viagra online with a prescription viagra dosage buy herbal viagra how do i order viagra online buy viagra online canadian pharmacy
هجدهم فروردین 97 02:27 ق.ظ

Nicely voiced truly. .
usa cialis online cialis 5 effetti collaterali 200 cialis coupon cialis professional from usa cialis generico en mexico cialis generic cost of cialis per pill cialis manufacturer coupon cialis free trial cialis kaufen bankberweisung
چهارم فروردین 97 12:28 ق.ظ

Kudos. A lot of facts!

tesco price cialis cialis 100mg suppliers rx cialis para comprar generic cialis in vietnam where do you buy cialis cialis dosage online cialis tesco price cialis pastillas cialis y alcoho where do you buy cialis
بیست و هشتم اسفند 96 05:58 ق.ظ

Appreciate it, A good amount of tips!

cialis for sale cialis 20mg 40 mg cialis what if i take order a sample of cialis cialis purchasing buy generic cialis estudios de cialis genricos cialis for sale in europa cialis patentablauf in deutschland only best offers 100mg cialis
یکم مهر 96 06:20 ب.ظ
Hi i am kavin, its my first occasion to commenting anyplace, when i read this article i thought i could also
create comment due to this good post.
سی ام مرداد 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
 
لبخندناراحتچشمک
نیشخندبغلسوال
قلبخجالتزبان
ماچتعجبعصبانی
عینکشیطانگریه
خندهقهقههخداحافظ
سبزقهرهورا
دستگلتفکر