Алгоритм дегеніміз берілген есепті шешуге арналған қатаң анықталған әрекеттер тізбегі немесе, қысқаша айтқанда, есептің шешу әдісі. Алгоритмнің негізгі қасиеттеріне тоқталайық.
1. Алгоритмнің дискреттілігі. Бұл қасиет алгоритм түрінде жазылған есеп шешімі жеке жәй командаларға бөлініп орындалу ретіне қарай орналасқанын көрсетеді.
2. Алгоритмнің анықтылығы. Бұл қасиет алгоритмнің әр командасы орындаушыға түсінікті болуын және мәнсіз орындалмауы керектігін көрсетеді.
3. Алгоритмнің нәтижелігі. Бұл қасиет алгоритмнің ақырлы қадам санынан кейін нәтиже алатынын көрсетеді.
4. Алгоритмнің жалпылығы. Бұл қасиет есепті шешуге арналған алгоритмнің осы типтес есептердің барлық мүмкін мәндері үшін орындалатынын көрсетеді.
Алгоритмді сипаттаудың бірнеше түрлері бар.
1. Алгоритмді сөз – формула арқылы сипаттау, яғни алгоритмді сөз және формулалар көмегімен сипаттау.
2. Алгоритмнің графикалық сипатталуы, яғни алгоритмді арнайы графикалық схемалар – блок-схемалар көмегімен сипаттау.
3. Алгоритмді псевдокод арқылы сипаттау. Псевдокод дегеніміз – команда әрекетінің, яғни алгоритм қадамының нақты программалау тілі операторларын қолданбай жәй тілмен сипатталуы
4. Алгоритмді программалау тілдерінің бірі арқылы жазу (Pascal, Basic).
Алгоритмнің негізгі құрылымдары
Алгоритм негізгі 3 базалық құрылымға бөлінеді:
1) сызықтық
2) тармақталушы
3) циклдік.
Сызықтық алгоритмдерде есеп шешімінің қадамдары бірінен кейін бірі тізбектей орындалады.
Тармақталушы алгоритмдерде алдымен қандайда бір шарт тексеріледі және шарттың орындалуына немесе орындалмауына сәйкес есептеу процесінің бірі орындалады.
Программалу тілдері және негізгі классификациясы
Қазіргі кезде 3500-ден жоғары әр түрлі программалау тілдері бар және осылардың ішінен шектелген саны ғана программалық бөлімді құруға жаппай қолданылады. Программалау тілдерінің саны көп болуына байланысты олардың біршене классификациясы бар. Оның ішінде негізгі 2 түрге: фукционалдық мәніне (қызметі) және қолданылатын программалау технологиясына байланысты бөлінеді. Программалау тілдері фукнционалдық мәніне байланысты 4 үлкен классқа бөлінеді:
1) программалауға үйретуші;
2) жалпы мәнді;
3) проблемалық-бағытталған;
4) параллель программалаушы.
Қазіргі жоғары деңгейлі тілдерді осы классикацияға сәйкес қарастырамыз.
Программалауға үйретуші тілдер қатарына жататын жоғарғы деңгейлі тілдердің негізгілері Logo, Basic және Pascal. Logo тілі 60-шы жылдардың аяғында С.Пейперттің басшылығымен құрылды және ЭЕМ жаңа қолданушыларға, балаларға программалаудың негізін үйретуге бағытталған. Үйретуге арналған жоғары деңгейлі тілдердің ішіндегі кең тарағаны 1965 жылы Д.Кемени мен Т.Курц құрған Basic тілі. Дербес компьютерлерге бірінші қолданылған жоғарғы деңгейлі тіл және операциялық ортасы – Basic тілі. 60-жылдардың ортасынан бастап мамандар арасында құрылымдық программалау мәселесі көтеріле бастады. 1971 жылы Н.Вирт құрылымдық технологияға үйретуші Pascal тілін құрды.
Жалпы мәнді жоғары деңгейлі тілдер қатарына әр түрлі класс есептерін тиімді программалауға бағытталған тілдер жатады. Бұл классқа жататын тілдердің негізгілері C, Modula, Ada тілдері. Бұл тілдердің негізі 1966 жылы құрылған, ғылыми, пәндік облыстағы есептерді программалауға мүмкіндік беретін PL/1 тілі. PL/1 тілі ЖС ЭЕМ сериялы модельдерде кеңінен қолданылды. Си тілін 1972 жылы Д.Ритчи құрды және Unix операциялық жүйесі осы тілде жазылды. Си тілі ассемблер тілінің де және жоғары деңгейлі тілдің де мүмкіндіктерін қамтамасыз ететін болғандықтан орта деңгейлі тіл деп атайды. Pascal тілінің идеологиясын тарату мақсатымен Н.Вирт 1980 жылы Modula–2 тілін құрды. Бұл программалау тілінің негізі – программа бір-біріне тәуелсіз модульдерден тұрады.
1978 жылы қазіргі АҚШ-та әскери қаруды басқаруға қолданылатын қосымшаларды программалуға арналған Ada тілі құрылды. Ada тілі құрылымды программалау тілі болып табылады және параллель програм