Программаларды жасаќтау технологиясы



жүктеу 1,99 Mb.
бет8/11
Дата20.05.2018
өлшемі1,99 Mb.
#15009
түріПрограмма
1   2   3   4   5   6   7   8   9   10   11

Әзір циклі
BASIC тілінде циклді мектептік алгоритмдік тілдегі жазылуымен салстырып былай жазуға болады.

Әзір <шарт> k IF NOT P THEN k+30

цб k+10S

<әрекет> k+20 GONO k

цс k+30 REM соңы
Мұнда к-қатарда шартты өту операторы тұр, ол қойылған шарт «сакталмаған» жағдайда басқаруды к+30-қатарға, яғни «қайталану командасынан» шығару құрылғысына береді. Цикл к+10-қатардан басталып циклдің денесіне сай келетін к+20-қатардағы шартсыз өту операторымен аяқталады, содан кейін басқаруды қайтадан шартты тексеру қатарына береді. Осылайша, мектептік алгоритмдік тілдегі сияқты цикл қайталана береді.

Төменде циклдің бұл түрінің блок-схемасы BASIC тіліндегі жазылуымен салыстырылып көрсетілген.



Командалар тізбегі

k IF ШАРТ THEN k+20

k+10 STOP

k+20 Командалар тізбегі

k+30 GOTO k


Мұнда командалар тізбегі шартты тексеруден орналасқан. Мұндай жағдайда шартқа байланысты цикл денесі бір рет те орындалмауы мүмкін. Циклдің бұл түрін ӘЗІР циклі деп атайды.
Дейін циклі
Бұл циклдің блок – схемасы мына суретте көрсетілген.

Командалар тізбегі


Жоқ


иә

k Командалар тізбегі

k+10 IF NOT шарт THEN k

k+20 REM цикл соңы
Циклдің бұл түрінде командалар тізбегі шартты тексеруге дейін орналасады, сондықтан цикл денесі шартқа тәуелсіз, кемінде бір рет орындалады. Циклдің бұл түрін ДЕЙІН циклі деп атайды. Әзір цикілінде цикл денесі әзір-шарт ақиқат болса орындалады; мұндай жағдайда шарт циклді жалғастырушы шарт болып табылады. Дейін циклінде цикл денесі, шарт ақиқат болғанға дейін орындалады, мұндай жағдайда шартты циклді аяқтау шарты деп атайды. Циклдің бұл түрлері нақты есептердің ерекшеліктеріне сәйкес программа құруда қолданылады.

Мысалы, ДЕЙІН циклін пайдаланып х-тің мәні -10-нан +10-ға дейін 2 қадаммен өзгеретін у= х2+в функциясының мәнін есептейтін программа құрыңыздар.




ДЕЙІН циклі бойынша:


















Үшін цикілінің BASIC тіліндегі жазылуы.

FOR және NEXT операторлары
Жоғарыда айтылғандай циклді программаларды басқаруды беру операторы IF арқылы ұйымдастыруға болады. Бірақ циклдер программа жасаудағы ең маңызды және кеңінен тараған құрылым болғандықтан практикада BASIC программалау тілінде оларды ұйымдастыру үшін арнайы

FOR және NEXT операторлары қарастырылған. Бұл операторларды циклдік программаның ұзындығын қысқарту үшін және BASIC тіліндегі программада циклдерді анық ажыратып бөліп көрсету үшін пайдаланады.

Мектептік алгоритмдік тілде параметрі бар қайталану командасын Үшін цикілі деп атайды. Оның жазылу пішімі мынадай:


Цб: үшін і1 бастап і2 дейін

цикл денесі (командалар тізбегі)



Цс

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



k FOR v=e1 TO e2 STEP e3.
Мұнда к-қатар нөмірі, v-циклдің параметрі, e1, e2-цикл параметрінің бастапқы және соңғы мәндері, TO (дейін) – қызметші сөздер, STEP (қадам) – қызметші сөз, e3-цикл параметрі қадамының өзгерісі, яғни өсімшесі.

Программа жасағанда FOR операторынан соң циклдің денесін құрайтын операторлар тізбегі жазылады. Цикл NEXT операторымен анықталады. Сондықтан NEXT операторын цикл соңының операторы деп те атайды. NEXT операторының жазылу пішімі:



k NEXT v
Мұнда k-қатар нөмірі, NEXT-(келесі) оператордың аты; v-циклдің параметрі. Ол міндетті түрде FOR операторындағы параметрмен сәйкес келуі тиіс. Сонымен, BASIC тілінде цикл былай ұйымдастырылады:

k FOR v=e1 TO e2 STEP e3
Командалар тізбегі.

k NEXT v

FOR және NEXT операторларын

пайдалану ережелері
Бұл оператордың көмегімен циклді программалауда мына төмендегі ережелерді ескеру қажет.

1. FOR операторын қолданып циклге ендіруге рұқсат етілмейді. Яғни циклдің денесін құрайтын операторға сырттан басқаруды беруге болмайды. Сырттан басқаруды беруде е1,е2,е3 өрнектің мәні есептелмейді. Егер е1,е2,е3 айнымалы немесе тұрақтылар болса,

онда олардың мәні анықталмайды.

Сырттан басқаруды берудің мүмкін еместігіне мысал;

.

.

.

30. FOR I = N + 2 TO 20

40. Y (I) = X (I) + 5

50. NEXT I

60. A =A -3

70. IF A I=15 THEN 40



.

.

.

Мұнда 70-операторымен басқаруда 40-қатардағы циклдің ішкі параметірге беруге болмаиды.



2. Кез келген уақытта цикілден шақыруға рұқсат етіледі. Мысалы;

