1. راه های تشویق فرآیندهای شمارش چرخه ای در برنامه ها.

2. ورودی کامپیوترناعداد واقعی. برنامه را تا کنید که روی صفحه می بینید میانگین حسابی مجموعه است.

ورود

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

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

برنامه هاکه یک فرآیند چرخه ای را اجرا می کنند برنامه های چرخه ای نامیده می شوند

سازماندهی چرخه را می توان مراحل زیر نامید:

آماده سازی (ابتدایی) برای چرخه (I)؛

شمارش چرخه (چرخه tіlo) (T);

اصلاح پارامترها (M)؛

بررسی مجدد ذهن برای تکمیل چرخه (U).

ترتیب vikonannya tsikh etapiv، به عنوان مثال T і M، قابل تغییر است. در آیش، در تجزیه و تحلیل بازبینی ذهن و پایان چرخه، چرخه ها با انتهای پایین و بالایی متمایز می شوند. برای چرخه با انتهای پایین، بدنه چرخه کمتر از یک بار شمارش می شود، خرده ها به عقب شمارش می شوند و سپس ذهن دوباره از چرخه خارج می شود.


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

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

چرخه Tіlo- برنامه های Tse dilyanka که به طور متفاوت تکرار می شوند.

پارامتر حلقه- tse zmіnna، yak nabuvaє معانی جدید در تکرار پوست چرخه (چرخه ها ساده و جمع شونده هستند).

نگاه درخشان به چرخه n بار

برای یک فرد وحشی، چرخه n بار مانند این نوشته می شود:

nc تعداد تکرار

کلمه خدماتی nts (cob of cycle) و kts (پایان چرخه) به طور دقیق یک به یک نوشته می شود و با یک مرز عمودی محدود می شود. در سمت راست برای برنج کیو، ترتیب دستورات (بدنه چرخه) ثبت می شود.

تعداد تکرارها تعداد کافی است.

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

نمایی زیبا از چرخه پوک

برای نگاه بدنام، چرخه همچنان به این صورت نوشته می شود:

nts poki umova

| بدنه چرخه (توالی دستورات)

در پایان ساعت، کامپیوتر چرخه زیر را تکرار می کند:

الف) بررسی مجدد نوشته شده بعد از کلمه رسمی تا زمانی که فکر کنم؛

ب) به محض رسیدن به ذهن، چرخه کامل می شود و کامپیوتر شروع به اجرای دستوراتی می کند که بعد از kts نوشته شده است. به محض مراقبت از ذهن، کامپیوتر بدنه چرخه را شکست می دهد و دوباره ذهن را تأیید می کند.

نمای پر زرق و برق از چرخه برای

нц برای من از i1 تا i2

| بدنه چرخه (توالی دستورات)

در اینجا i مقدار im از نوع صحیح است، i1، i2 اعداد صحیح کافی از عدد chi در برابر مقادیر صحیح هستند. بدنه چرخه به صورت متوالی برای i = i1، i = i1 + 1، i1 + 2، ... i = i2 ضرب می شود.

قوانین حرکت الگوریتمی امکان ایجاد هر عدد صحیح i1، i2 را فراهم می کند. zokrema، i2 می تواند کوچکتر از i1 باشد. این vipadok مورد عفو قرار نمی گیرد - فقط این است که چرخه یک بار vikonan نمی شود و رایانه بلافاصله به vikonannya دستورات ضبط شده پس از kts می رود.

چرخه n بار і چرخه تا

چرخه های n بار و در عین حال در یک حرکت الگوریتمی ترسیم شده اند ممکن است یکسان باشند. تعجب آور نیست، حتی اگر دستورات تهاجمی یک چرخه را تنظیم کنند - دنباله ای از دستورات که تکرار می شوند. کلمات سرویس nts و kts نشان می دهد که چرخه در حال پایان است و عنوان چرخه مکانیسم خاصی را برای پایان تعیین می کند.

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

متوجه شدم که در برخی از انواع یک چرخه جانشینی وجود دارد. مانند زمان چرخه روی لپه تعداد تکرارهای خانه، به صورت دستی چرخه را n بار سرعت دهید. نمی توان بعداً تعداد تکرارها را تعیین کرد، چرخه لازم همچنان ادامه دارد.

به عنوان مثال، برنامه کنترل خودکار دارای ساختاری است که در شکل. 1. ماژول هایی که باید قبل از حلقه وارد شوند(و همچنین ماژول های پردازش)، با یک ورودی و یک خروجی، پوسته ها ممکن است یک ویژگی مشخص را به صدا در آورند: ماژول ها تغییرات استاتیکی را امکان پذیر می کنند، که مقادیری در چرخه جریان تخصیص می دهند و تجزیه و تحلیل این تغییرات در محاسبه می شود. چرخه تهاجمی به این ترتیب، zgadani zminnі اردوگاه ماژول را در انتهای خط یا آغاز چرخه تهاجمی برنامه مشخص می کند. نادالی فقط چنین ماژول هایی از برنامه های چرخه ای را در نظر گرفت و به طور خلاصه MCP معنی دار است.


