پرسش و پاسخ پیرامون برنامه‌نویسی

  • شروع کننده موضوع max
  • تاریخ شروع

Anita H

کاربر فوق‌حرفه‌ای
ارسال‌ها
571
امتیاز
2,987
نام مرکز سمپاد
حلّی ۲
شهر
تهران
سال فارغ التحصیلی
1396
مدال المپیاد
کامپیوتری بودم
دانشگاه
شریف
رشته دانشگاه
کامپیوتر
پاسخ : پرسش و پاسخ پیرامون برنامه نویسی

به نقل از ایلیا :
بچه میخان برامون کلاس رایانه بزارن بعد گفتن اچ تی ام ال هم میخان درس بدن!بعد 120 تومنم هست!بعد گفتن میتونین کلاس نیاین ولی باید امتحانشو بدین!حالا یه اچ تی ام ال دس پا شکسته میشه با جزوه و اینا یاد گرفت؟این معلمه قبلا هم باهامون کلاس داشته،خیلی وقت تلف میکنه و اینا همش چیزایی میگه که بلدم،برا همین نمیخام برم کلاسش!ولی حالا میخام ببینم اگه واقعا یه ذره اچ تی ام ال یاد بده میتونم خودم بخونم امتحان بدم؟
به احتمال زیاد آره؛ چون HTML ساده ست؛ به قول شما میشه دست و پا شکسته یاد گرفت
ولی از بچه های دیگه بپرس هر جلسه چی یاد داده که عقب نمونی
این سایت هم خوبه برای شروع
 
ارسال‌ها
3,981
امتیاز
32,567
نام مرکز سمپاد
فرزانگان امین
شهر
اصفهان
سال فارغ التحصیلی
1390
پاسخ : پرسش و پاسخ پیرامون برنامه نویسی

به نقل از d.g.f.h :
+++یه سوال دیگه مثل اینکه کسی تو تاپیک php نیس که جواب بده
wampserver باز میکنم ارور میده از هر جا دانلود کردم بازم ارور داد . مشکلش چیه؟ با ویندوز 8 نمیشه؟
راستش من Php کار کردم. ولی خب تو ویندوز۷ و لینوکس. کلا از ویندوز۸ بدم می‌آد! از جواد باهوش بپرسید شاید بتونه کمک کنه. (مطمئن نیستم البته!)

به نقل از ایلیا :
بچه میخان برامون کلاس رایانه بزارن بعد گفتن اچ تی ام ال هم میخان درس بدن!بعد 120 تومنم هست!بعد گفتن میتونین کلاس نیاین ولی باید امتحانشو بدین!حالا یه اچ تی ام ال دس پا شکسته میشه با جزوه و اینا یاد گرفت؟این معلمه قبلا هم باهامون کلاس داشته،خیلی وقت تلف میکنه و اینا همش چیزایی میگه که بلدم،برا همین نمیخام برم کلاسش!ولی حالا میخام ببینم اگه واقعا یه ذره اچ تی ام ال یاد بده میتونم خودم بخونم امتحان بدم؟
اچ تی ام ال که کلاس نمی‌خواد!
http://www.w3schools.com/html/default.asp
این سایت w3schools کلا واسه یاد گرفتن برنامه‌نویسی وب خیلی خوبه.html,css, javascript,jquery,sql,php رو یاد می‌ده. کلا برای برنامه‌نویسی وب به نظرم کلاس رفتن زیاد به درد نمی‌خوره. از طریق اینترنت و سایت‌های مختلف می‌شه به خوبی یاد گرفت.
البته زبان تخصصی من rubyّ هست.
 

asemaneh76

کاربر فعال
ارسال‌ها
70
امتیاز
118
نام مرکز سمپاد
فرزانگان
شهر
bor
پاسخ : پرسش و پاسخ پیرامون برنامه نویسی

