الگوریتم Cyclic ICT مثال پاسکال. الگوریتم های چرخه ای انواع چرخه ها و تیم های چرخه ای در پاسکال

اسلاید 2

طرح

چرخه اپراتور اپراتور چرخه چرخه چرخه در حالی که چرخه تکرار ادبیات

اسلاید 3

ادبیات

Kastornov A.F.، Evstratova G.A. زبان برنامه نویسی پاسکال: آموزش برای دانشگاه ها. - Cherepovets: Gou VPO ChSU، 2010. - 117 C. - Bibliogr.: p.114. کتاب الکترونیکی الکترونیکی در زبان برنامه نویسی پاسکال /http://pascal.guti.ru طرح

اسلاید 4

مفهوم چرخه

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

اسلاید 5

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

اسلاید 6

اپراتور چرخه برای

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

اسلاید 7

1 فرم چرخه ضبط اپراتور برای

فرم اول اپراتور ضبط برای اپراتور به طور کلی به شرح زیر شرح داده شده است: forschechik: \u003d initial_treatmentto-object_dorator؛ کجا، به، انجام - کلمات خدمات. متر متغیری از یک نوع توالی (معمولا مانند عدد صحیح) است که تعداد تکرار چرخه را تعیین می کند. تعداد تکرارها با توجه به فرمول در نظر گرفته شده است: Final_Dative اولیه _station + 1 است. مقدار FINAL_ باید بیشتر یا برابر با اولیه باشد.

اسلاید 8

اگر بدن چرخه شامل چندین اپراتور باشد، سپس فرم اول ضبط اپراتور برای اپراتور به نظر می رسد این است: fant

اسلاید 9

الگوریتم را برای کار چرخه در فرم اول ضبط در نظر بگیرید. شمارنده به مقدار اولیه اختصاص داده شده است. وضعیت بررسی شده است: مقدار شمارنده بیشتر از Final_Station است؟ اگر شرط درست باشد (بله)، اجرای چرخه به پایان می رسد. اگر وضعیت نادرست باشد (نه)، بدن چرخه انجام می شود، سپس مقدار شمارنده توسط یکی افزایش می یابد و شرایط بررسی دوباره، I.E. پ.

اسلاید 10

شکل دوم ضبط چرخه اپراتور برای

فرم دوم اپراتور ضبط برای اپراتور به طور کلی به شرح زیر است: برای شمارنده: \u003d initial_downdownto-end_dactivity. کجا: برای، DOWNTO، DO - کلمات خدمات. شمارنده متغیر نوع توالی (معمولا مانند عدد صحیح) است که تعداد تکرار چرخه را تعیین می کند. تعداد تکرارها توسط فرمول در نظر گرفته می شود: مقدار اولیه finite_dation + 1. initial_namedInteriority بزرگتر از یا به همان اندازه در نظر گرفته شده است.

اسلاید 11

اگر بدن چرخه متشکل از چند اپراتور باشد، پس از آن، فرم دوم ضبط اپراتور برای اپراتور به نظر می رسد: forschechik: \u003d initial_downtofo-eightdo شروع / شروع چرخه بدن؛

اسلاید 12

الگوریتم را برای عملکرد چرخه در قالب دوم ضبط در نظر بگیرید: شمارنده مقدار اولیه را تعیین می کند. شرایط چک شده است: مقدار شمارنده کمتر از Final_Station است؟ اگر شرط درست باشد (بله)، اجرای چرخه به پایان می رسد. اگر شرط نادرست باشد (نه)، سپس بدن چرخه انجام می شود، سپس مقدار شمارنده در هر واحد کاهش می یابد و شرایط بررسی دوباره، I.E. پ.

اسلاید 13

اپراتور چرخه برای

programex1؛ var i، n: integer؛ (I - counter، n - تعداد مورد نیاز ستاره ها) S: String؛ (S - خط رشته تولید شده) شروع Writeln ("تعداد ستاره ها را وارد کنید")؛ (تعداد ستاره ها) Readln (N) درخواست شده است؛ (کاربر وارد تعداد spars n) S: \u003d ""؛ (تشکیل رشته سکته مغزی با یک رشته خالی آغاز می شود) (رشته در امتداد چرخه تشکیل شده است. initial_nity متر متر - 1، final_tility تعداد مورد نیاز از spars n است.) fori: \u003d 1 به n انجام S: \u003d S + "*"؛ (در هر مرحله از چرخه به رشته، یک ستاره) Writeln (ها) چسبنده است؛ (خط نمایش داده می شود) Readln؛ پایان. مثال طرح: برنامه رشته رشته را تشکیل می دهد. تعداد ستاره ها در رشته توسط کاربر تعیین می شود.

اسلاید 14

در حالی که چرخه

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

اسلاید 15

