Лекция: 30 сағ. СӨЖ: 30 сағ обсөЖ: 30 сағ Барлық сағат саны: 90 сағ


Тақырыбы: Алгоритмдер және алгоритмдік тілдер



бет4/24
Дата24.04.2016
өлшемі1.25 Mb.
#79160
түріЛекция
1   2   3   4   5   6   7   8   9   ...   24

Тақырыбы: Алгоритмдер және алгоритмдік тілдер


Жоспар: 1. Алгоритм. Машиналық тіл.

  1. Алгоритмдік тілдің құрамдас бөліктері .

  2. Нәтижелер.

1. Кез-келген шекті алфавит үстінен жүргізілетін мәлімет өңдеу ережелерінің шекті жүйесін алгоритм деп атаймыз.

Ережелер жүйесі арқылы өңделетін мәліметтерді, сондай-ақ ережелер жүйесінің өзін сипаттау (описание) үшін алгоритмдік тілдер қажет. Кез-келген алгоритмдік тіл қандай-да бір шекті алфавит үстінен беріледі, осы алфавиттің әріптері арқылы құрылымдық берілгендер және оларды өңдеудің ережелері бейнеленеді. Алфавит әріптері элементар берілгендердің біріншілік (первичный) типтері ретінде, ал олардан құрастырылған сөздер бір өлшемді массив ретінде қарастырылады.

Алфавит әріптерінен (біріншілік) басқа алгоритмдік тілде элементар берілгендердің басқа да типтері берілуі мүмкін.

Машиналық деп аталатын яғни ЭЕМ-де жүретін информациялық процесстердің бейнелейтін тілдерде біріншілік болып екілік алфавит табылады. Ал байттың алфавит екіншілік алфавитті құрайды. (Элементар берілгендер типтері ретінде екілік санау жүйесіндегі берілген форматтағы сандар және байттың алфавит әріптері жатады).

Элементар берілгендерден бөлек алгоритмдік тілдерге түрлі құрылымдық берілгендер: Массивтер, файлдар т.б. ендірілуі мүмкін.

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


  1. Алгоритмдік тілдердің келесі бір құрамдас бөлігі бұл берілгендер үстінде орындалатын түрлі амалдар. Мысалы, егер қайсы бір тілде “нақты сан” берілгендер типі анықталатын болса, онда бұл берілгендер үшін арифметикалық амал және дәрежеге көтеру амалы анықталады.

Ал берілгендердің бульдік типі үшін дизьюнкция, коньюнкция, терістеу амалдары, кейде қосымша кейбір амалдар да анықталады.

Амалдар көмегімен өрнектер, басқаша айтқанда алгебралық формулалар құрылады.

Алгоритмдік тілдің 3-ші құрамдас бөлігі – берілгендер жиынында анықталған логикалық шарттар. Тілдегі кез-келген берілгендер типі үшін “теңдік” және “тең емес” қатынастары ендіріледі. а= в, а в.

Нақты және бүтін сандар типтері үшін теңсіздік қатнастарыда ендіріледі. (, , , )

Ендірілген өрнектер арқылы берілгендерден басқа бір берілгендерді алуға болады. Алынатын нәтижелер Қарастырылып отырылған берілгендердің жалпы жүйесінде қандай орын иелейді.

Машиналық тілдерде нәтиже жадының қайсы бір ұяшығына жазылып қойылады. Ұяшықтың өзінің адресімен анықталады. Бастапқы берілгендерде жадының қайсы бір ұяшықтарынан алынады. Сонымен машиналық тілде айнымалы атауы оның қазіргі мәні сақталған ұяшық адресін білдіреді.

Процедуралық бағытталған деп аталатын тілдерде жады ұяшықтары тікелей қарастырылмайды. Амалдар нәтижесінде. Алынған мәнді қайсыбір идентификаторға (атауға) меншіктеу арқылы берілгендердің жалпы жүйесіне нәтиже мәнді ендіру жүзеге асады. Осылайша меншіктеу амалы деген ұғым пайда болады.идентификатор:=өрнек

(х:=х+1 х=х+1,0=1 айырмашылығы бар).

Алгоритмдік тілде шартсыз өту деп аталатын оператор да ендіріледі: go to L

(L-ға өту) L- қандай да бір белгі.

Массивтерді өңдеу үшін цикл операторлары деп аталатын арнайы операторлар бар. Жалпы жазылу түрі:

Үшін хі і=m бастап қадам к і=n дейін орындау А

Бұл жерде А – оператор, I – индекс идентификаторы, k.m.n- бүтін сандар (арифметикалық өрнек). Жоғарыдағы өрнекке сәйкес А операторы мынадай индексті I=m, m+k, m+2k,..., n

xi - массив элементтері үшін хі і=0 бастап қадам 2 і=1000 дейін xi=x+1 орындау.

Алгоритмдік тілде бұл операторлардан бөлек шарт операторлары және итерациялық цикл деп аталатын күрделі операторлар бар. Шарт операторы жалпы мынадай түрде болады: егер L онда А, әйтпесе В

Итерациялық цикл операторының жалпы көрінісі: дейін L, орындау А