عکس. 1. ساختار معمولی برنامه اصلی چرخه بدون توقف.

MCP ممکن است ساختار متفاوتی داشته باشد، تاشو که باید بر اساس معیارهای خاص ارزیابی شود. V.V.Lipaevim یک معیار معقول و عینی برای تاشو بودن ماژول های برنامه و در عین حال پیشنهاد کرد: تعداد آن تعداد کل راه ها برای نمودار کلیدی ماژول. با آنها، دیگر هیچ اپراتور و اپراتور باهوشی برای انتخاب وجود ندارد. با این حال، این معیار به وضوح برای MCP با حافظه ثابت کافی نیست، به طوری که هنگام تجزیه و تحلیل MCP، لازم است مقادیر تمام متغیرهای استاتیک درج شده در چرخه جلویی را به خاطر بسپارید. Krym tsgogo، zhodnih rekomendatsii schodo استانداردسازی الگوریتم ها و برنامه ها، krіm مدت هاست که برای برنامه نویسی ساختاری zagalnozhivannym mov برنامه نویسی نوع C و پاسکال - شماره شناخته شده است. در این مقاله پیشنهاد می‌شود که شکاف‌های MCP را پر کنید.

2. قطعاتی از ماژول های برنامه های چرخه ای

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

روش قطعات مستقل برای سنتز ساختار ماژول ها پیشنهاد شده است که جداول راه حل ها را پیاده سازی می کند. اگر چنین است، چنین قطعه ای مهم است که می توان آن را در دنباله قطعات ماژول قرار داد. استقلال توزیع چنین قطعه ای به این دلیل است که تجزیه و تحلیل در یک داده جدید در تعیین دنباله قطعات شکل نمی گیرد و داده هایی که در یک قطعه مستقل تشکیل می شوند در این دنباله قطعات تجزیه و تحلیل نمی شوند. بنابراین می توان قطعات مستقل را به صورت موازی (شبه موازی) رسم کرد. روی انجیر 2 گزینه های ممکن برای اجرای ماژول را از دو قطعه مستقل نشان می دهد. در زمان های "a" و "b" قطعات بدون تغییر ماهیت برنامه توسط قسمت ها مرتب می شوند. در گزینه "c" قطعات به صورت موازی پیاده سازی می شوند.


شکل 2. گزینه هایی برای اجرای ماژول از قطعات مستقل:

الف) و ب) - اجرای بعدی،

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

یک قطعه آیش چنین رسوبی از یک آیش به عنوان رسوب یک قطعه (کوتاه) دیگر در ماژول است. قطعاتی از رسوبات آیش از بالا و پایین جدا می شوند. قطعه بالای آیش مقصر بوتی روزاشووانیا زاوژدا زیر برای قطعه ضعیف است که در آن تغییرات شکل می گیرد که در این قطعه (آیش) ورقه شده است. قطعه پایین آیش مقصر گسترش پایه قطعه است که در آن تغییرات ایجاد شده است که در این قطعه شکل می گیرد. دو قطعه آیش که یکی مانند دیگری آیش است و دیگری مانند اولی آیش است که متقابلاً به آنها ترکه آیش می گویند. Їх را نمی توان با ماموریت ها جایگزین کرد و نمی توان به صورت موازی اجرا کرد. روی انجیر 3 لب به لب ماژول از قطعات متقابل آیش نشان داده شده است. بین قطعات متقابل آیش می تواند سایر، آیش و آیش در آنها وجود داشته باشد. شکل 3. ماژول іz قطعات آیش.

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

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

ربات آزمایشگاهی شماره 2

"برنامه ریزی فرآیندهای شمارش چرخه ای"

متا روبات

اپراتورهای چرخه جدید در C++ من.

بخش نظری

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

مجموعه ای از دستورالعمل ها، قرار ملاقات برای bagatorase vikonannya، به نام در طول چرخه . یک بار چرخه vikonannya tila نامیده می شود تکرار . ویراز ازلی، برای آخرین بار یک تکرار وجود دارد، در غیر این صورت چرخه کامل می شود، به نام خروجی ذهن یا تکمیل ذهنی چرخه تغییر، که شماره تکرار فعلی را می گیرد، فراخوانی می شود مورد علاقه تکرارها حلقه چی فقط لیکنیک چرخه چرخه برای انتقام از لیکنیک نیست، لیکنیک ممکن است بیش از یک باشد - ذهنی که از چرخه خارج می شود ممکن است به شکل تعدادی متناوب باشد که در چرخه تغییر می کنند.

Vikonanny هر چرخه شامل pochatkovu іnіtsіalіlіzatsіyu zmіnіh іtіratії، revіkі vyhoda، vykonannya tіla چرخه i novlennia іnіtsіalіzіyu zmіnіh іteratsії. علاوه بر این، اکثر حرکت های برنامه نویسی کلیدهای پیش رشته ای را با یک چرخه می دهند، به عنوان مثال، عملگرهای خاتمه حلقه، به طوری که خروج از حلقه مستقل از صحت خروج است (برای حرکت Ci - break) و عملگرهای پرش از تکرار (برای جابجایی Ci - ادامه).

