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


انواع چرخه ها

حلقه ها با پارامتر برای

حلقه ها با پیش شرط

چرخه در حالی که با پیش شرط

چرخه تکرار - تا با شرط پست


حلقه با پیش شرط در پاسکال - WHILE

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

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


ساختار حلقه در حالی که


بلوک - چرخه نمودار در حالی که

اپراتور

وضعیت


مثال

وظیفه: برنامه ای بنویسید که مجموع تمام اعداد زوج تا 50 را محاسبه کند.

writeln("مجموع این است: ",sum);


وظیفه

برنامه ای بنویسید که n را جستجو کند.


حلقه با شرط پست در پاسکال - REPEAT-UNTIL

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

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


ساختار حلقه

تکرار تا


بلوک - چرخه نمودار تکرار تا

اپراتور

وضعیت


مثال

وظیفه: برنامه ای بنویسید که مجموع اولین و آخرین رقم یک عدد را تعیین کند.

a,b,c,d:integer;

writeln("عددی را وارد کنید");

writeln('مجموع اولین و آخرین رقم:'c) است.


وظیفه

برنامه ای بنویسید که اول بودن یک عدد را مشخص کند.


حلقه با یک پارامتر در پاسکال - FOR

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

چرخه U برای یک ویژگی مشخص وجود دارد - یک شمارنده که معمولاً با حرف i یا j مشخص می شود.

