- Sky
- Blueberry
- Slate
- Blackcurrant
- Watermelon
- Strawberry
- Orange
- Banana
- Apple
- Emerald
- Chocolate
- Charcoal
کاربران گرامی با توجه به تغییر هسته انجمن،هرگونه سوال،پیشنهاد و انتقاد خود را درانجمن مطرح کنید یا از طریق تماس با ما ارسال فرمایید
جستجو در تالارهای گفتگو
در حال نمایش نتایج برای برچسب های 'کنکور'.
1 نتیجه پیدا شد
-
خوارزمی یا الگوریتم (نسبت: الگوریتمی، خوارزمیک) مجموعهای متناهی از دستورالعملها است، که به ترتیب خاصی اجرا میشوند و مسئلهای را حل میکنند. به عبارت دیگر یک الگوریتم، روشی گام به گام برای حل مسئله است. شیوه محاسبه معدل در مدرسه، یکی از نمونههای الگوریتم است. خصوصیات یک الگوریتمتمام الگوریتمها باید شرایط و معیارهای زیر را دارا باشند: ورودی یک الگوریتم باید هیچ یا چندین پارامتر را به عنوان ورودی بپذیرد؛ خروجی الگوریتم بایستی حداقل یک کمیت به عنوان خروجی (نتیجه عملیات) تولید کند؛ قطعیت دستورات الگوریتم باید با زبانی دقیق، و بیابهام بیان شوند. هر دستورالعمل نیز باید انجامپذیر باشد. دستورهایی نظیر «مقدار ۶ یا ۷ را به x اضافه کنید» یا «حاصل تقسیم پنج بر صفر را محاسبه کنید» مجاز نیستند؛ چرا که در مورد مثال اول، معلوم نیست که بالاخره چه عددی باید انتخاب شود، و در خصوص مثال دوم هم تقسیم بر صفر در ریاضیات تعریف نشدهاست. محدودیت الگوریتم باید دارای شروع و پایان مشخصی باشد، به نحوی که اگر دستورات آن را دنبال کنیم، برای تمامی حالات، الگوریتم پس از طی مراحل شمارا و متناهی خاتمه یابد. به علاوه، زمان لازم برای خاتمه الگوریتم هم باید به گونهای معقول، کوتاه باشد. ریشه واژهٔ الگوریتمواژه الگوریتم از نام ریاضیدان و ستارهشناس و جغرافیدان نامی ایرانی، ابوجعفر محمد بن موسی خوارزمی (الخوارزمی)، گرفته شده است، که در خوارزم زاده شد و در دانشگاه «بیت الحکمه» بغداد به اوج شهرت رسید. خوارزم یکی از شهرهای «ایران بزرگ» بود، که امروزه در ازبکستان واقع شده است و خیوه نام دارد. رساله ای که خوارزمی در قرن ۹ میلادی به عربی نگاشته بود، در قرن ۱۲ به لاتین با نام "Algoritmi de numero Indorum" ترجمه شد؛ یعنی "«الگوریتمی» در مورد اعداد هندی"، که «الگوریتمی» نام الخوارزمی بود که مترجم آن را در تبدیل به لاتین چنین آورده بود. در قرن ۱۳ میلادی واژه الگوریسموس(algorismus) به معنای «سیستم شمارش عربی(دهدهی)» (یعنی اعداد ۱ تا ۹ به علاوه صفر، و نیز مفهوم اعشار) بود؛ که هنوز هم یکی از معانی واژه الگوریسم(algorism) است. معنای دیگر الگوریسم «حساب کردن با کمک اعداد عربی» است؛ یعنی فن انجام أعمال حسابی پایه، مانند جمع و ضرب، با قرار دادن اعداد در زیر هم و إعمال قواعدی خاص، که جایگزین به کارگیری اعداد رومی و استفاده از چرتکه شد. حتی روش انجام دستی تقسیم و جذر گرفتن(رادیکال) هم الگوریسم نامیده می شود. در قرن ۱۹ این کلمه در فرانسوی به algorithme تغییر شکل پیدا کرد، البته معنایش ثابت ماند. طولی نکشید که این کلمه به شکل algorithm وارد زبان انگلیسی شد؛ ولی فقط در اواخر قرن ۱۹ میلادی بود که معنای عامتر امروزیاش را یافت، و به «هر مجموعه قواعدی برای انجام یک رویه محاسباتی یا روال رایانهای به کار رود» الگوریتم گفته شد. تبدیل نام الخوارزمی به الگوریسم و سپس الگوریتم احتمالا تحت تأثیر واژه یونانی arithmos (به معنای عدد) و arithmetic (به معنای محاسباتی) بوده است. برخی منابع هم کلمهلگاریتم را هم در تبدیل الگوریسم و الگوریتم بی تأثیر ندانسته اند. نقش الگوریتمها در علوم رایانهدر علوم رایانه، یک الگوریتم را یک روال محاسباتی خوشتعریف میدانند، که مقدار یا مجموعهای از مقادیر را به عنوان ورودی (Input) دریافت کرده و پس از طی چند گام محاسباتی، ورودی را به خروجی (Output) تبدیل میکند. بجز این، الگوریتم را ابزاری برای حل مسائل محاسباتی نیز تعریف کردهاند. ساخت و طراحی الگوریتم مناسب در مرکز فعالیتهایبرنامهسازی رایانه قرار دارد. یک برنامه رایانهای، بیان یک یا چند الگوریتم با یک زبان برنامهنویسی است. مفهوم الگوریتممفهوم الگوریتم را معمولاً با تشبیه به دستور آشپزی توضیح میدهند. مثلاً اگر بخواهیم آبگوشت درست کنیم (عمل مورد نظر) با فرض اینکه مواد خام را داریم (حالت اولیه) مراحل مشخصی را باید طبق دستور آشپزی طی کنیم (دستورالعملها) تا به آبگوشت آماده (حالت پایانی) برسیم. البته الگوریتمها معمولاً پیچیدهتر از این هستند. الگوریتم گاه دارای مراحلی است که تکرار میشود (در مثال آبگوشت مثلاً چند بار باید نمک زد یا آب اضافه کرد) و یا در مرحلهای نیازمند تصمیمگیری است (اگر نمک کافی است دیگر نمک نمیزنیم، اگر کافی نیست نمک میزنیم). اگر الگوریتم برای عمل مورد نظر مناسب نباشد و یا غلط باشد به نتیجه مورد نظر نمیرسیم. مثلاً اگر الگوریتم آبگوشت را با مواد اولیه کباب انجام دهیم واضح است که به آبگوشت نمیرسیم. باید بدانیم برای هر الگوریتم تعریف متغیرها و طراحی مرحله به مرحله بسیار مهم است. زیرا الگوریتم باید بداند بر روی چه متغیر هایی، چه اعمالی را انجام دهد و نتیجه را در غالب چه متغیرها یا پارامتر هایی نشان دهد. مقدمه ای بر تحلیل الگوریتمنوشتار اصلی: تحلیل الگوریتمها معمولاً برای حل یک مسئله، روشها و الگوریتمهای گوناگونی وجود دارند؛ یک الگوریتم ممکن است عمل مورد نظر را با دستورات مختلف در مدت زمان و یا کار کمتر یا بیشتری نسبت به الگوریتم دیگر انجام دهد. به همین دلیل، انتخاب الگوریتم مناسب و کارا اهمیت زیادی در موفق بودن و کارایی برنامه رایانهای دارد. الگوریتمها به عنوان یک فناوری مطرح هستند و دانشمندان آنها را طراحی، تحلیل، و مطالعه میکنند. مطالعه الگوریتم ها زمینه های متعددی را در بر می گیرد.در زیر به چند نمونه اشاره می کنیم که می توان آنها را چرخه حیات یک الگوریتم نامید. الف)طراحی الگوریتم ها:روش های مختلفی برای طراحی الگوریتم ها وجود دارد که عبارتند از:روشهای تقسیم و غلبه،روش های حریصانه،روش های برنامه نویسی پویا ،روش های پسگرد و روش های انشعاب و تحدید. ب)معتبر سازی یا اثبات درستی الگوریتم ها:بعد از طراحی باید اثبات شود که الگوریتم مزبور درست است.الگوریتمی درست است که به ازای هر ورودی مناسب خروجی صحیحی بدهد.اثبات درستی الگوریتم ها به اثلات قضایا در ریاضی می ماند و مرحله بسیار مهمی در زمینه مطالعه الگوریتم ها است ج)تحلیل الگوریتم ها(تحلیل مقدم،ارزیابی کارایی الگوریتم ها):یک الگوریتم در زمان اجرا از cpuی کامپیوتر برای اجرای دستورالعمل ها و از جافظه برای ذخیره سازی برنامه و داده ها استفاده می کند یک الگوریتم در زمان اجرا چه مدت زمان از cpuبرای اجرای دستورالعمل(پیچیدگی زمانی)و چه مقدار از حافظه (چه اصلی و چه جانبی)برای ذخیره سازی برنامه و داده ها(پیچیدگی فضایی)نیاز دارد. د)پیاده سازی الگوریتم ها:پیاده سازی یک الگوریتم نوشتن آن به زبان برنامه نویسی خاص است که معمولا بعد از تحلیل مقدم آن صورت می گیرد و نام برنامه به آن اطلاق می شود. ه)تست برنامه:تست یک برنامه شاملi:اشکال زدایی و ii:تحلیل موخر(اندازه گیری کارآیی)است. اندازه گیری کارآیی عبارت است از فرآیند اجرای الگوریتم صحیح بر روی داده های نکونه گیری شده برای به دست آوردن زمان و حافظه مورد نیاز توسط کامپایلر. زمان اجرای یک الگوریتم به پارامتر های مختلفی بستگی دارد که از جمله می توان به نوع دستورالعمل ها (دستورالعمل های جمع،ضرب،نوشتن،خواندن،شرطی و...)کامپایلر مورد استفاده،زبان برنامه نویسی،سخت افزار به کار رفته و پارامتری مثل nکه می تواند معرف تعداد ورودی ها و خروجی ها و یا هر دو باشد اشاره کرد تحلیل الگوریتمها رشتهای است که به بررسی کارایی الگوریتمها میپردازد. تحلیل الگوریتمها یعنی پیشبینی منابع مورد نیاز برای اجرای یک الگوریتم، همچون: حافظه، پهنایباند ارتباطی، سختافزار، و از همه مهمتر، زمان. کارایی یا پیچیدگی هر الگوریتم را با تابعی نشان میدهند که تعداد مراحل لازم برای اجرای الگوریتم را برحسب طول داده ورودی، یا میزان محلهای لازم حافظه را بر حسب طول داده ورودی نشان میدهد. جنبه حقوقیدر بعضی کشورها، مثل آمریکا اگر تعبیه فیزیکی الگوریتمی ممکن باشد (برای مثال، یک الگوریتم ضرب که میشود آن را در واحد محاسبهٔ یک ریز پردازنده تعبیه کرد) میشود آن الگوریتم را به ثبت رساند. پانویس ↑ خوارزمی، الگوریتم همارزِ الگوریتم (به انگلیسی: algorithm)؛ منبع: گروه واژهگزینی و زیر نظر حسن حبیبی، «لاتین»، در (۱۳۷۶-۱۳۸۵)، فرهنگ واژههای مصوب فرهنگستان، تهران: انتشارات فرهنگستان زبان و ادب فارسی، شابک ۹۷۸-۹۶۴-۷۵۳۱-۷۷-۱ (ذیل سرواژهٔ algorithm) ↑ خوارزمیک، الگوریتمی همارزِ الگوریتمی (به انگلیسی: algorithmic)؛ منبع: گروه واژهگزینی و زیر نظر حسن حبیبی، «لاتین»، در (۱۳۷۶-۱۳۸۵)، فرهنگ واژههای مصوب فرهنگستان، تهران: انتشارات فرهنگستان زبان و ادب فارسی، شابک ۹۷۸-۹۶۴-۷۵۳۱-۷۷-۱ (ذیل سرواژهٔ algorithmic) ↑ هورویتز، فصل ۱. ↑ منبع همه موارد: ویکیپدیای انگلیسی، ذیل مدخل algorithm و algorism ↑ ۵٫۰ ۵٫۱ Cormen, 1.1. The Role of Algorithms in Computing. ↑ Cormen, 2.2. Analyzing algorithms منابع Knuth, Donald. The Art of Computer Programming (Volume 1 / Fundamental Algorithms), 2nd Printing. USA: Addison-Wesley Publishing, 1969. Cormen, Thomas H. (et al), Intorduction to Algorithms (2nd Edition), USA: McGraw-Hill, 2001. ISBN 0-07-013151-1 هورویتز، الیس. طراحی الگوریتمها، چاپ دوم (مترجم: علیخانزاده، امیر). مشهد: پرتونگار، ۱۳۸۵. ISBN 964-6735-12-6 منابع برای مطالعه بیشتر طراحی الگوریتمها - تالیف دكتر محمود نقیبزاده شيرعلی شهرضا و شيرعلی شهرضا - آموزش سریع الگوریتم ها درس و کنکور طراحي الگوريتم - نوشته مهندس حميد رضا مقسمي - انتشارات گسترش علوم پايه کتاب طراحی الگوریتم - جعفر نژاد قمی مقدمهای بر الگوریتمها - پدیدآورنده: توماس اچ کورمن، چارلز لیزرسان، رونالد دیوست، کلیفورد استین - گروه مهندسی-پژوهشی خوارزمی (مترجم) - ناشر: درخشش تحلیل و طراحی الگوریتمها (رشته کامپیوتر) - پدیدآورنده: احمد فراهی، جعفر تنها - ناشر: دانشگاه پیام نور
-
- برنامه نویسی
- الگوریتم چیست؟
- (و 5 مورد دیگر)
-مدیر کل
-مدیر انجمن
-تیم برنامه نویس
-تیم گرافیک
-کاربـر ویـژه
-مدیر آزمایشی
-نویسنده انجمن
-عضو انجمن