اگر بدن چرخه شامل چندین اپراتور باشد، در حالی که چرخه به صورت زیر نوشته شده است: تمام پیراهن شروع می شود // پایان چرخه بدن؛

اسلاید 16

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

اسلاید 17

بنابراین، هنگامی که چرخه با پیش شرط یا چرخه "در حالی که" (بدن چرخه هنوز شرایط واقعی است). اگر، هنگامی که شما برای اولین بار چرخه را منتقل می کنید، وضعیت نادرست است، بدن چرخه هرگز برآورده نخواهد شد. اگر وضعیت هرگز نادرست نباشد، چرخه بی نهایت تکرار خواهد شد، I.E. سرد رخ خواهد داد.

اسلاید 18

برنامه EX2؛ Varaccount: Real؛ (اندازه حساب) ماه: INTEGER؛ (تعداد ماه ها از زمان باز شدن حساب) شروع به حساب: \u003d 1000؛ (در هزینه قرار دادن 1000 روبل) ماه: \u003d 0؛ (حساب فقط باز شده است) whileaccount

اسلاید 19

تکرار چرخه

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

اسلاید 20

الگوریتم عملیاتی چرخه تکرار را در نظر بگیرید: تکرار و تا زمانی که بدن چرخه بین کلمات رزرو شده انجام شود. شرایط بررسی شده است. اگر وضعیت درست باشد، چرخه کامل شده است. اگر شرایط نادرست باشد، بدن چرخه دوباره انجام می شود.

اسلاید 21

بنابراین، پروانه یک چرخه با یک موج پس از موج یا چرخه "به" است (بدن چرخه به حقیقت شرایط انجام می شود). در نتیجه، بدن چرخه حداقل یک بار انجام می شود. اگر وضعیت هرگز درست نمی شود، چرخه تبدیل به بی نهایت خواهد شد.

اسلاید 22

برنامه EX3؛ var time: integer؛ (زمان تحویل) سلول ها: عدد صحیح؛ (شماره سلول) زمان شروع: \u003d 0؛ (سلول هنوز هم شروع نمی شود) سلول ها: \u003d 1؛ (تک) زمان تکرار: \u003d زمان + 3؛ (بعد از سه ساعت بعد) سلول ها: \u003d سلول ها * 2؛ (تعداد سلول ها به 2 بار افزایش یافت) تا زمانی که سلول ها\u003e 24؛ (تا حقیقت وضعیت "تعداد سلول ها بیش از 24") writeln (زمان)؛ (خروجی) readln؛ پایان. به عنوان مثال کارخانه: Ameba تک سلولی هر 3 ساعت به 2 سلول تقسیم می شود. تعیین کنید، پس از چند ساعت تعداد سلول ها بیش از 24 سال.

تمام اسلایدها را ببینید

اسلاید 1

الگوریتم دوچرخه سواری پیمانکار
ارائه به درس اطلاعاتی. درجه 9 موضوع: مدیریت و الگوریتم ها

اسلاید 2

برای من: \u003d 1 به N شروع به فعالیت 1؛ action2؛ پایان؛
برای من: \u003d 1 به n انجام action1؛ action2؛
1

اسلاید 3

2
در حالی که (شرایط درست) شروع به فعالیت 1؛ action2؛ پایان؛
در حالی که (شرط درست) انجام action1؛ action2؛

اسلاید 4

3
17 سلول
12 سلول

اسلاید 5

4
برنامه N1؛ var i: integer؛ شروع به من: \u003d 1 تا 12 آیا Robotforw؛ ربوتله؛ برای من: \u003d 1 تا 17 آیا Robotforw؛ ربوتله؛ برای من: \u003d 1 تا 12 آیا Robotforw؛ ربوتله؛ برای من: \u003d 1 تا 17 آیا Robotforw؛ ربوتله؛ پایان.
حرکت کردن
حرکت به سمت راست
حرکت به بالا
حرکت به سمت چپ
این و دستورات زیر به گوشه ربات به سمت چپ تبدیل می شوند

اسلاید 6

5
اگر دیوار را قرار دهید، ربات به آن شیرجه می کند و برنامه متوقف خواهد شد

اسلاید 7

6
برنامه N2؛ var i: integer؛ شروع کنید در حالی که FreeForw آیا Robotforw؛ ربوتله؛ در حالی که FreeForw آیا RobotForw؛ ربوتله؛ در حالی که FreeForw آیا RobotForw؛ ربوتله؛ در حالی که FreeForw آیا RobotForw؛ ربوتله؛ پایان.
در حالی که پیش رو رایگان است، یک ربات را به جلو انجام دهید.

اسلاید 8

اسلاید 9

8
برنامه N3؛ var i: integer؛ برای من شروع کنید: \u003d 1 تا 4 شروع به کار در حالی که freeforw آیا RobotForw؛ ربوتله؛ پایان؛ پایان.
چهار بار برای حرکت به جلو، تا زمانی که هیچ مانعی وجود ندارد و به سمت چپ بروید

اسلاید 10

9
چهار بار برای حرکت به جلو، تا زمانی که هیچ مانعی وجود ندارد، و به سمت چپ بروید

اسلاید 11

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

اسلاید 12

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

اسلاید 13

12
وظیفه 3. دیوار چپ وضعیت در یک مکان دلخواه، پنج محموله قرار می گیرد. ربات باید تمام محموله ها را برای حمل و نقل به انبار حمل کند. توجه: از دو دوره متوالی متصل شده تا کنون در یک دوره با یک پارامتر استفاده کنید.

اسلاید 14

13
مثال 1 ربات در مقابل ورود به راهرو قرار دارد. لازم است تمام سلول های داخل راهرو را ذکر کنید و بازگشت به عقب

اسلاید 15

14
برنامه N7؛ شروع RobotForw؛ در حالی که Freeleeft شروع به انتخاب نیست؛ robotforw؛ پایان؛ ربوتبک؛ در حالی که Freeleeft Do Robotback نیست؛ پایان.
ما یک گام به جلو برای ورود به تونل
در حالی که در سمت چپ دیوار وجود دارد، قفس را جشن می گیرد و یک قدم جلوتر می کند
بازگشت به تونل
در حالی که دیوار را ترک کرد، یک گام به عقب حرکت می کند

اسلاید 16

15
مثال 2 دو دیوار وجود دارد که توسط یک زاویه عرضه می شود. طول دیوارها خودسرانه هستند. ربات در گوشه ای بین دیوارها قرار دارد (نگاه کنید به شکل). لازم است برنامه ای را ایجاد کنید که در آن ربات تمام سلول های داخل دیوار را نشان می دهد. موقعیت نهایی ربات خودسرانه.

اسلاید 17

16
برنامه N8؛ شروع می شود در حالی که فارغ التحصیری نیست شروع انتخاب کنید؛ robotforw؛ پایان؛ در حالی که PreeBack انجام robotback؛ ربوتله؛ در حالی که Freeleeft شروع به انتخاب نیست؛ robotforw؛ پایان؛ پایان.
در حالی که حق آزاد نیست، من سلول را جشن می گیرم و یک قدم جلوتر می کنم.
بازگشت روبات بازگشت
به چپ بپیچید
در حالی که چپ آزاد نیست، من سلول را جشن می گیرم و یک قدم جلوتر می کنم.

اسلاید 18

اسلاید 19

18
مثال 3 وضعیت همپوشانی دیوار است که وضعیت را به دو بخش تقسیم می کند. دیوار در یک اندازه سلولی در یک مکان دلخواه عبور می کند. لازم است برنامه ای را ایجاد کنید که در آن ربات این قسمت را پیدا می کند و به بخش دیگری از وضعیت می رود.

اسلاید 20

19
برنامه N9؛ شروع Robotleft؛ در حالی که FreeForw آیا RobotForw؛ ربات در حالی که freeleft do robotforw نیست؛ ربوتله؛ robotforw؛ robotforw؛ پایان.
ربات را به سمت دیوار روشن کنید.
ما در حال حرکت به جلو تا زمانی که من در دیوار ایستاده ام
ربات را در امتداد دیوار روشن کنید
حرکت به جلو تا زمانی که دیوار پایان نخواهد یافت
ربات را به سمت گذر تبدیل کنید
ما دو مرحله را به جلو می گیریم، ما به نیمی از وضعیت دیگر می رویم

شرح ارائه در اسلایدهای فردی:

1 اسلاید

توضیحات اسلاید:

موضوع طبقات: "الگوریتم های ساختار چرخه ای. چرخه های برنامه نویسی در پاسکال »نظم و انضباط" اطلاعات "

2 اسلاید

توضیحات اسلاید:

مفاهیم اصلی این موضوع در این شغل توسط مفاهیم زیر مورد بررسی قرار می گیرند: مفهوم چرخه؛ انواع الگوریتم های چرخه ای (چرخه با پیش شرط، چرخه پسوند، چرخه با پارامتر)؛ نمودارهای بلوک الگوریتم های چرخه ای؛ نمایندگی اپراتورهای چرخه در زبان برنامه نویسی پاسکال؛ اعمال سیکل هنگام حل مشکلات.

3 اسلاید

توضیحات اسلاید:

مفهوم چرخه زمانی که حل بسیاری از وظایف، یک و همان توالی از اقدامات چند بار انجام می شود. به عنوان مثال، پس از پذیرش موسسه تحصیلی دانش آموز به امتحانات می دهد، در حالی که محاسبه شده توسط نقاط به دست آمده توسط آنها (متغیر S؛ مقدار اولیه آن S: \u003d 0؛) محاسبه می شود. برای هر امتحان، تخمین زده می شود N. اگر برآورد بیشتر از "2" باشد، پس از آن S: \u003d S + N؛ در غیر این صورت، محاسبات را متوقف کنید (خروج از چرخه).

4 اسلاید

توضیحات اسلاید:

مفهوم چرخه چرخه یک توالی از اپراتورها است که می تواند بیش از یک بار انجام شود. الگوریتم چرخه ای یک الگوریتم نامیده می شود که برای تکرار چندگانه از همان عمل بر روی داده های جدید ارائه می شود. سه نوع اپراتور چرخه وجود دارد: چرخه با پیش شرط؛ چرخه با postcondition؛ چرخه با یک متر

5 اسلاید

توضیحات اسلاید:

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

6 اسلاید

توضیحات اسلاید:

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

7 اسلاید

توضیحات اسلاید:

چرخه اپراتور با PrePala (در حالی که - در حالی که چرخه) این اپراتور تکرار رایج ترین استفاده از پاسکال (فرمت): در حالی که در حالی که<условие> انجام دادن.<оператор>؛ در اینجا، انجام دهید، آیا - کلمات رزرو شده (از انگلیسی: در حالی که در، انجام -)؛<условие> - بیان منطقی؛<оператор> - اپراتور دلخواه (احتمالا کامپوزیت).

8 اسلاید

توضیحات اسلاید:

چرخه با postband. چرخه را به ترتیب اپراتور چرخه با انفجار تایپ کنید، اجرای اپراتورهای 1-N تکرار می شود تا زمانی که شرایط درست شود. در این چرخه، این وضعیت تنها پس از بدنه چرخه تایید شده است. این به این معنی است که بدن همیشه حداقل یک بار فلوچارت را با PostCal انجام می دهد

9 اسلاید

توضیحات اسلاید:

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

10 اسلاید

توضیحات اسلاید:

چرخه اپراتور با Postband (تایپ تا چرخه) اپراتور چرخه عمومی (فرمت) با PASCAL PASCAL بعدی: تکرار کنید<Оператор 1>; <Оператор 2>; … <Оператор N>؛ تا زمان<условие>;

11 اسلاید

توضیحات اسلاید:

یک نمونه از استفاده از اپراتور چرخه با Postband برای خروجی به صفحه نمایش به صورت دوگانه، مقادیر متغیر n \u003d 1، 2، 3، 4، 5، 6، 7، 8، 9 و 9 و متغیر A \u003d 10، 20، 30، 40، 50، 60، 70، 70، 80، 90 این اپراتور خواهد بود: n: \u003d 0؛ تکرار n: \u003d n + 1؛ a: \u003d 10 * n؛ Writeln (N: 2، ''، A: 3)؛ تا n\u003e \u003d 9؛

12 اسلاید

توضیحات اسلاید:

چرخه با پارامتر یک نوع چرخه نوع با یک پارامتر زمانی استفاده می شود که می خواهید یک تعداد مشخصی از مراحل چرخه انجام دهید. لازم به ذکر است که چرخه پاسکال پاسکال بیش از حد انعطاف پذیر نیست (در مقابل، به عنوان مثال، از این نوع چرخه در زبان C). از آنجا که، در پاسکال، پارامتر چرخه (یا شمارنده) با یک مقدار برابر با یک متغیر متفاوت است. بنابراین، زمانی که لازم است یک مرحله کسری انجام شود، باید از یک چرخه از نوع استفاده کنید. دو نوع از چرخه وجود دارد: با افزایش و با کاهش مقادیر متر (یا پارامتر). نمودار بلوک چرخه با پارامتر (برای چرخه)

13 اسلاید

توضیحات اسلاید:

14 اسلاید

توضیحات اسلاید:

اپراتور چرخه با پارامتر. نوع چرخه برای یک نمای کلی (فرمت) یک اپراتور چرخه با پارامتر<счетчик> := <начальное значение> به.<конечное значение> شروع کن<Операторы> پایان؛ برای<счетчик> := <начальное значение> پایین<начальное значение> شروع کن<Операторы> پایان؛ با افزایش مقادیر متر (پارامتر) با کاهش مقادیر متر (پارامتر)

15 اسلاید

توضیحات اسلاید:

اپراتور چرخه با پارامتر. نوع چرخه ای برای اپراتور که چرخه را اجرا می کند، اگر لازم باشد، اگر لازم باشد، قطعه برنامه چندین بار مشخص شده را تکرار کند<переменная цикла>: = <начальное значение> که<конечное значение> انجام دادن.<оператор>؛ در اینجا: برای، به، آیا کلمات رزرو شده (انگلیسی: برای، قبل، اجرا)؛<счетчик (параметр) цикла> - متغیر نوع عدد صحیح، که در بخش از بخش متفاوت است<начального значения>، افزایش واحد در پایان هر مرحله چرخه؛<оператор> - هر اپراتور (اغلب کامپوزیتی).

16 اسلاید

توضیحات اسلاید:

اپراتور چرخه با پارامتر. یک چرخه نوع برای بیانیه شامل یک هدر و یک چرخه بدن است. اپراتور کامپوزیتی که در چرخه چرخه قرار دارد باید در Begins and End Operator Brackets محصور شود. · شناسه متر معمولا از "من" استفاده می شود. · متغیر متر باید یک نوع توالی باشد. به عنوان مثال، نوع عدد صحیح: بایت، عدد صحیح. · مقادیر اولیه و پایان پارامتر چرخه را نمی توان در طول چرخه تغییر داد. · برای اپراتور برای سازماندهی چرخه ها با ثابت، پیش از آن شناخته شده یا تعیین شده در طول اجرای برنامه توسط تعداد تکرار استفاده می شود.

17 اسلاید

توضیحات اسلاید:

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

18 اسلاید

توضیحات اسلاید:

وظیفه شماره 1 برنامه pascalabc.net را باز کنید (برنامه های یکپارچه برای برنامه های برنامه نویسی پاسکال) برنامه را در پوشه با نام خود در سیستم ذخیره کنید پوشه کار pabcwork.net \\ your_in / cikl_1.pas صرفه جویی در چگونه ...

19 اسلاید

توضیحات اسلاید:

وظیفه شماره 1 با استفاده از چرخه در حالی که (با پیش شرط) برای ایجاد و اشکال زدایی یک برنامه که مجموع مربعات تمام اعداد طبیعی را از 1 تا 100 محاسبه می کند. داده های اولیه: A: INTEGER؛ نتیجه - مقدار: S: S: Longint؛ برنامه EX1؛ var a: integer؛ S: Longint؛ (عدد صحیح طولانی) شروع: \u003d 1؛ S: \u003d 0؛ (متغیر S برای جمع آوری مقادیر) در حالی که یک<=100 Do { Начало цикла – проверка условия } Begin S:=S+A*A; A:=A+1 End; Writeln(‘Вывод результата S= ’ ,S) End. Сохранить программу в папке с Вашим именем в системной рабочей папке PABCWork.NET \ Ваше_имя\Cikl_1.pas

20 اسلاید

توضیحات اسلاید:

وظیفه 2. ساختار چرخه ای را در زبان پاسکال در محیط PASCALABC.NET برنامه ABC پاک کنید؛ var x، u: integer؛ شروع x: \u003d 2؛ در حالی که X.<= 10 do begin Y:=x*x; writeln(‘вывод х: ’, x, ‘вывод у: ’, y); x:= x+2; end; end. Применить оператор цикла с предусловием для вычисления значения функции y=x2, при значениях x 2, 4, 6, 8, 10. Сохранить программу в папке с Вашим именем в системной рабочей папке PABCWork.NET \ Ваше_имя\Cikl_2.pas























برگشت به جلو

توجه! اسلایدهای پیش نمایش به طور انحصاری برای اهداف اطلاعاتی مورد استفاده قرار می گیرند و ممکن است ایده هایی در مورد تمام قابلیت های ارائه ارائه ندهند. اگر شما علاقه مند به این کار هستید، لطفا نسخه کامل را دانلود کنید.

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

در طول کلاس ها

I. درک دانش

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

دوم درس نظری نظری

اکثر وظایف عملی نیاز به تکرار چندگانه از اقدامات مشابه، به عنوان مثال استفاده مجدد از یک یا چند اپراتور. (ارائه)

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

مثالی دیگر. برای پیدا کردن نام خانوادگی یک فرد در لیست، شما باید نام اول لیست را بررسی کنید، سپس دوم، سوم و غیره تا زمانی که مورد نظر یا پایان لیست یافت یا یافت نشد. شما می توانید از چنین مشکلات با چرخه غلبه کنید.

چرخه یک بخش اجرایی چندگانه از الگوریتم (برنامه ها) نامیده می شود. بر این اساس، الگوریتم چرخه یک الگوریتم حاوی چرخه است.

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

3 نوع ساختارهای چرخه ای وجود دارد:

  • چرخه با پیش شرط؛
  • چرخه با پسزمینه؛
  • چرخه با پارامتر؛

در غیر این صورت، این سازه ها "تا"، "برای" تایپ دوره ها نامیده می شود.

شکل گرافیکی ساختارهای الگوریتم ضبط داده ها:

چرخه با پیش شرط (در غیر این صورت چرخه تا زمان) به نظر می رسد:

وضعیت - بیان منطقی

این چرخه ممکن است اجرا شود، اگر ارزش بیان منطقی بلافاصله به نظر برسد.

سری دستورات بین شروع و پایان تا زمانی انجام می شود تا تا کنون، شرایط درست است .

برای به پایان چرخهلازم است که دنباله ای از دستورالعمل ها بین شروع و پایان تغییر ارزش متغیرهای موجود در وضعیت.

