NOTICE توجه: این یک موضوع قدیمی است که آخرین پست ارسالی آن مربوط به 3536 روز قبل است . لطفا فقط پاسخ ها ، سوالات و درخواست های 100 درصد مرتبط را به آن ارسال کنید و برای درخواست ها و سوالات جدید موضوع جدیدی را ایجاد کنید
نمایش نتایج: از 1 به 15 از 15

موضوع: چالش برنامه نویسی !

  1. #1
    مدیرکل انجمنها agape آواتار ها
    تاریخ عضویت
    Feb 2009
    نام
    Zeus
    نوشته ها
    1,235
    تشکر
    139
    تشکر شده 2,209 بار در 846 پست

    Icon17 چالش برنامه نویسی !

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

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

    این برنامه رو یه فرد خیلی ساده هم میتونه بنویسه ولی آیا با شرط های زیر شما میتونید اینچنین برنامه ای بنویسید ؟

    در برنامه نباید از عبارت شرطی IF استفاده شود
    در برنامه نباید از هرگونه عبارت شرطی بر روی دو عدد چه مستقیم چه غیر مستقیم استفاده شود.
    در برنامه نباید از توابعی استفاده شود در آنها عبارت شرطی مورد استفاده قرار گرفته باشد.

    اگر در حلش عاجز موندید مساله رو من به زیان سی حل کردم و راه حل رو تو این لینک گذاشتم
    http://agape.ir/blog/1393/04/27/%DA%...C%D8%B3%DB%8C/

    خوب آیا حالا می تونید برنامه رو توضیح بدید که چی شده ؟؟؟؟

  2. کاربران : 2 تشکر کرده اند از شما agape برای ارسال این پست سودمند:


  3. # ADS
    Circuit advertisement
    تاریخ عضویت
    Always
    نام
    Advertising world
    نوشته ها
    Many
     

  4. #2

  5. #3
    مدیرکل انجمنها agape آواتار ها
    تاریخ عضویت
    Feb 2009
    نام
    Zeus
    نوشته ها
    1,235
    تشکر
    139
    تشکر شده 2,209 بار در 846 پست

    پیش فرض

    نقل قول نوشته اصلی توسط mzarkoob نمایش پست ها
    سلام
    لب افطاری ، فکر آدم خوب کار نمی کنه که بشه روش فکر کرد ! ...
    سلام آقای زرکوب - خوب حالا طوری نیست که - بعد از افطار هم وقت زیاده

  6. #4
    کاربر فعال sajjad_AD آواتار ها
    تاریخ عضویت
    Aug 2009
    نام
    سجاد
    نوشته ها
    307
    تشکر
    336
    تشکر شده 471 بار در 181 پست

    پیش فرض

    سلام آقای مزارعی (دایی جان )

    معما و چالش جالبی بود من به این صورت نوشتم :

    کد:
    void main() {
    
        signed int A,B,Sum,Sub,Ave,Res,Sign;
    
      A = 500;
      B = -40;
    
      Sum = A + B;
    
      Sign = (((A - B) >> 0x20) * 2) + 1;
      Sub = Sign * (A - B);
     
      Ave = (Sum - Sub) / 2;
      Res = Sub + Ave;
    
    }
    اعداد در A و B قرار دارند و عدد بزرگتر بعد از محاسبه در Res قرار می گیره

    روش حل من به این صورته که از حاصل جمع دو عدد و قدر مطلق حاصل تفریق دو عدد میانگین می گیره و حاصل میانگین رو با قدر مطلق حاصل تفریق جمع می کنه به همین سادگی !!!


    خوب آیا حالا می تونید برنامه رو توضیح بدید که چی شده ؟؟؟؟
    ویرایش توسط sajjad_AD : 19-07-2014 در ساعت 12:18

  7. کاربران : 3 تشکر کرده اند از شما sajjad_AD برای ارسال این پست سودمند:


  8. #5
    مدیرکل انجمنها
    تاریخ عضویت
    May 2011
    نام
    احسان صفامنش
    نوشته ها
    1,763
    تشکر
    919
    تشکر شده 2,261 بار در 1,056 پست

    پیش فرض

    به نظر من اینکه کسی بگه از دستور شرطی استفاده نکنید ربطی به قدرت برنامه نویسی نداره. این فقط قدرت تحلیل رو به چالش میکشه و فقط همون جنبه ی مسابقه داره.
    دستور شرط یک دستور مستقیم پردازنده هست و هیچ ماشینی بدون اون ساخته نمیشه. اگه سوال اینطور بود که عمل ضرب ممیز شناور رو در کمترین کلاک ممکن با دستورات معماری ریسک انجام بدین اونم با دستورات c نه دستورات اسمبلی که وابسته به ماشین نباشه، اونوقت ارزش برنامه نویسی داره. البته همین هم ارزش معنوی نداره چون خود زبان c این قابلیت رو داره هدف اینه بدونیم اون فرد میدونه عمل ضرب چطوره
    هنر برنامه نویسی استفاده بهینه از منابع است. قابل اطمینان بودن برنامه است.
    ویرایش توسط esisafa : 19-07-2014 در ساعت 13:25

  9. #6
    مدیر انجمن Aghaeifar آواتار ها
    تاریخ عضویت
    Feb 2010
    نام
    علی آقائی فر
    نوشته ها
    751
    تشکر
    552
    تشکر شده 975 بار در 440 پست

    پیش فرض

    ممنون آقای مزارعی.
    نه تنها این مسئله بلکه مسائل زیادی هستن که بدین صورت میشه تعریف کرد. تمام این کارها رو باعملگرهای بیتی انجام می دهند.
    من قبلا تعداد زیادی از این ها رو اینجا دیدم و بررسی کردم.
    Bit Twiddling Hacks
    تا جایی که یادمه آقای مزارعی قبلا هم یه مورد سوال اینچنینی در همین فروم مطرح کرده بودید.
    ما در انتظار رویت خورشیدیم ...

    اللهم عجل لولیک الفرج

  10. تشکرها از این نوشته :


  11. #7
    کاربر فعال amiray آواتار ها
    تاریخ عضویت
    Jul 2010
    نام
    عباس یکانلو
    نوشته ها
    351
    تشکر
    187
    تشکر شده 360 بار در 187 پست

    پیش فرض

    نقل قول نوشته اصلی توسط esisafa نمایش پست ها
    به نظر من اینکه کسی بگه از دستور شرطی استفاده نکنید ربطی به قدرت برنامه نویسی نداره. این فقط قدرت تحلیل رو به چالش میکشه و فقط همون جنبه ی مسابقه داره.
    دستور شرط یک دستور مستقیم پردازنده هست و هیچ ماشینی بدون اون ساخته نمیشه. اگه سوال اینطور بود که عمل ضرب ممیز شناور رو در کمترین کلاک ممکن با دستورات معماری ریسک انجام بدین اونم با دستورات c نه دستورات اسمبلی که وابسته به ماشین نباشه، اونوقت ارزش برنامه نویسی داره. البته همین هم ارزش معنوی نداره چون خود زبان c این قابلیت رو داره هدف اینه بدونیم اون فرد میدونه عمل ضرب چطوره
    هنر برنامه نویسی استفاده بهینه از منابع است. قابل اطمینان بودن برنامه است.
    با سلام.
    منم با شما موافقم. به نظر من وقتی یه دستوراتی تو زبان سی هست و میشه ازش استفاده کرد، علتی نداره که بگیم از فلان دستور استفاده نکنید حداقل برای یه مهندس برق این کار لزومی نداره و لزومی نیست که ما بیایم و بدون استفاده از دستورات خاص یه کاری رو انجام بدیم درحالی که میشه با اون دستورات براحتی انجامشون داد. چون اگه این طور باشه کسی که با صفر و یک کد بنویسه حرفه ای ترین برنامه نویس هست. چون از هیچ دستوری استفاده نکرده نه از if & ,| ,... استفاده نکرده. به نظر من یه فرد حرفه ای تو برنامه نویسی اونی هست که که با همه دستوراتی که در اختیار داره کاربردی ترین و بی نقص ترین برنامه رو بنویسه.
    یه استادی داشتیم که میگفت بعضی ها(بعضی استادا) هستن که که میگن تا با اسمبلی برنامه ننویسین برنامه نویس نمیشین. و میگفت که این همه آدم که نشستن و زبان سی رو ابداع کردن که کار ما رو راحتتر کنن . و در اصل امروزه کسی موفق هست که کاری رو براحتترین صورت ممکن انجام بده نه به سخت ترین صورت ممکن.
    البته این ها فقط نظرات من بود.
    البته این مساله در نوع خودش چالش خوبی هست.

  12. #8
    کاربر فعال sajjad_AD آواتار ها
    تاریخ عضویت
    Aug 2009
    نام
    سجاد
    نوشته ها
    307
    تشکر
    336
    تشکر شده 471 بار در 181 پست

    پیش فرض

    دوستان آقای مزارعی فقط ی معما طرح کرده اینایی که شما می گید درست ...

    خودمونیم آقای مزارعی خودتونم مسئله تون رو درست نخوندید جواب اشتباه دادین
    مسئله گفته عبارت شرطی استفاده نشه حالا عبارات شرطی چی هستن (بنظرم عملگر های مقایسه هم شرطی حساب می شن؟؟؟) :
    || , && , < , > , => , =< , :? , == , =! , if , switch و حتی حلقه ها هم که شرطی هستن for , while ...
    ولی شما تو برنامه تون از for , > و =< استفاده کردید
    ویرایش توسط sajjad_AD : 19-07-2014 در ساعت 14:54

  13. تشکرها از این نوشته :


  14. #9
    مدیرکل انجمنها
    تاریخ عضویت
    May 2011
    نام
    احسان صفامنش
    نوشته ها
    1,763
    تشکر
    919
    تشکر شده 2,261 بار در 1,056 پست

    پیش فرض

    نقل قول نوشته اصلی توسط sajjad_AD نمایش پست ها
    دوستان آقای مزارعی فقط ی معما طرح کرده اینایی که شما می گید درست ...

    خودمونیم آقای مزارعی خودتونم مسئله تون رو درست نخوندید جواب اشتباه دادین
    مسئله گفته عبارت شرطی استفاده نشه حالا عبارات شرطی چی هستن (بنظرم عملگر های مقایسه هم شرطی حساب می شن؟؟؟) : ( || , && , < , > , :? , == , =! , if , switch و حتی حلقه ها هم که شرطی هستن for , while ...)
    ولی شما تو برنامه تون از for استفاده کردید
    بله درسته. دستور for در هر دوره یکبار شرط موجود در حلقه رو چک میکنه. میشه for رو با if نوشت ولی برعکس وجود نداره
    عملگر مقایسه هم به گفته ی شما نوعی شرطی هست.

  15. #10
    مدیرکل انجمنها agape آواتار ها
    تاریخ عضویت
    Feb 2009
    نام
    Zeus
    نوشته ها
    1,235
    تشکر
    139
    تشکر شده 2,209 بار در 846 پست

    پیش فرض

    نقل قول نوشته اصلی توسط sajjad_AD نمایش پست ها
    دوستان آقای مزارعی فقط ی معما طرح کرده اینایی که شما می گید درست ...

    خودمونیم آقای مزارعی خودتونم مسئله تون رو درست نخوندید جواب اشتباه دادین
    مسئله گفته عبارت شرطی استفاده نشه حالا عبارات شرطی چی هستن (بنظرم عملگر های مقایسه هم شرطی حساب می شن؟؟؟) : ( || , && , < , > , => , =< , :? , == , =! , if , switch و حتی حلقه ها هم که شرطی هستن for , while ...)
    ولی شما تو برنامه تون از for , > و =< استفاده کردید
    سلام دایی جان !، آقا من صورت مساله رو خودم نوشتم ها گفتم استفاده از شرط به صورت مستقیم یه غیر مستقیم بر روی اعداد مورد نظر، شرط استفاده شده در واقع برای اینه که کار رو چند بار انجام بده و به راحتی با تکرار بند ها قابل حذفه



    با سلام.
    منم با شما موافقم. به نظر من وقتی یه دستوراتی تو زبان سی هست و میشه ازش استفاده کرد، علتی نداره که بگیم از فلان دستور استفاده نکنید حداقل برای یه مهندس برق این کار لزومی نداره و لزومی نیست که ما بیایم و بدون استفاده از دستورات خاص یه کاری رو انجام بدیم درحالی که میشه با اون دستورات براحتی انجامشون داد. چون اگه این طور باشه کسی که با صفر و یک کد بنویسه حرفه ای ترین برنامه نویس هست. چون از هیچ دستوری استفاده نکرده نه از if & ,| ,... استفاده نکرده. به نظر من یه فرد حرفه ای تو برنامه نویسی اونی هست که که با همه دستوراتی که در اختیار داره کاربردی ترین و بی نقص ترین برنامه رو بنویسه.
    یه استادی داشتیم که میگفت بعضی ها(بعضی استادا) هستن که که میگن تا با اسمبلی برنامه ننویسین برنامه نویس نمیشین. و میگفت که این همه آدم که نشستن و زبان سی رو ابداع کردن که کار ما رو راحتتر کنن . و در اصل امروزه کسی موفق هست که کاری رو براحتترین صورت ممکن انجام بده نه به سخت ترین صورت ممکن.
    البته این ها فقط نظرات من بود.
    البته این مساله در نوع خودش چالش خوبی هست.
    دوست گرامی اصولا برنامه نویسی خلاقیت به خرج دادن هست ، اگر نه هر بچه ای الان میتونه با سی شارپ هر برنامه ای میخواد رو بنویسه! پس در واقع فرق از اینجا شروع میشه که شما بهترین راه حل رو برای پیاده سازی برنامت پیدا کنی و این کار نیاز به خلاقیت داره ، حالا این معما داره خلاقیت شما رو محک میزنه ، چقدر میتونی تو پیدا کردن راه حل های متفاوت خوب عمل کنی ، شاید اصلا این معما کاربردی برات نداشته باشه که اصلا بخوای بهش فکر کنی ولی حداقل میدونی که به جز راه های مستقیم میتونی راه های دیگه ای هم پیدا کنی همین نه بیشتر

    - - - Updated - - -

    نقل قول نوشته اصلی توسط esisafa نمایش پست ها
    بله درسته. دستور for در هر دوره یکبار شرط موجود در حلقه رو چک میکنه. میشه for رو با if نوشت ولی برعکس وجود نداره
    عملگر مقایسه هم به گفته ی شما نوعی شرطی هست.
    For رو که مسالش رو توضیح دادم - عملگر مقایسه ای کجا استفاده شده که من تو کد نمی بینم ؟

  16. کاربران : 3 تشکر کرده اند از شما agape برای ارسال این پست سودمند:


  17. #11
    مدیرکل انجمنها
    تاریخ عضویت
    May 2011
    نام
    احسان صفامنش
    نوشته ها
    1,763
    تشکر
    919
    تشکر شده 2,261 بار در 1,056 پست

    پیش فرض

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

  18. #12
    مدیرکل انجمنها agape آواتار ها
    تاریخ عضویت
    Feb 2009
    نام
    Zeus
    نوشته ها
    1,235
    تشکر
    139
    تشکر شده 2,209 بار در 846 پست

    پیش فرض

    نقل قول نوشته اصلی توسط esisafa نمایش پست ها
    در مسابقات برنامه نویسی گروه ها بدون اینکه بدونن باید چکار کنن وارد مسابقه میشن و بعد بهشون گفته میشه که باید چکار کنن اونم در زمان مشخص و منابع محدود. اونجا مشخص میشه که کی بهتره. بخش های مختلف هم مورد آزمایش قرار میگیره. مثلا دیتابیس، اینترنت، الگوریتم و ... . کسانی که وارد مسابقه میشن علاوه بر یاد داشتن برنامه نویسی مثل شطرنج باید هزاران ترفند رو از قبل بلد باشن. چیزایی مثل الگوریتم مرتب کردن یک آرایه در داخل خودش نقل و نبات این مسابقات هست. فقط قدرت تحلیل جوابگو نیست و باید آماده وارد مسابقات شد
    آقای صفامنش ، من که نگفتم که هرکی این مساله رو حل کنه یه برنامه نویسه خفنه، با یه جستجوی ساده میشه راه حل براش پیدا کرد ولی خوبی این مساله از اونجا آب میخوره که شما راه حل رو خودت پیدا کنی ایده ای براش ذاشته باشی ، کسی که نتونه اولین اصول برنامه نویسی رو بلد نباشه خوب باقیش که چیزی نیست

  19. تشکرها از این نوشته :


  20. #13
    کاربر ارشد 1nafar آواتار ها
    تاریخ عضویت
    Jul 2007
    نوشته ها
    2,745
    تشکر
    1,266
    تشکر شده 4,874 بار در 1,377 پست

    پیش فرض

    سلام
    کد:
    int valu1=99 ,valu2=20 ; 
    printf("%d\n",(((valu1 / valu2) *valu2)+(((valu1 / valu2)/(valu1 / valu2))*(valu1 % valu2)))+(((valu2 / valu1)*valu1)+(((valu2 / valu1)/(valu2 / valu1)
    )*valu2 % valu1)));
    اینم برنامه من .
    ویرایش توسط 1nafar : 20-07-2014 در ساعت 02:39

  21. کاربران : 2 تشکر کرده اند از شما 1nafar برای ارسال این پست سودمند:


  22. #14
    کاربر فعال sajjad_AD آواتار ها
    تاریخ عضویت
    Aug 2009
    نام
    سجاد
    نوشته ها
    307
    تشکر
    336
    تشکر شده 471 بار در 181 پست

    پیش فرض

    سلام Mr هاشمی برنامتون رو تو mikroC اجرا کردم مجموع دو عدد (119) رو به خروجی میده!!!
    حالا mikroC استاندارد نیست ینی؟؟؟
    شما با چه کامپایلری تستوندید؟
    البته تجربه ثابت کرده که دیگه بعیده از شما جوابی دریافت شه
    ویرایش توسط sajjad_AD : 20-07-2014 در ساعت 23:29

  23. #15
    کاربر ارشد 1nafar آواتار ها
    تاریخ عضویت
    Jul 2007
    نوشته ها
    2,745
    تشکر
    1,266
    تشکر شده 4,874 بار در 1,377 پست

    پیش فرض

    سلام
    نقل قول نوشته اصلی توسط sajjad_AD نمایش پست ها
    سلام Mr هاشمی برنامتون رو تو mikroC اجرا کردم مجموع دو عدد (119) رو به خروجی میده!!!
    حالا mikroC استاندارد نیست ینی؟؟؟
    شما با چه کامپایلری تستوندید؟
    این برنامه رو می شه در هر کامپایلر که از کتابخونه ی <stdio.h> پشتیبانی میکنه اجرا کرد .
    من برنامه رو توی کامپایلر keil نوشتم و شبیه سازی کردم ، سورس برنامه پیوست پست شده .

    نقل قول نوشته اصلی توسط sajjad_AD نمایش پست ها
    البته تجربه ثابت کرده که دیگه بعیده از شما جوابی دریافت شه
    احتمالا به زودی خودم رو باز نشسته کنم ...
    فايل هاي پيوست شده فايل هاي پيوست شده
    • نوع فایل: rar UART2.rar (140.2 کیلو بایت, 15 نمايش)
    ویرایش توسط 1nafar : 24-07-2014 در ساعت 02:05

  24. تشکرها از این نوشته :


موضوعات مشابه

  1. برنامه نویسی در بسکام
    توسط ehsan88 در انجمن AVR
    پاسخ: 4
    آخرين نوشته: 03-07-2013, 10:59
  2. همکار برای مقاله نویسی
    توسط medadnoki در انجمن مباحث کار و کاریابی/تبلیغات/بازارچه
    پاسخ: 13
    آخرين نوشته: 17-04-2013, 00:02
  3. همکار برای مقاله نویسی
    توسط medadnoki در انجمن گفت و گوي آزاد
    پاسخ: 0
    آخرين نوشته: 12-03-2013, 13:27
  4. برنامه نویسی با iar
    توسط ali ali در انجمن مباحث کلی ARM
    پاسخ: 13
    آخرين نوشته: 06-02-2012, 03:12
  5. کمک در برنامه نویسی و سخت افزار
    توسط BaRdIa در انجمن AVR
    پاسخ: 6
    آخرين نوشته: 15-08-2010, 03:00

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •