КомпьютерлерБағдарламалық жасақтама

Турбо Паскаль. Ал ... істеу - бұл алғышартпен цикл

Турбо Паскаль, бағдарламалауға арналған әлемге әйгілі бағдарлама емес, бірақ бағдарламалық жасақтамадағы алғашқы қадамдарды жасайтын жасаушылар осы ортаға танысады. Бұл тармақтарды, операторларды, функцияларды және процедураларды, сондай-ақ басқа да көптеген нәрселер туралы түсінік береді. Мысалы, оқыту кезінде, бағдарламашы Turbo Pascal-да циклдармен кездеседі: While, For, және Repeat.

Циклдің түсінігі және оның алуан түрлері

Цикл қайталанатын әрекеттер деп аталады. Бұл ортада біз:

  • Параметрімен (For ... to ... do);
  • Алдын-ала (With ... do);
  • Кейінгі жағдаймен (Қайталау ... дейін).

Бірінші түр мәселені шешуде қандай қадамдар алдын-ала белгілі болғанда қолданылады. Дегенмен, бір немесе бірнеше іс-әрекеттің қанша рет қайталануы туралы ақпарат болмаған кезде бірқатар тапсырмалар бар. Бұл жағдайда Паскаль циклында, негізінен, қайталау қажет болғанда болады.

Циклдың құрылымы

Pascal While, For және Repeat циклдерінің жұмысының мәні қандай? Бұл құрылымдарда тақырып және дене бар. Бірінші компонент жұмыс істейтін айнымалы мәндерді, шындықты тексеру шарттарын, дене орындалатын кезеңді анықтайды. Екінші компонентте, шарт орындалса, яғни, дұрыс және дұрыс емес болса, пайдаланылуы тиіс өрнектер жазылады.

Итерация соңғы код жолында орындалса, онда ол шартты тексеретін тақырыпқа қайтарады. Шындық жағдайында операция қайталанып, жағдайды орындамаған жағдайда, бағдарлама циклді «қалдырады» және одан әрі операцияларды жүргізеді.

While циклында осылай көрінеді. Pascal ABC және ұқсас бағдарламалар осы кодты жазуды талап етеді:

  • Жағдай болса;
  • Бастау;
  • Циклдің денесі;
  • Соңы.

Егер циклда 1 оператор (1 әрекет) орындалса, онда «бастау» аяқтау жақшаларын тастауға болмайды.

Циклдің схемасы

Turbo Pascal-да келесі ерекшеліктер бар:

  • Құрылым ішінде күрделі шарттар қолданылуы мүмкін;
  • Сөзден кейін, нүктелі үтір болуы керек (бұл Turbo Pascal және Pascal ABC қателігі деп қарастырылады);
  • Айнымалы, тұрақты немесе өрнектер олардың кіші бағдарламасының жалған шығуын пайдаланғанда пайдаланылатын логикалық түрдегі болуы керек, яғни логикалық.

Циклдың осы нұсқасының блок-сұлбасы келесідей көрінеді. Бұл әрекеттердің ретін көрсетеді.

Циклдің алгоритмі

Қарапайым бағдарламалау орталарында, соның ішінде Pascal ABC, Цикл келесі қағидаға сәйкес әрекет етеді:

  • Берілген итерациялар, яғни қайталанулар, шарт шын болғанша бірнеше рет өтеді (True);
  • Шарт шарты қанағаттандырылмаса және Жалған жауап береді (немесе басқаша «Жалған») болса, онда мәлімдеме циклден шығады;
  • Осыдан кейін бағдарлама циклден кейін құрылысқа «барған».

Бұл қайталаудан бастап, яғни, кейінгі жағдайдан бастап циклды маңызды айырмашылық.

Өңірдің корпусында «Айдар» бөліміндегі көрсетілген айнымалыны соңғы өзгертуді қамтамасыз ету өте маңызды. Қалай болғанда да, бір сәтте False мәнін беретін жағдай пайда болуы керек. Әйтпесе, цикл орындалады, одан кейін компилятордан шығу үшін қосымша шараларды қолдануға тура келеді. Мұндай қателер өрескел және кешірілмейтін деп саналады.

Цикл кезінде бағдарламадан қалай шығу керек?