چرخه با postcondition (در غیر این صورت چرخه قبل از) به نظر می رسد:

وضعیت - بیان منطقی

توجه داشته باشید:

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

به منظور چرخه کامل، لازم است که دنباله اپراتورها بینتکرار. وتا زمان. مقادیر متغیرهای موجود در شرایط بیان را تغییر داد.

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

چرخه با یک پارامتر (در غیر این صورت چرخه برای) این فرم را دارد:

i - پارامتر چرخه؛
A - مقدار اولیه چرخه؛
ب - ارزش نهایی چرخه؛
h یک مرحله تغییر پارامتر است.

ساختار این چرخه در غیر این صورت نامیده می شود چرخه بار.

این دستور به این ترتیب انجام می شود: پارامتر I مقدار اولیه A را تعیین می کند، با مقدار نهایی B مقایسه می شود و اگر کمتر یا برابر با مقدار نهایی B باشد، یک سری از دستورات انجام می شود. پارامتر ارزش قبلی، بزرگ شده است h. - مراحل تغییر در پارامتر و دوباره در مقایسه با مقدار نهایی b.

در زبان برنامه نویسی، پاسکال، مرحله تغییر پارامتر می تواند برابر با یک یا منهای یکسان باشد.

اگر تنها یک اپراتور بین شروع و پایان است، براکت های اپراتور نمی توانند نوشتن کنند. این قانون برای چرخه نوع "هنوز" و "برای" کار می کند.

یک نمونه از حل وظایف با استفاده از این ساختارها را در نظر بگیرید.

مثال.

محاسبه محصول اعداد از 1 تا 5 با استفاده از گزینه های مختلف چرخه.

مدل ریاضی:

p \u003d 1 · 2 · 3 · 4 · 5 \u003d 120

بیایید یک الگوریتم را به شکل یک فلوچارت بسازیم.

برای تأیید صحت الگوریتم، جدول ردیابی را پر کنید.

گام عمل r من. شرایط چک
1 P: \u003d 1 1
2 من: \u003d 1؛ 1 1
3 من.<=5
P: \u003d P * I
من: \u003d i + 1
1 1 1<=5, да (истина)
4 من.<=5
P: \u003d P * I
من: \u003d i + 1
2 2 2<=5, да (истина)
5 من.<=5
P: \u003d P * I
من: \u003d i + 1
6 3 3<=5, да (истина)
6 من.<=5
P: \u003d P * I
من: \u003d i + 1
24 4 4<=5, да (истина)
7 من.<=5
P: \u003d P * I
من: \u003d i + 1
120 5 5<=5, да (истина)
8 من.<=5
P: \u003d P * I
من: \u003d i + 1
6<=5, нет (ложь)

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

گام یک: P یک مقدار اختصاص داده شده است.

گام دوم: من به یکی اختصاص داده می شود.

مرحله سوم: در واحد من یکسان را بررسی می کنیم که وضعیت را به تنهایی کمتر یا برابر با پنج، بله، شرط درست است، به این معنی است که ارزش یک ضرب به یک دو برابر خواهد بود. برای من: یکی به علاوه یکی، دو وجود خواهد داشت.

مرحله چهارم:در من برابر با دو، وضعیت در حال حاضر کمتر از یا برابر با پنج، بله، شرط درست است، به این معنی است که ارزش 2 ضرب به یک، خواهد شد 2. برای I: دو به علاوه یکی، سه خواهد بود .

زمین پنجم:در من برابر با سه، ما شرایط را بررسی می کنیم که سه کمتر یا برابر با پنج، بله، شرط درست است، به این معنی که P مقدار دو برابر سه برابر شده را تعیین می کند، شش خواهد بود. برای من: سه به علاوه یکی، چهار خواهد بود.

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

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

گام هشتم:در من برابر با شش، شرط شش کمتر یا برابر با پنج، نه، شرایط نادرست است، پس ما چرخه را ترک می کنیم، و در نتیجه ما آخرین مقدار برابر با صد و بیست را به دست می آوریم.

برنامه PR1؛
var i: integer؛
شروع.
P: \u003d 1؛
من: \u003d 1؛
در حالی که من<=5 do
شروع.
P: \u003d P * I؛
من: \u003d i + 1؛
پایان؛
نوشتن ('p \u003d'، p)؛
پایان.

برای یک چرخه با یک طبقه بندی، ما یک نمودار بلوک و جدول ردیابی را ساختیم. (Slide16)

به عنوان یک نتیجه، ما آخرین مقدار برابر با یک صد بیست و بیست در مرحله هفتم دریافت می کنیم

و برای یک چرخه با یک پارامتر، ما یک نمودار بلوک و جدول ردیابی را ساختیم. (Slide17)

