درسنامه آموزشی کار و فناوری کلاس نهم
پودمان الگوریتم

در این پودمان مهارت ارائه الگوریتم را که مبنای برنامهریزی برای هر فرآیند از جمله برنامهنویسی رایانهای است، بهدست میآورید. برنامههای رایانهای مهمترین بخش نرمافزارهای رایانهای هستند. سختافزار رایانه بدون وجود نرمافزار کارایی ندارد. الگوریتمنویسی اولین گام تولید نرمافزارهای رایانهای مانند بازیهای رایانهای است.
تعریف حل مسئله
به فرایندی که فرد سعی میکند با کمک آن برای مسائل زندگی روزمرهٔ خویش و دیگران راهحلهای مؤثری پیدا کند، «حل مسئله» گویند.
برای حل مسئله باید دربارهٔ راهحلهای مختلف تصمیمگیری کرد. شما در طول زندگی همواره در حال تصمیمگیری هستید. مثلاً برای اینکه پروژههای درس کار و فناوری را بهتر انجام دهید، چه اقدامی میکنید؟ چگونه محصول بهتری آماده کنید؟ در واقع با تصمیمگیری دربارهٔ چگونگی حل مسئله، برای حل آن برنامهریزی میکنید. اگر خود را ملزم کنید که برای همه مراحل زندگی برنامهریزی کنید، یاد میگیرید که قبل از اقدام به هر کاری دربارهٔ آن سنجیده و منطقی فکر کنید و آیندهنگر باشید.
برنامهریزی قبل از انجام دادن هر کار باعث میشود که آنرا با اعتماد به نفس و تسلط بیشتری شروع کنید و اگر در حین اجرا با مشکلی مواجه شوید بهجای سردرگمی، میکوشید برای آن راهحل مناسبی پیدا کنید (شکل 1-1)
حل مسئله یک مهارت است و مانند هر مهارت دیگری میتوان آنرا هم یاد گرفت. با یادگیری مهارت حل مسئله، میتوان یک مسئلهٔ ساده را خلاقانه حل کرد که در سطح بالاتر، این حل مسئله، منجر به ابداع و اختراع جدیدی میشود (شکل 2-1). برای رسیدن به یک راهحل خوب بهتر است راهحلهای متعددی برای مسئله پیدا کنید. توانایی یافتن راهحلهای جدید و مناسب برای مسائل را خلاقیت، ابداع و نوآوری میگویند. همانطور که در کتاب ریاضی پایه هفتم خواندهاید، حل مسئله چهار مرحله دارد که در شکل 3-1 مشاهده میکند. در واقع، یک مسئله زمانی بهراستی حل شده است که فرد بفهمد چه کرده است و چرا آن کارها برای بهدست آوردن پاسخ درست، مناسب بوده است.
|
|
گاهی اوقات میتوان به سادگی راهحل مسئله را تشخیص داد، مانند محاسبهٔ مجموع دو عدد یا محاسبهٔ مساحت یک دایره، اما اگر مسئله پیچیده باشد باید آن را به چند مسئله کوچکتر تقسیم کرد. به این ترتیب با حل زیرمسئلهها و کنار هم قرار دادن آنها، امکان حل مسئلهٔ اصلی فراهم میشود. مثلاً برای درست کردن کیک تولد، مراحل تهیهٔ کیک و خامه را بهطور جداگانه انجام میدهید، سپس با روش مناسب با کیک و خامهٔ آماده شده، کیک تولد را درست میکنید.
مثال 1: مراحل فرایند طراحی و ساخت ساک دستی در کتاب کار و فناوری پایه هفتم بهصورت زیر آمده است.
1- تعریف نیاز (چرا کیف دستی را میخواهید و ...)؛
2- بررسی نیاز و طرح مسئله (کیف دستی باید چقدر جا داشته باشد و چه وزنی را تحمل کند و...)؛
3- برنامهریزی اجرای کار (برای ساخت، پس از مطالعه و تحقیق جنس کیف را انتخاب کنید و...)؛
4- بررسی اطلاعات (نمونههای کیف دستی از نظر اندازه، شکل و جنس را بررسی کنید)؛
5- بررسی و ارائهٔ راهحلها (برای شکل، اندازه و جنس کیف چند پیشنهاد جدید بدهید)؛
6- انتخاب راهحل (بر اساس اندازهٔ مورد نیاز، قیمت و قدرت تحمل، یک شکل و جنس نمونهٔ مناسب را انتخاب کنید و نقشهٔ آنرا ترسیم کنید)؛
7- تولید (مواد و ابزار لازم برای ساخت یک نمونه را فراهم کنید، سپس ساخت کیف دستی را شروع کنید)؛
8- آزمایش و بهبود (آزمایش و بررسی کار ساخته شده و این که آیا نیاز خانواده را برآورده است؟ کیف دستی ساخته شده را آزمایش کنید که ببینید آیا قدرت تحمل بار را دارد و...)؛
9- ارائه و ثبت محصول (نمونهٔ ساخته شده را ارائه و تحویل دهید).
الگوریتم
الگوریتم روشی گام به گام برای حل مسئله است. به هر دستورالعملی که مراحل انجام دادن کاری را با زبانی دقیق و با جزئیات کافی بیان نماید، بهطوری که ترتیب مراحل و شرط خاتمهٔ عملیات در آن کاملاً مشخص شده باشد، «الگوریتم» گویند.
همهٔ شما روزانه اموری را انجام میدهید که از نظام خاصی پیروی میکنند، مانند روش مصرف داروها تا از بین رفتن کامل علائم بیماری، روش تهیهٔ یک کاردستی خاص، چگونگی رفتن به مدرسه. هر کدام از این امور با روش خاصی انجام میشوند. مثلاً تا از بین رفتن کامل علائم بیماری، روزی سه بار، هر بار یک قاشق مرباخوری از داروی تجویزی را در یک لیوان آب سرد حل و قبل از غذا میل میکنید.
تحقیق کنید (صفحهٔ 6 کتاب درسی)
در گروه خود با جستوجو در اینترنت، کتابها و منابع دیگر در مورد دانشمند ایرانی ابوجعفر محمدبن موسیالخوارزمی تحقیق کنید و نتایج تحقیق خود را در کلاس ارائه دهید.
مثال 2: الگوریتم ذخیرهٔ یک فایل عکس با قالب jpg، با عرض 200 و ارتفاع 250 پیکسل بهصورت زیر است:
1- شروع
2- برنامهٔ نقاشی (Paint) را از مسیر Start→All programs →Accessories →Paint باز کنید.
3- بعد از باز کردن برنامهٔ نقاشی (در سیستم عامل ویندوز 7) از منوی بازشو، گزینهٔ Open را انتخاب و عکس خود را از مسیر ذخیره شده باز کنید.
4- از زبانهٔ Home قسمت Image گزینهٔ Resize را انتخاب کنید.
5- در کادر محاورهای باز شده، با انتخاب گزینهٔ Pixels در کادر Horizontal عدد 200 و در کادر Vertical عدد 250 را درج و سپس دکمهٔ Ok را کلیک کنید.
6- از منوی بازشو، گزینهٔ Save As و سپس JPEG را انتخاب کنید و در کادر محاورهای باز شده در قسمت Filename نام مورد نظر خود را بنویسید و دکمهٔ Save را کلیک کنید.
7- با انتخاب گزینهٔ Exit از منوی بازشو، از برنامهٔ نقاشی خارج شوید.
8- پایان
در مرحلهٔ 5 این الگوریتم وقتی نوشته شده است «در کادر محاورهای باز شده» یعنی دقیقاً مشخص کرده است پس از انتخاب گزینهٔ Resize یک کادر محاورهای باز میشود.
همچنین اگر ذکر نشده بود که اینجا برنامهٔ نقاشی در ویندوز 7 باز شده است، ممکن بود کاربر برنامهٔ نقاشی را در سیستم عامل دیگری باز میکرد و مسیر دستیابی به گزینهها در آنجا متفاوت بود.
اگر مرحلهٔ 5 را بعد از مرحلهٔ 6 انجام دهید تغییر اندازه عکس ذخیره نمیشود.
مرحلهٔ 8 خاتمه کار را نشان میدهد.
روشهای بیان الگوریتم
1- روش شبه دستور: الگوریتمها را میتوان به زبان فارسی و بهصورت دستوری نوشت و در صورت نیاز برای آنها نمادهای ریاضی بهکار برد. در کتاب ریاضی پایهٔ هفتم آموختید که میتوان بهجای اعداد نامشخص از متغیرها استفاده کرد.
مثال 3: نمرههای ماهانهٔ مریم 19، 16/75، 18 و 16 است. معدل نمرات مریم را حساب کنید.
الگوریتم راهحل:
1- شروع
2- نمرههای 19، 16/75، 18 و 16 را زیر هم روی کاغذ بنویسید.
3- نمرهها را با هم جمع کنید.
4- حاصل جمع را بر 4 تقسیم کنید.
5- حاصل تقسیم، معدل نمرات مریم است.
6- پایان
همانطور که میدانید، اگر راهحل مسئله را با استفاده از متغیرها بنویسید میتوانید معدل نمرات هر کدام از هم کلاسیهای مریم را نیز حساب کنید.
1- شروع
2- نمرهها را در متغیرهای C ، B ، A و D قرار دهید.
3- S←A+B+C+D
4- M←S ÷ 4
5- M معدل است.
6- پایان
کار کلاسی (صفحهٔ 7 کتاب درسی)
یک کارگاه تولیدی لباس باید در هفته حداقل 560000 تومان سود داشته باشد. اگر قیمت فروش هر لباس 15 درصد بیشتر از هزینهٔ تولید آن باشد، الگوریتمی بنویسید که هزینهٔ تولید یک لباس را بپرسد و حداقل تعداد لباسی را که باید در هفته تولید شود محاسبه کند.
2- روش روندنما (Flowchart): روش دیگر برای بیان الگوریتم استفاده از شکلهای استاندارد است. در این روش، مراحل الگوریتم با استفاده از شکلهای هندسی نشان داده میشوند و بهوسیله خطهای جهتدار، ترتیب اجرای مراحل مشخص میشوند. به این روش، روندنما گفته میشود. این شکلها در جدول 1-1 نشان داده شده است.
| عملیات | نماد | عملیات | نماد |
| شروع و پایان عملیات |
|
دریافت ورودی یا نمایش خروجی |
|
| انجام دادن فرآیند، محاسبات و مقداردهی |
|
وجود یک شرط |
|
مثال 4: الگوریتمی بنویسید که با دریافت دو اندازهٔ زاویه، مشخص کند که آیا این زاویهها متمم هم هستند یا خیر؟ سپس روندنمای آن را نیز رسم کنید.
الگوریتم:
1- شروع
2- اندازهٔ زاویهها را در متغیرهای A و B قرار دهید.
3- اگر 90=A+B است پس زاویههای A و B متمم هم هستند در غیر اینصورت زاویههای A و B متمم نیستند.
4- پایان
میتوانید با رسم جدول درستی برای عددهای فرضی مراحل عملیات را بررسی کنید (جدول 2-1).
| نمایش | B | A |
| زاویههای A و B متمم هستند. | 58 | 32 |
| زاویههای A و B متمم هستند. | 8 | 18 |
در شکل 4-1 روندنمای زاویههای متمم آورده شده است.
نرمافزار Edraw: با کمک این نرمافزار میتوانید به آسانی روندنمایِ الگوریتمهای مورد نظر خود را رسم کنید. در شکل 5-1 محیط این نرمافزار نشان داده شده است.
روندنمای حلقوی: ممکن است مواردی پیش بیاید که لازم باشد مراحلی از عملیات، چند بار تکرار شود. با استفاده از یک شرط میتوان به جای چندبار نوشتن این مراحل، مسیر روندنما را به صورتی تغییر داد که بتوان آنها را به تعداد مورد نیاز، تکرار کرد. به این تکرار مرحلهها حلقه میگویند. در کتاب کار و فناوری پایه هشتم در نرم افزار اکسل با استفاده از تابع Average در کسری از ثانیه میانگین چندین عدد را به دست آوردید حالا در مثال 5 روند انجام آن تابع در رایانه را فرا میگیرید.
مثال 5: روندنمای الگوریتمی را رسم کنید که 8 نمره از ورودی دریافت کند و میانگین آنها را نمایش دهد.
در این مثال، بهجای استفاده از 8 متغیر برای دریافت نمرهها، یک متغیر A برای دریافت همهٔ نمرهها، متغیر I برای شمارش تعداد تکرار مراحل و متغیر S برای نگهداشتن حاصل جمع مقدارهای A بهکار میرود.
میدانید که صفر با هر عددی جمع شود حاصل، همان عدد میشود؛ پس مقدار اولیه متغیرهای شمارنده و حاصل جمع را صفر بگذارید.
در مرحلهٔ بعد یک عدد دریافت میشود و در متغیر A قرار میگیرد. به متغیر I یک واحد اضافه میشود؛ سپس مقدار متغیر A را با مجموع قبلی که در متغیر S قرار دارد جمع میکند و در متغیر S قرار میدهد.
در مرحلهٔ بررسی شرط اگر مقدار متغیر I کوچکتر از 8 باشد، مجدداً به مرحلهٔ «دریافت A» میرود و عدد بعدی را دریافت میکند، این مراحل تا زمانی که مقدار متغیر I مساوی 8 شود، تکرار میشود. پس از خروج از حلقه، با تقسیم مجموع (S) بر 8، میانگین نمرهها در متغیر M قرار میگیرد و نمایش داده میشود (شکل 6-1).
جدول درستی این الگوریتم با عددهای فرضی بهصورت جدول 3-1 است.
| نمایش | M | A | S | I |
| 17/34 | 17/34 | 15/5 | 0 | 0 |
| 17 | 15/5 | 1 | ||
| 19 | 32/5 | 2 | ||
| 16/75 | 51/5 | 3 | ||
| 15 | 68/25 | 4 | ||
| 17/5 | 83/25 | 5 | ||
| 20 | 100/75 | 6 | ||
| 18 | 120/75 | 7 | ||
| 138/75 | 8 |
کار کلاسی (صفحهٔ 11 کتاب درسی)
روندنمای مثال 5 را بهگونهای تغییر دهید که بتواند میانگین هر تعداد عدد دلخواه را بهدست آورد.
کار کلاسی (صفحهٔ 11 کتاب درسی)
الگوریتم چهار کار از کارهایی را که در پودمانهای کتابهای کار و فناوری پایههای هفتم و هشتم انجام دادید را بنویسید و روندنمای آنها را با نرمافزار Edraw ترسیم کنید. سپس آنها را از طریق رایانامه برای دبیر خود ارسال کنید. یک نمونه در مثال 6 آورده شده است.
مثال 6: الگوریتم سوهانکاری یک قطعهٔ فلزی را بنویسید و روندنمای آن را رسم کنید.
1- شروع
2- قطعه فلز بریده شده را به گیره ببندید. قطعه باید کمی بیرون از گیره و کاملاً تراز باشد، در غیر این صورت آن را باز کنید و مجدداً بهطور صحیح به گیره ببندید.
3- سوهان را به شکل مناسب در دست بگیرید و قطعه فلزی را سوهانکاری کنید. سپس زاویههای قطعه را با گونیا کنترل کنید. اگر اضلاع کار بر یکدیگر عمود نیستند، سوهانکاری را ادامه دهید.
4- پایان
در شکل 7-1 روندنمای مراحل سوهانکاری یک قطعهٔ فلزی آورده شده است.
کار کلاسی (صفحهٔ 12 کتاب درسی)
بخش اول کتاب کار و فناوری پایه نهم شامل پودمانهای «الگوریتم»، «ترسیم با رایانه»، «سازو کارهای حرکتی»، «برنامهنویسی» و «هدایت تحصیلی - حرفهای» است. باید با کمک این پنج پودمان یک پروژه انجام دهید. پروژهٔ پیشنهادی، طراحی و ساخت یک ساز و کار حرکتی است. لذا ابتدا الگوریتم این پروژه را در زیر بنویسید و سپس روندنمای آن را با کمک نرمافزار Edraw رسم نمایید و آن را به همراه گزارش نهایی پروژه از طریق رایانامه برای دبیر خود ارسال کنید. در شکل 8-1 یک نمونه روندنما آورده شده است، آنرا کامل کنید.
الگوریتم پروژۀ طراحی و ساخت یک سازوکار حرکتی
1- شروع
2-
3-
.....
در پروژههای بخش نیمه تجویزی کتاب نیز از پودمان الگوریتم استفاده خواهد شد. در اکثر این پروژهها قبل اجرا از شما خواسته میشود که روندنمای انجام کارها را ترسیم کنید.