دوستان من کلا از برنامه نویسی چیزی نمیدونم :-/ و متاسفانه اموزشگاه سمپاد ما برنامه نویسی اموزش نمیدن :((
اما به شدت علاقه مند به برنامه نویسی هستم میشه یه کتاب بهم معرفی کنید که از پایه اموزش داده باشه که به تونه بهم کمک کنه میخوام زبان cرو یاد بگیرم لطفا کمک کنید ;;)
 

Anita H

کاربر فوق‌حرفه‌ای
ارسال‌ها
571
امتیاز
2,987
نام مرکز سمپاد
حلّی ۲
شهر
تهران
سال فارغ التحصیلی
1396
مدال المپیاد
کامپیوتری بودم
دانشگاه
شریف
رشته دانشگاه
کامپیوتر
پاسخ : پرسش و پاسخ پیرامون برنامه نویسی

به نقل از asemaneh76 :
دوستان من کلا از برنامه نویسی چیزی نمیدونم :-/ و متاسفانه اموزشگاه سمپاد ما برنامه نویسی اموزش نمیدن :((
اما به شدت علاقه مند به برنامه نویسی هستم میشه یه کتاب بهم معرفی کنید که از پایه اموزش داده باشه که به تونه بهم کمک کنه میخوام زبان cرو یاد بگیرم لطفا کمک کنید ;;)
C How to program
By Deitel & Deitel
pdf انگلیسی ش رو بخونی راحت تری
 

Anita H

کاربر فوق‌حرفه‌ای
ارسال‌ها
571
امتیاز
2,987
نام مرکز سمپاد
حلّی ۲
شهر
تهران
سال فارغ التحصیلی
1396
مدال المپیاد
کامپیوتری بودم
دانشگاه
شریف
رشته دانشگاه
کامپیوتر
پاسخ : پرسش و پاسخ پیرامون برنامه نویسی

یه سوال دارم ولی نمیدونم جاش این جاست یا نه (از درس داده ساختارها -> صف و پشته)
سوال اینه که چه طوری میشه یه صف رو، به وسیله ی دو تا پشته پیاده سازی کرد به طوری که اعمال push و pop کمترین مرتبه را داشته باشند؟
الآن من خودم یه روش گفتم که اگر تعداد عناصرمون n تا باشه، تو بدترین حالت، با n عمل، درج و حذف رو انجام میده. یعنی از ( O( n

سوالم اینه که آیا الگوریتمی با اردر بهتر وجود داره برای این کار؟

ویرایش: حواسم به پست قبلی نبود، اگر ممکنه ادغام کنید
 

daneshvar.amrollahi

کاربر حرفه‌ای
ارسال‌ها
327
امتیاز
130
نام مرکز سمپاد
راهنمایی حلی۲/دبیرستان حلی۱۰/دبیرستان علامه طباطبایی
شهر
تهران
سال فارغ التحصیلی
1397
مدال المپیاد
کامپیوتر
پاسخ : پرسش و پاسخ پیرامون برنامه نویسی

سلام. کانتینری مثل set یا vector برای c++ داریم که وقتی عنصر میندازیم توش، سورت شده ذخیره کنه و تکراری هارو حذف نکنه؟
 
ارسال‌ها
3,981
امتیاز
32,567
نام مرکز سمپاد
فرزانگان امین
شهر
اصفهان
سال فارغ التحصیلی
1390
پاسخ : پرسش و پاسخ پیرامون برنامه نویسی

به نقل از amoo.majid :
یه سوال دارم ولی نمیدونم جاش این جاست یا نه (از درس داده ساختارها -> صف و پشته)
سوال اینه که چه طوری میشه یه صف رو، به وسیله ی دو تا پشته پیاده سازی کرد به طوری که اعمال push و pop کمترین مرتبه را داشته باشند؟
الآن من خودم یه روش گفتم که اگر تعداد عناصرمون n تا باشه، تو بدترین حالت، با n عمل، درج و حذف رو انجام میده. یعنی از ( O( n

سوالم اینه که آیا الگوریتمی با اردر بهتر وجود داره برای این کار؟

ویرایش: حواسم به پست قبلی نبود، اگر ممکنه ادغام کنید
نه همونه. بهترین الگوریتم، در بدترین حالت همون ( O( n هست ولی با تحلیل سرشکن (amortized analysis)، می‌شه ( O( 1 و در نتیجه الگوریتم خوبی هست.

اینم الگوریتم(از کتابCLRS)
Whereas a stack allows insertion and deletion of elements at only one end, and a
queue allows insertion at one end and deletion at the other end, a deque (doubleended
queue) allows insertion and deletion at both ends. Write four O.1/-time
procedures to insert elements into and delete elements from both ends of a deque
implemented by an array.
 

amirali78

کاربر جدید
ارسال‌ها
4
امتیاز
0
نام مرکز سمپاد
حلی 6
شهر
تهران
پاسخ : پرسش و پاسخ پیرامون برنامه نویسی

سلام یه سوال از زبان سی پلاس پلاس داشتم اگه جواب بدین ممنون میشم
سوال:برنامه ای بنویسید که ابتدا نام 4 بازیکن و مختصات آن ها را دریافت کند سپس مختصات توپ را نیز دریافت کند و بگوید کدام بازیکن به توپ نزدیکتر است.
 

Anita H

کاربر فوق‌حرفه‌ای
ارسال‌ها
571
امتیاز
2,987
نام مرکز سمپاد
حلّی ۲
شهر
تهران
سال فارغ التحصیلی
1396
مدال المپیاد
کامپیوتری بودم
دانشگاه
شریف
رشته دانشگاه
کامپیوتر
پاسخ : پرسش و پاسخ پیرامون برنامه نویسی

به نقل از amirali78 :
سلام یه سوال از زبان سی پلاس پلاس داشتم اگه جواب بدین ممنون میشم
سوال:برنامه ای بنویسید که ابتدا نام 4 بازیکن و مختصات آن ها را دریافت کند سپس مختصات توپ را نیز دریافت کند و بگوید کدام بازیکن به توپ نزدیکتر است.
مختصات توپ رو داریم، مختصات بازیکن ها رو داریم، با فیثاغورس، فاصله ی هر بازیکن از توپ رو حساب میکنیم و مینیمم اون اعداد میشه کمترین فاصله ی بازیکن ها و توپ.
 

rezaezio

کاربر فوق‌حرفه‌ای
ارسال‌ها
1,167
امتیاز
1,956
نام مرکز سمپاد
حلّیِ 2
شهر
تهران
مدال المپیاد
برنز و طلای کامپیوتر !
دانشگاه
شریف
رشته دانشگاه
نرم افزار
پاسخ : پرسش و پاسخ پیرامون برنامه نویسی

به نقل از daneshvar.a :
سلام. کانتینری مثل set یا vector برای c++ داریم که وقتی عنصر میندازیم توش، سورت شده ذخیره کنه و تکراری هارو حذف نکنه؟
میدونم یکم دیره و جوابت رو گرفتی تا حالا ولی ...
multiset داریم ! یکم از ست کند تره ولی همه چی مثلا O lg size هست !
 

daneshvar.amrollahi

کاربر حرفه‌ای
ارسال‌ها
327
امتیاز
130
نام مرکز سمپاد
راهنمایی حلی۲/دبیرستان حلی۱۰/دبیرستان علامه طباطبایی
شهر
تهران
سال فارغ التحصیلی
1397
مدال المپیاد
کامپیوتر
پاسخ : پرسش و پاسخ پیرامون برنامه نویسی

به نقل از Damon :
میدونم یکم دیره و جوابت رو گرفتی تا حالا ولی ...
multiset داریم ! یکم از ست کند تره ولی همه چی مثلا O lg size هست !
نه اتفاقاً خیلی نرفتم دنبالش!

توابعش تو همون کتابخانه ی set هستش دیگه؟
http://www.cplusplus.com/reference/set/multiset فکر کنم همینه دیگه.

کلا این این که میگید وکتور و ست و ... سرعت هاشون کندتر هستن (مثلا به نسبت آرایه)، یعنی تا حد چه سایزی ازشون می صرفه استفاده کرد (برای مواقعی که میشه کد رو باهاشون تمیز تر نوشت)؟ منظورم تو کانتست هاست. حداکثر N چند زیر 1 ثانیه کفایت می کنه؟
 

rezaezio

کاربر فوق‌حرفه‌ای
ارسال‌ها
1,167
امتیاز
1,956
نام مرکز سمپاد
حلّیِ 2
شهر
تهران
مدال المپیاد
برنز و طلای کامپیوتر !
دانشگاه
شریف
رشته دانشگاه
نرم افزار
پاسخ : پرسش و پاسخ پیرامون برنامه نویسی

وکتور سرشکن O(1) s کار میکنه !‌ ولی وقتی سایز وکتورت کم باشه به خاطر نحوه پیاده سازیش یکم کند عمل میکنه !‌ کلا اگه تعداد وکتور هات زیاد هستن ولی سایزشون کمه باید ریسایزش کنی ! ولی تو حالت کلی وکتور فرق زیادی با آرایه نداره و کلا چیز سریعیه ...

ست و مولتی ست و مپ O(log n) s عمل میکنن !
اگه n کمتر از ده به توان شش باشه میتونی از ست و مپ استفاده کنی ! اینا از داده ساختار پیچیده ای استفاده میکنن !‌ خیلی کار راه اندازن ... سعی کن زیاد باهاشون کار کنی ...
 

daneshvar.amrollahi

کاربر حرفه‌ای
ارسال‌ها
327
امتیاز
130
نام مرکز سمپاد
راهنمایی حلی۲/دبیرستان حلی۱۰/دبیرستان علامه طباطبایی
شهر
تهران
سال فارغ التحصیلی
1397
مدال المپیاد
کامپیوتر
پاسخ : پرسش و پاسخ پیرامون برنامه نویسی

کسی میدونه تابع power کتابخانه ی math.h زبان ++C اردرش چنده؟ چون میشه با اردر n و logn نوشتش فکر کنم. بگید اگر n هستش خودمون logn اشو بنویسیم!
فکر کنم logn اش این باشه دیگه؟
کد:
int power(int x, unsigned int y)
{
    int temp;
    if( y == 0)
        return 1;
    temp = power(x, y/2);
    if (y%2 == 0)
        return temp*temp;
    else
        return x*temp*temp;
}
از روش تقسیم و حل استفاده کرده. یک کمی هم پیشرفتش کرده تا power(x,y/2) رو دو بار صدا نزنه! ذخیرش کرده...
 

Anita H

کاربر فوق‌حرفه‌ای
ارسال‌ها
571
امتیاز
2,987
نام مرکز سمپاد
حلّی ۲
شهر
تهران
سال فارغ التحصیلی
1396
مدال المپیاد
کامپیوتری بودم
دانشگاه
شریف
رشته دانشگاه
کامپیوتر
پاسخ : پرسش و پاسخ پیرامون برنامه نویسی

به نقل از daneshvar.a :
کسی میدونه تابع power کتابخانه ی math.h زبان ++C اردرش چنده؟ چون میشه با اردر n و logn نوشتش فکر کنم. بگید اگر n هستش خودمون logn اشو بنویسیم!
فکر کنم logn اش این باشه دیگه؟
کد:
int power(int x, unsigned int y)
{
    int temp;
    if( y == 0)
        return 1;
    temp = power(x, y/2);
    if (y%2 == 0)
        return temp*temp;
    else
        return x*temp*temp;
}
از روش تقسیم و حل استفاده کرده. یک کمی هم پیشرفتش کرده تا power(x,y/2) رو دو بار صدا نزنه! ذخیرش کرده...
همینه
اگر بخواد power(x,y/2) رو دو بار صدا بزنه، مجددا میشه اردر n
 

daneshvar.amrollahi

کاربر حرفه‌ای
ارسال‌ها
327
امتیاز
130
نام مرکز سمپاد
راهنمایی حلی۲/دبیرستان حلی۱۰/دبیرستان علامه طباطبایی
شهر
تهران
سال فارغ التحصیلی
1397
مدال المپیاد
کامپیوتر
پاسخ : پرسش و پاسخ پیرامون برنامه نویسی

به نقل از amoo.majid :
همینه
اگر بخواد power(x,y/2) رو دو بار صدا بزنه، مجددا میشه اردر n

خوب پس این کد درسته. اما کتابخانه ی math.h هم همین الگوریتم رو استفاده کرده؟ تابع sort کتابخانه ی algorithm هم quick هستش یا bubble با اردر n^2؟
 

daneshvar.amrollahi

کاربر حرفه‌ای
ارسال‌ها
327
امتیاز
130
نام مرکز سمپاد
راهنمایی حلی۲/دبیرستان حلی۱۰/دبیرستان علامه طباطبایی
شهر
تهران
سال فارغ التحصیلی
1397
مدال المپیاد
کامپیوتر
پاسخ : پرسش و پاسخ پیرامون برنامه نویسی

امروز یه سوال تو یکی از این آنلاین جاج ها دیدم که میاد یه N کوچکترمساوی ۳۹ به آدم میده بعد میگه، اگر تابع فیبوناچی رو بازگشتی نوشته باشیم، چنددفعه صدا زده میشه؟ (با تکراری ها) . یعنی مثلا برای n=7 اولش باید n=6 و n=5 رو صدا زد و هر کدوم همین طور ادامه دارن و ... . تابعی که تو سوال فرض کزده، هروقت به n=1 یا n=0 برسه میشه شرط پایه اش. یعنی برای n=2 هم ۲ بار صدا میشه!

این لینک دقیق سوال:
https://www.urionlinejudge.com.br/judge/en/problems/view/1029

یه بخش دیگه ی سوال هم مقدار جمله ی n ام رو میخواد که آسون ترین سوال دی پی هستش و میشه جوابش رو سریع داد.
 

Anita H

کاربر فوق‌حرفه‌ای
ارسال‌ها
571
امتیاز
2,987
نام مرکز سمپاد
حلّی ۲
شهر
تهران
سال فارغ التحصیلی
1396
مدال المپیاد
کامپیوتری بودم
دانشگاه
شریف
رشته دانشگاه
کامپیوتر
پاسخ : پرسش و پاسخ پیرامون برنامه نویسی

به نقل از daneshvar.a :
خوب پس این کد درسته. اما کتابخانه ی math.h هم همین الگوریتم رو استفاده کرده؟ تابع sort کتابخانه ی algorithm هم quick هستش یا bubble با اردر n^2؟
آره همینو استفاده کرده
صددرصد کوییک هستش

امروز یه سوال تو یکی از این آنلاین جاج ها دیدم که میاد یه N کوچکترمساوی ۳۹ به آدم میده بعد میگه، اگر تابع فیبوناچی رو بازگشتی نوشته باشیم، چنددفعه صدا زده میشه؟ (با تکراری ها) . یعنی مثلا برای n=7 اولش باید n=6 و n=5 رو صدا زد و هر کدوم همین طور ادامه دارن و ... . تابعی که تو سوال فرض کزده، هروقت به n=1 یا n=0 برسه میشه شرط پایه اش. یعنی برای n=2 هم ۲ بار صدا میشه!

این لینک دقیق سوال:
https://www.urionlinejudge.com.br/judge/en/problems/view/1029
فرض کن n امین عدد دنباله ی فیبوناچی Fn باشه
فرض کن اگر ورودی n باشه، جواب، یعنی تعداد دفعاتی که تابع F را صدا میکنیم، برابر Tn هست. یعنی
T0=0
T1=0
T2=2

ما میگیم اگر Fn رو بخوایم حساب کنیم، یک بار باید Fn-1 و یک بار باید Fn-2 رو صدا بزنیم(دو بار تابع F رو صدا بزنیم) و بعد از اون، برای محاسبه ی Fn-1 و Fn-2 نیز باید به ترتیب Tn-1و Tn-2 بار تابع F را صدا بزنیم؛ پس:
Tn = Tn-1 + Tn-2 + 2
و اینو هم طبیعتا باید با داینامیک پیاده سازی کنید.

@پایینی: آره، درست فهمیدید
 

daneshvar.amrollahi

کاربر حرفه‌ای
ارسال‌ها
327
امتیاز
130
نام مرکز سمپاد
راهنمایی حلی۲/دبیرستان حلی۱۰/دبیرستان علامه طباطبایی
شهر
تهران
سال فارغ التحصیلی
1397
مدال المپیاد
کامپیوتر
پاسخ : پرسش و پاسخ پیرامون برنامه نویسی

به نقل از amoo.majid :
فرض کن n امین عدد دنباله ی فیبوناچی Fn باشه
فرض کن اگر ورودی n باشه، جواب، یعنی تعداد دفعاتی که تابع F را صدا میکنیم، برابر Tn هست. یعنی
T0=0
T1=0
T2=2

ما میگیم اگر Fn رو بخوایم حساب کنیم، یک بار باید Fn-1 و یک بار باید Fn-2 رو صدا بزنیم(دو بار تابع F رو صدا بزنیم) و بعد از اون، برای محاسبه ی Fn-1 و Fn-2 نیز باید به ترتیب Tn-1و Tn-2 بار تابع F را صدا بزنیم؛ پس:
Tn = Tn-1 + Tn-2 + 2
و اینو هم طبیعتا باید با داینامیک پیاده سازی کنید.

اکسپت شد ممنون. یعنی برای Fn که Fn-1 و Fn-2 رو صدا میزنیم، میشه تعدادی که برای این ۲ تا صدا میزنیم (n-1 و n-2) و اون ۲ باری خود این ۲ تا صدا زده میشن.
 

1tA

کاربر فوق‌حرفه‌ای
ارسال‌ها
670
امتیاز
4,592
نام مرکز سمپاد
دبیرستان فرزانگان یک
شهر
تهران
سال فارغ التحصیلی
1397
پاسخ : پرسش و پاسخ پیرامون برنامه نویسی

یه سوال، سی پلاس پلاس خودش تابع لینکدلیست رو داره؟ چه جوری می‌شه ازش استفاده کرد؟ :D
 

Anita H

کاربر فوق‌حرفه‌ای
ارسال‌ها
571
امتیاز
2,987
نام مرکز سمپاد
حلّی ۲
شهر
تهران
سال فارغ التحصیلی
1396
مدال المپیاد
کامپیوتری بودم
دانشگاه
شریف
رشته دانشگاه
کامپیوتر
پاسخ : پرسش و پاسخ پیرامون برنامه نویسی

فک نکنم کلاس LinkedList رو داشته باشه، چند جا که سرچ کردم، خودشون تعریف کرده بودن(حتی cplusplus.com)

سوال: تو ++C یه تابع int داریم که مقدار یک متغیر را به شکل یک عدد صحیح برمیگرداند. تابع floor رو هم از کتابخونه ی math.h داریم که قسمت صحیح عدد را بر میگرداند.
عملکرد این دو تابع بر روی متغیرهای عددی (و نه کاراکتر و...) چه تفاوتی دارد؟
 
بالا