الگوریتم چیست؟


پس از آن که ما متوجه شدیم نرم‌افزار ما قرار است چه کاری انجام دهد و چه مشکلی از مشکلات کاربران را رفع نماید، حال می بایست گام هایی را تعریف کنیم تا با اجرای آن‌ها یکی پس از دیگری، به سیستم دستور دهیم تا آن مشکل خاص را حل کند. این گام های دقیقی که مشخص می‌کنند نرم‌افزار ما چگونه می بایست کار کند را اصطلاحاً الگوریتم می گویند. به عبارت دیگر، الگوریتم راه کارهای حل یک مسأله در برنامه نویسی را می‌گویند (این واژه از روی نام دانشمند بزرگ ایرانی خوارزمی گرفته شده است.)

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

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

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

لیست نظرات
کاربر میهمان
دیدگاه شما چیست؟
کاربر میهمان
amir
amir
آیا درست است که بگوییم الگریتم در واقع مراحل را از آخر به اول مرتب میکند و ما برای بیان مسئله آن را از اول به آخر می خوانیم ؟
کاربر میهمان
کاربر میهمان
با سلام
الگوریتم عبارت است از یکسری دستورات عقلائی و خاتمه پذیر که اگر به ترتیب خاصی انجام گردد موجب انجام کاری می شود.
fighter
fighter
ok
Computer
Computer
درود بر شما :)
h.ghasemi
h.ghasemi
آقا من مفهوم فلوچارت رو کامل درک نکردم. میشه لطف کنید یه بار دیگه توضیحش بدید به زبان ساده تر. ممنون
مهدی درویشی
مهدی درویشی
سلام
فلوچارت یا روندنما نموداری است برای نمایش داده و روند یک الگوریتم رو بصورت نماد ها و شکل ها بهم وسط میکند. (در واقع همان الگوریتم است که توسط شکل نمایش داده میشود)

در پاسخ به

soldier
soldier
بسیار خوب

در پاسخ به

FarshidEL
FarshidEL
با سلام خدمت تمامی عزیزانی که برای این مجموعه با ارزش تلاش کردن و واقعا خدا قوت به تک تک شما . من به تازگی با وب سایت شما که انصافا میشه گفت یک وب سایت آموزشی با بیان بسیار شیوا و ساده که حس هر فرد آماتوری رو بر می انگیزه تا به جمع شما بزرگان این حرفه بپیونده . ممنونم از تمامی شما به خاطر همه زحماتتون . براتون آرزوی موفقیت و کامیابی رو دارم
کاربر میهمان
کاربر میهمان
عالی بود اما ایکاش برای دو مبحث یک مثال کوتاه میزدید برای دوستانی که هیچ سر رشته ای از الگوریتم ندارند.
javad
javad
درود بر شما بزرگواران
vahid
vahid
دوستان ، برای یادگیری الگوریتم می تونن به وبسایت آموزشی گروه هیلتن مراجعه کنند!
www.heilton.com
fighter
fighter
دستت درد نکنه

در پاسخ به

soldier
soldier
ممنون

در پاسخ به

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

در پاسخ به

علی  میری
علی میری
با تشکر بسیار عالی
ادمین سایت
ادمین سایت
نظر لطف شماست

در پاسخ به

saeed_rz
saeed_rz
سلام...
دوره آموزش الگوریتم نویسی ندارین؟
ادمین سایت
ادمین سایت
سلام، خیر

در پاسخ به

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