Паскаль операторы жазбаша кодта циклды шығарғанда, жағдай жиі орын алады. Бұл нені білдіреді? Итерация шексіз сан рет қайталанады, себебі шарт әрдайым дұрыс. Мысалы, бағдарламаның фрагменті:

  • 2> 1 жасайды;
  • Жазыңыз (1).

Бұл жағдайда тапсырманы тоқтату үшін CTRL + F2 пернелерін басыңыз.

Сондай-ақ бағдарламаның осы әрекетін бақылаудың екі жолы бар. Мысалы, бақылауды циклдік құрылыстың басына беруді жалғастыратын «Жалғастыру» кодын енгізсеңіз (мұнда циклдегі шығу күйі бақыланады, яғни ағымдағы иерацияның орындалуы үзіледі). Содан кейін бақылау «Алғашқы» циклында алдыңғы тексеруге өтеді.

Үзіліс туралы мәлімдеме бүкіл циклдың орындалуын тоқтатып, бақылауды келесі итерацияға көшіруге қабілетті. Мұнда құрылымнан шығу бақыланбайды. Суретте осы операторларды пайдаланудың мысалдары көрсетілген.

Мәселені шешу

While циклын қарастырайық. Паскальдың міндеті кең ауқымды шешуге бағытталған. Жұмыстың принципін түсіну үшін қарапайым жағдайға тоқталайық. Pascal ABC бағдарламасындағы міндеттерді шешеді. Бірақ салыстыру үшін классикалық турбо-паскальдік орта суреттері ұсынылады.

1-міндет: Y = 5-X ^ 2/2 функциясын ескере отырып. Аралықта [-5; 5] қадамда sh = 0,5 қадамы бар мәндер кестесін жасаңыз.

Әрекеттер алгоритмі:

  • Бастапқы мәнді X -5-ке тең (яғни аралықтың басталуы) үшін орнатыңыз;
  • Y айнымалыны x көрсетілген сегменттің соңына жеткенше Y мәнін есептеңіз;
  • Функцияның мәндерін және абсцисса (X);
  • Осы қадамға X көбейтіңіз.

Бұл Pascal ABC бағдарламасындағы код.

Бұл код Turbo Pascal-ға ұқсас. Төмендегі суретте бұл анық көрсетілген.

2-міндет: оң сандарды және теріс сандарды қамтитын А жиынын ескере отырып. Онда 10 элемент бар. B матрицасын қалыптастыру қажет, онда A индексі бар A жиілігінің оң элементтері көрсетіледі. Экранда жаңа матрицаның санындағы квадраттардың сомасы көрсетіледі.

Әрекеттер алгоритмі:

  • Тіпті индексі бар массивтің элементтерімен ғана «жұмыс істейтін» кіші бағдарламаны жазу қажет. Циклда индекстің теңдігіне жауап беретін айнымалы мән 2-ге көбейеді.
  • Егер матрица A-дан біркелкі индексі бар болса, онда x> 0 шартына сәйкес келетін болса, онда алаптың элементтерінің санауышы 1-ке көбейтіледі. Есептегіштің ағымдағы мәні - алабында B. көшірілген нөмірдің индексі болады.
  • Бастапқыда оң сандардың квадраттарының сомасын табу үшін жауапты сома тағайындалады. Одан кейін операция орындалады: квадраттың жаңа мәні алдыңғы сомаға қосылады.
  • Егер оң сандар бір матрицаның екіншісіне ауысса, қорықпа. Сақ болу керек. Көптеген жаңа бағдарламашылар дүрбелеңдегі кодты қайта жазады. Біз шартты мұқият оқып шығуымыз керек: оң сандар тіпті «орындарда» орналасқан, яғни 2-ге көбейетін көрсеткіштері бар.

Есептеулердің дұрыс болуын қамтамасыз ету үшін қолмен іздеу керек. Кейде осы әдіс көмегімен сіз жазбаша кодты әдетте тексергенде көздеріңізге келмейтін қателерді анықтай аласыз.

Қолмен есептеулерді орындасаңыз, бағдарлама дұрыс жұмыс істейтініне көз жеткізуге болады. Бұл, өз кезегінде, кодты жасау алгоритмінің дұрыс екенін көрсетеді, әрекеттердің реті логикалық соңына әкеледі.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 kk.delachieve.com. Theme powered by WordPress.