در یک حلقه، شمارنده را می توان مستقیماً مشخص کرد (کلمه سرویس به ، و به ترتیب معکوس (کلمه کاربردی پایین به ).


ساختار حلقه برای

برای i:= n1 تا n2 انجام دهید

فرم ضبط اول

برای i:= n2 DOWNTO n1 DO

فرم ضبط دوم


بلوک - چرخه نمودار برای

i:= n1 … n2

بدنه حلقه


مثال

وظیفه: برنامه ای بنویسید که n ام توان یک عدد معین را محاسبه کند.

a, n, i, pr: عدد صحیح;

writeln('عددی را وارد کنید');

writeln('قدرت عدد را وارد کنید');

برای i:= 1 تا n انجام

writeln('قدرت عدد است',pr);


وظیفه

برنامه ای بنویسید که عدد P = (1-1/2)(1-1/3)*…*(1-1/n) را پیدا کند.

N از صفحه کلید وارد می شود.







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


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


حلقه با پارامتر در مواردی که تعداد تکرارها از قبل مشخص باشد، از یک حلقه با پارامتر استفاده می شود. متغیری که تعداد تکرارها را مشخص می کند، پارامتر حلقه یا متغیر کنترل نامیده می شود. بعد از هر بار اجرای بدنه حلقه، متغیر کنترل کم یا زیاد می شود، حلقه تا زمانی که از حد تجاوز کند یا کمتر شود اجرا می شود. در بلوک دیاگرام در پاسکال، X متغیر کنترل است (پارامتر چرخه) A مقدار اولیه X است، B مقدار نهایی X است. C مرحله تغییر X است. به عنوان یک مرحله فقط می توانید از: "to" = استفاده کنید. 1 "downto" = -1 X:=A,B,C حلقه بدن تمرین برای X:=A تا B انجام شروع پایان.


مثالی از یک مسئله با استفاده از یک حلقه با یک پیش شرط، عدد 3 را به یک توان داده شده افزایش دهید. TASK: الگوریتم کلامی: عدد X را در ابتدا برابر با 1 در یک تعداد معین (H) در 3 ضرب کنید. شروع H BHBH X:=1 X:=X*3 پایان X درجه های داده شده را وارد کنید مقادیر اولیه «B» درجه شمارنده B=B+1 ضرب در 3 افزایش شمارنده خروجی مقدار حاصل برنامه Stepen; Var H,B,X:integer; شروع Writeln (مدرک تحصیلی؟)؛ Readln(H); X:=1; B:=1; در حالی که B


H X:=1 X:=X*3 پایان X یک توان داده شده را وارد کنید مقادیر اولیه" title="نمونه ای از یک کار با استفاده از یک حلقه با یک شرط پستی عدد 3 را به توان داده شده افزایش دهید TASK: الگوریتم کلامی: ضرب عدد X در ابتدا برابر است با 1 تعداد دفعات معین (H) برای 3. شروع N B>=H X:=1 X:=X*3 پایان X درجه معینی را وارد کنید مقادیر اولیه" class="link_thumb"> 8 !}مثالی از یک مسئله با استفاده از یک حلقه با یک شرط پسین، عدد 3 را به یک توان داده شده افزایش دهید. TASK: الگوریتم کلامی: عدد X را در ابتدا برابر با 1 تعداد بار معین (H) در 3 ضرب کنید. شروع H B>=H X:= 1 X:=X*3 پایان X وارد کردن درجه معین مقادیر اولیه شمارنده درجه "B" B=B+1 ضرب در 3 افزایش شمارنده خروجی مقدار حاصل برنامه Stepen; Var H,B,X:integer; شروع Writeln (مدرک تحصیلی؟)؛ Readln(H); X:=1; B:=0; تکرار X:=X*3; B:=B+1; تا B>=H; Writeln (نتیجه، X); پایان. خیر بله توضیحات بلوک تئوری پاسکال B:=0 =H X:=1 X:=X*3 پایان X وارد کردن درجه معین مقادیر اولیه"> =H X:=1 X:=X*3 پایان X وارد کردن درجه معین مقادیر اولیه "B" درجه شمارنده B=B +1 ضرب در 3 شمارنده را افزایش دهید مقدار به دست آمده را خروجی برنامه Stepen؛ Var H,B,X:integer؛ Begin Writeln(درجه؟)؛ Readln(H)؛ X:=1؛ B:=0؛ تکرار X:= X*3؛ B: =B+1؛ تا B>=H؛ Writeln (نتیجه، X)؛ پایان. خیر بله نظریه بلوک پاسکال توضیحات B:=0"> =H X:=1 X:=X*3 end X یک درجه داده شده را وارد کنید مقادیر اولیه" title=" مثالی از یک مسئله با استفاده از یک حلقه با یک شرط پستی عدد 3 را به یک توان داده شده بالا ببرید وظیفه: الگوریتم کلامی: عدد X را در ابتدا برابر 1 یک عدد معین ضرب کنید از زمان (H) در 3. شروع N B>=H X: =1 X:=X*3 پایان X وارد کردن درجه مشخص شده مقادیر اولیه"> title="مثالی از یک مسئله با استفاده از یک حلقه با یک شرط پسین، عدد 3 را به یک توان داده شده افزایش دهید. TASK: الگوریتم کلامی: عدد X را در ابتدا برابر با 1 تعداد بار معین (H) در 3 ضرب کنید. شروع H B>=H X:= 1 X:=X*3 پایان X وارد کردن درجه معین مقادیر اولیه"> !}


مثالی از یک کار با استفاده از یک حلقه با پارامتر عدد 3 را به یک توان داده شده افزایش دهید. TASK: الگوریتم کلامی: عدد X را که در ابتدا برابر با 1 است، تعداد بار مشخص شده (H) را در 3 ضرب کنید. شروع H X:=1 X:=X*3 پایان X یک توان داده شده را وارد کنید مقدار اولیه X=1 پارامترها از 1 تا N ضرب در 3 خروجی مقدار حاصل برنامه Stepen; Var H,B,X:integer; شروع Writeln (مدرک تحصیلی؟)؛ Readln(H); X:=1; برای B:=1 تا H X:=X*3 را شروع کنید. پایان؛ Writeln (نتیجه، X); پایان. B:=1,H,1 توضیحات بلوک تئوری پاسکال




