Автор: Пользователь скрыл имя, 26 Февраля 2013 в 18:26, лекция
Егер сіз берілген есепті шешу үшін қандай да бір программалау тілінде программа жазғыңыз келсе, онда алдымен есепті шешудің алгоритмін құруыңыз керек. Алгоритм – математикадағы ең бір іргелі ұғымдардың бірі. Алгоритм сөзі ІХ ғасырда өмір сүрген, адамдардың квадрат теңдеулерді жүйелей құрып оны шеше білуге үйреткен ұлы математик Әл- Хорезмидің атының латынша жазылуы algorithmi сөзінен алынған. Осылайша алгоритм ұғымы математикада ертеден қолданыла бастағанымен, математикалық теорианың объектісі ретінде кейбір проблемаларды зерттеуге байланысты ХХ ғасырдың 30-шы жылдарында зерттеле бастады.
BASIC тіліндегі нөмірленген
қатарлардың (Q BASIC программалау
тілінде нөмірлеуге де болады)
тізбегінен тұрады. Әрбір қатарда
бір немесе бірнеше
<Қатар нөмірі> <оператор> <ЕП> немесе <қатар нөмірі> <1-оператор>: <2-оператор>...<ЕП>
Ескерту: <ЕП> жазуы «Енгізу пернесі» дегенді білдіреді.
Оператор деп – BASIC тілінде жазылған компьютерге берілетін нұсқауды айтамыз. Ол компьютерлерге қандай әрекетті орындау керектігін көрсетеді. Оператор арнайы бөлініп алынған сөздерден және деректерден тұрады.
Оператордың жазылу пішімі:
Мұнда:
Атынан басқа операторлардың құрамына арнайы бөлініп алынған қызметші сөздер де енеді. Олар операторлардың орындайтын әрекеттерін нақтылай түсу қызметін атқарады. Кейбір операторлардың тек аты ғана болады. Мысалы, STOP.
BASIC тілінде бір қатар 255 символды қамти алады. Олай болса BASIC тілінің бір қатары экранда бірнеше қатарды алып жатады. Өйткені экрандағы бір қатарға 64 немесе 80 символ ғана сыяды. Программалау тілінен алғаш танысқанда программаның мазмұны түсінікті болу үшін әр қатарға бір оператордан ғана орналастырған жөн. Программаларды жазуда қатарларды 10 қадаммен өзгеретіндей етіп нөмірлеу қабылданған. Бұл жағдай программада қалып кеткен қатарларды қажетті қатар нөмірлері арасына ендіруге мүмкіндік береді. Программа қатарларының нөмірлерінің өсу ретіне қарай орындалады.
Операторлы қатарларды былай жазамыз:
Мұнда А айнымалысына 5 мәні, В айнымалысына 7 мәнімен жіктеледі, ал PRINT операторы С айнымалысының мәнін баспаға шығару.
BASIC тілінің интерпретаторы және
оның командалары
Шын мәнінде компьютерге
машина тіліндегі
Интерпретатор компьютердің белгілі бір түріне арналған болады және әр түрлі компьютерлерге арналған интерпретаторларының бірінен – бірінің мүмкіндіктері жағынан ғана айырмашылығы болуы мүмкін. Интерпретатор пайдаланушыға мына төмендегідей мүмкіндіктер жасайды.
Компьютер операторды мынадай екі режімнің бірінде орындайды:
Программалау режімінде программаның әрбір қатары оператордың орындалу реттілігін көрсететін нөмірден басталады.
10 К=1
Бұл режімде оператордың орындалуы арнайы нұсқау бергеннен кейін басталады. Тікелей есептеу режімінде операторлар нөмірсіз теріледі. Мысалы,
К=1
PRINT K
K=K+1
PRINT K
Операторлар <ЕП> пернесін басқаннан кейін бірден орындалады. Бұл режім кәдімгі калькуляторлық режімге ұқсас болғандықтан оны кейде калькуляторлық режім деп де атайды. BASIC тілінің интерпретаторларының жұмыс істеуде жеңілдететін өзінің арнайы жүйелік командалары бар.
Жүйелік команда - әр түрлі әркеттерді орындау үшін интерпретаторға берілетін нұсқауды айтамыз. Мұндай командалар нөмірсіз жазылады.
Қажетті программаны
компьютерге теріп енгізбес бұр
Сонда компьютер жаңа программаны енгізуге дайын тұрады, экранға интерпретатордың жұмысқа дайындық белгісі <ОК> шығады. Осыдан кейін программаның қатарларының нөмірлері мен операторларын пернетақтадан тере отырып программаны енгізуге болады.
BASIC тілінің интерпретаторында
қатар нөмірлерін автоматты
Мұнда AUTO – команданың аты; N1, N2 - N1 нөмірінен бастап N2 қадаммен нөмірлеу. Мысалы, AUTO 10,5 командасын ендірсек компьютер программа нөмірлерін 10 – қатардан бастап әр қатардың арасына 5 қадам қалдырып нөмірлей бастайды.
Интерпретатор бұрын
ендіріліп қойылған программа
қатарларының нөмірлерін
Мұнда RENUM – команданың аты; N2 – нөмірден бастап, N3 қадаммен жаңа N1 – нөмірге алмастырылады. Интерпретатор программаның барлық қатарларын немесе кейбір қажетсіз деп есептелген қатарларын өшіріп тастай алады, ол DELETE командасы арқылы орындалады. Мысалы, DELETE N1 – N3 командасы программаларын N1 – нөмірлі көрсетілмеген болса, онда қатарлар программаның басынан бастап N3 нөмірге дейін, ал егер N3 нөмірі көрсетілмеген болса, онда N1 – ден бастап программа соңына дейін өшіріледі.
Программаны толық ендіріп болғаннан кейін оны орындау үшін жұмысқа қосуға болады. Ол <RUN> командасы арқылы жүзеге асырылады, нәтижеде программаны орындау жұмысы ең бастапқы нөмірден басталады. Егер бұл команда RUN N пішінінде берілетін болса, онда программаны орындау жұмысы N – нөмірден басталады.
Қатардың саны өте көп үлкен программаны компьютерге енгізгенде бүкіл экран толғаннан кейін оның ең жоғарғы қатары экраннан шығып, көрінбей кетеді, бірақ одан ол жойылып кетті деген ой тумауы тиіс, өйткені жадында сақтайды.
<LIST> командасын беру арқылы енгізілген программаның мәтінін экранға шығаруға және қателіктердің бар немесе жоқ екендігін тексеруге болады. Команданың жазылу пішімі: LIST N1-N4
Мұнда LIST – команданың аты; N1 және N4 экранға шығарылатын қатарлардың бастапқы және соңғы нөмірлері. Мысалы, LIST 10-40 командасын беру арқылы экранда нөмірлері 10-нан 40-қа дейінгі қатарларды шығаруға болады.
BASIC тілінің операторларын екі топқа бөлуге болады:
Түсінік беру операторы
Мектептің информатика курсындағы алгоритм тақырыбында келесі деректер келтірілген;
BASIC тілінде алгоритмнің аты REM деп аталатын түсініктеме беру операторы арқылы сипатталады. Алгоритмдегі аргументтерді BASIC тілінде IUT операторының көмегімен енгізу қолайлы. Программаны толығымен құрып, компьютерге ендіріп орындалғаннан кейін, оның орындалу нәтижелерін экранға шығару қажет болады. Ол BASIC тілінде PRINT операторының көмегімен жүзеге асырылады.
Мысалы,
алг Мысал (нақ а, в, лит к )
берілгені а,в
керек к
басы
командалар тобы алгоритмнің
соңы
Осы алгоритмнің BASIC тіліндегі жазылуы:
10 REM Мысал
20 INPUT A!, B!
•
•
•
100 PRINT K
110 END
REM операторы программаға түсініктеме беру арқылы оның көрнектілігін арттыру үшін қолданылады.Түсініктеме – беру пернетақтадан енгізілген кез келген символдар тізбегінен тұрады.
REM операторы программаның орындалуына ешқандай әсер етпейді, өйткені програманы трансляциялау барысында ескерілмейді.
Сызықтық алгоритмнің BASIC тіліндегі жазылуы. Меншітеу операторы
Сызықтық алгоритм бірнеше меншіктеу операторынан тұрады. Мұндай алгоритмді BASIC тілінде жазудың ешқандай қиындығы жоқ. Тек өрнектердің BASIC тілінде қабылданған жазылу тәртібін сақтасақ жеткілікті. Мұндай операторлар бір қатарға орналаса алады. Бұл жағдайда олар “:” қос нүкте арқылы ажыратылып жазылады. Алгоритмдік тілде “;” нүктелі үтір арқылы ажыратылып жазылады.
Мысалы,
алг трапеция ауданы (нақ a, b, h, s)
берілгені a, b, h
керек s
басы
s: =(a+b) /(2*h)
соңы
Бұл алгоритм BASIC тілінде былайша жазылады:
10 REM Трапеция ауданы
20 INPUT A!, B!, H!
30 LET S = (A+B) / (2*H)
40 PRINT “Трапетцияның ауданы S = ” ; S
50 END
BASIC тілінің операторларын мына төмендегідей мүмкіндіктерге ие топтарға жіктеуге болады.
Компьютерде программаның
орындалуы кезінде айнымалы
BASIC тілінде бұл амал “ =” таңбасымен белгіленеді. Меншіктеу белгісінің сол жағына айнымалының аты, ал оң жағына арифметикалық өрнек жазылады. Бұл амалды орындайтын арнайы меншіктеу операторы бар.
Оператордың жазылу пішімі: к LET v = e
Мұнда к- қатар нөмірі;
LET-оператордың аты; v- айнымалының
аты; е-арифметикалық өрнек (
Меншіктеу операторының орындалуын екі кезеңге бөлуге болады:
Егер е сандық тұрақты немесе айнымалы болса,онда бірінші кезең орындалмайды.
Мысал келтірейік:
Ал мына мысалдарды жоғарыда аталған бірінші кезең орындалады:
Осылайша LET операторының орындалар алдында "=" меншіктеу таңбасының оң жағындағы өрнектегі барлық айнымалылардың мәндері, басқаша айтқанда е өрнегі анықталған (есептелген) болуы тиіс. Мына төмендегі программада 10,20,30 – қатарлардағы операторлар орындалғанда бірінші кезең орындалмайды, ал 40,50-қатарлардағы операторлар орындалғанда бірінші кезең орындалады.