L шарты ақиқат болса онда А операторы орындала береді. Егер жалған болса, онда келесі оператор орындалады.

Міне осы айтылып өтілгендердің барлығы алгоритмдік тілдің толықтылық қасиетін білдіреді. Толықтылығы деп берілген тілде кез-келген алфавитте берілген алгоритмді айтамыз.
Лекция 7

Тақырыбы: Алгоритмдік жүйелер.

Жоспар:1. Алгоритмдік жүйелер.



  1. Фон Непман машинасы.

  2. Берілгендерді өңдеу жүйесі.

Алгоритмдік тіл дер тек алгоритмдерді жазуға коректі құралдарды ғана анықтайды. Олардың іс жүзіндеорындалуы үшін қандай да бір интерпретациялайтын жүйе ендірілуі қажет. Мұндай жүйе ретінде әрине адамды да алуға болады, яғни адам алгоритмдік тілдегі жазулардаң интерпретаторы деп. қарастырылады. Инетпретаторы бар алгоритмдік тіл алгоритмдік жүйеге айналады. Ал автоматтарда әр түрлі амалдар мен логикалық шарттарды орындау процессорге жүктеледі. Бірақ, процесор тек жекеленген амалдарды орындай алады. Амалдар тізбегінен тұратын программаны орындау үшін процессорге есте сақтау құрылғысы қажет болады. (ЕСҚ)

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

Идеалдау сөзінің мағынасы бұл жерде былайша түсінуіміз қажет: берілгендер көлемі, программа ұзындығы қалағанынша үлкен болуы мүмкін (бірақ, шекті), ал ЕСҚ-ң ұяшықтар көлемі оларды сидыра алады. Бұдан бөлек компьютерден берілгендерді ендіру және шығару амалдарын әзірше жоқ деп есептейміз.

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

Машиналық команда коды амал коды және адрестік бөлім кодынан тұрады. Адрестік бөлімде опералдалар адресі және келесі команданың адресі көрсетіледі.

Командалар кодының шектілігі, ондағы кодталатын адрестер жиынының шегін анықтайды. Сондықтан, прцессор адрестейтін компьютер жадысы, әрдайым адрес кодының ұзындығымен шектеледі: Код адресінің ұзындығы n-ге тең болса, онда максимум 2n ұяшық адрестелуі мүмкін. Адрестік жады көлемін ұлғайту үшін базалық регистр қолданылады. Базалық регистрде арнайы командалар көмегімен адрестің жоғарғы разрядттары құрылады.ЕСҚ-н адрестеу барысында бұл регистрдің мәніне (кіші разрядтар ретінде) орындалатын команда да көрсетілген адрес мәні біріктіріледі. Бұл әдіс арқылы өте үлкен көлемде жадының адрестеуге болады.

Машиналық тілдің (не басқаша айтқанда командалар жүйесінің толықтығы) толықтығын мыналар қамтамасыз етеді: ЕСҚ ұяшықтары мен процессордың тұрақты регистрлерінің арасында 2 жақты алмасуды (оқу-жазу) ұйымдастыру, көрші ұяшықтарды ажырата лау және шартты өтуді орындай алу. (ЕСҚ кез-келген ұяшығындағы командаға)

Бұларға қоса машинаның жұмысын тоқтатын арнайы команда қажет. Жады көлемі шексіз болған жағдайда да жоғарыда келтірілгендер идеалданған компьютерде кез – келген алгоритмдерді жүзеге асыруға мүмкіндік береді. Іс жүзінде жады көлемі шектелген. Сондықтан, бұл кемшілікті дұрыстау үшін оперативті жадыға (ОЕСҚ) сыртқы жадының қосымша орнатады. Бұдан бөлек компьютерге енгізу және шығару құрылғылары да орнатылады. Командалар жүйесі сыртқы жады мен енгізу—шығару құрылғылары арасындағы алмасу, сыртқы жады мен оперативті жады арасындағы алмасу командаларымен толықтырылады.

Мұндай идеалданған компьютерді компьютер не ФРН Нейман машинасы деп атайды. Нейман суретте көрсетілген мәліметтерді автоматты түрде өңдейтін машина құрылымын ұсынған америка ғалымы.






ЕНГІЗУ ОЕСҚ СЕСҚ







шығару процессор





Жадының шектелгендігі Фон Нейман машинасында кез-келген алгоритмді жүзеге асыруға мүмкіндік бере алмайды. Бірақ, сыртқы жадының шексіз толықтыра беруге болады дейтін болсақ, онда кез-келген алгоритмді жүзеге асыруға болады. Сондықтан толық командалар жүйесі бар Фрн Нейман компьютері әдетте универсаль компьютер деп атайды.

Лекция 8

Әдебиеттер:

1. Шәріпбаева А. Информатика. Алматы-2003



2. В.М.Глушков Основы безбумажной информатики. М.: Наука-1982

3. А.Иванов Теория трансляторов и языки программирования. М.: Наука-1999

4. Э.Дейкстра Дисциплина программирования. М.: Мир, 1975




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




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

    Басты бет