این نوع چرخه ها را تشخیص دهید.


1. چرخه های دیوانه.چرخه ها , vyhіd іz هر گونه منطق برنامه را منتقل نمی کند. ویژگی های نحوی خاص برای ایجاد چرخه های غیر نحوی، به دلیل غیرمعمول بودن آنها، به زبان برنامه نویسی منتقل نمی شود، بنابراین چنین چرخه هایی برای ساخت و سازهای اضافی ایجاد می شوند که برای ایجاد موارد فوق العاده شناخته می شوند (در غیر این صورت) هوشمندانه) چرخه ها مثلاً فیلم C چرخه پیروز دارد برای(؛؛)از بخش های غیر قابل تعویض

2. چرخه های شستشوچرخه های Tse، vikonannya که توسط deaco umovoy گرامی هستند، scho pereviryaetsya روی بلال یا در ابتدای چرخه بدن. واضح است که چرخه های ذهنی با چرخه فکری و چرخه پس از مرگ ادامه می یابد. چرخه z peredumovoy - یک چرخه، که vikonuetsya تا deyak واقعا ذهن، در مقابل لپه یوگا نشان داده شده است. ذهن Tsya تحریف شده است قبل ازچرخه vykonannya tіla، که tіlo ممکن است یک بار vikonan نباشد (مانند umova روی بلال عفو). اکثر حرکات رویه ای توسط اپراتور برنامه ریزی می شوند در حالی که، Zv_dsi نام دوست شما حلقه while است. در Movі C++، چنین چرخه ای را می توان مشاهده کرد:

در حالی که(<условие>)

<тело цикла>

چرخه از postum -چرخه بعد ازچرخه vykonannya tila. به نظر می رسد که چرخه همیشه فقط یک بار برنده خواهد شد. Move Pascal عملگر حلقه را پیاده سازی می کند تکرار کن..تا، در سی - انجام در حالی که، مثلا:

<тело цикла>

در حالی که(<условие продолжения цикла>);

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

چرخه از وسط- Naybіlsh zagalna شکل چرخه ذهنی. از نظر نحوی، چنین چرخه ای به کمک سه ساختار تشکیل می شود: آغاز چرخه، پایان چرخه و فرمان خروج از چرخه. ساخت لپه نقطه برنامه را تعیین می کند، بدنه چرخه شروع می شود، ساخت پایان - نقطه، بدن به پایان می رسد. وسط بدنه به دلیل وجود دستور خروج از چرخه است، زمانی که چرخه به پایان می رسد و کنترل به اپراتور منتقل می شود که طراحی چرخه را دنبال می کند. به طور طبیعی، اگر چرخه بیش از یک بار چرخه شده باشد، فرمان خروج ممکن است دیوانه وار فراخوانی نشود، بهتر است پس از پایان چرخه، خروجی از چرخه را بشویید.

ویژگی های اصلی چرخه از این نوع آنهایی است که قسمتی از بدنه چرخه قبل از فرمان خروج، به طور پیروزمندانه (برای اینکه خروج ذهن از چرخه در اولین تکرار درست باشد، بعد از لپه چرخه і پنهان می شود. ) و بخشی از بدن به چرخه، از آنجایی که خروج از آن مشخص نیست، در بقیه تکرار، فرمان برنده می شود. برای یک چرخه اضافی با خروجی از وسط، می توانید به راحتی یک چرخه از rethink (با قرار دادن دستور خروج در cob چرخه) و چرخه از posthum (با قرار دادن دستور خروج در بلال چرخه).

چرخه با لیکنیک - چرخه ای که برای آن deak تغییر می کند، مقدار آن از مقدار داده شده cob به مقدار نهایی با deakim croque تغییر می کند و برای مقدار پوست، مقدار بدنه تغییر یک بار محاسبه می شود. اکثر حرکات رویه ای توسط اپراتور برنامه ریزی می شوند برای، که در آن لیکنیک نشان داده شده است (به اصطلاح "تغییر چرخه")، تعداد معابر ضروری است (یا مقدار مرزی لیکنیک) و شاید لیکنیک که با آن لیچنیک تغییر می کند.

در برخی از زبان ها، به عنوان مثال، C و دیگران، که شبیه یک چرخه جدید هستند برای، صرف نظر از شکل نحوی چرخه با لیکنیک، در واقع، چرخه با تغییر ذهن. Tobto در چرخه ساخت و ساز Cі:


برای (i = 0; i< 10; ++i)

چرخه Tіlo

در واقع، در شکل دیگری از نوشتن ساختار:

در حالی که (من< 10)

چرخه Tіlo