وظیفه: پس از شروع تمرین، ورزشکار در روز اول 10 کیلومتر دوید. او هر روز هنجار روزانه را 10 درصد از هنجار روز قبل افزایش می داد. مجموع مسافتی که ورزشکار طی 7 روز طی می کند چقدر است؟ متغیرهای ورودی: متغیرهای خروجی: S – مسیر کل d – تعداد روزها Sd – فاصله برای روز جاری


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

اسلاید 2

طرح

مفهوم یک عبارت حلقه حلقه برای Loop while Loop Repeat Literature

اسلاید 3

ادبیات

کاستورنوف A.F.، Evstratova G.A. زبان برنامه نویسی پاسکال: آموزشبرای دانشگاه ها - Cherepovets: موسسه آموزشی دولتی آموزش عالی حرفه ای ChSU، 2010. - 117 ص. - کتابشناسی: ص114. کتاب درسی الکترونیکی زبان برنامه نویسی پاسکال /http://pascal.guti.ru Plan

اسلاید 4

مفهوم چرخه

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

اسلاید 5

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

اسلاید 6

برای عملگر حلقه

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

اسلاید 7

شکل اول نوشتن عملگر حلقه For

شکل اول نوشتن عملگر For در نمای کلیبه نظر می رسد: ForCounter:=Start_valuetoFinal_valuedoOperator; جایی که For, to, do کلمات تابعی هستند. شمارنده یک متغیر ترتیبی (معمولا یک عدد صحیح) است که تعداد دفعات تکرار حلقه را تعیین می کند. تعداد تکرارها با استفاده از فرمول: Final_value – Initial_value+1 محاسبه می شود. End_Value باید بزرگتر یا مساوی Start_Value باشد.

اسلاید 8

اگر بدنه حلقه از چندین عملگر تشکیل شده باشد، اولین شکل نوشتن عملگر For به این صورت است: ForCounter:=Start_valuetoFinal_valuedo Begin (Loop body) End;

اسلاید 9

بیایید به الگوریتم حلقه For در شکل اول نوشتن نگاه کنیم. به شمارنده یک مقدار Initial_ اختصاص داده شده است. شرط بررسی می شود: آیا مقدار شمارنده بزرگتر از End_value است؟ اگر شرط درست باشد (بله)، حلقه به پایان می رسد. اگر شرط نادرست باشد (خیر)، بدنه حلقه اجرا می شود، سپس مقدار شمارنده یک افزایش می یابد و دوباره شرط بررسی می شود، یعنی. بند 2.

اسلاید 10

شکل دوم نوشتن عملگر حلقه For

شکل دوم نوشتن عملگر For به طور کلی به این صورت است: For Counter:=Start_valuedowntoFinal_valuedoOperator; کجا: For, downto, do کلمات تابعی هستند. شمارنده یک متغیر ترتیبی (معمولا یک عدد صحیح) است که تعداد دفعات تکرار حلقه را تعیین می کند. تعداد تکرارها با استفاده از فرمول: Start_value–Final_value+1 محاسبه می شود. Start_Value باید بزرگتر یا مساوی End_Value باشد.

اسلاید 11

اگر بدنه حلقه از چندین عملگر تشکیل شده باشد، شکل دوم نوشتن عملگر For به این صورت است: ForCounter:=Start_valuedowntoFinal_valuedo Begin //Loop body End;

اسلاید 12

بیایید الگوریتم حلقه For را در شکل دوم نمادگذاری در نظر بگیریم: به شمارنده مقدار Initial_ اختصاص داده شده است. شرط بررسی می شود: آیا مقدار شمارنده کمتر از End_value است؟ اگر شرط درست باشد (بله)، حلقه به پایان می رسد. اگر شرط نادرست (No) باشد، بدنه حلقه اجرا می شود، سپس مقدار شمارنده یک کاهش می یابد و دوباره شرط بررسی می شود، یعنی. بند 2.