در نتیجه، ما آخرین مقدار برابر با یکصد بیست و بیست در مرحله ششم دریافت می کنیم

یک وظیفه:

نمایش اعداد از 1 تا 5 V:

  1. ساده؛
  2. به صورت برعکس.

مدل ریاضی:

  1. 1 2 3 4 5;
  2. 5 4 3 2 1.

نمودار بلوک و مشکل حل مشکل برای اعداد در جهت مستقیم و معکوس ارائه شده است.

(اسلاید 21)

ما الگوریتم های مورد نظر را در زبان برنامه نویسی پاسکال ثبت می کنیم.

(اسلاید 22)

III خلاصه درس

و بنابراین ما سوالات زیر را بررسی کردیم:

  1. چرخه ساختار الگوریتمی؛
  2. انواع ساختارهای الگوریتمی:
    1. چرخه با پیش شرط؛
    2. چرخه با پسزمینه؛
    3. چرخه با پارامتر؛
  3. راه هایی برای نوشتن این ساختارها در نظر گرفته شده است؛
  4. نمونه هایی از حل مشکلات را با کمک این ساختارها جدا کرد.

الگوریتم های چرخه ای 06.04.2017
الگوریتم های چرخه ای
انواع چرخه ها و چرخه ها
تیم های پاسکال

چرخه تکرار می شود
تکرار دنباله
عمل
تکرار بخشی از الگوریتم
به نام چرخه بدن
انواع چرخه ها
با یک شماره داده شده
تکرارها
شرایط شرایط
چرخه
به شرط
شرایط خروج است
چرخه

انواع چرخه ها (محتوا)
چرخه با پیش شرط
تمرین
چرخه با Postband
تمرین
چرخه با پارامترها
تمرین
راه حل وظایف پیچیده

چرخه با پیش شرط

تمرین

وضعیت و عمل که باید فقط انجام شود
پس از بررسی شرایط استفاده از چرخه در پیش شرط.


قبل از هر اعدام بدن چرخه بررسی می شود
شرایط، اگر نتیجه "حقیقت"، سپس بدن چرخه انجام می شود
یک بار دیگر، اگر "دروغ"، پس از آن یک راه از چرخه وجود دارد.
در بلوک - طرح
شروع چرخه
نه
وضعیت
آره
بدنه
پایان چرخه
در پاسکال
در حالی که<условие> انجام دادن.
شروع.
<тело цикла>
پایان؛

چرخه با postband

تمرین
اگر تعداد تکرارها پیش از آن ناشناخته باشد، اما تنها مشخص شده است
وضعیت و عمل که باید قبل از آن انجام شود
شرایط استفاده از چرخه با postcal را بررسی می کند.
به عنوان یک شرط، یک عبارت منطقی استفاده می شود، بدن
چرخه یک اپراتور ساده یا کامپوزیت است.
پس از هر اجرای بدن چرخه، چک ها
شرایط اگر نتیجه "نادرست" باشد، بدن چرخه انجام می شود
یک بار دیگر، اگر "حقیقت"، پس از آن یک راه از چرخه وجود دارد.
در بلوک - طرح
در پاسکال
تکرار.
بدنه
<тело цикла>
آره
نه
وضعیت
تا زمان.<условие>;

چرخه با پارامتر

تمرین
چرخه با پارامتر
در مواردی که تعداد تکرارها پیش از آن شناخته شده است
یک چرخه در پارامتر استفاده می شود.
متغیر مشخص کننده تعداد تکرارها نامیده می شود
پارامتر چرخه یا متغیر کنترل.
پس از مدیریت چرخه اجرای بدن
متغیر افزایش یا کاهش می یابد، چرخه
آن را اجرا می شود تا زمانی که آن زمان تا بیش از آن است
محدودیت های کمتر خواهد بود.
در بلوک - طرح
در پاسکال
برای x: \u003d a به b doo
x: \u003d a، b، c
بدنه
X - متغیر کنترل (پارامتر چرخه)
a - معنای اولیه x، in - finite x
C - یک مرحله از تغییر x
شروع.
<тело цикла>
پایان؛
به عنوان یک گام شما می توانید استفاده کنید
فقط:
"به" \u003d 1؛
"downto" \u003d -1

مثال یک کار با استفاده از یک چرخه با یک پیش شرط
تئوری

