Автор: Пользователь скрыл имя, 26 Февраля 2013 в 18:26, лекция
Егер сіз берілген есепті шешу үшін қандай да бір программалау тілінде программа жазғыңыз келсе, онда алдымен есепті шешудің алгоритмін құруыңыз керек. Алгоритм – математикадағы ең бір іргелі ұғымдардың бірі. Алгоритм сөзі ІХ ғасырда өмір сүрген, адамдардың квадрат теңдеулерді жүйелей құрып оны шеше білуге үйреткен ұлы математик Әл- Хорезмидің атының латынша жазылуы algorithmi сөзінен алынған. Осылайша алгоритм ұғымы математикада ертеден қолданыла бастағанымен, математикалық теорианың объектісі ретінде кейбір проблемаларды зерттеуге байланысты ХХ ғасырдың 30-шы жылдарында зерттеле бастады.
10 LET А=5
20 LET B=3
30 LET C=-2
40 LET D=B^2-4*A*C
50 LET K= «Дискриминантты есептеу»
60 PRINT"D=;K=;K
BASIC тіліндегі "=" меншіктеу таңбасы мен кәдімгі математикадағы теңдік таңбасының арасында үлкен айырмашылық бар. Мысалы, математикалық жазуда мына Х=X+1 өрнегі дұрыс емес, ал BASIC тіліндегі 30 LET Х=X+1 жазылуы дұрыс және мынадай мағына береді:
Мысалы,
10 LET X=5
20 LET X=4
30 LET X=X+Y
программа үзіндісіндегі 30-қатардағы LET операторы орындалғанда Х айнымалысы 9-санын меншіктейді яғни жадтың Х аты ұясында алғашқы 5санының орнына 99саны пайда болады.
BASIC тілінің көптеген түрлерінде оператордың орны LET сөзін қалдырып кетуге де болады. Мысалы, жоңғарыда келтірілген программа үзіндісі былай жазылады.
10 LET X=5
20 LET X=4
30 LET X=X+Y
Информацияны енгізу және
баспаға шығару операторлары
Компьютерде қандай да
бір деректерді өңдеу үшін, ол
деректер алдын-ала
Мүндай операторлар бірнеше
болуы мүмкін және олар
BASIC тілі компьютермен диалог режімінде жұмыс істеуге мүмкіндік беретін өте қолайлы тіл. Мұнда барлық деректер компьютерге ендіру құрылғысынан келіп түседі. Бұл жағдайда деректің әрбір қатары пернетақта арқылы теріліп, экранда көрінеді. Келесі қатарды теру үшін, пернетақтадағы (ЕП) пернесін басу керек.
Басқау құрылғысының
көмегімен пайдаланушы
Енгізу операторы
Енгізу құрылғысынан деректерді енгізу үшін, INPUT (енгізу) операторы қолданылады.
Оператордың жазылу пішімі: к INPUT р1,р2,...,рп
Мұнда к-қатар нөмірі; INPUT–оператордың аты; р1, р2,..., рп – үтірмен ажыратылып жазылған аинымалылар тізімі.
Бұл оператор былайша орындалады. Программаны орындау барысында, компьютер INPUT операторын кездестіре сала, экранға сұрақ белгісін шығарады. Компьютер өз жұмысын уақытша үзеді, осы үзіліс кезінде пайдаланушы пернетақтадан айнымалының мәндерін үтірлермен ажырата отырып, теріп шығады да, <ЕП> пернесін басады. Сонда ендірілген мәндердің ішіндегі бірінші мән, ендіру ооператорының тізіміндегі бірінші айнымалыға, екінші мән тізімдегі екінші айнымалыға т.с.с. меншіктелген болады. Бірақ енгізілген мәндерді пернетақтадан терген кезде, олардың саны және типі айнымалылар тізімінде көрсетілген айнымалылардың саны мен типіне дәл келуін қадағалау керек. Егер оларды артығымен терсеңіз, онда артық сандар есепке алынбайды.
Ал егер ендірілген
мәндердің саны жеткіліксіз
Барлық деректер дұрыс
және түгелімен ендіріліп
.
.
.
100 INPUT X,Y,Z$,K$
120 LET A=X+Y
125 LET В=K+Z
.
.
.
Компьютер осы программаның 100-қатарындағы INPUT операторын кездестіргеннен кейін, экранға сұрақ белгісін шығарады да, пайдаланушы пернетақтадан тиісті мәндерді енгізгенше күтіп тұтады. Пайдаланушы жоғарғыда айтылған? 1.5,-0.4 Е-2, "2-ші", "мектеп" мәндерін теріп, <ЕП> пернесін басады, осыдан кейін Х,Ү,Z$,K$ айнымалыларына осы мәндер меншіктеледі.
Баспаға шығару операторы
Компьютердің оперативтік жадынан, деректерді магниттік дискілерге, баспаға шығару құрылғыларына және экранға шығаруға болады. Деректерді баспаға шығару үшін PRINT операторы қолданылады.
Оператордың жазылу пішімі:
к PRINT <шығарылатын тізімдер>
Мұнда к-қатар нөмірі; PRINT оператордың аты; <шығарылатын тізімдер> - бірінен-бірі үтірмен немесе нүктелі үтірмен ажыратылып шығарылатын элементтердің тізімі.
Баспаға шығарылатын элементтерге мыналарды жатқызуға болады:
PRINT операторы былай орындалады. Егер қандай да бір сандарды баспаға
шығару керек болса, онда оларды жай ғана шығарылатын тізімге қосып қою керек. Тізімге айнымалылардың да аттарын көрсетуге болады. Айтарлық, мына PRINT 24,Х,А,5 операторын орындау кезінде Х және А айнымалылардың 7 және 8 мәндеріне ие болсын . Сонда PRINT операторы орындалғаннан кейін, экранға 24,7,-8,5 сандары шығады. Шығарылған тізімде өрнектер мен функциялар да кездесуі мүмкін . Бұл жағдайда алдымен олардың мәндері есептеледі, одан кейін сол мәндер экранға шығады.
Экранға орыс алфавитінің
әріптерімен жазылғани кез
10 LETX=EXP(1)
20 PRINT"X=";X
.
.
.
программа үзіндісі орындалғанда экранда Х = 2.71828 мәтіні шығады.
Экранда шығарылатын деректердің орналасуы әр түрлі компьютерде түрліше болады. Егер әрбір шығарылатын санға 15 орын бөлінген болса, онда қатардың ең үлкен ұзындығына қарай экрандағы қатарға 4-5 санды сыйғызуға болады.
Айтарлық, қатарда 60- тан кем емес орын бар болсын. Онда оны 15 орыннан ұратын төрт аумаққа бөлуге болады. Әрбір аумаққа оның басынан бастап орналасатын бір санды жазуға болады. Ол үшін тізім элементтерін үтірмен ажыратып жазуымыз керек.
Мысалы, ΡRINT A, B, SQR (A^2+B^2) операторының орындалуы үш санды төмендегідей тәртіпен баспаға шығарады:
А – ның мәні
В – ның мәні
1 орыннан 16орыннан 31 орыннан 46 орыннан
Сандарды тұрақты нүктелі
пішінде және жылжымалы
Мысалы PRINT 15,26,34,45,50,62,70,83,30,98
операторының орындаллуы
15 26 34 45
50 62 70 83
90 98
Осылайша, бөлгіш ретінде
үтірді пайдалану, әр уақытта
кезектегі санды келесі
Егер алдыңғы қатарда тізімнің кезектегі элементін баспаға шығару
үшін орын жетпейтін болса, онда ол келесі қатардың басынан бастап баспаға шығарылады.
Программа мәтіннің де бірнеше баспаға шығару операторы PRINT бола алады. Бұл жағдайда кезектегі баспаға шығару операторы жаңа қатардың басынан бастап баспаға шығару операторының тізімінде аяқталған бөлгішке (үтір, нүктелі үтір немесе таңбаның жоқ болуы) тәуелді болады:
Айнымалыларға мән беру операторы.
DATA операторы
Айнымалыларға мән беруді DATA READ, RECTORE операторларының көмегімен жүзеге асды.
DATA операторлары бұл оператордың LET операторын өзгешелігі мұнда айнымалыларға мән беру мәліметтер блогын пайдалануға негізделген. Айнымалыларға мән беру меншіктеу осы блокпен сандарды не символдық тұрақтыларды оқу жолымен орындалады. Бұл бағдарламаны орындар алдында ЭЕМ зердесінде қалыптастыратын реттелген сандық информацияларды бастапқы бағдарламада DATA операторы арқылы беріледі.
Оператордың жазылу үлгісі:
k DATA C1,C2…Cn
Мұнда k-қатар нөмірі, DATA-оператордың аты, C1,C2…Cn- үтірлермен бөлінген тұрақтылар.
Мысал:
10 DATA-1;0;86;0. 3Е-5 бұл оператор бойынша бағдарламаны орындар алдында бір саны бірінші 0.86 саны екінші 5 және 0,310 саны DATA операторы орындалуын операторы тобына жатады және бағдарламаның кез-келген жеріне құрылған бағдарлама бойынша ЭЕМ-де есеп шығару екі кезеңнен тұрады.
1. Бағдарламаның операторын ЭЕМ-ге түсінікті үлгіге түрлендіру. Бұл кезеңде DATA операторы арқылы берілген мәліметтер блогы қалыптасады.
2. Бағдарламаның операторын нөмірлерінің өсу ретіне қарай орындалады. Егер бағдарламаның орындалуын барысында DATA операторы кезеңде өтіп кеткендіктен ол есептеуге ешқандай әсерін тигізбейді. Осы бағанда алынған DATA операторы орындалмайтын оператор болып табылады. Бастапқы бағандарда бірнеше DATA операторлары болуы мүмкін бірақ олардан тек бір ғана мәліметтер блогын жасалады.
Мысалы,
5 DATA 2,- 1,0
. . .
20 DATA 0,3 -71,12
. . .
100 DATA 10, 12
Бұл жағдайда мәліметтер блогы DATA операторының бағдарламада кездесу ретімен жасалады.
DATA операторын басқа
оператормен бірге бір қатарға
жазуға болмайды ол
READ операторы
READ операторы – деректер блогынан мәндерді іріктеп алуы операторлар болып табылады.
Операторыдң жазылу пішімі:
k READ v1,v2,vN
Мұндағы k-қатар нөмері, READ-оператордың аты, v1,v2,vN- айнымалылардың аты.
Бұл оператор арқылы
программаның орындалуы
Мысалы, мынадай программа үзіндісі берілсін
10 DATA 6,-10 1.2, 100
20 READ X,Y,Z
.
.
.
50 READ A
.
.
.
20 қатардағы оператордың орындалуы кезінде х айнымалысына 10-мәнді A,Z айнымалысына 1,2-мәні меншіктеледі, бұдан соң деректер блогында пайдаланылған тек бір ғана 100 саны қалады. Ол ақырында READ-операторы орындалғанда іріктелініп алынуы мүмкін. Мысалы, 50-қатардағы READ-операторы орындалғанда сол қалған 100 саны А-айнымалысына меншіктеледі іріктелініп алуға ғана рұқсат етеді. Мысалы, деректер блогын бірден үшінші санды алынған деректер блогынан санды алуға әрекет жасау қате есептеледі. Интерпретаторы «?» таңбасымен баспаға шығарады және программаның орындалуы тоқтатылады. Айнымалылардың бастапқы мәндерін қалыптастыру үшін READ-операторын пайдалану ыңғайлы. Бұл оператордың жалпы санын үнемдейді.
Бастапқы параметрлерді өзгерту үшін тек DATA операторының тізімін өзгерту ғана талап етіледі. Бір қатарға бірнеше операторды, жазуға READ-операторын программаға кез-келген орынға жазуға болады. Программаны орындалуының алдында интерпретатор барлық DATA операторын олардың программадағы кездесу реті бойынша қарап шығып, бір ғана деректер блогын жасайды. Программа READ-операторы кездескен сайын интерпретатор блогынан мәндерді ретімен алады және оларды READ-операторының айнымалысына ретімен оқылған дерек мәндерінің орны деректердің кезектегі элементтеріне орналастырылған ерекше көрсеткіштің көмегімен есте сақталады. Келесі READ-операторы мәндерді осы элементтен басып алады.