Transcript Выход

Дәріс №8.
Алгоритмдер.
Бағдарламалау және бағдарламалау тілдері.
Кубентаева С.Н. п.ғ.к., доцент
С.Аманжолов атындағы ШҚМУ
“Информатика” кафедрасы 2007 жыл
Дәріс сұрақтары:
•Алгоритм ұғымы, қасиеттері.
•Алгоритмдердің типтері, берілу
ерекшеліктері.
•Алгоритмдерді құрудың негізгі тәсілдері.
•Бағдарламалау тілдері, олардың жіктелуі.
Алгоритм ұғымы информатика пәнінің
іргелі ұғымдарының бірі болып есептеледі.
«Алгоритм» ұғымы IX ғасырда ондық
санау жүйесіндегі арифметикалық
амалдарды орындау ережесін
(алгоритмін) алғаш жазған, Хорезм
елінің тумасы Мұхаммед Мұса-ұлы
атты араб математигінің есіміне
байланысты пайда болған.
Анықтама:
Алгоритм – орындаушыға ұғынықты
тілмен, қандайда бір берілген есепті
шешуге болатындай етіп жазылған нақты
бұйрықтар тізімі
Алгоритм қасиеттері:





дискреттілігі;
ұғынықтылығы;
детерминизмділігі (бірмәнділігі);
нәтижелілігі;
жаппайлылығы.
Алгоритмді орындаушылар
РОБОТ
АДАМ
КОМПЬЮТЕР
Орындаушы алгоритмді формальді түрде орындайды
Біріншіден, алгоритм үздік (дискіретті)
информациялармен атқарылатын әрекеттерді
тағайындау және өрнектеу үлгісі, олай болса,
алгоритмге тиісті әрекеттер де үздікті. Ал символмен
берілген текстер мен сандар алгоритм жұмысына
қажетті «материалдар».
Екіншіден, алгоритм - еркіндікке жол бермейтін нақты
жарлық. Алгоритмде не істеу керектігінің барлығы
алдын ала анықталып көрсетіледі. Есеп шығару
алгоритм үлгісінде берілсе, онда оны атқару процесінде
ойланудың қажеті жоқ, алгоритмде не көрсетілсе, тек
соны атқару керек. Алгоритмнің бұл-қасиеті –
анықталғандығы - ешқандай ақыл-ойы қабілеті жоқ
құрылғылардың
көмегімен
есептерді
шешу
мүмкіндігіне кепілдік береді. Осындай құрылғыға
қазіргі заманғы ЭВМ-дер жатады.
Үшіншіден, алгоритмнің жалпылығы-көпшілгі
бірдейлік қасиеті, яғни бастапқы мәліметтер
мәнінің жиынына арналған есептерді шығару
мүмкіндігі, басқаша айтқанда, бір алгоритмді
әлденеше есептің табу үшін қолдану кепілдігі.
Төртіншіден,
алгоритмнің
нәтижелігі
қадамдардың (әрекетердің) шектелген санынан
кейін (белгілі уақыт ішінде) қажетті қортынды алу
мүмкіншілігі.Әрбір алгоритм біршама бастапқы
мәлметтердің болуын талап етеді және белгілі бір
іздеген нәтижені алуға жеткізеді. Мысалы, қосу
алгоритмі
үшін
бастапқы
мәлметтерге
қосылғыштар (сандар) жатады да, ал нәтижесі
қосынды болады (ол да сан).
Алгоритмдердің негізгі түрлері
сызықтық
Мұнда
бұйрықтар
бірінен соң бірі
ілесу тәртібімен
орындалады
тармақталған
Мұнда есепті
шығару барысында
кейбір шарттарды
таңдау мүмкіндігі
болады
циклдік
Жеке бұйрықтар
немесе бұйрықтар
тобы бірнеше рет
қайталанады.
Сызықтық алгоритмнің болк-схемасы
Вход
S
Выход
Тармақталған алгоритмнің болк-схемасы
Вход
Да
Вход
Да
Нет
P
P
S1
S2
Выход
Нет
S
Выход
циклдік алгоритмнің болк-схемасы
Вход
P
Вход
Нет
S
Да
S
Нет
P
Да
Выход
Выход
Берілу тәсілдері
Сөздік тәсіл
Блок-схема
Алгоритмдік тіл
немесе бағдарлама
Басы
Кіру R
S:=3,14*R2
S S
Шығу
Соңы
Блок-схемалар
түріндегі
алгоритмдер
көрсетімі
Блок-схемалардың негізгі
белгіленулері
Алгоритм блок-схемасының
басы және соңы
басы
соңы
кіру-шығу блоктары
кіру
Кіру блогы
Пернеліктен
кіргізу блогы
БЛОК ПРИСВАИВАНИЯ
Х:=У+120
ОБРАБАТЫВАЕТ
ДАННЫЕ И
РАЗМЕЩАЕТ
РЕЗУЛЬТАТЫ В
ЯЧЕЙКИ
ПАМЯТИ С
УКАЗАННЫМ
ИМЕНЕМ
Енгізу-шығару блоктары
Шығару
Шығару блоктары
Баспаға
шығару блогы
шартты
тексеру
блогы
Өлшемді
цикл
блогы
ИӘ
ШАРТ
ӨЛШЕМ
ЖОҚ
қосалқы бағдарламаға бару
N
қосалқы бағдарламаға
көшу,
мұндағы N - жол саны
қосалқы бағдарламаның
басталғанын білдіреді.
Алгоритмдеу
Алгоритм – орындаушының жұмысын басқару командаларының тізбегі
Алгоритмнің атқарушысы
Атқарушының сипаттамалары – тағайындау, орта, жұмыс режімдері, командалар жүйсі – АКЖ
Алгоритм қасиеті: түсініктілік, нақтылық, шектілік, дискреттік, массалық
Құру кезіндегі алгоритмдік жұмыс
Шамалармен жұмысы алгоритмі
Шамалар: мәні, аты, типі
Базалық алгоритм құрлымы
Сызықтық
Тармақталған
Цикл
Құрлымыдық бағдарламлау әдісінамасы
– базалық құрлымның суперпозициясы (тізбектелулі, еңгізілуі)
– күрделі алгоритмдерді жобалаудың сәйкеспеушілігі
Алгоритмді сипаттау тілдері: блок-схема, алгоритмдік оқыту тілдері.
Алгоритмдерді құрудың негізгі әдістері.
Алгоритмдерді құрудың тиімді әдісі - есепті бірнеше
қарапайым бөлікке бөлу. Негізгі есепті шешуге
байланысты әрбір бөлікке оны шешудің қосымша
алгоритмі құрылады.
Қосымша алгоритмдерді құруда және қолдануда олар
үшін ненің бастапқы мәліметтер мен нәтижелер болып
табылатынын білу қажет.Осылайша есепті бірнеше
бөлікке бөліп алып шығару жолы құрылымдық
программалар негізі боып табылады.
Копьютерлік бағдарлама – бұл екілік кодты машиналық
тілде немесе арнайы бағдарламалық тілде, компьютердің
орындап шығуына арналып алдын ала жазылып қойылған
іс-әрекет туралы кодталған ақпарат.
Копьютерлік бағдарлама – бұл екілік
кодты машиналық тілде немесе
арнайы бағдарламалық тілде,
компьютердің орындап шығуына
арналып алдын ала жазылып
қойылған іс-әрекет туралы кодталған
ақпарат.
Бағдарламалау тілі
Бағдарламалау тілі дегеніміз адамның ЭЕМ-мен
байланысының жасанды тілі, ол мәліметтер мен оларды
өңдеу алгоритмдерін компьютерде сипаттауға арналады.
Егер бағдарламалау тілі нақтылы процессор типіне
арналған және оның ерекшеліктерін есеретін болса, онда
ол төмен деңгейлі бағдарламалау тіліне жатады.
Жоғары деңгейлі бағдарламалау тілі компьютерге
қарағанда, адамға анағұрлым жақын әрі түсінікті болып
келеді.
Программалау тілдерінің бір – бірімен
байланысу схемасы
Программалу
тілдері
Машинаға тәуелді
Машиналық
Машинаға
бейімделген
Ассамблер
Машинаға тәуеліз
Процедуралы
бейімделген
Макротіл
Проблемалы
бейімделген
Қазіргі кезде ең көп тараған негізгі программалау
тілдеріне қысқаша тоқталып өтейік.
 Ада – 1980 ж. шықты, жүйелік және іс жүзінде программа жасауға
болатын әмбебап тіл.
 Алгол – ағылшын әмбебап программалу тілдерінің бірі.
 Ассемблер – машинаға бейімделген программалау тілі.
 Бейсик – есепті ЭМЕ – де шығару үшін, программаны “диалог”
режимінде құрады.
 Кобол – экономикалық есептерді шығаруға өте қажетті программалау тілі
болып дүние жүзіне көп тараған тіл.
 Паскаль – блокты, модулды программа құрамын құрастыруға қажетті тіл.
Алгол тілінің әр қарай даму жолындағы жалғасы болып саналады.
 PL – 1 - әмбебап, процедуралы бейімделген тіл, әр түрлі информацияны
өңдеуге, әр түрлі есептерді шығаруға үлкен мүмкіншіліктері бар өте
ықтималды тіл.
 Си – машинаға тәуелсіз тіл. Жүйелік программалар құру үшін және
программамен қамтамасыз ету жүйесін бір машинадан екінші машинаға
көшіруге, жазып алуға қажетті тіл.
 Фотран – бірінші жасалған тіл. Қазіргі кездегі жоғарғы сатыдағы
есептегіш программаларын құруда көп таралған тілдің бірі.