Tobto در ساختارهای spocation برای نوشتن یک موقعیت پیش از چرخه Proposali Initsya، Potim - Motiv، Naresti، مدرسه عملیات، چرخه Vikonu Vikonu Vikslya Tіla (نه Obov'yazovo mayy -male . برای mov از این نوع، مشکل در بالا توضیح داده شده است، حتی ساده تر است: تغییر دهنده کاملاً منتقل می شود و پس از تکمیل چرخه، مقدار باقی مانده خود را می گیرد.

سازماندهی چرخه ها در فیلم ++C

1. حلقه for.

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

برای (دیه به چرخه بلال;

ادامه ذهنی چرخه؛

چرخه تکرار پوستی dії naprikintsі (

آموزش چرخه؛

دستورالعمل برای چرخه 2;

دستورالعمل چرخه N;

رکورد Іsnuє okremiy vpadok tsgogo (با لیکنیک):

برای (واسطه = ارزش؛ واجد شرایط< значение; шаг цикла)

چرخه بدن؛

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

لب به لب: pidrakunok sumi همه اعداد از 1 تا 1000.

#عبارتند از

با استفاده از namespace std.

int i; // واجد شرایط حلقه

int sum = 0; // مجموع اعداد از 1 تا 1000.

setlocale(0، "");

برای (i = 1; i<= 1000; i++) // задаем начальное значение 1, конечное 1000 и задаем шаг цикла - 1.

کوت<< "Сумма чисел от 1 до 1000 = " << sum << endl;

2. حلقه while.

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

در حالی که (Umov) (

چرخه Tіlo;

این چرخه خواهد بود vikonuvatisya، تا زمانی که ذهن، در قوس های گرد نشان داده شده است، درست است. نمونه ای از اجرای جمع اعداد از 1 تا 1000 برای حلقه while اضافی:

#عبارتند از

با استفاده از namespace std.

setlocale(0، "");

در حالی که (من< 1000)

کوت<< "Сумма чисел от 1 до 1000 = " << sum << endl;

3. حلقه do while

چرخه انجام در حالی کهباد کردن در در حالی کهتیم، scho یوگو vikonannі چرخه یک پاس چرخه خواهد شد vikonanie مستقل از ذهن. برنامه ای برای اجرای وظایف برای جستجوی مجموع اعداد از 1 تا 1000 از حلقه انجام در حالی که:

#عبارتند از

با استفاده از namespace std.

setlocale(0، "");

int i = 0; // تایمر چرخه Initsializuemo.

int sum = 0; // sumi lichilnik اولیه.

انجام (// چرخه winkone.

) در حالی که (i< 1000); // пока выполняется условие.

کوت<< "Сумма чисел от 1 до 1000 = " << sum << endl;

1. برنامه C++ من را بر اساس نسخه معکوس گسترش دهید.

2. وارد شوید، برنامه را تنظیم و تکمیل کنید. صحت کار її را بررسی کنید.

1. بلوک دیاگرام الگوریتم برنامه.

2. لیست برنامه با نظرات.

3. نتایج اجرای کنترل.

تغذیه را کنترل کنید

1. یک هدف به چرخه، یک بدن به چرخه، یک تکرار.

2. راه خروج ذهن از چرخه، لیکنیک تکرارها چیست؟

3. چه مراحلی شامل هر چرخه vikonannya است؟

4. چگونه می توانید یک چرخه پس از مرگ را انجام دهید؟

5. چگونه چرخه از بازاندیشی کار می کند؟

6. چرخه با لیکنیک چگونه کار می کند؟

7. حلقه پشت کمک دستور for چگونه اجرا می شود؟

8. حلقه با کمک دستور while چگونه پیاده سازی می شود؟

9. حلقه پشت کمک اپراتور dowhile چگونه پیاده سازی می شود؟

1. دنباله بعدی نمادها را روی صفحه نمایش دهید

2. دنباله ای از اعداد صحیح (0 - انتهای دنباله) را معرفی کنید، تفاوت بین کوچکترین میانگین مثبت و بزرگترین میانگین اعداد منفی را بدانید.

3. دنباله ای از N اعداد صحیح را معرفی کنید، تفاوت بین تعداد اضافی اعداد جفت نشده و بزرگترین میانگین اعداد منفی را بدانید.

4. دنباله اعداد صحیح را وارد کنید، 0 - انتهای دنباله. اگر دو عدد مضرب 3، 5 و 7 می خواهید، تصمیم بگیرید که کدام دنباله را انتقام بگیرید.

5. دنباله ای از N اعداد صحیح وارد کنید. بزرگترین مضرب میانگین 11 را پیدا کنید.

6. دنباله اعداد صحیح را وارد کنید، 0 - انتهای دنباله. اگر فقط سه جفت عدد منفی باشد، برای انتقام از دنباله نشان دهید.

7. دنباله ای از N اعداد گفتاری را وارد کنید. کوچکترین تعداد اعداد میانی بزرگتر از 20 را پیدا کنید.

8. دنباله اعداد صحیح را وارد کنید، 0 - انتهای دنباله. تعداد اعداد مثبت مضرب 7 و مضرب 5 و مجموع عناصر منفی دنباله را محاسبه کنید.

9. دنباله ای از N اعداد گفتاری را وارد کنید. میانگین حسابی میانگین عناصر موجود در دنباله تقسیم بر 7 را محاسبه کنید.

10. دنباله اعداد را وارد کنید، 0 - انتهای دنباله. نشانه چی є دنباله به شدت در حال کاهش است.

12. دنباله اعداد صحیح را وارد کنید، 0 - انتهای دنباله. نشانه، چی انتقام دنباله، مایل به استفاده از دو عدد مثبت، به عنوان مسئول ایستادن.

13. دنباله ای از N اعداد گفتاری را وارد کنید. به طور قابل توجهی، چی є دنباله علائم.

14. دنباله ای از N اعداد گفتاری را وارد کنید. تفاوت بین حداقل عناصر مثبت و حداکثر منفی دنباله را مشخص کنید.

15. سه مضرب باقیمانده از چند دامنه از 1 تا N را بیابید. مجموع این اعداد را محاسبه کنید.

16. ترتیب کاراکترها را روی صفحه نمایش دهید

18. سه عدد باقیمانده قابل تقسیم بر 5 را در محدوده N1 تا N2 محاسبه کنید.

19-میانگین حسابی اعداد جفتی را دو بار در محدوده 1 تا K محاسبه کنید.

برنامه ریزی چرخه ای HIV و فرآیندهای لووال

نماهای اصلی

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

اپراتور حلقه با پارامتربرای - بعد، ساخت نوعی پیروز، به عنوان یادآوری از آینده، چند بار می توان آن را در طول چرخه تکرار کرد:

برای واجد شرایط = first_value کسانی که last_value مرحله croc block_of_statements

خواننده بعدی

اپراتورها چرخه با تغییر ذهنیا پس از مرگ، که برای سازماندهی چرخه با تعداد نامشخصی از تکرارهای بدنه چرخه پیروز هستند:

طراحی چرخه

طراحی چرخه

z peredumovoy maє به دنبال:

با نگاهی پس از مرگ:

آیا در حالی که Umova

بیانیه_بلاک

بیانیه_بلاک

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

تا اومووا انجام دهید

بیانیه_بلاک

بیانیه_بلاک

حلقه تا umova

در حالی که اومووا

بیانیه_بلاک

ما فرم کوریستوواچا و برنامه انبارداری را برای شاخص سودآوری پروژه سرمایه گذاری پیشنهادی نوسازی گسترش می دهیم، به این معنی که مجموع سپرده های بلال (PV) انبارداری 10000 سرخدار است. p.، نرخ تنزیل r = 10٪، و انتقال جریان پنی:

پنی پوتیک (DPk B)، B yew. n

اجازه دهید فرم koristuvalnitskaya شبیه یک مادر باشد (شکل 1) و مقادیر جریان های پنی در سال های 1 - 5 از وسط برگه کار "Butt 1" خوانده می شود (شکل 2).

قدرت اجسام در جدول 1 ارائه شده است.

مال. 1. فرم «شاخص سودآوری

سودآوری

پروژه سرمایه گذاری"

بازخرید برای فرمول

∑n

DPk

IP =

k = 1 (1 + r)

de n - تعداد سنگهایی که با کشش آنها باید درآمد یک پنی به دست آورد.

مال. 2. جدول توزیع جریان های پنی

میز 1

قدرت

قدرت

عنوان = شاخص اجاره-

شرح = Rozmir pervis-

امنیت سرمایه گذاری

آنها را درج می کنند

پروژه

عنوان = نرخ تخفیف -

عنوان = شاخص سودآوری

عنوان = پاک

عنوان = خروج

برای پردازش فشار دادن دکمه "Open"، یک توهین آمیز وارد کنید

Sub خصوصی calc_Click()

برای نوع تغییر

کم نور pv، dp، i، n به عنوان عدد صحیح

Dim r، s به عنوان مجرد

خواندن ارزش تغییر

pv = Val(txtPV.Text)

r = Val(txtSD.Text)/100

n = Val(InputBox("تعداد تاریخ هایی را که قرار است وارد کنید

بیا

پنی

نادخودژنیا، "معرفی داده ها"))

خواندن ارزش جریان های پنی

dp = سلول ها (2، i + 2)

'subsumovuvannya

txtIR.Text = گرد(ها / pv، 2)

تابع Round (N, k) عدد N را تا علائم بعد از کومی به بالا گرد می کند.

دالی برای عنصر کمک دکمه نوار ابزار عناصر کنترلدر زیر جدول، دکمه "Enter form" را قرار دهید تا رویه "FormIndexProfitability" راه اندازی شود (شکل 3). کد رویه ممکن است به صورت زیر باشد:

Private Sub FormIndexProfitability_Click()

مال. 3. اختصاص به شاخص سودآوری پروژه سرمایه گذاری

برای کمک به دکمه ایجاد شده "فرم را وارد کنید"، فرم را برای rozrahuemo іndex سودآوری پروژه سرمایه گذاری راه اندازی می کنیم (شکل 3).

بیایید فرم یک koristuvach را گسترش دهیم و برنامه ای برای جستجوی همه اعداد دو رقمی ایجاد کنیم که مجموع مربعات ارقام آن بر 13 بخش پذیر است.

برای ایجاد این فرم، اجازه دهید به ویرایشگر VB برویم (از همان کتاب کار MS Excel مانند پیوست 1 استفاده می کنیم) و یک فرم دیگر اضافه می کنیم (شکل 4).

اعتبار اشیا در جدول 2 ارائه شده است.

برای پردازش فشار دادن دکمه ها

کد آینده:

Sub خصوصی calc_Click()

مال. 4. فرم باسن 2

Label2.Caption = ""

امضای اولین رقم یک عدد دو رقمی

نشان دهنده رقم دیگری از یک عدد دو رقمی است

اگر (i1^2+i2^2) Mod 13=0 سپس Label2.Caption = Label2.Caption+Str(i)+" "

Private Sub clean_Click()

Label2.Caption = ""

ExitForm_Click() Sub Private

جدول 2

قدرت

عنوان = سهام 2

عنوان = دو عدد، مجموع

که اعداد مربع آن بر 13 تقسیم می شوند

TextAlign = 2-fmTextAlignCenter

عنوان = ""

اندازه خودکار = نادرست

قدرت

عنوان = پاک

عنوان = خروج

در بازی کاری "Butt 2" امکان قرار دادن آن وجود دارد

دکمه "ورود فرم" برای فرم ویکی

"Butt 2" و این فرم را اجرا کنید (شکل.

روزروبیمو

کوریستووالنیتسکی

رابط

من انبارداری

برنامه برای

ردیف سومی:

تمیز کردن با دقت ε = 10P

k + 2

S = ∑

(− 1)

k = 1

اجاره از همان کتاب کار اکسل،

چه و در قنداق 1 و 2. برای ابزار اضافی

مال. 5. اعداد دوتایی، مجموع مربع ها

mentіv "Write"، "Field" و "Button" pa-

دهانه اعدادی که بر 13 تقسیم می شوند

ابزار چی

عنصری

مدیریت

روی کمان روباتیک "Butt 3" از اشیاء مختلف قرار می گیرد (شکل 6).

قدرت اجسام Arkush Butt 3 در جدول 3 ارائه شده است.

جدول 3

قدرت

قدرت

عنوان = مجموع ردیف

عنوان = پاک

برای پردازش فشار دادن دکمه های "Open" و "Clear"، کد برنامه زیر را در ماژول "Sheet3 (Butt 3)" وارد کنید:

eps = Val (InputBox ("مشخص کردن دقت"، "داده ورودی"))

a = (-1) ^ (k + 2) / (f * 2 ^ k) s = s + a

حلقه txtS.Text = s

زیر خصوصی clean_Click() txtS.Text = ""

در اینجا بدنه چرخه Do while - Loop خواهد بود

خفه کردن،

دودانوک

مطلق

k + 2

n- 1

k + 2

n+ 2

مقادیر (یعنی

(− 1)

−∑

(− 1)

(− 1)

) اراده

مال. 6. مجموع محاسبه

k = 1

k = 1

نادیده گرفتن دقت مشخص شده 10 P

بیایید ربات را با برنامه بررسی کنیم (شکل 7).

روزروبیمو

koristuvalnytska

ما برنامه را برای انجام کار آینده ذخیره می کنیم.

هنگام تجزیه و تحلیل gospodarskaia diyalnosti قبل از

درج شده است

توهین آمیز

نظم: در sich 2004. مازاد این

کسب و کار 573 هزار شد. n و کشش

در 5 سال آینده، هر ماه به میزان i٪ افزایش یافت،

de i - تعداد ماه (برای خشن - 2٪، برای توس

- توسط 3٪، و غیره)، در مقادیر مساوی با مجموع مازاد در

مال. 7. نتیجه محاسبه

ماه قبل

به طور قابل توجهی اوتریمانی قبل از

ردیف سومی

من مازاد سومی را برای سال های 2004، 2005، ...، 2008 و همچنین مجموع کل مازاد برای qi 5 سال قبول خواهم کرد.

برای ایجاد این فرم، اجازه دهید به ویرایشگر VB برویم (از همان کتاب کار MS Excel که در ضمیمه های 1-3 است استفاده می کنیم) و یک فرم دیگر اضافه می کنیم (شکل 8). محاسبه ارزش سود کسب و کار هم در فیلد لیست شی (ListBox) که روی فرم قرار می گیرد و هم در وسط برگه کار "Butt 4" (شکل 9) نشان داده شده است.

مال. 8. فرم "ورود کسب و کار" کوچک. 9. میز باسن 4

اعتبار اشیا در جدول 4 ارائه شده است.

جدول 4

قدرت

قدرت

عنوان = مازاد کسب و کار

عنوان = پاک

عنوان = خروج

توجه داشته باشید. قدرت ColumnCount تعداد ستون های شی ListBox را تعیین می کند.

برای پردازش فشار دادن دکمه های "Open"، "Clear" و "Remove".

xid" کد زیر را وارد کنید:

Private Sub calc_Click() Dim i، j به عنوان عدد صحیح

Dim PrM، prG، sPr As Single

PrM = Val(InputBox("مازاد را وارد کنید، کسر از sichni 2004"، "معرفی داده ها"))

ListBox از متد AddItem، انتساب برای افزودن عناصر به لیست استفاده می کند

Іm'yaList.AddItem Viraz , Index

de Viraz - عنصری به لیست که باید اضافه شود. Index – شماره سریال عنصر در لیست (شماره گذاری عناصر در لیست از 0 شروع می شود).

و قدرت List (RowNumber، Stovptsya) شی ListBox، عنصر را به لیست می‌چرخاند (اعمال می‌کند) که روی خط ردیف‌ها و ستون‌های مشخص شده قرار دارد.

در آرکید کار "Butt 4" دکمه "Enter the form" را برای فرم سریع "Pributok pripriyemstva" قرار دادیم و فرم را راه اندازی کردیم (شکل 10).

اکنون می توانید یک برگه دیگر با نام "Zmist" به کتاب کار MS Excel اضافه کنید، به عنوان مثال، برای دکمه نوار ابزار ابزار اضافی "Pributok pripriєmstva".

ویرایشگر VB یک ماژول جدید دارد (Insert → Module) که دارای کد زیر است:

Public Sub ListButton1()

کاربرگ ("Butt 1"). فعال کنید

ListPr.AddItem "Рік"، 0

مدیریت امضاها و داده های بلال

ListPr.List(0, 1) = "Surplus, ths."

چرخه به سنگ

چرخه ماه ها از سرنوشت پوست

اگر (i = 4) و (j = 1) سپس

PrM = PrM * (1 + j / 100)

در برنامه نویسی، ما اغلب به وظایفی می چسبیم که در آن فرآیندها تکرار می شوند. تقصیر من این است که اشراف شایسته چنین درک هایی هستند که « فرآیندهای شمارش چرخه ای».

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

چرخه برنامه نویسی چیست؟

چرخه - در برنامه نویسی، به آن تکرار باگاتورازی از همین چی دیی می گویند، اما با یک و همان آیش با مقادیر تغییر متفاوت.

از درک چرخه در برنامه نویسی آسان است. چرخه هایی در حوزه های غنی زندگی ما وجود دارد.

به عنوان مثال، چرخه آب در طبیعت، چرخه طبیعی در زندگی ما.

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

مراحل فرآیند چرخه ای

برای یک نوع وحشی، چرخه می تواند در 4 مرحله تحقق یابد:
  • مرحله 1 - آماده سازی برای چرخه (آغاز سازی).
    تنظیم مقدار cob برای پارامتر آن چرخه تغییر.
    پارامتر حلقه- مقدار Tsya، به عنوان مثال، تعداد چرخه ها (تعداد تکرارهای چرخه) در نظر گرفته می شود.
    چرخه را تغییر دهید- مقدار Tse، زیرا در مرحله پوستی چرخه، مقدار خود را تغییر می دهد.
    مقداردهی اولیه- هدف از تنظیم مقادیر cob پارامتر چرخه تغییر.
  • مرحله 2 - بدن چرخه.
    Tse باگاتوراز را در چرخه تکرار می کند یا برای یک رسوب ریاضی یکسان با مقادیر متفاوت تغییرات محاسبه می کند.
  • مرحله 3 - اصلاح (تغییر) چرخه.
  • مرحله 4 - مدیریت چرخه.
    Tse perevіrka ذهن prodovzhennya چرخه بلال چی.
پاسکال دارای 3 دستور حلقه است که می توان آنها را به هر صورت پیاده سازی کرد الگوریتمی - ساختار چرخه ای :
  1. عملگر حلقه با پارامتر
  2. اپراتور دوچرخه با تغییر ذهن
  3. اپراتور حلقه با posthum
می‌توانیم در مقاله‌های آینده با جزئیات به آنها نگاه کنیم.

ربات های متا:

دستورات چرخه ای را برای، while، do - while یاد بگیرید، نحوه اضافه کردن و برنامه ریزی الگوریتم های چرخه ای را بیاموزید.

گزاره های نظری کوتاه

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

برای بیانیه حلقه

شکل اصلی عملگر حلقه قابل مشاهده است

برای (viraz_1; viraz_2; viraz_3)

اپراتور؛

de viraz_1- مقدار پارامتر را به چرخه تغییر دهید.

viraz_2- ذهن Perevirka برای ادامه چرخه.

viraz_3- تغییر پارامتر چرخه (اصلاح)؛

اپراتور- فیلم ساده یا اپراتور انبار اس.

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

مثلا:برای (k=1; k<5; k++)

printf("\n%d"، k);

در نتیجه انتخاب اپراتور، اعداد از 1 تا 4 توسط ستون استفاده می شود.

به عنوان پارامتر حلقه، می توانید نوع پایه را تغییر دهید.

مثلا:

برای (ch='a'; ch<=’z’; ch++) // Вывод на экран букв

printf("%c",ch); // الفبای لاتین

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

مثلا:

برای (k=10;k>6;k++)

printf("حلقه بی نهایت \n");

از حلقه خارج شویدپیش رشته را می توان به روش های زیر انجام داد:

برای ذهن dodatkovoy;

Vykoristovuyuchi چنین اپراتورهایی:

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

خروج (intCode)؛- خروج از برنامه؛

برگشت؛- خروج از تابع؛

برای کمک عملگر انتقال مجنون رفتن به<метка>;

داستروکوو تکمیل کار چرخه ای درون خطیممکن است برای کمک dodatkovo ї ذهن یا اپراتور ادامه هید، که جریان مرحله جریان سیکل، tobto را قطع می کند. از عبارات قسمتی از حلقه که کنار گذاشته شده است بگذرید و کنترل را به عبارت head حلقه منتقل کنید تا پارامتر را تصحیح کنید و ذهن را دوباره بررسی کنید.

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

اگر یک حلقه برای بازوهای گرد وجود داشته باشد، می تواند روزانه باشد، اما نماد ";" نمی توان رها کرد

مثلا:

برای (;i<3; i++)

قرار می دهد ("سلام!");

عبارات چرخه ای while و do–while

شکل اصلی عملگر چرخه ای در حالی که:

در حالی که (umova)

اپراتور؛

de اپراتور

چرخه پیروز است تا ساعتی که ذهن از معنای «حقیقت» پر شود. viraz در بازوها تبدیل به یک نتیجه غیر صفر. کل چرخه از بازاندیشی - ذهن دوباره تأیید می شود، سپس اپراتور مورد بازنگری قرار می گیرد. بنابراین، حلقه while یک بار محاسبه نمی شود، زیرا نتیجه محاسبه 0 محاسبه می شود.

شکل اصلی اپراتور انجام در حالی که:

اپراتور؛

در حالی که (umova)؛

de اپراتور- اپراتور خالی چی ساده تاشو.

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

برای حلقه‌هایی مانند while و do–while، روش‌های خروج پیش رشته از حلقه و تکمیل قبل از رشته حلقه قلاب‌بافی درون خطی، مانند عملگر for مجاز است و در زمان کنترل حلقه for، کنترل به تأیید مجدد ذهن منتقل می شود. برای شکست دادن حلقه بی پایان در میانه چرخه های while و do-while، لازم است تغییراتی را که قبل از مرگ ایجاد می شود تغییر دهید.

مثلا:

برای (i=1;i<=300;i++) // Печать целых чисел, кратных 5

اگر (i%5!=0) ادامه دهید.

printf("%5d",i);

چرخه های بیشماری را اعمال کنید:

اپراتور؛

2) while (number_not_0) // true!

اپراتور؛

اپراتور؛

while(number_not_0); // صادق باش!

وسط اپراتور در چرخه obov'yazykovo ممکن است خروج ذهن buti.

چرخه های سرمایه گذاری

برای چرخه های مختلف تودرتو، یک چرخه در وسط دیگری قرار دارد، به عنوان مثال:

برای (i=nn;i

برای (j=mn;j

اپراتور؛

de اپراتور- اپراتور خالی چی ساده تاشو. چرخه داخلی برای مقدار پوست پارامتر i تنظیم می شود که منعکس کننده چرخه ذهنی نامیده می شود.

باسن:

برای (i=1;i<10;i++) // Печать таблицы умножения

برای (j=1;j<4;j++)

printf("\n %d*%d=%2d"، i, j, i*j);

printf("\n");

لب به لب برای بیانیه

محاسبه. از سوی دیگر، برنامه وظیفه ارائه نتایج میانی و باقیمانده را بر عهده دارد.

متن برنامه قابل مشاهده است

#عبارتند از

#عبارتند از

puts ("N را وارد کنید");

scanf("%d"،&N);

برای (s=0، k=1؛ k<=N; k++) // В заголовке цикла можно выпол-

(// گرفته شده و فرعی تعیین شده است

printf("\nk=%ds=%f"، k,s);

printf("\n VIEW: s=%f، هر کلیدی را فشار دهید...",s);

گزینه هایی برای سفارشات فردی

برنامه را به مقدار جدول تابع اضافه کنید دردر یک محدوده کاملاً [ آ,ب] استدلال را تغییر دهید ایکسبا کروک کافی ساعت. ارزش a، b، hاز صفحه کلید وارد شود جدول می تواند مقادیر یکسانی داشته باشد: عدد ترتیبی، مقدار آرگومان ایکس، مقدار تابع، اطلاعات مربوط به رشد یا تغییر تابع، تفاوت بین دو مقدار قابل توجه تابع.

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

1. a=-p; b=p; h = 0.4.

2. a=0.7; b = 1.8; h = 0.1.

3. a=-0.5; b = 2.5; h = 0.2.

4. a=-0.9; b = 2.7; h = 0.3.

5. a=-2; b = 0.8; h = 0.2.

6. a=-1.9; b = 2.7; h = 0.3.

7. a = -0.4 p; b = 0.4p; h = 0.5.

8. a=-0.3p; b = 1.3p; h = p/10.

9. a=-p/2; b = p/2; h=p/10.

10. a=-3; b = 3; h = 0.5.