اسلاید 13

برای عملگر حلقه

programEx1; var i, n:integer; (i - شمارنده، n - تعداد مورد نیاز ستاره) s:string;(s - رشته ستاره های تولید شده) start Writeln("تعداد ستاره ها را وارد کنید"); (تعداد ستاره ها را پرس و جو می کند) Readln(n); (کاربر تعداد ستاره ها را n وارد می کند) s:=""; (تشکیل خط ستاره با یک خط خالی شروع می شود) (خط توسط برای حلقه. مقدار اولیه شمارنده 1 است، مقدار نهایی تعداد مورد نیاز ستاره n است.) fori:= 1 تا n انجام دهید s:=s+"*"; (در هر مرحله از حلقه یک ستاره به خط چسبانده می شود) Writeln(s)؛ (یک خط چاپ می شود) Readln. پایان. مثال طرح: برنامه رشته ای از ستاره ها را تولید می کند. تعداد ستاره های یک خط توسط کاربر تعیین می شود.

اسلاید 14

در حالی که حلقه

حلقه while زمانی استفاده می‌شود که تعداد تکرارهای بدنه حلقه در طول توسعه برنامه ناشناخته باشد و تنها زمانی که برنامه در حال اجرا است قابل تعیین است. به طور کلی دستور while به صورت زیر نوشته می شود: while Condition doOperator; Where while، do کلمات تابعی هستند. شرط یک عبارت منطقی است که ادامه حلقه را مشخص می کند.

اسلاید 15

اگر بدنه حلقه از چند عبارت تشکیل شده باشد، حلقه while به صورت زیر نوشته می شود: whileCondition do Begin //Loop body End;

اسلاید 16

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

اسلاید 17

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

اسلاید 18

ProgramEx2; varAccount: Real; (اندازه حساب) ماه: عدد صحیح; (تعداد ماه هایی که از افتتاح حساب گذشته است) begin Account:=1000; (1000 روبل به حساب واریز شد) ماه:=0; (حساب به تازگی باز شده است) در حالی که حساب

اسلاید 19

چرخه تکرار

حلقه Repeat مانند حلقه while در برنامه ای استفاده می شود که لازم باشد بدنه حلقه چندین بار اجرا شود، اما تعداد تکرارها از قبل مشخص نیست. به طور کلی یک حلقه Repeat به صورت زیر نوشته می شود: Repeat //Body of the loop Until Condition; جایی که Repeat، Until کلمات تابع هستند. Condition یک عبارت بولی است که انتهای حلقه را مشخص می کند.

اسلاید 20

بیایید الگوریتم حلقه Repeat را در نظر بگیریم: بدنه حلقه واقع بین کلمات رزرو شده Repeat و Until اجرا می شود. شرایط بررسی می شود. اگر شرط درست باشد، حلقه به پایان می رسد. اگر شرط نادرست باشد، بدنه حلقه دوباره اجرا می شود.

اسلاید 21

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

اسلاید 22

ProgramEx3; var Time:integer; (زمان تقسیم) سلول ها: عدد صحیح;(تعداد سلول ها) شروع زمان:=0;(سلول هنوز تقسیم را آغاز نکرده است) سلول ها:=1;(یک سلول) زمان تکرار:=زمان+3;(در سه ساعت آینده ) سلول ها: =Cells*2;(تعداد سلول ها 2 برابر افزایش یافت) تا سلول های>24; (تا زمانی که شرط "تعداد سلول ها بیشتر از 24 باشد" درست باشد) Writeln(Time)؛ (خروجی نتیجه) Readln; پایان. مثال طرح: یک آمیب تک سلولی هر 3 ساعت به 2 سلول تقسیم می شود. مشخص کنید که چند ساعت بعد تعداد سلول ها از 24 بیشتر می شود.

مشاهده همه اسلایدها























عقب به جلو

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

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

در طول کلاس ها

I. به روز رسانی دانش

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

