1.4 Алгоритмдік тілдің қолданылуы және оған қойылатын талаптар


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

Алгоритм – атқарушы орындайтын амалдардың тиянақты жоспары. Алгоритм сөзі ІХ ғасырда өмір сүрген, адамдарды квадрат теңдеулерді жүйелей құрып оны шеше білуге үйреткен ұлы математик Әл- Хорезмидің атының латынша жазылуы algorithmi сөзінен алынған. Осылайша алгоритм ұғымы математикада ертеден қолданыла бастағанымен, математикалық теорияның объектісі ретінде кейбір проблемаларды зерттеуге байланысты ХХ ғасырдың 30-шы жылдарында зерттеле бастады.

Алгоритмді орындаушы адам (әр түрлі нұсқаулар, математикалық есептеулер алгоритмдері) немесе техникалық құрылғы болуы мүмкін. Әр түрлі машиналар (компьютерлер, өндірістік роботтар, жаңашыл тұрмыстық техника) алгоритмдерді формальды орындаушылар болып табылады. Формальды орындаушылардан орындалатын есептің мағынасын түсіну емес, командалар тізбегін дәл орындау ғана талап етіледі.

Алгоритмді орындаушы – алгоритмде көрсетілген әрекеттерді орынауға қабілетті бірқатар абстрактілі немесе нақты (техникалық, биологиялық немесе биотехникалық) жүйе.

Сонымен, орындаушыны:

- орта;

- қарапайым әрекеттер;

- командалар жүйесі;

- қарсылықтар.

Алгоритмді әр түрлі тәсілдермен (сөздік сипаттама, графикалық сипаттама – блок-схема, бағдарламалау тіліндегі бағдарлама т.с.с.) жазуға болады. Бағдарлама – бағдарламалау тілінде жазылған алгоритм.

Алгоритмді құру үшін:

- есептің бастапқы берілгендерінің толық құрамын (нысанның бастапқы жағдайын);

- алгоритмді құру мақсатын;

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

1. Дискреттілік

2. Мақсаттылық

3. Нәтижелілік (ақырғылық)

4. Жалпылық

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

Алгоритмнің ең маңызды қасиеті жоғарыда анықталғандық қасиетінде айтылғандай оның орындалу нәтижесінің атқарушыға тәуелсіздігі.

Сонымен алгоритм туралы мына төмендегідей тұжырымдар жасауға болады:

- алгоритмдер әртүрлі есептерді шешу үшін пайдаланылады;

- алгоритмді атқарушыдан аз білім талап етілетіндіктен есеп шығаруды айтарлықтай оңайлатады;

- әрбір алгоритм толық аяқталған әрекеттерді орындайтын атқарушыға арналған командалардан тұрады;

- атқарушы орындайтын командалардың жиынын атқарушының командалар жүйесі деп атайды;

- алгоритмдегі командалар атқарушының командалар жүйесінен алынады;

- алгоритмдегі командалар тізбегінің орындалуы алгоритмдік процесс деп аталады;

- алгоритмдегі әрбір команда оның қадамы деп аталады;

- санаулы әрекеттен кейін ғана алгоритмде іздеген нәтижеге қол жетеді;

- алгоритмдегі әрбір әрекет атқарушыға түсінікті және нақты болуы керек;

- бірнеше есептің шешімін табу үшін бір ғана алгоритмді пайдалануға болады;

- құрылған алгоритмді атқару есептің мазмұнына ой жүгіртіп оны талдауды қажет етпейді, тек командаларды формальді орындай береді;

- алгоритм әрбір атқарушыға арналып құрылады;

- алгоритмнің командалары атқарушыға түсінікті және орындалатын болуы тиіс;

- алгоритмді атқаруды тек адамға емес компьютерге де жүктеуге болатындығы есептеу процесін автоматтандыруға мүмкіндік береді.

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

Алгоритмдік тілді пайдалану оны құрушының өзіне ғана түсінікті командаларды көпшілік қауымның пайдалануына мүмкіндік береді.

Алгоритмнің орындалу қатары:

1. Алгоритмдегі әрекеттер жазылу қатары бойынша орындалады;

2. Алгоритмнің қандай болмасын әрекеттерінің орындарын ауыстыруға болмайды;

3. Бір әрекетті аяқтамай келесісіне ауысуға болмайды.

Алгоритмдерді жазу үшін арнайы тілдер қолданылады:

1. Табиғи тіл (сөзбен сипаттау);

2. Формулалар;

3. Псевдокод;

4. Структурограмма;

5. Синтаксистік диаграмма (қосымшаларды қараңыз);

6. Графикалық (блок-схема тілі)

1. Табиғи тіл.

егер шарт онда 1_әрекет әйтпесе 2_әрекет

2. Структурограмма:

1-сурет. Алгоритмдерді структурограммамен жазу сұлбасы

3. Синтаксистік диаграмма:

2-сурет. Алгоритмдерді синтаксистік диаграммамен сипаттау

4. Графикалық тіл:

3-сурет. Блок-схемамен сипаттау

Алгоритмдерді графикалық тәсілмен құру екі МЕСТ-қа бағынады:

1. МЕСТ 19.002-80, ИСО 2636-73 халықаралық стандартына сәйкес келеді. Блок-схемаларды құрастыру ережелерін реттейді.

2. МЕСТ 19.003-80, ИСО 1028-73 халықаралық стандартына сәйкес келеді. Графикалық примитивтерді қолдануды реттейді. (Примитив – бағдарламада аспаптар панелін қолданып, бірден құруға болатын нысан. Примитивтер – төртбұрыштар, эллипстер т.с.с.)

1-кесте. Блок схемадағы графикалық нысандар

Блок-схемаларды құрастыру ережелері:

1. Блок-схема бір бағытта жоғарыдан төмен, не болмаса солдан оңға дейін құрастырылады.

2. Жалғағыш сызықтардың барлық бұрылыстары 90 градус бұрышпен орындалады.

Алгоритмдік құрылымдар сызықтық, тармақталған, циклдік және көмекші алгоритмдерге бөлінеді.