الگوریتم Sliver:
ضرب X شماره X در ابتدا برابر با 1 است
تعداد مشخص شده بارها (H) توسط 3.
شروع کردن
Programm Stepen؛
var
H، B، X: INTEGER؛
شروع.
Writeln ('درجه؟' ')؛
readln (h)؛
x: \u003d 1؛
ب: \u003d 1؛
در حالی که B.<=H do
شروع.
x: \u003d x * 3؛
B: \u003d B + 1؛
پایان؛
Writeln ('نتیجه'، x)؛
پایان.
پاسداری
n.
یک درجه معین وارد کنید
x: \u003d 1
مقادیر اولیه
ب: \u003d 1
نه
"B" درجه شمارنده
b≤hh
آره
x: \u003d x * 3
ضرب 3.
b \u003d در + 1
افزایش متر
H.
از دست دادن دریافت شده
ارزش های
پایان
نمودار بلوکی
توضیحات

یک مثال از یک کار با استفاده از یک چرخه با postcal
تئوری
وظیفه: تعداد 3 را در درجه معین مطرح کنید
الگوریتم Sliver:

Programm Stepen؛
var
H، B، X: INTEGER؛
شروع.
Writeln ('درجه؟' ')؛
readln (h)؛
x: \u003d 1؛
ب: \u003d 0؛
تکرار.
x: \u003d x * 3؛
B: \u003d B + 1؛
نه
تا b\u003e \u003d h؛
Writeln ('نتیجه'، x)؛
پایان.
شروع کردن
n.
یک درجه معین وارد کنید
x: \u003d 1
مقادیر اولیه
ب: \u003d 0
ضرب 3.
x: \u003d x * 3
افزایش متر
b \u003d در + 1
آره
b\u003e \u003d h
"B" درجه شمارنده
H.
از دست دادن دریافت شده
ارزش های
پایان
پاسداری
نمودار بلوکی
توضیحات

یک مثال از یک کار با استفاده از یک چرخه با یک پارامتر
تئوری
وظیفه: تعداد 3 را در درجه معین مطرح کنید
الگوریتم Sliver:
ضرب تعداد X در ابتدا برابر با 1 تعداد مشخصی از زمان (H) توسط 3 است.
Programm Stepen؛
var
H، B، X: INTEGER؛
شروع.
Writeln ('درجه؟' ')؛
readln (h)؛
x: \u003d 1؛
برای B: \u003d 1 تا H دوو
شروع.
x: \u003d x * 3؛
پایان؛
Writeln ('نتیجه'، x)؛
پایان.
پاسداری
شروع کردن
n.
x: \u003d 1
B: \u003d 1، H، 1
x: \u003d x * 3
H.
پایان
نمودار بلوکی
یک درجه معین وارد کنید
مقدار اولیه x \u003d 1
پارامترهای 1 قبل از میلاد
ضرب 3.
از دست دادن دریافت شده
ارزش های
توضیحات

انتخاب چرخه بستگی به ویژگی های مشکل دارد. فقط تمرین به شما راه حل بهینه را به شما می گوید.

وظیفه: شروع آموزش، ورزشکار در روز اول
فرار 10 کیلومتر هر روز او نور روز را افزایش داد
Norma برای 10٪ از هنجار روز قبل.
چه کل مسیر به مدت 7 روز ورزشکار را اجرا می کند.
متغیرهای ورودی:
D - تعداد روزها
SD - فاصله برای روز جاری
متغیرهای خروجی:
s - راه مشترک

بلوک - طرح برای حل

شروع کردن
S: \u003d 10
SD: \u003d 10
D: \u003d 1
D: \u003d D + 1
SD: \u003d SD * 1.1
S: \u003d S + SD
نه
d \u003d 7
آره
S.
پایان

برنامه Pascal

چرخه "برای"
چرخه "در حالی که"
چرخه "قبل"
برنامه التماس؛
برنامه التماس؛
برنامه التماس؛
var
var
var
S، SD: REAL؛
S، SD: REAL؛
S، SD: REAL؛
D: بایت؛
D: بایت؛
D: بایت؛
شروع.
شروع.
شروع.
S: \u003d 10؛
S: \u003d 10؛
S: \u003d 10؛
SD: \u003d 10؛
SD: \u003d 10؛
SD: \u003d 10؛
برای D: \u003d 2 تا 7 انجام دهید
شروع.
در حالی که D.<7 do
شروع.
تکرار.
D: \u003d D + 1؛
SD: \u003d 1.1 * SD؛
D: \u003d D + 1؛
SD: \u003d 1.1 * SD؛
S: \u003d S + SD؛
SD: \u003d 1.1 * SD؛
S: \u003d S + SD؛
پایان؛
S: \u003d S + SD؛
تا (d \u003d 7)؛
writeln ('s \u003d'، s)؛
پایان؛
writeln ('s \u003d'، s)؛
پایان.
writeln ('s \u003d'، s)؛
پایان.
پایان.

سوالات برای کنترل:
1. اپراتور در پاسکال چرخه را تنظیم می کند
تطبیق کردن
2. همانطور که در چرخه در پارامتر نشان می دهد مرحله "1" و "-1"
3. شاخه ای از چرخه می آید
postcondition
4. آیا یک چرخه با پارامتر وضعیت وجود دارد؟
5. چه چیزی می تواند بدن چرخه باشد
6. هنگامی که چرخه با پارامترها استفاده می شود
پایان