II. مطالب نظری درس

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

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

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

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

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

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

  • حلقه با پیش شرط؛
  • حلقه با شرط پست;
  • حلقه با پارامتر.

در غیر این صورت، این ساختارها چرخه هایی مانند "در حالی"، "قبل"، "برای" نامیده می شوند.

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

حلقه با پیش شرط (معروف به حلقه خدا حافظ) دارای شکل:

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

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

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

برای آن تا چرخه به پایان برسد، لازم است که ترتیب دستورات بین BEGIN و END مقدار متغیرهای موجود در وضعیت.

حلقه با شرط پست (معروف به حلقه قبل از) دارای شکل:

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

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

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

برای اینکه حلقه کامل شود، لازم است که توالی عبارات بینتکرار وتا زمان مقادیر متغیرهای موجود در عبارت شرط را تغییر داد.

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

حلقه با یک پارامتر (معروف به حلقه برای)دارای فرم:

i - پارامتر چرخه؛
الف - مقدار اولیه چرخه؛
ب - مقدار نهایی چرخه؛
h – مرحله تغییر پارامتر.

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

این دستور به این صورت اجرا می شود: پارامتر i در مقایسه با مقدار نهایی b روی مقدار اولیه a تنظیم می شود و اگر کمتر یا مساوی با مقدار نهایی b باشد، یک سری دستورات اجرا می شود. به پارامتر مقدار قبلی اختصاص داده می شود، افزایش یافته است ساعت– مرحله تغییر پارامتر و دوباره با مقدار نهایی b مقایسه می شود.

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

اگر فقط یک عبارت بین شروع و پایان وجود داشته باشد، نیازی به نوشتن براکت های عملگر نیست. این قانون برای حلقه هایی مانند "While" و "For" کار می کند.

بیایید به مثالی از حل مسائل با استفاده از این ساختارها نگاه کنیم

مثال.

حاصل ضرب اعداد 1 تا 5 را با استفاده از گزینه های مختلف حلقه محاسبه کنید

مدل ریاضی:

Р= 1·2·3·4·5=120

بیایید الگوریتم را در قالب بلوک دیاگرام بسازیم.

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

گام عمل آر من بررسی وضعیت
1 P:=1 1
2 i:=1; 1 1
3 من<=5
P:=P*I
i:=i+1
1 1 1<=5, да (истина)
4 من<=5
P:=P*I
i:=i+1
2 2 2<=5, да (истина)
5 من<=5
P:=P*I
i:=i+1
6 3 3<=5, да (истина)
6 من<=5
P:=P*I
i:=i+1
24 4 4<=5, да (истина)
7 من<=5
P:=P*I
i:=i+1
120 5 5<=5, да (истина)
8 من<=5
P:=P*I
i:=i+1
6<=5, нет (ложь)

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

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

مرحله دو: مقدار یک به i اختصاص داده شده است.

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

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

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

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

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

مرحله هشتم:وقتی i برابر با شش است، شرط شش را بررسی می کنیم که کمتر یا مساوی پنج باشد، خیر، شرط نادرست است، سپس از حلقه خارج می شویم و در نتیجه آخرین مقدار برابر با صد و بیست به دست می آید. .

برنامه Pr1;
Var i: عدد صحیح;
شروع
P:=1;
i:=1;
در حالی که من<=5 do
شروع
P:=P*i;
i:=i+1;
پایان؛
Write('P=', P);
پایان.

برای یک حلقه با یک شرط پس، ما یک نمودار بلوکی و یک جدول ردیابی خواهیم ساخت. (اسلاید 16)

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

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

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

وظیفه:

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

  1. سفارش مستقیم؛
  2. به ترتیب معکوس

مدل ریاضی:

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

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

(اسلاید 21)

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

(اسلاید 22)

III. جمع بندی درس

و به این ترتیب سؤالات زیر را در نظر گرفتیم:

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