.

.

.

20. K = 1

30. FOR I = 1 TO 10

40. K = K + 1

50. IF K – 10 THEN 70

60. NEXT I

70. PRINT K, I

.

.

.

программа үзіндісіне циклдің программасын қателікпен алып келіуі мүмкін болғандықпен алдын ала анықтауға кеңес беруге болмайды.



3. Циклдің санын қатаң сақтауы, бүтін болуы тиіс.

.

.

.

30. FOR I % = 1 TO 2 %



.

.

.

90. NEXT I %



.

.

.

Циклден шығаруда цикл программаның сонғы мәні сақталады.



Пайдаланушы анықтайтын функция
Есептер шығару барысында элементар функциялар: sinx, cosx, tnx, ex және т.б. жиі қолданылады. Бұл функцияларды стандартты математикалық функциялар деп аталады, оларды программаның кез келген жерінде алгебралық өрнектерде қолдануға болады. Функциялардың аргументтері міндетті түрде жақшаға алынып жазылады.

Кейде есеп шығаруда осы аталған стандартты математикалық функцияларға ұқсамайтын алгебралық өрнектер кездесуі мүмкін. Мұндай жағдайда BASIC программалау тілі пайдаланушыға өзінің функциясын құруға мүмкіндік береді. Мұндай функцияларды пайдаланушы анықтайтын функциялар немесе стандартты емес функциялар деп атайды. Оларды анықтау үшін, DEF (Define Function) операторы қолданылады. Оператордың жазылу пішімі:



K DEF FN v(x1,x2,…,xN)=e

Мұнда k-қатар нөмірі; DEF (анықта)- оператордың аты; FNV- пайдаланушы анықтайтын функцияның аты; (v- программалаушы таңдап алатын латын әріпі); х1, х2, …,хN- формальды аргументтер тізімі; е- арифметикалық өрнек. Мысалы,

30 DEF FN B(X,Y)=X^ 2+Y^2

Стандартты емес, яғни пайдаланушы анықтайтын функцияның аты барлық уақытта үш латын әріпінен құралады, ал үшінші әріпті пайдаланушы өзі таңдайды. Тек қарапайым, (индекстері жоқ) үтірлерімен бөлінген айнымалылар (х1, х2, …,хN) ғана формальды аргументтер бола алады.

Ереже бойынша формальды аргументтер е арифметикалық өрнегіне де енеді. Оған санымен бірге басқа да айнымалылар мен тұрақтылар да енеді. е арифметикалық өрнегі формальды аргументтермен және басқа да оған енетін шамалар мен қандай амалдарды, қандай реттілікпен, орындау керектігін көрсетеді. Сонымен, жоғарыда келтірілген мысалдарға 30-операторда қандай екендігі бәрі бір кейбір шаманың х-ты квадраттау және оған басқа формальды шама у-тің квадратын қосу арқылы анықталатындығы көрсетілген. Стандартты емес функция программада DEF операторымен сипатталғаннан соң, оның бұл программадан стандартты функцияларды пайдалануға, яғни BASIC тілінің әр түрлі операторларында пайдалана беруге болады.

Мысалы, мына төмендегі функцияны есептейтін программа құрайық.





Мұнда түрінде жазуға болатын формула көптеген рет пайдаланылған. Программа бұл формуланы DEF операторының көмегімен функция ретінде анықтау орынды. Сонда программаның түрі мынандай болады:

10 REM


20 DEF FNY (X)=3*X^2+COS (X)

30 REM CD

40 INPUT C,D

50 REM Z


60 Z=(FNY(C)-FNY(D))/FNY(C+D)^3

70 PRINT “Z=”; Z

80 END

60-операторда көрсетілген FNY функциясының аргументтері шын аргументтер деп аталады. Олар 20-оператордағы формальды аргументтердің орындарына қойылатын нақты сандық мәндерді береді. Пайдаланушы анықтайтын, яғни стандартты емес функцияларды программалауда пайдаланғанда ескерілуге тиісті бір қатар ерекшеліктерді атап өтейік.



Формальды аргументтер, аргументтерді таңбалау және функцияның мәнін есептейтін формулаға енетіндігін көрсету үшін пайдаланылады. Мысалы, программаның мына төмендегі үзіндісінде:


жүктеу 1,99 Mb.

Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8   9   10   11




©g.engime.org 2024
әкімшілігінің қараңыз

    Басты бет
рсетілетін қызмет
халықаралық қаржы
Астана халықаралық
қызмет регламенті
бекіту туралы
туралы ережені
орталығы туралы
субсидиялау мемлекеттік
кеңес туралы
ніндегі кеңес
орталығын басқару
қаржы орталығын
қаржы орталығы
құрамын бекіту
неркәсіптік кешен
міндетті құпия
болуына ерікті
тексерілу мемлекеттік
медициналық тексерілу
құпия медициналық
ерікті анонимді
Бастауыш тәлім
қатысуға жолдамалар
қызметшілері арасындағы
академиялық демалыс
алушыларға академиялық
білім алушыларға
ұйымдарында білім
туралы хабарландыру
конкурс туралы
мемлекеттік қызметшілері
мемлекеттік әкімшілік
органдардың мемлекеттік
мемлекеттік органдардың
барлық мемлекеттік
арналған барлық
орналасуға арналған
лауазымына орналасуға
әкімшілік лауазымына
инфекцияның болуына
жәрдемдесудің белсенді
шараларына қатысуға
саласындағы дайындаушы
ленген қосылған
шегінде бюджетке
салығы шегінде
есептелген қосылған
ұйымдарға есептелген
дайындаушы ұйымдарға
кешен саласындағы
сомасын субсидиялау