دانش آموزان یاد می گیرند که ماژول های جداگانه ای را انجام دهند که عملکردهای گسسته را انجام می دهند اما در مجموع نیازهای راه حل را برآورده می کنند. آنها مناسب ترین الگوریتم را بر اساس نوع مشکل انتخاب می کنند.

در مورد این درس
در این دنباله درس ، دانش آموزان یاد می گیرند که ماژول های جداگانه ای را انجام دهند که عملکردهای گسسته را انجام می دهند اما در مجموع نیازهای راه حل را برآورده می کنند. آنها مناسب ترین الگوریتم را بر اساس نوع مشکل انتخاب می کنند.
پیوندهای برنامه درسی
پیوندها با منطقه برنامه درسی فن آوری های دیجیتال
| رشته | توصیف محتوا |
| دانش و درک | اجرای برنامه های مدولار ، استفاده از الگوریتم های منتخب و ساختارهای داده از جمله استفاده از یک زبان برنامه نویسی شی گرا (ACTDIP041) |
ارزیابی
| مقدار دانش | کیفیت درک |
| فشرده سازی تصویر | هیچ مدرکی از درک وجود ندارد | دانش آموز قادر به ایجاد یک برنامه کاری است که حاوی حداقل یک الگوریتم فیبوناچی است | دانش آموز قادر به ایجاد یک برنامه کاری حاوی سه الگوریتم فیبوناچی است | دانش آموز قادر به ایجاد یک برنامه کاری است ، به طور موثر سه الگوریتم فیبوناچی | دانش آموز قادر به مقایسه کارآیی حداقل سه الگوریتم برای طیف وسیعی از مقادیر بالا و پایین است ، برای انواع مختلف ، که یکی از آنها از بازگشت استفاده می کند. |
| نمره اختیاری | 0 | 1 | 2 | 3 | 4 |
استاندارد دستاورد
ترتیب یادگیری
قلاب
- ثابت کنید که سه عدد فیبوناچی اول 0 ، 1 ، 1 است. یکی از راه های انجام این کار ، قرار دادن تصویری از یک pinecone و اعداد 1 ، 1 ، 2 ، 3 ، 5 ، 8 با یک علامت سؤال واز دانش آموزان بخواهید که در مورد آنچه فکر می کنند این درس را بررسی می کند ، بحث کنند. اطمینان حاصل کنید که همه دانش آموزان قانون اساسی فیبوناچی را درک می کنند: fn = f (n-1) + f (n-2)
- تأکید کنید که اولین شماره فیبوناچی ‘0 است.
- برای هر دور موقعیت های دانشجویی را در هنگام ایستادن اعلام کنید: اول ، دوم ، سوم و غیره تا حدود 10.
- از دانش آموزان بپرسید که چه قانونی می تواند برای محاسبه اعداد فیبوناچی به تعداد معینی از شرایط استفاده شود.
- از دانش آموزان بخواهید از قلم و کاغذ برای ترسیم یک نمودار جریان برای گرفتن الگوریتم خود استفاده کنند.
یادگیری نقشه و نتایج
دانش آموزان الگوریتم های مورد استفاده برای یافتن شماره های فیبوناچی ، بررسی فرآیندهای مورد استفاده و مقایسه سرعت خود را مقایسه می کنند.
دانش آموزان الگوریتم مورد علاقه خود را تعیین می کنند و دلایل انتخاب خود را بیان می کنند. آنها یاد می گیرند که این دانش را برای مشکلات جدید اعمال کنند.
دانش آموزان در مورد الگوریتم های تکراری و بازگشتی و روش های اجرای برنامه زمان بندی می آموزند.
شما همچنین می توانید در این پروژه روی مهارت و ذهنیت و ذهنیت که یادگیرندگان باید در این پروژه اتخاذ و استفاده کنند ، تمرکز کنید ، این ارتباط با قابلیت های تفکر خلاق و انتقادی است
ورودی یادگیری
- توضیح دهید که ما در حال مقایسه الگوریتم های مورد استفاده برای یافتن شماره های فیبوناچی خواهیم بود. ما فرایندهای آنها را بررسی خواهیم کرد و سرعت آنها را مقایسه خواهیم کرد. ما همچنین می آموزیم که یک الگوریتم بازگشتی و همچنین نقاط قوت و محدودیت آن چیست.(در زیر توضیحات رویکردهای متداول که می تواند برای یافتن شماره های فیبوناچی استفاده شود وجود دارد. بسیاری موارد دیگر نیز وجود دارد.
- این قاعده را تحمیل کنید که دانش آموزان باید الگوریتمی را که نمی توانند برای کلاس توضیح دهند ، پیشنهاد کنند (این انتخاب دانش آموزان را محدود می کند).
- بسیاری از دانشجویان صفحات وب را خلاصه می کنند که بسیاری از الگوریتم ها را خلاصه می کنند. به دلیل این آخرین تصریح ، این نباید به عنوان تقلب تلقی شود.
- در این تحقیق دانشجویان در مورد تکرار و بازگشت خواهند دید.
با استفاده از الگوریتم تکرار فیبوناچی
- ابتدا قانون تکراری اساسی را برای شماره های فیبوناچی با دانشجویان ایجاد کنید:
- در هر حالت ، دانش آموزان الگوریتم خود را به درستی برای مقادیر 0 ، 1 ، 2 و همچنین مقادیر بالاتر بررسی می کنند. در مورد اهمیت آزمایش شرایط مرزی بحث کنید و از دانش آموزان بپرسید که آیا در این مورد وجود دارند یا خیر.
توضیح دهید: توابع مستقل از برنامه اصلی اجرا می شوند. یک برنامه در حال اجرا عملکرد را نمی بیند ، بلکه در عوض مقداری که عملکرد باز می گردد.
به رایانه ، یک متغیر "X" شبیه "X" نیست. در عوض به نظر می رسد مانند مقدار ذخیره شده در "X".
به برنامه ما ، توابع همان متغیرها هستند. به برنامه اصلی آنها دقیقاً مانند ارزشی که برمی گردند به نظر می رسند. یک تابع مانند یک برنامه کوچک است که پارامترها به آن داده می شود تا بتواند نتیجه را محاسبه کند ، اما برنامه اصلی ما فقط مقداری را می بیند.
- توجه: اختیاری برای دانشجویان توانمندتر. به دانشجویان در کنار هم با تکرار قبلی نشان دهید. به دانش آموزان بگویید که این یکی دیگر از عملکردهای تکرار پایتون است:
با استفاده از یک الگوریتم بازگشت فیبوناچی ، شوخی محبوب در بین برنامه نویسان این است که برای درک بازگشت ، ابتدا باید بازگشت را درک کنید! همچنین گفته می شود که افراد هنگام یادگیری بازگشت ، سه مرحله را طی می کنند:
- اول ، آنها از آن متنفر هستند ، زیرا آنها نمی توانند آن را درک کنند.
- سپس ، آنها آن را دوست دارند زیرا در نهایت آن را درک می کنند.
- سرانجام ، آنها دوباره از آن متنفر هستند زیرا تصمیم می گیرند که این ناکارآمد باشد!
- مثال زیر از بازگشت را به دانشجویان بدهید:
- ابتدا توضیح دهید که یک فاکتوریل چیست. به دانش آموزان بگویید: اگر از ما خواسته شود 5 پیدا کنیم! ما می دانیم که این برابر با 5. 4 است! اکنون باید 4 پیدا کنیم! که 4. 3 است! اکنون باید 3 را پیدا کنیم! که 3. 2 است! حال باید 2 را پیدا کنیم! که 2. 1 است! یا 2x1 = 2 اما ما 2 را می شناسیم!= 2 بنابراین کار پشتیبان گیری می توانیم بگوییم 3! = 3x2 = 6 و دوباره 4! = 4x6 = 24 و دوباره 5! = 5x24 = 120 پاسخ: بنابراین نتیجه نهایی 120 است

- برای انجام بازگشت به منظور حل فیبر (4) ، ما مجبور می شویم درخت را به موارد زیر موردی که می خواهیم پیدا کنیم ، فرود بیاوریم ، تا اینکه در نهایت به مواردی که سایه نشان داده شده است ، که ارزشهای آنها را می دانیم ، و بنابراین ، "حمل" این مابا استفاده از علاوه بر حل و فصل هر مقدار بالاتر فیبر (N) ، درخت را صعود کنید ، تا اینکه در نهایت با راه حل خود به بالای درخت برسیم:
- هنگام ردیابی بیشتر کارکردهای بازگشتی ، یک قسمت نزولی و صعودی وجود دارد.
- قسمت نزولی اتفاق می افتد زیرا بازگشت باید سؤالاتی را مطرح کند که تنها پاسخ ها پایین تر است ، بنابراین به موارد پایه (که شناخته شده است) می رود. قسمت صعودی هنگامی اتفاق می افتد که بازگشت دوباره به اصل باز می گردد و پاسخ ها را حمل می کند.
- فرض کنید ما یک تابع A داریم که می خواهیم ارزیابی کنیم ، که برای یافتن مقدار خاص خود باید برای عملکرد B تماس بگیرید ، اما عملکرد B باید برای عملکرد C فراخوانی کند ، و عملکرد C باید برای عملکرد d تماس بگیرد. حال بگذارید بگوییم که ارزش D شناخته شده است. پس از اتمام کارکرد D ، جواب را به C تحویل می دهد ، که آن را به B منتقل می کند ، که در نهایت آن را به A منتقل می کند. در رفتن از A به D با بار یک سؤال پایین می آید و سپس با حمل پاسخ صعود می کند.
- همین اتفاق در مورد توابع بازگشتی اتفاق می افتد: عملکرد F یک تماس بازگشتی به خودش می دهد - عملکرد F ، که باعث می شود عملکرد F باشد ، که باعث می شود یک تماس برای عملکرد F (مورد پایه) باشد ، سپس در نهایت به F اصلی صعود می کندبشرتوجه: دانش آموزان در مرحله ساخت و ساز یادگیری برای خودشان کشف می کنند که بازگشت یک روش بسیار آهسته برای اصطلاحات بزرگتر در فیبوناچی است. کند است زیرا ناکارآمد است. در حقیقت ، برای اصطلاحات بیشتر از 40 ، تقریباً غیرقابل استفاده است. با این حال ، دانش آموزان نباید بازگشت را رد کنند زیرا این یک انتخاب برتر برای سایر الگوریتم ها مانند برخی از الگوریتم های مرتب سازی است.
- این در سه برنامه نمونه ما نشان داده شده است.
با استفاده از فرمول Binet
به دانش آموزان توضیح دهید که این فرمول باید مقادیر را دور هم جمع کند زیرا از شماره های نقطه شناور استفاده می کند:
گزینه های باینری چیست...
ما را در سایت گزینه های باینری چیست دنبال می کنید
برچسب :
نویسنده : مهدی امینیخواه
بازدید : <-PostHit->
تاريخ : سه
شنبه
1 فروردين
1402 ساعت: 16:54