Алгоритмнің жазылу түрлері мен құрылымдық негіздері

Алгоритмдік тіл ұғымы

Алгоритмдік тіл — алгоритмді жазуға және соның негізінде программа құруға арналған тіл. Кез келген тіл сияқты, ол: алфавиттен (символдар жиынтығы), синтаксистен (жазу ережелері) және семантикадан (жазылғанды түсіндіру, мағына беру қағидалары) тұрады.

Алгоритмді көрсету тәсілдері

Информацияны өңдеу алгоритмін әртүрлі түрде құруға болады. Ең кең тараған тәсілдер:

  • табиғи тілде (күнделікті сөздермен) сипаттау;
  • блок-схема түрінде көрсету;
  • алгоритмдік тілде ықшам түрде жазу.

Табиғи тілде жазылған алгоритм көбіне жеке-жеке жолдармен берілетін нұсқаулар жиынтығы болады. Осындай жазылым кейде жолдық алгоритм деп аталады.

Алгоритмдік тілдің ерекшелігі

Алгоритмдік тіл табиғи тілге ұқсас болғанымен, құрылымы қатаң: ережелері бірыңғай, жазылуы дәл және арнайы белгілеулерге сүйенеді. Сондықтан оны жиі құрылымдық алгоритм тілі деп те атайды.

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

Мысал: факториалды есептеу алгоритмі

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

Алгоритм (жолдық жазылым)

алг факториал
1) енгізу n
2) k := 1;  g := 1
3) g := g * k
4) k := k + 1
5) егер k <= n өту 3
6) шығару g
7) соңы

Алгоритмнің алғашқы жолы алгоритм тақырыбы деп аталады. Мұндағы алг — қызметші сөз, ал факториал — алгоритм атауы.

Алфавит және қызметші сөздер

Үйренуге арналған алгоритмдік тілде алфавит қатаң шектелмеуі мүмкін: ұлттық әріптер, цифрлар, арифметикалық амал таңбалары, жақшалар және басқа да символдар қолданылуы ықтимал (латын, орыс, қазақ әріптері; ондық жүйе цифрлары; + − × ÷ тәрізді таңбалар).

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

Жиі қолданылатын қызметші сөздер

  • Тақырып

    алг, арг, нәт

  • Басы мен соңы

    басы, соңы

  • Тармақталу

    егер — онда — әйтпесе — бітті

  • Таңдау

    таңдау, жағдай … жағдай — әйтпесе — бітті

  • Қайталау

    қайталау командалары (әртүрлі нұсқалар)

  • Енгізу/шығару

    енгізу, шығару

Жолдық алгоритмдер және BASIC

Табиғи тілдегі алгоритм жеке жолдармен берілетін нұсқаулардан тұратындықтан, оны жолдық алгоритм деп те атайды. Мұндай жазылым әлемде кең таралған BASIC тілінің алғашқы нұсқаларында өте ыңғайлы болды: командалар жол-жолымен беріліп, жолдар нөмірленетін.

Дегенмен QBasic, QuickBasic, Visual Basic сияқты кейінгі нұсқаларда және көптеген басқа программалау тілдерінде бұл тәсіл міндетті емес. Қазіргі тілдер көбіне құрылымдық жазылымға жақын.

Ескерту: күрделі программаларда өту операторын (goto) көп қолдану кодты оқуды қиындатады. Сондықтан тәжірибелі программалаушылар оны шамадан тыс пайдаланбауға тырысады.

Шамалар: атау, мән, тип

Алгоритмге әртүрлі шамалар енуі мүмкін. Математика мен физикада әртүрлі мән қабылдайтын объектілер (мысалы, трапеция ауданы, жол, жұмыс) шама деп аталады. Информатикада да осы атау қолданылады.

Атау (идентификатор)

Айнымалы шаманы белгілеу. Программалауда оны жиі идентификатор деп атайды.

Мән

Айнымалының нақты бір сәттегі қабылдайтын саны немесе символдық мазмұны. Бұл мәнді көбіне ағымдық мән дейді.

Тип

Айнымалы қабылдай алатын мәндердің сипаттамасы: сандық (бүтін, нақты), символдық, кестелік, литерлік (жолдық), логикалық.

Мысалы, x := 3.5 меншіктеу командасында айнымалының аты — x, ағымдық мәні — 3.5, ал типі — әдетте нақты сан. Команда орындалғанда компьютер жадынан x үшін орын (ұяшық) бөліп, сол жерге 3.5 мәнін жазады.

Литерлік (жолдық) шама — мәні мәтін немесе символдар тізбегі болатын шама. Литерлік мәндер тырнақшаға алынып жазылады, мысалы: "Күн жылы".

Алгоритмнің жалпы құрылымы

Алгоритмдік тілде алгоритм көбіне төмендегідей құрылыммен беріледі:

алг алгоритм атауы (типтері көрсетілген аргументтер мен нәтижелер тізімі)
басы
  типтері көрсетілген аралық шамалар тізімі
  алгоритм денесі (командалар тізбегі)
соңы

Тақырып

басы қызметші сөзіне дейінгі бөлік — алгоритм тақырыбы. Мұнда атау, аргументтер және нәтижелер көрсетілуі мүмкін.

Дене

басы...соңы аралығындағы орындалатын командалар тізбегі — алгоритм денесі.

Егер денеде тақырыпта көрсетілмеген айнымалылар қолданылса, олар аралық шамалар деп аталады және басы сөзінен кейін алдын ала сипатталып қойылуы тиіс.

Жазылымға қатысты ұсақ ережелер

  • Бірнеше команданы бір жолға орналастыруға болады — бұл кезде олар нүктелі үтір арқылы ажыратылады.
  • Тақырыпта аргумент пен нәтиже атаулары әдетте үтір арқылы бөлінеді.
  • Тақырыпта берілг, керек сияқты қызметші сөздер арқылы пайдаланушыға түсіндірме (комментарий) беруге болады — мұндай жолдарды компьютер орындамайды.