به وبلاگ درس نهم خوش آمديد
در اين وبلاگ منابع درسي نهم را مي بينيد
به وبلاگ درس نهم خوش آمديد
در اين وبلاگ منابع درسي نهم را مي بينيد
همهي ما – حتي كساني كه تا كنون برنامه نويسي نكردهاند – ميدانيم كه كامپيوترها و سيستمهاي كامپيوتري براي انجام هر كاري نياز به برنامه (Program) دارند.
اما برنامه نويسي معمولاً با نوشتن برنامه آغاز نميشود. قبل از نوشتن برنامه لازم است گام به گام، كارهايي را كه بايد برنامه انجام دهد تعريف كنيم.
به اين تعريف گام به گام يك عمليات، طراحي الگوريتم (Algorithm) گفته ميشود.
ميتوان گفت كساني كه كدنويسي بلدند، الگوريتم را به يك برنامه قابل اجرا در كامپيوترها تبديل ميكنند.
كساني كه در محيطهاي سازماني فعاليت ميكنند، با تصور فرايندهاي عملياتي كسب و كار ميتوانند تا حد زيادي مفهوم الگوريتم را درك كنند.
فرايندي كه يك نامه يا سند از رسيدن به دبيرخانه تا طبقه بندي و بررسي و ارجاع و اقدام و بايگاني طي ميكند، در الگوي ذهني برنامه نويسان يك الگوريتم محسوب ميشود: گامهاي متوالي با تعريف مشخص و تقدم و تأخر مشخص كه از نقطهاي شروع ميشوند و در نقطهاي به پايان ميرسند و ممكن است دهها و صدها و هزاران بار تكرار شوند.
دانشآموزان هم احتمالاً با مرور مراحل ضرب دو عدد ده رقمي در يكديگر، ميتوانند به خوبي مفهوم الگوريتم را درك و تصور كنند.
بسياري از كارهاي شخصي ما داراي الگوريتم مشخص و روتين از پيش تعيين شده هستند.
اين نكتهاي است كه در درس نظم شخصي هم تحت عنوان روتينهاي شخصي به آن اشاره كرديم.
[ درس مرتبط: روتين شخصي چيست و چرا اهميت دارد؟ ]
گاهي اوقات هم، ما ناآگاهانه الگوريتم مشخصي را انتخاب و استفاده ميكنيم.
اما وقتي مقياس فعاليتها و مسئلهها بزرگتر ميشود، بيش از هر زمان ديگري احساس ميكنيم كه نيازمند الگوريتم هستيم.
اگر پيش از اين با الگوريتم و مفهوم آن آشنا نبودهايد، شايد بد نباشد در همينجا كمي به مرتب كردن دانشآموزان به ترتيب قد فكر كنيد و اينكه اگر شما باشيد چگونه اين كار را انجام ميدهيد.
براي اينكه كمي پيچيدگيهاي طراحي الگوريتم را – حتي در همين مثال ساده – تجربه كنيد، ميتوانيد دو حالت زير را به صورت جداگانه در نظر بگيريد:
گاهي اوقات الگوريتمهاي ساده را ميتوان به صورت گام به گام با چند شماره گذاري شرح داد.
وقتي الگوريتمها پيچيدهتر ميشود از فلوچارت (Flowchart) براي نمايش آنها استفاده ميشود. فلوچارت در زبان فارسي به روندنما ترجمه شده است.
طبيعتاً كساني كه به برنامه نويسي علاقه دارند، گاهي از كدهاي برنامهنويسي و نيز برنامههاي سمبليك هم براي نمايش الگوريتم استفاده ميكنند.
برنامههاي سمبليك براي اجرا در يك زبان برنامهنويسي خاص نوشته نشدهاند، اما براي كساني كه برنامهنويسي ميدانند آشنا و قابل درك هستند.
در اينجا چند خط برنامه جنريك (يا برنامه سمبليك) را براي نمايش يك الگوريتم مشاهده ميكنيد:
معمولاً آموزش الگوريتم را با الگوريتم هاي مرتب كردن (اصطلاحاً: Sorting) آغاز ميكنند.
مثالي هم كه در ابتداي اين درس براي مرتب كردن دانشآموزان بر اساس قد مطرح شد، از همين جنس بود.
اما دنياي تكنولوژي انبوهي از الگوريتمها را در اطراف ما قرار داده كه معمولاً بدون اينكه به آنها توجه كنيم، از نتايجشان استفاده ميكنيم.
در اينجا تنها از چند نمونه نام ميبريم و در درسهاي ديگر بسته به نياز، بحث مربوط به الگوريتمها را بازتر خواهيم كرد:
الگوريتمهاي مورد استفاده در موتورهاي جستجو براي پيدا كردن بهترين پاسخها براي پرسش كاربران
در شكل كليتر، الگوريتمهاي پيشنهاددهنده كه در بسياري از نرمافزارها از جمله شبكه هاي اجتماعي و خرده فروشي هاي ديجيتال (مثل آمازون و ديجي كالا) دائماً از آنها استفاده ميكنيم (يا آنها از ما استفاده ميكنند).
الگوريتمهاي رمزنگاري كه ميكوشند امنيت تبادل اطلاعات در شبكههاي ارتباطي را افزايش دهند.
الگوريتمهاي فشرده سازي اطلاعات كه حجم دادهها را تا حد امكان كاهش ميدهند.
بديهي است بحث الگوريتم دانشي تخصصي است كه گوشهاي از آن ميتواند برنامه حرفهاي عمر كامل يك متخصص را به خود اختصاص دهد.
بنابراين، طبيعي است آنچه در اينجا اشاره شد، نكاتي بسيار ابتدايي – گاه به قيمت حذف جزئيات و دقت علمي – بود تا صرفاً اين مفهوم براي دوستان عزيز شفافتر شود.