نمایش نتایج 1 تا 9 از 9

نام تاپیک: برنامه هاي بزرگ ... الگوريتم ... آري يا نه؟!

  1. #1

    برنامه هاي بزرگ ... الگوريتم ... آري يا نه؟!

    سلام

    هميشه سوالي كه براي من مطرح بوده اين هست كه آيا اساسا اين الگوريتم‌هايي كه ما به عنوان مبتدي مي‌نويسيم توي برنامه‌هاي بزرگ و سنگين كاربرد داره يا نه؟

    اصلا شما كساني كه معمولا پروژه‌هاي بزرگ مي‌نويسند ، براش مي‌شينيد الگوريتم بنويسيد؟
    چون نوشتن الگوريتم براي يك برنامه بزرگ خيلي وقت‌گير هست .

    البته نمي‌دونم اون مراحلي كه براي بررسي طرح انجام مي‌دهيم جزء الگوريتم هست يا نه؟

    من چند جور جواب هم حدس مي‌زنم . ببينيد كدوم درست و غلط هست .
    1- الگوريتم فقط براي شروع هست و بعد كه شما خواستيد برنامه‌هاي بزرگ انجام بدهيد كاري باهاش نداريد .
    2- الگوريتم لازم نيست كامل نوشته كه مثلا شروع و پايان داشته باشه حتما . مي‌تونيد قسمت‌هاي اصلي را بنويسيد .
    3- نوشتن الگوريتم تا حد زيادي به زبان برنامه نويسي كه ازش استفاده مي‌كنيد داره و به نوعي همون سورس هست ولي به زبان ساده تر .
    4- لازم نيست حتما الگوريتم روي كاغذ نوشته بشه . مي‌تونيد توي ذهن‌تون بنويسيد .

    با تشكر

  2. #2

    نقل قول: برنامه هاي بزرگ ... الگوريتم ... آري يا نه؟!

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

    دلیل دیگه این که این مسائل ساده که برای اونها الگوریتم می نویسید پایه و اساس روش های پیچیده حل مسئله هستند.

    در مورد حدس هاتون:
    1. کسی که الفبای فارسی رو بلد نباشه نمی تونه شعر بگه!
    2. الگوریتمی که سر و تهش معلمو نیست می خواد چه کاری انجام بده؟
    3. طراحی الگوریتم صددرصد و بدن شک به زبان برنامه نویسی ربطی ندارد. پیاده سازی الگوریتم یک مسئله جداست. (الگوریتمی که صحت و کارایی عملکرد اون ثابت شده باشه رو میشه به روشهای مختلفی پیاده سازی کرد )
    4. سعی کنید حتما روی کاغذ(البته نرم افزارهایی هست) بنویسید چون اکثرا وقتی الگوریتم پیچیده میشه ذهن افراد یاری نمیکنه!
    اگر منظور شما از الگوریتم نحوه ارتباط بخش های مختلف برنامه باشه بهش میگن مهندسی نرم افزار، ولی در غیر این صورت طراحی الگوریتم کاربردهای وسیعی داره.

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

  3. #3

    نقل قول: برنامه هاي بزرگ ... الگوريتم ... آري يا نه؟!

    خيلي ممنون دوست عزيز تا حدودي جواب را پيدا كردم .

    اما سوال ديگه اين هست كه آيا وقتي شما مي‌خواهيد يك برنامه فرضا حسابداري و انبارداي بنويسيد ، شروع مي‌كنيد به نوشتن الگوريتم ؟ آيا براش الگوريتم مي‌نويسيد؟ چون نوشتن الگوريتم كامل براي يك چنين نرم افزاري خيلي زياد و طولاني هست و به نظر من خيلي قسمت‌هاش را لازم نيست براش الگوريتم بنويسي . مي‌توني توي ذهنت پياده كني و بعد هم سورس را بنويسي . بدون اينكه چيزي روي كاغذ بياري .
    البته قاعدتا يك سري جاهاش هست كه بايد حساب شده كار و نمي‌شه همين جوري كار كرد .

    يا مثلا فرض كنيد يك نفر بخواهد يك سيستم عامل بنويسه . آيا براي همه‌ي قسمت‌هاي اون الگوريتم مي‌نويسه ؟

    خلاصه بگم كه به نظر مياد يك جاهايي نياز نيست الگوريتم نوشته بشه ...

  4. #4
    مدیر بخش آواتار whitehat
    تاریخ عضویت
    مهر 1382
    محل زندگی
    شیراز
    پست
    2,175

    نقل قول: برنامه هاي بزرگ ... الگوريتم ... آري يا نه؟!

    منظور شما از نوشتن الگوريتم چيه ؟ الگوريتم نحوه انجام يا حل يك صورت مسئله است. شما براي نوشتن برنامه حسابداري مثلا بايد بدانيد چگونه قيمت تمام شده محاسبه ميشه ، حالا مي توانيد نحوه اين كار را بر روي كاغذ بياوريد و بعد پياده سازي كنيد يا اگه حافظه خوبي داريد در ذهن خود آنرا تصوير كنيد. كه تجربه نشان داده روش اول داراي خطاي كمتر و با سرعت بيشتري پياده سازي ميشه و اصطلاحا مقرون به صرفه است.
    يادگيري ساير الگوريتم ديد شما را براي نوشتن الگوريتم هاي بزرگ باز مي كند. يك مثال در يك برنامه بزرگ بزنم براي جايي مجبور بودم يك كد براي كالا ها بسازم كه اين كد بايد جوري بود كه بر اساس آيتم هاي گوناگون مرتب مي شد ، اين كار در ابتدا كمي پيچيده به نظر مي رسيد اما وقتي روي مرتب سازي Radix فكر كردم ، هم به من ايده ساختن كد جديد را داد و هم كالاها بر اساس اجزاي خود با سرعت يكنواخت مرتب مي شدند.
    موفق باشيد
    To follow the path:
    Look to the master
    Follow the master
    Walk with the master
    See through the master
    Become the master

  5. #5

    نقل قول: برنامه هاي بزرگ ... الگوريتم ... آري يا نه؟!

    خيلي ممنون whitehat جان ...
    منظور شما از نوشتن الگوريتم چيه ؟
    منظورم خود روش حل يا حل مسئله نيست . منظورم شيوه نگارش روش حل مسئله هست .

    حالا مي توانيد نحوه اين كار را بر روي كاغذ بياوريد و بعد پياده سازي كنيد يا اگه حافظه خوبي داريد در ذهن خود آنرا تصوير كنيد. كه تجربه نشان داده روش اول داراي خطاي كمتر و با سرعت بيشتري پياده سازي ميشه و اصطلاحا مقرون به صرفه است.
    من هم منظورم همين بود . الگوريتم يعني روش حل يك مسئله . حالا حتما نبايد روي يك كاغذ نوشته بشه ، شروع و پايان داشته و ... . بعضي از مسائل چون آسون هستند سريع توي ذهن حساب كتاب مي‌كني و بعضي كه پيچيده ميشه مياري روي كاغذ .
    منظور شما همين بوده؟

    يك سوال ديگه : آيا همزمان نوشتن الگوريتم و پياده سازي اون براي مسائل ساده ايرادي داره؟
    مثلا فرض كنيد من مي‌خوام يك login خيلي ساده درست كنم .
    ميگم كه خوب اول بايد يك پسورد از كاربر بگيرم . پس مي نويسم :
    Pass=Inputbox("Please enter password")
    بعد بايد چك كنم ببينم آيا با "1" برابر هست يا نه . اگه برابر بود form2 را نشون بده . پس :
    If Pass="1" then form1.show

    با تشكر

  6. #6
    مدیر بخش آواتار whitehat
    تاریخ عضویت
    مهر 1382
    محل زندگی
    شیراز
    پست
    2,175

    نقل قول: برنامه هاي بزرگ ... الگوريتم ... آري يا نه؟!

    منظور شما همين بوده؟
    دقيقا، و البته آوردن روي كاغذ بصورت اصولي دو مزيت ديگر هم داره اول اينكه روش زود از خاطر شما نمي رود و دوم اينكه بعدا مي توانيد در مسائل ديگر به آن رجوع كنيد.
    آيا همزمان نوشتن الگوريتم و پياده سازي اون براي مسائل ساده ايرادي داره؟
    خير ، اما به همان دليل كه گفتم بهتره آنرا مستند كنيد، همين مثالي كه زديد به ظاهر ساده است اما مثلا شما مي خواهيد براي لاگين عدد IP، يا سريال هارد يا ... را چك كنيد ولي الان مورد نيازتان ممكنه نباشه!
    موفق باشيد
    To follow the path:
    Look to the master
    Follow the master
    Walk with the master
    See through the master
    Become the master

  7. #7

    نقل قول: برنامه هاي بزرگ ... الگوريتم ... آري يا نه؟!

    نقل قول نوشته شده توسط whitehat مشاهده تاپیک
    دقيقا، و البته آوردن روي كاغذ بصورت اصولي دو مزيت ديگر هم داره اول اينكه روش زود از خاطر شما نمي رود و دوم اينكه بعدا مي توانيد در مسائل ديگر به آن رجوع كنيد.
    خيلي ممنون

    به مورد خيلي خوبي اشاره كرديد ... خيلي از مسائل بوده كه من قبلا حل كردم ، ولي چون جايي يادداشت نكردم ، الان يادم نيست

    با تشكر

  8. #8
    کاربر دائمی آواتار mehdad.koulab
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    تبریز
    پست
    345

    نقل قول: برنامه هاي بزرگ ... الگوريتم ... آري يا نه؟!

    از قدیم گفتن که همه جا به نوبت حالا اگه قدم اولو بر نداری قدم دوم رو از کجا میخوای برداری؟

  9. #9

    نقل قول: برنامه هاي بزرگ ... الگوريتم ... آري يا نه؟!

    نقل قول نوشته شده توسط mehdad.koulab مشاهده تاپیک
    از قدیم گفتن که همه جا به نوبت حالا اگه قدم اولو بر نداری قدم دوم رو از کجا میخوای برداری؟
    ممنون دوست عزيز ...
    منظورم اين نبود كه اصلا الگوريتم نباشه ... بلكه شيوه نگارش اون بود . اينجا گفتم :
    نقل قول نوشته شده توسط mehdi_7070 مشاهده تاپیک
    منظورم خود روش حل يا حل مسئله نيست . منظورم شيوه نگارش روش حل مسئله هست .

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

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