با سلام خدمت دوستان گلم :
با عرض شرمندگی جلسه ی امشب به دلیل شب چله فردا شب تشکیل میشه
ولی احتمالا حل تمرین تشکیل بشه
با تشکر
با سلام خدمت دوستان گلم :
با عرض شرمندگی جلسه ی امشب به دلیل شب چله فردا شب تشکیل میشه
ولی احتمالا حل تمرین تشکیل بشه
با تشکر
ارام تر سکوت کن : ... !
صدای بی تفاوتی هایت ازارم می دهدکلاس های برنامه نویسی ( اموزش )
کلاس های برنامه نویسی سایت ( اطلاعیه )
با سلام مجدد به دوستان گلم و عذر خواهی به دلیل لغو شدن کلاس امشب
انشا ا.... فردا شب کاملا جبران می کنم
این کلاس حل تمرین دو تا سوال جلسه ی قبل هستش پس شروع می کنیم تا دیر نشده
سوال 1 » :
سوال گفته :
مغازه ی فرش فروشی در روز های فرد هفته 3 فرش و در روز های زوج هفته 2 فرش می فروشد , این مغازه روز های جمعه تعطیل است الگوریتمی طراحی کنید که حساب کند در هفته چند فرش فروش دارد ؟ ( این سوال برای افرادی که تازه شروع کردن )
در این سوال نکته ها اینها هستند روز های فرد 3 فرش و روز های زوج 2 فرش
در یک هفته به دست بیارید و جمعه ها هم تعظیله
پس :»
یک نکته ی قشنگ استیو عزیز اشاره کرد توی پاسخی که برام فرستاد که درسته الگوریتمی نبود ولی بعدا بهتون میگم و البته به خودش میگم چرا خوب بود جوابش ولی چون اول درس هستیم نمی تونم بگم
ما در این سوال هفتمون 6 روز داریم که سه روز زوج و سه روز فرده چون تعداد روزهای زوج و فرد مساوی هست می تونیم یک حلقه ی 3 تایی تشکیل بدیم که سه بار یک عمل رو انجام بده مانند زیر
مرحله ی 1 »
2 تا فرش روز زوج
3 تا فرش روز فرد
3+2 = sum
مرحله ی 2 »
2 تا فرش روز زوج
3 تا فرش روز فرد
3+2 = sum
مرحله ی 3 »
2 تا فرش روز زوج
3 تا فرش روز فرد
3+2 = sum
دلیل اینکه سه حلقه گرفتیم رو متوجه شدید ؟؟ اگه متوجه نشدید با یک حساب کتاب ساده به دست میاد
ما هفتمون 6 روزه که 3 روز فرد و 3 روز زوج هست و چون تعداد روز های زوج و فرد یکی هست می تونیم 2 برای هر دو روز توی یک حلقه ای که 3 بار تکرار بشه می توینم یک روز فرد و یک روز زوج رو جا بدیم
شنبه = زوج
یکشنبه = فرد
دوشنبه = زوج
سه شنبه = فرد
چهار شنبه = زوج
پنج شنبه = فرد
شنبه و یکشنبه یک حلقه که هست 2 و 3
دوشنبه و سه شنبه یک حلقه که بازم هست 2 و 3
چهار شنبه و پنچ شنبه هم یک حلقه که اون هم 2 و 3 هست
که سر چمع می تونیم توی سه حلقه سر جمعش کنیم
خوب مراحل 1 تا 3 رو که نوشتم میمنونه مرحله ی 4 که چاپ هست یعنی اون sum که جمع تعداد فرش ها هست رو چاپ کنه
حالا فکر کنید اگه به جای یک هفته میگفتم 9 روز شما چه میکردید ؟؟
اگه سوالی هست در خدمتم وگر نه بریم سوال 2 »::
توی سوال 2 گفتیم »:
مغازه ی فرش فروشی در روز های فرد 4 و در روز های زوج 2 عدد فرش می فروشد یک عدد از ورودی دریافت کند برای تعداد فرش اگر مضربی از 6 بود تعیین کند که چند روز این مغازه کار کرده است و اگر مضربی از 6 نبود چاپ کند عدد مورد نظر قابل قبول نیست ؟
چون گفتیم مصربی از 6 هست خودش یک نکته به شمار میاد
چه اعدادی مضربی از 6 هستند ؟؟!!!
0 , 6 , 12 , 18 , 24 و و و
خوب نکته ی بعد گفتیم روز های فرد 4 و روز های زوج 2 عدد
حالا بیایم واسه 6 حساب کنیم
6 روز
روز اول که زوج باشه 2 فرش
روز دوم که فرد باشه 4 فرش
حالا یک نکته ی جالب که توی این سوال هست اینکه اگه شما باز به جای روز اول زوج بیاین روز اول رو فرد بگیرید باز هم جواب همین به دست میاد
روز اول که فرد باشه 4 فرش
روز دوم که زوج باشه 2 فرش
خوب حالا دیدید که راه حل پیدا شد به چه راحتی
یک سوال دارم ؟؟!! یادتونه جلسه ی اول گفتم که یک ترفند هست توی بچه های کامپیوتر که مسئله رو روی یک تیکه ی کوچیک پیاده میکنن و اون رو روی تمام مسئله پیاده میکنن ؟؟؟ این همون حرف من هست
شما امدید این مسئله رو برای عدد 6 بدست اوردید حالا اگه دقت کنید واسه 12 دوباره همین راه 6 رو باید برید واسه 18 باید 3 بار برید تا تعداد روزها رو به دست بیارید
پس من دیگه با مرحله ای نمی نویسم
میام میگم عدد تعداد فرش رو از ورودی بگیر به عنوان متغییری با نام numbercarpet
خوب بیا تعداد numbercarpet / 6 = loop
اگه در این مرحله numbercarpet = 6 تعداد حلقه ی ما طبق رابطه ی بالا میشه 1 پس یک بار حلقه رو تکرار میکنه
مرجله ی 2 »:
ما باید طبق تعداد حلقه رابطه ی زیر رو تکرار کنیم
تعداد روز های فرد 4
تعداد روز های زوج 2
متغییری با نام sum میگیریم که تعداد فرش های روز ها رو جمع کنیم
sum = 4 + 2
نکته :» یادتون نره به مقدار متغیر loop مراحل جمع انجام میشه
و در مرجله ی اخر هم که چاب میکنیم sum رو
اگه سوالی هست در خدمتم ؟؟؟؟
و اما همین سوال رو درباره ی
تعداد روزها دوست دارم یک تلاشی بکنید مثلا برای 3 روز ( البته خودتون می تونید از تبسره هایی استفاده کنید مثلا از روز زوج شروع بشه یا روز فرد
خیلی سوال جالبیه یکم روش فکر کنید
یک ورودی به عنوان تعداد روز بگیره و تعداد فرش ها رو حساب کنه
البته این مال کسانی هست که دوست دارند پیشرفته ترک کار کنند
خوب حل تمرینمون هم تموم شد اگه سوالی هست در خدمتم بفرمایید ؟؟؟
و اما درباره جواب های دوستمون استیو عزیز هم بگم که راه حلتون خوب بود و شیوه ی راه حلتون برای مسابقات خوبه اگه همینطوری مثلا سوالاتی مثل این نیمچه سوال پایین رو حل کنید
مثلا در سوال بگه این فرمول رو برای n = 10 پیاده سازی کنیدکد PHP:
n! / (n + 1)! + (n + 2)!
ارام تر سکوت کن : ... !
صدای بی تفاوتی هایت ازارم می دهدکلاس های برنامه نویسی ( اموزش )
کلاس های برنامه نویسی سایت ( اطلاعیه )
با سلام خدمت دوستان گل و عزیزم :
جلسه ی سوم رو با نام و یاد خدا شروع می کنیم
اول بخاطر تاخیر یک روزه ی کلاس عذر خواهی میکنم بخاطر شب چله نشد کلاس رو تشکیل بدم
خوب اهدافمون توی این جلسه رفتن تقریبا توی فاز کد نویسی کنار فارسی نوشتن هست
یک جورایی برنامه نویسی کار کردن با متغییر ها هستش یعنی شما رو اطلاعاتی که دارید کار می کنید حالا اطلاعات رو کجا نگه می دارید توی متغیر ها , شما متغیر ها رو می تونید اسمشون رو توی برنامه نویسی هر چیزی بدید
sib
bademjon
golabi98
فقط شما نمی تونید اول اسم متغیرتون شماره مثل 98 بزارید
یعنی
98golabi
اشتباه ها حواستون باشه
همیشه اول متغییر ها باید حروف باشه
اینجوری نمیشه یک برنامه به زبون ++c بنویسیم تا راحتر اجرای برنامه دستتون بیاد
بیاین برنامه ی حداقل و حداکثر دما که توی جلسه ی اول گفتم رو بنویسیم کدش رو , نظرتون چیه ؟؟؟
سوال » ما توی کشورمون دو نوع درجه ی هوا داریم یکی حداقل و یکی هم حداکثر میانگین هر کدام از این دو نوع رو توی یک یک ماه بدست بیارید اگر تفاوت میانگین حداقل با حداگثر 10 درجه بود بگه ماه پاییز است وگر نه بگه ماه پاییز نیست
فکر نکنید اگه متوجه نوشته ها نشدید مشکل دارید هااااااااا نه هنوز زوده ولی من سعی می کنم خوب بازش کنم قضیه رو
کد این برنامه اینجوری میشه
خوب اینم برنامه به زبون ++c چطور بود ؟؟کد PHP:
int mintemp
int maxtemp
int sum.min.temp
int sum.max.temp
float sum.avg.min.temp
float sum.avg.max.temp
int i
int main()
{
fot(int i=0;i<30;i++)
{
cin >> mintemp
cin >> maxtemp
sum.min.temp = mintemp + sum.min.temp
sum.max.temp = maxtemp + sum.max.temp
}
sum.avg.min.temp = sum.min.temp / 30
sum.avg.max,temp = sum.max.temp / 30
if(sum.avg.max.temp - sum.avg.min.temp == 10)
cout<<"fall"
else
cout<<"no fall"
}
حالا بیایم تیکه تیکه ی برنامه رو توضیح بدیم , امشب نمی خوایم بریم به سمت الگوریتم می خوایم یکم درباره ی کد ها صحبت کنیم
توی قسمت اول ما امدیم متغییر ها رو تعریف کنیم
اول نوع متغییر مثل اینجا که نوشتیم int , float وووو
بعد اون یک space و نام متغییرمون رو می نویسیم
راستش یکی از بچه ها قصد کرده بود ++c رو درس بده نمی دونم چی شد راستش پیگیری زیاد نکردم
ولی اگه ایشون شروع کنن خیلی کار ما راحت تر میشه چون میتونیم به الگوریتممون برسیم
خوب بگذریم متغییر های ما توی این برنامه ای که نوشتیم اینها هستند
یک پیشنهاد بهتون میکنم همیشه از نام های با معنا و تا جایی که میتونید انگلیسی استفاده کنید حتی مخفف کلمه هاکد PHP:
int mintemp
int maxtemp
int sum.min.temp
int sum.max.temp
float sum.avg.min.temp
float sum.avg.max.temp
int i
نوشتم int main اگه توجه کنید اون یک جورایی بسم الله برنامه ی ما هست و هرچی توش قرار بگیره البته توی {} این دو تا علامت هاااااااا
برنامه ی ما هست
میریم به قسمت بعد
اگه توجه کنید و خوانده باشید جلسه های قبل رو من درباره ی حلقه صحبت کردم
اون همه از حلقه حرف زدم حلقه اینه :»
من گفتم یک عمل یکسان رو باید 30 بار تکرار کنیم به وسیله ی این ها انجام میشه به ترتیب اون اندیس هایی که توش استفاده شده اینها هستند با این معنی :»کد PHP:
fot( i=0;i<30;i++)
}
{
نوشتم i این یک متغییر هست که توی متغییر ها تعریفش کردیم اول که مقدارش رو 0 دادیم اینجا i = 0 کارش چیه اصلا ؟؟؟!!!!
این متغییر شمارشگر حلقه هست یعنی شمارش می کند که چند بار این حلقه اجرا باید بشه پس از 0 شروع میشه ( البته گاهی اوقات ) و بعد باید ما یک کنترل گر و یک تستر داشته باشیم یعنی یک شرط که توی قسمت دوم اون رو قرار دادیم که هست i < 30 پس تا i برابر 30 نشه این حلقه تکرار میشه که میشه همون 30 روز خودمون و بعدش باید i یک جوری زیاد بشه بعد حلقه که همون ++i هست
ولی یک چیزی اینجا توضیح ندادم اره ; چیزی هست که نگفتم , اره این مثل یک نشون هست که میگه تا اینجا بیشتر این تیکه نیست
اینقدر از اینا کار میکنیم که راحت میشه واستون
حالا بریم سراغ قسمت بعد
نوشتم cin توی اینجا :»»؟؟؟!!!کد PHP:
cin >> mintemp
cin >> maxtemp
یادتونه درباره ی ورودی صحبت کردم ؟؟
این cin یک دستور هست که ورودی رو از شما میگیره یعنی متغیری به نام مقابلش رو از ورودی میگیره و توی همون قرار میده تا شما استفاده کنید ازش
خوب حالا بریم بخش شرطمون که دربارش حرف زدیم
میگفتیم به فارسی اگر ایجوری بود این کارو بکن وگر نه این کارو بکن حالا if به انگلیسی میشه اگر و else میشه وگرنه و دستور شرط به صورت زیر است
کد PHP:
if(sum.avg.max.temp - sum.avg.min.temp == 10)
.به اونچه بین دو تا پرانتز هست میشه شرطمون که اینجا هست حداگثر منهای حداقل اگه شد برابر 10 این کارو بکن
و این تیکه میشه وگر نه خودمون
کد PHP:
else
cout<<"no fall"
خوب حالا رسیدیم به یک کلمه ی جدید ؟؟!!!خوب دیدید که یک برنامه نوشتیم و کار کردیم
cout
یعنی چی به نظرتون ؟؟!
این یعنی همون دستور چاب کن
دوستان گلم اگه می خواید راه بیوفتیم باید برید و یکم کتاب ++c رو بخوانید هاااااااااااا چون یکم باید با دستورات اشنا بشید
چون کد نوشتن خیلی اسونه اگه الگوریتم رو یاد داشته باشید
ما اصل درسمون کار کردن رو الگوریتم ها هست چون مهم تر از کد نوشتن هست
پس اگه کلاسش تشکیل نشد یک نگاهی خودتون بندازید به برنامه نویسیه ++c
کتاب جعفر نژاد قمی بد نیست
دوستان گلم اگه سوالی هست در خدمتم وگر نه بریم یک سوال بدم واسه تمرین :»
سوال :»
برنامه ای بنویسید که 3 تا نمره ی یک دانشجو رو با تعداد واحد های هر درس بگیره و معدل دانشجو رو حساب کنه
ارام تر سکوت کن : ... !
صدای بی تفاوتی هایت ازارم می دهدکلاس های برنامه نویسی ( اموزش )
کلاس های برنامه نویسی سایت ( اطلاعیه )
با سلام به خدمت تمامی دوستان
جواب سوال برنامه ای بنویسید که 3 تا نمره ی یک دانشجو رو با تعداد واحد های هر درس بگیره و معدل دانشجو رو حساب کنه:
1- نمره 1و تعداد واحد درسی 1رو بخون .
2- نمره 2و تعداد واحد درسی 2رو بخون .
3- نمره 3 و تعداد واحد درسی 3 رو بخون .
4-نمرات درسی را با هم جمع بزن و temp_num بریز .
5-تعداد واحدهای درسی را با هم جمع کن و در temp_unitبریز .
6- نمره درسی 1 و تعداد واحدهاشو با هم ضرب کن .
7- نمره درسی 2 و تعداد واحدهاشو با هم ضرب کن .
8- نمره درسی 3 و تعداد واحدهاشو با هم ضرب کن .
9-عدد به دست امده را تقسیم بر temp_unit کن .
با تشکر .
ممنون دوست من برای پاسخ تون.
فقط با اجازه جناب NameEly نکته های پاسخ تون را بگم.
مرحله 4 و temp_num هیچ استفاده ای ازش نشده یعنی در روند پیشبرد برنامه کمکی نکرده.
از طرفی اعداد حاصل از مراحل 6 و 7 و 8 باید با هم جمع شود و این حاصل جمع تقسیم به temp_unit شود.
درواقع در مرحله 9 اشاره نکردید که چی را به temp_unit تقسیم میکنیم.
کل ایده برنامه تون درسته .احتمالا موقع نگارش این جابجایی کوچک پیش اومده.
سپاس برای پاسخ تون
ممنون گلم ، خوبی ؟
در مرحله 4 نمرات درسی رو با هم جمع زدم تا بتونم مقدار نمره درسی رو بسازم .
اعداد حاصل از جمع مراحل6-7-8 را تقسیم بر temp _unit کردم . همون چیزی رو که در مرحله 10 نوشتم . یعنی عدد به دست امده را تقسیم بر temp_unit کن .
البته اون موقع که جواب رو نوشتم ، سرعت نت خراب و به شدت افتضاح بود حتی با VPN ، به همین خاطر از جهت سردرد و اعصاب خرد کنی حاصله از نت ، حتی خودم هم نمی دونم اصلا چه جوری نوشتمش .
حال که میبینم تا حدی خوب بوده ، خیلی خوشحالم .
با این حال بازم ممنون .
ویرایش توسط Joseph Goebbels : 24th December 2011 در ساعت 07:36 PM
متوجه نمیشم مقدار نمره درسی چی هست؟
اعداد حاصل از مراحل 6و7و8 ، 3 عدد مختلف میشه، چه طور به temp_unit تقسیمشون کرد؟
باید اول جمع شون کرد بعد تقسیم کرد.
کلا اینو بگم که فرمول میانگین برای داده های x1 ,x2 ,...,xn با فراوانی های f1 ,f2 ,...,fn میشه:
(x1*f1 +x2 *f2+...+xn*fn)/(f1+f2+...+fn)
پس به جمع داده ها نیازی نداریم.
با سلام خدمت دوستان گلم و تشکر و قدردانی از ناپلئون و استیو عزیز بخاطر زحماتشون :»
بقیه دوستان انگار ازشون خبری نیست وقت جواب دادن سوالات
ولی بازم تشکر می کنم از دوستانی که من رو تنها نذاشتن و با جواب هاشون منو به بقیه اموزش امیدوار کردن
یک نکته درباره ی سوال ناپلوئون عزیز بدم اینکه ایشون در مرحله ی 6 تا 8 امده بدون اینکه متغییری در نظر بگیره عمل رو انجام داده
این کار یک خوبی داره چیه تعجب کردید ؟
بله درست شنیدید
ما توی برنامه نویسی از متغییر ها استفاده می کنیم متغییر ها می تونن اندازه های گوناگون داشته باشن 4 بایت 16 بایت و و و
بعضی اوقات شما باید برای نگه داری مقداراتون از متغییر استفاده کنید پس مجبورید با جون و دل مقدار حافظه رو به متغییر اختصاص بدید
ولی وقت هایی که می تونید بدون متغغیر کار کنید دادن حافظه زیاد خوب نیست
ولی بیشتر اوقات باید حافظه داده بشه
حالا اگر توی جواب ناپلئون عزیز قسمت 6 تا 8 رو بخواین به صورت حلقه بنویسید لازمه از متغییر استفاده کنید
ولی :»
اگه خواسته باشید به این صورت باشه18*3+19*2+20*4لازم نیست از متغییر استفاده کنید
ولی بگم این حالت رو فقط زمانی میتونید استفاده کنید که تعداد متغییر هاتون کم باشه
با تشکر از دوستان عزیز
ارام تر سکوت کن : ... !
صدای بی تفاوتی هایت ازارم می دهدکلاس های برنامه نویسی ( اموزش )
کلاس های برنامه نویسی سایت ( اطلاعیه )
با سلام خدمت دوستان گلم :»
من یک پیشنهاد دارم واسه برخی جلسات برنامه نویسیمون و مخصوصا جلسه ی امشب
قصد دارم کلیپ اموزشی کلاس امشب رو به جای متن در سایت قرار بدم اونهایی که توانایی دانلود دارند لطفا من رو در جریان بزارن
اونهایی هم که ندارند هم به همین صورت تا تصمیم گیری بشه که ایا این کلیپ واسه کلاس امشب تهیه بشه یا نه
لطفا تا عصر روز یکشنبه 10/4 خبر رو به من اطلاع بدید
حجم کلیپ های اموزشی که تهیه میشه حداکثر 20 تا 40 مگابایت خواهد بود و اگر لازم باشد با صدا تهیه میشود
منتظر جواب هاتون هستم
با تشکر
ارام تر سکوت کن : ... !
صدای بی تفاوتی هایت ازارم می دهدکلاس های برنامه نویسی ( اموزش )
کلاس های برنامه نویسی سایت ( اطلاعیه )
من اصلا نتونستم بااین آموزشی که دادید بنویسم ...میدونید چرا؟
من میتونم مسئله ها رو بنویسم اما نمیتونم چجوری بنویسم
مثل این میمونه
من بلدم فارسی حرف بزنم اما از من املا نگیرید
تنها زبون برنامه نویسی که به ما یاد دادن کیو بیسیک بود...که همون هم به زور بهمون یاد دادن
نه مدرسه ما پیشرفته بود ..هنوز برنامه نوبسی پیشرفته ای نیومده بود که در شٱن مدرسه ما باشه و سعی کردن با بهترین زبان برنامه نویسی یعنی کیو بیسیک باهامون کار کنن اونم به طور طولانی مدت یعنی 2 جلسه دو ساعته در سال...تازه 1.5 ساعت بیشتر سر کلاس نمیموندیم...بگذریم.
خلاصه به فکر ما مبتدی ها هم باشید
من میدونم که برنامه نویسی حرف بزنم اما نمیتونم بنویسم
یه پیشنهاد دیگه هم دارم
لطفا کلاس های آموزش شبیه سازی هم بگذارید
ویرایش توسط شه پری : 25th December 2011 در ساعت 09:19 AM
در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)
علاقه مندی ها (Bookmarks)