Алгоритмдер және оның қасиеттері
Лекция, 26 Февраля 2013, автор: пользователь скрыл имя
Описание работы
Егер сіз берілген есепті шешу үшін қандай да бір программалау тілінде программа жазғыңыз келсе, онда алдымен есепті шешудің алгоритмін құруыңыз керек. Алгоритм – математикадағы ең бір іргелі ұғымдардың бірі. Алгоритм сөзі ІХ ғасырда өмір сүрген, адамдардың квадрат теңдеулерді жүйелей құрып оны шеше білуге үйреткен ұлы математик Әл- Хорезмидің атының латынша жазылуы algorithmi сөзінен алынған. Осылайша алгоритм ұғымы математикада ертеден қолданыла бастағанымен, математикалық теорианың объектісі ретінде кейбір проблемаларды зерттеуге байланысты ХХ ғасырдың 30-шы жылдарында зерттеле бастады.
Работа содержит 1 файл
Алгоритм және оның қасиеттері2.doc
— 702.50 Кб (Скачать)
BASIC тіліндегі нөмірленген
қатарлардың (Q BASIC программалау
тілінде нөмірлеуге де болады)
тізбегінен тұрады. Әрбір қатарда
бір немесе бірнеше
<Қатар нөмірі> <оператор> <ЕП> немесе <қатар нөмірі> <1-оператор>: <2-оператор>...<ЕП>
Ескерту: <ЕП> жазуы «Енгізу пернесі» дегенді білдіреді.
Оператор деп – BASIC тілінде жазылған компьютерге берілетін нұсқауды айтамыз. Ол компьютерлерге қандай әрекетті орындау керектігін көрсетеді. Оператор арнайы бөлініп алынған сөздерден және деректерден тұрады.
Оператордың жазылу пішімі:
Мұнда:
- <аты> - жазылуы қатаң белгіленген және компьютердің нені орындайтындығын білдіретін ағылшын тілінде жазылған арнайы сөз:
- <мазмұны> бұл операторлардың орындалуы үшін қажетті деректер. Мысалы, LET A=B
Атынан басқа операторлардың құрамына арнайы бөлініп алынған қызметші сөздер де енеді. Олар операторлардың орындайтын әрекеттерін нақтылай түсу қызметін атқарады. Кейбір операторлардың тек аты ғана болады. Мысалы, STOP.
BASIC тілінде бір қатар 255 символды қамти алады. Олай болса BASIC тілінің бір қатары экранда бірнеше қатарды алып жатады. Өйткені экрандағы бір қатарға 64 немесе 80 символ ғана сыяды. Программалау тілінен алғаш танысқанда программаның мазмұны түсінікті болу үшін әр қатарға бір оператордан ғана орналастырған жөн. Программаларды жазуда қатарларды 10 қадаммен өзгеретіндей етіп нөмірлеу қабылданған. Бұл жағдай программада қалып кеткен қатарларды қажетті қатар нөмірлері арасына ендіруге мүмкіндік береді. Программа қатарларының нөмірлерінің өсу ретіне қарай орындалады.
Операторлы қатарларды былай жазамыз:
- A=5
- B=7
- C=A+B
- PRINT C
- END
Мұнда А айнымалысына 5 мәні, В айнымалысына 7 мәнімен жіктеледі, ал PRINT операторы С айнымалысының мәнін баспаға шығару.
BASIC тілінің интерпретаторы және
оның командалары
Шын мәнінде компьютерге
машина тіліндегі
Интерпретатор компьютердің белгілі бір түріне арналған болады және әр түрлі компьютерлерге арналған интерпретаторларының бірінен – бірінің мүмкіндіктері жағынан ғана айырмашылығы болуы мүмкін. Интерпретатор пайдаланушыға мына төмендегідей мүмкіндіктер жасайды.
- BASIC тілінде жазылған бастапқы программаның қателіктерін хабарлай отырып ендіреді және жөндейді;
- Бастапқы программаның құрылғысына шығарады;
- BASIC тілінің операторын таңдайды, тексереді және орындайды. Жұмыс программасы бойынша есептеу кезінде интерпретатор есептелу процесін бақылауды ұйымдастырады және кездескен қателіктер туралы хабарды экранға шығарады;
- Бастапқы информацияларды сыртқы тасмалдаушыларда сақтайды.
Компьютер операторды мынадай екі режімнің бірінде орындайды:
- Программалау режімі;
- Тікелей есептеу режімі.
Программалау режімінде программаның әрбір қатары оператордың орындалу реттілігін көрсететін нөмірден басталады.
10 К=1
- PRINT K
- K=K+1
- PRINT K
Бұл режімде оператордың орындалуы арнайы нұсқау бергеннен кейін басталады. Тікелей есептеу режімінде операторлар нөмірсіз теріледі. Мысалы,
К=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- айнымалының
аты; е-арифметикалық өрнек (
Меншіктеу операторының орындалуын екі кезеңге бөлуге болады:
- е өрнегінің мәні есептеледі;
- е өрнегінің есептелетін мәні v айнымалысына меншіктеледі, яғни v айнымалысына бөлінген жады ұяшығына жіберіледі.
Егер е сандық тұрақты немесе айнымалы болса,онда бірінші кезең орындалмайды.
Мысал келтірейік:
- LET X%=1-бүтін айнымалы Х-ке 1 саны меншіктелед;
- LET А=27,4- нақты айнымалы А-ға 27,4 саны меншіктелед;
- LET А$ = «Мектеп» -символдық (мәтіндік) айнымалы А$-ға литерлік тұрақты «Мектеп» сөзі меншіктеледі.
Ал мына мысалдарды жоғарыда аталған бірінші кезең орындалады:
- LET Х=А* SIN(T)-нақты айнымалы х-ке а Sin t өрнегінің есептелген мәні меншіктеледі.
- LET C$=A$+B$ -символдық айнымалы C$-ға символдық айнымалылар A$ мен B$-ның ағымдағы мәндерінің қосылуынан пайда болған нәтиже меншіктеледі.
Осылайша LET операторының орындалар алдында "=" меншіктеу таңбасының оң жағындағы өрнектегі барлық айнымалылардың мәндері, басқаша айтқанда е өрнегі анықталған (есептелген) болуы тиіс. Мына төмендегі программада 10,20,30 – қатарлардағы операторлар орындалғанда бірінші кезең орындалмайды, ал 40,50-қатарлардағы операторлар орындалғанда бірінші кезең орындалады.