Алгоритм және оның қасиеттері


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



бет7/9
Дата11.06.2016
өлшемі0.76 Mb.
#128325
1   2   3   4   5   6   7   8   9

Үшін цикілінің 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-оператордағы формальды аргументтердің орындарына қойылатын нақты сандық мәндерді береді. Пайдаланушы анықтайтын, яғни стандартты емес функцияларды программалауда пайдаланғанда ескерілуге тиісті бір қатар ерекшеліктерді атап өтейік.

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



.

.

.

20 DEF FNC (X,Y)=SQR (X^2+Y^2)



.

.

.

50 DEF FND(X)=SIN (X)/X



.

.

.

80 LET Z=Y+B*3



.

.

.

FNC жєне FND функцияларын анықтаудағы х аргументі өзара байланысты емес тәуелсіз шамалар. Компьютерде оларға оперативті жадтың әр түрлі ұялары бөлінеді. Дәл осы сияқты 20-оператордағы у формальды аргументінің программаның 80-операторындағы у айнымалысына ешқандай қатысы жоқ. Мыналар шын аргументтер бола алады: тұрақтылар, айнымалылар (жай және индексті), өрнектер. Орындалатын оператордың формуласында шын аргументті стандартты емес функцияның аты оперант ретінде кездескен кезде ғана стандартты емес функцияны пайдалану орындалады. Функцияны пайдалануда алдымен барлық шын аргументтердің мәндері есептеледі, одан әрі олар функцияның анықтамасындағы формальды аргументтердің сәйкес орындарына қойылады және функция анықтамасының оң жағына жазылған өрнектің мәні есептеледі. Осы мән функциясының мәні болып табылады.

Пайдаланушының анықтайтын функциясы бүтін, нақты немесе символдық бола алады. Функцияның атынан соң % символы тұрса, онда ол бүтін деп, ал $ символы тұрса, онда ол символдық деп аталады. Бүтін санды функцияның мәні бүтін саны болып табылады, ал символдық функцияның мәні символдар қатары болады. Егер % және $ таңбалары жоқ болса, онда функция нақты функция болады, яғни нәтижесі нақты сан болады.

Мына төменде пайдаланушының анықтайтын функциясын пайдаланудың мысалдары келтірілген:

20 DEF FNA % (X,Y,R%)=X*K% +Y*10*K%

20 DEF DNB% (A$,L)=SWG (A$,I,L)+”A”

20 DEF FNC (X)=SIN (X) /X

М±нда:


  • FNA% функциясының мәні бүтін сан;

  • FNB$ функциясының мәні символдар қатары;

  • FNC функциясының мәні нақты сан болады.

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

20 DEF FNB (X)=2*X/SQR (X)

30 PRINT FNB (5,2)

орындалуының нәтижесінде экранға аргументтерде қате кеткендігі туралы хабар шығады. DEF операторы орындалмайтын оператор, сондықтан да барлық DEF операторларын басқа да орындалмайтын операторлармен бірге программаның басына орналастыруға болады. Ол тек программалық режімде ғана пайдаланылады:

Мысалдар келтірейік:


  • 20 DEF FNA (X)=АВS (SIN(X)

.

.

.

50 DEF FNB (X,Y)=FNA (X)+(CJS(Y)^2-1

55 X=2.5

60 Z=FNB (4.7124,3.I4I6)*EXP (X)

70 PRINT Z

.

.

.

Бұл программа үзіндісі орындалғанда мына төмендегідей нәтиже алынады:

Z=( sin 4.7124 + cos2 3.1416-1).e2.5= 12.1825


  • Программада мына:

және

екі функцияны анықтау керек және олардың мәні х=5 мәнінде есептелсін.

10 DEF FNY (x) =LOG (x+SQP(x^2+1)

20 DEF FNY =B^2 (((X-A)^2+B^2

30 A=2: B=3

40 X=5


50 Y=FNY (X): F=FNF (X)

60 PRINT X,Y,F

70 END

Бұл программада 30-қатарда А және В-ның мәндері анықталған, олай болмаған жағдайда f(x) функциясының мәні есептелінбейді. 40-қатарда х-тың мәні, ал 50-қатарда у және F-тің мәндері есептеледі.



Массивтер және оларды өңдеу.

Массив ұғымы
BASIC тілінде бірыңғай шамаларды массивке біріктіруге болады. Жалпы аты бар бірыңғай элементтердің реттелген жиыны массив болып табылады. Ол математикада вектор ұғымына, ал мектептік алгоритмдік тілде сызықтық кестеге сәйкес келеді. Массивтің аты жай айнымалының атын құрғандағы ережелерге сүйеніп құрылады.

Массивтің әрбір элементіне соңынан индексі келетін массивтің аты меншіктеледі. Сондыќтан да массив элементтерін индексті айырмалар деп те атайды.

Ұйымдастыру тәсілдері бойынша BASIC тілінде бір өлшемді екі өлшемді және көп өлшемді массивтер пайдаланылады. Бір өлшемді массивтің элементі массивтегі элементтің реттік нөмірін анықтайтын бір индекспен көрсетіледі. Мысалы:


  • А2) –А массивінің екінші элементі;

  • В1(3) –массивінің үшінші элементі;

  • С(N)-C массивінің N-ші элементі дегенді білдіреді.

Осылайша, индекстер массивінің атынан соң жақша ішіне орналасады.

Енді екі өлшемді массивке алып келетін мынадай есепті қарастырайық.

Айталық, 11-мөлтек ауданда тұратын тұрғындар саны және бір тұрғынға бөлінетін шаршы метр жер жөнінде деректерді өңдеу керек болсын. Өңдеу және кейбір сұрақтарға жауап алу мақсатында компьютерге деректерді енгізуді былай ұйымдастыруға болады. Мысалы, бір үйде қанша адам тұрады және 22 үй 3-пәтерде тұратын тұрғындарды кезекке қоюға бола ма? т.с.с. сұрақтарға жауап беру керек болсын.

Бұл есепті шешуде екі өлшемді массивті пайдалану ыңғайлы. Біз бірінші айнымалы ретінде үйдің нөмірін, екінші айнымалы ретінде пәтер нөмірін пайдаланамыз. Егер ол құрылып қойылған болса, онда біздің сұрақтарымыздың жауабы ретінде А[22,3] мәні баспаға шығарылады. Мұнда алғашқы индекс үй нөмірін, екіншісі пәтер нөмірін білдіреді. Ал егер А[22,3]=4 мәнін меншіктесе, онда бұл үйде 4 адам тұратын болғаны.

Екі өлшемді массивке математикада матрица, алгоритмдік тілде төртбұрышты кесте мысал бола алады.

Сонымен, екі өлшемді массивтердің элементтері екі индекспен көрсетіледі, оның біріншісі қатардың нөмірін, ал екіншісі бағанның нөмірін анықтайды, екеуінің қиылысында массивтің сәйкес элементі орналасқан болады. Мысалы, А(0,0) екі өлшемді А массивінің нөлдік қатары мен нөлдік бағанына орналасқан элемент; В3(2,3) екі өлшемді В3 массивінің екінші қатары мен үшінші бағанына орналасқан элемент екендігін білдіреді. Екі өлшемді массивтерде индекстер үтірмен бөлінеді. BASIC тілінде индекстер нөлден бастап нөмірленеді.



DIM операторы
Егер индексті өрнек ретінде формула пайдаланатын болса, онда оның мәні есептеліп болғаннан соң бүтін санға дөңгелектенеді. Егер программада массив пайдаланылатын болса, онда олар алдын ала сипатталған болуы тиіс. Бұл компьютерге массивтің құрылымы және өлшемі туралы информация берілуі керек деген сөз. Осы информацияны қабылдау арқылы компьютер өзінің жадында массив элементтерін орналастыру үшін қажетті орын қалдырады. Массивтерді сипаттау үшін DIM (dimension-өлшемділік) операторы қолданылады.

Оператордың жазылу пішімі:



k DIM m1(m1-ң шек.), m2(m2-ң шек.),…, mN(mN-шек)

мұнда k-қатар нөмірі; DIM-оператордың аты; m1, m2,…, mN-массивтің аттары; m1-шек., m2-шек., mN-шек.,…, mN-шек. - m1, m2,…, mN-ге сәйкес массивтің шекаралары. Мұнда массивтің тек жоғарғы шекаралары көрсетілген, өйткені төменгі шекаралары 1-ге тең деп қабылданады.

Егер массив бір өлшемді болса, “m шек.” сол массивтің элементтер санын бүтін сан ретінде көрсететін болады.

Мысалы, мына оператор 10 DIM С(5), D(1,2) С массивінің С(0), С(1), С(2), С(3), С(4) элементтерден тұратын бір өлшемді массив екендігін және D массивінің

D(0,0) D(0,1) D(0,2)

D(1,0) D(1,1) D(1,2)

элементтерден тұратын, екі қатары және үш бағаны бар екі өлшемді массив екендігін білдіреді.

DIM операторы массивке сілтеме жасамастан бұрын программаның басында орналасқаны жөн.

Индекстің ең кіші мәні нөл, ең үлкен мәні DIM операторында хабарланған мәннен асып кетпеуі керек. Егер индекстің мәні бұл шекарадан асып кетсе, онда программаны орындауда қателік кеткендігі жөнінде хабар экранға шығады. Бір өлшемді массивті цикл ішінде FOR және NEXT операторларын қолданып өңдеген ыңғайлы.

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

DIM операторында массивтің атынан соң дөңгелек жақша ішінде массив өлшемінің көрсеткіші ретінде мәндері алдын ала анықталған, ендірілген немесе есептелген тұраќты (бүтін типі), әйтпесе айнымалының аты (арифметикалық өрнек) пайдаланылуы мүмкін. Мысалы,

10 INPUT K,L,M

20 DIM D(K), E(L), F(L+M)

.

.

.

Бұл жағдайда D массивіне жадтың К+1 ұясы, Е массивіне (L+M)+1 ұясы бөлінеді.

Программада пайдаланылатын массивтер DIM операторында тек бір рет хабарланады.

Массивті қайталап хабарлаған жағдайда “redimensione arry” (“Массивті екінші рет хабарлау”) хабары экранға шығады. Мысалы, программаның мына төмендегі үзіндісінде:

10 DIM А(10), В(10), С(20)

20 DIM В(30), D(20)



.

.

.

В массиві екі рет хабарланған.

Бірақ массивті ERASE операторын пайдаланып қайтадан хабарлауға да болады. ERASE операторында жойылуға тиісті массивтің аты көрсетіледі. Мысалы, 15 ERASE В операторы В массивін қайта хабарлайды.

Массивтің жеке элементтерімен орындалатын операциялар. Массивтерді ендіру – шығару

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

Мысалы, мәндері



А(1)

А(2)

А(3)

А(4)

А(5)

-8

3.2

4

15

18

Бес элементтен тұратын массив үшін А(2)=3.2 екінші элементті 8.3 санына ауыстыру операцияясы мынадай болып жазылады:





30 А(2)=8.3

Мына программа үзіндісінің





80 J=1

90 I=3


100 A (4)=27

110 A (I)=94

120 A(2*I-1)=A(J)+A(I)

орындалуы 100 – оператор орындалғанан соң массивтің А(4) төртінші элементі бұрынғы 15 санының орына 27 санының ендірілуіне алып келеді.

110 – оператор бойынша массивтің А(І), (І=3) үшінші элементіне 94 саны меншіктеледі, ал 120 – оператордың орындалуы нәтижесінде А (2*3-1)=А(5) элементіне массив элементтерінің қосындысы А(1)+А(3)=-8+94=86 мәні меншіктелетін болады.

Осылайша, келтірілген программа үзіндісінің орыдалуы нәтижесінде жоғарыда келтірілген А массивінің түрі мынадай болып өзгереді.





А(1)

А(2)

А(3)

А(4)

А(5)

-8

3.2

94

27

86

Көптеген жағдайларда массивтерді өңдеуде массив элементтеріне ретімен қатынас жасау талап етіледі.

Сонымен, массивті хабарлағаннан және оның элементтеріне жадтан орын бөлгеннен соң, келешекте компьютер оны өңдеу үшін жадтың бөлінген аймағына оның элементтерінің сандық мәндерін ендіру және орналастыру талап етіледі.

Массивтің өлшемі шағын болатын ең қарапайым жағдайда мұны INPUT, READ және DATA операторларының көмегімен массив элементтеріне аты және индекстерінің сандық мәндері бойынша қатынас жасай отырып, массивтің әрбір элементін ендіру арқылы жүзеге асыруға болады.

Массивтерді ендіру мысалдарын қарастырайық.



1. А массив берілсін. Оны мына төмендегідей жолмен ендіруге болады.

10 DIM A(5)

20 INPUT A(1), A(2), A(3), A(4), A(5)



100 END


А массивіне жадтан қажетті орынды сақтап қоюшы 10 – оператор орындалғанан соң, 20 – оператордың жүзеге асырылуы монитор экранына «?» таңбасын шығарады. Компьютер А массивінің элементтерінің сан мәндерін, ол 20 – операторда индексті айнымалылар қандай реттілікпен берілсе, дәл сондай реттілікпен ендіруді күтіп тұрады. Компьютердің пернетақтасынан А массиві элементтерін мына түрде енгізу керек:

В – 7,6.3,5,17,9 <ЕП> Осымен массивті ендіру аяқталады.

А массивіне жадтан орын бөлінгенен соң оның элементтерін ендіру компьютерді пайдаланушылардан сұрамай – ақ жүзеге асырылады. Мысалы, мына программа:

10 DIM A(5)

20 READ A(1), A(2), A(3), A(4), A(5)

30 DATA -7,6.3,5,17,9





100 END

орындалғанда READ операторының тізімінде бірінші тұрған А(1) айнымалыға DATA операторындағы бірінші мән – 7 меншіктеледі, А(2) айнымалысына 6.3 мәні, А3 айнымалысына 5 мәні т.с.с. меншіктеледі.

Массив элементтеріне қатынас жасаудың екң ыңғайлы құралы, массив элементінің индексі ретінде циклді басқарушы айнымалыны пайдалану болып табылады.

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

Мұны А массивін ендіру мысалы арқылы бейнелеп көрсетуге болады.

А массивін ендірудің блок – схемасын келтірейік.




А(5)



--------- [ массивті хабарлау









--------- [ индекстің алғашқы мәнін беру


-------- [ элементті ендіру




I=I+1

--------- [ индексті өзгерту





ия ---------- [ тексеру: барлық элементтер ендірілген бе?






жоқ
А массивін диалогтық режімде ендіруді мына программа арқылы орындауға болады.

10 DIM A(5)

20 FOR І=1 TO 5

30 INPUT A(I)

40 NEXT I



100 END


20 – оператормен ендіру циклі басталады. Онда І айнымалысы 1 – ге тең мәнді меншіктейді. Бұдан әрі INPUT операторы бойынша А(1) айнымалысының мәнін сұрайтын экранда «?» таңбасы пайда болды. Оған бірінші санды ендіру арқылы жауап береміз:

Бұдан соң NEXT операторы І – ді бір бірлікке арттырады, яғни І=2 болады, бұл мән басқарушы және басқару қайтадан 30 – операторға беріледі. Монитор экранында қайтадан «?» таңбасы пайда болады. Пернетақтадан екінші санды ендіреміз:

? 6.3 < ЕП >

Осылайша компьютер жадына А массивінің қалған үш элементі ендіріледі:


? 5 < ЕП >

? 7 < ЕП >

? 9 < ЕП >
Массивті ендіруді жүзеге асыратын мына төмендегі програма:

10 DIM A(5)

20 FOR І=1 TO 5

30 READ A(І)

40 NEXT I

50 DATA -7,6.3,5,17,9




1 ден 5 – ке өзгеретін І – дің әр түрлі мәндері үшін А(І) айнымалысына мәндер DATA операторындағы сандардан алынып ретімен меншіктеледі.

Өлшемдері әр түрлі бірнеше массивтерді ендіруде бірдей өлшемді массивтерді бір циклмен ендіру есебінен циклдер санын азайтуға болады.

Айтайық, А массивінен басқа В={2.3, 3.4, 8.3} және С={0.7, -3.1, 5.7} массивтерін ендіру қажет болсын.

Программа мына төмендегідей түрде берілуі мүмкін:

10 INPUT «В және А массивтерінің өлшемдерін енгізіңдер»; K,L

20 DIM B(K), C(K), A(L)

30 FOR І=1 TO K

40 INPUT B(I), C(I)

50 NEXT I

60 FOR J=1 TO L

70 INPUT A(J)

80 NEXT J





150 END

Программаны орындау В және А массивтерінің өлшемдерінің мәндерін сұраудан басталады.

В және А массивтерінің өлшемдерін енгізіңдер.

? 3,5 < ЕП >


Барлық массивтерге жадтан орын бөлінгенен соң В және С массивтерін ендіру циклі жұмысын бастайды. Пайда болған сұрақ «?» таңбасына В және С массивтерінен алынған жұп сандармен жауап беру керек:

? 2.3, -7 < ЕП >

? 3.4, -3.1 < ЕП >

? 8.7, 5.7 < ЕП >


Келесі бес «?» таңбасына А массивінің бес санын ендіріп жауап береміз.

? -7 < ЕП >

? 6.3 < ЕП >

? 5 < ЕП >

? 17 < ЕП >

? 9 < ЕП >


READ, DATA ендіру операторларын пайдалану алдыңғы программа үзіндісін былайша өзгертуге алып келеді:



40 READ B(L), C(L)





70 READ A (J)



90 DATA 2.7, .7, 3.4, -3.1, 8.7, 5.7, -7, 6.3

100 DATA 5, 17, 9



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

Мысалы, а массивінің мәндерін монитор экранына шығару үшін мына циклді пайдалануға болады:



160 FOR І=1 TO 5

170 PRINT A(I)

180 NEXT I





Бұл жағдайда А массиві элементтерінің мәндері баған түрінде баспаға шығарылады. 170 – оператор шығарылатын сандар үшін мынадай:

170 PRINT “A(“;I;”)=”;A(I) мәтінмен толықтыру шығарылған нәтижені түсінуді жақсартады:

A(1)=-7

A(2)=6.3


A(3)=5




А массивінің элементтерін қатар түрінде де баспаға шығаруға болады. Ол үшін 170 – қатардағы PRINT операторын нүктелі үтірмен аяқтау керек.

Қатынас жасау талап етілетін массив элементтерінің индекстерінің мәндерін есептейтін формуланы құру массивтің жеке элементтері жұмыс істеудің басқа маңызды тәсілі болып табылады.

Мысалы, А массивінің барлық жұп элементтеріне 4-ке тең сандық мән меншіктеу талап етілсін.

А массивін хабарлағаннан соң және оның мәндерін компьютер жадына ендіргеннен кейін программаның мынадай үзіндісі пайдаланылуы мүмкін:





70 FOR І=1 TO 2

80 А (2*І)=4

90 NEXT I



80 – оператордағы индексті есептеуші формула А массивінің тек жұп элементтерімен ғана қатынас жасауға мүмкіндік береді.

Бұл жағдайда массивтің хабарланбаған элементтерімен қатынас жасамас үшін барлық уақытта индекс мәндерінің төменгі және жоғары шекараларын қадағалап отыруға тура келеді.



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




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

    Басты бет