Бағдарлама құрылымы, синтаксисі.
Бейнеу политехникалық колледжінің
информатика пәнінің мұғалімі
Умирзакова Анар
Сабақтың білімділік мақсаты: Студенттердің жүйелік бағдарламалау туралы түсінігін қалыптастыру, сипаты мен қабылдау тәсілдерімен таныстыру
Сабақтың дамытушылық мақсаты: Студенттерді ұқыптылыққа, жүйелікке тәрбиелеу
Сабақтың тәрбиелілік мақсаты: Студенттердің ойлау қабілетін, логикасын, мәдениеттілік тәрбиелеу
Сабақтың түрі: Аралас
Өткізу әдісі: Түсіндірмелі баяндау, әңгіме түрінде, дебат
Пән аралас байланыс: Алгоритмдік тілдерде бағдарламалау
Сабақтың көрнекілігі: Компьютер, ұялы телефон, ASCII-кодтар кестесі, тапсырмалар,
Сабақтың барысы
1.Ұйымдастыру кезеңі:
а) Үй тапсырмасы: «Ассемблер тілі» тақырыбы
1. Ассемблер түсінігіне қандай мағына берер едің?
(Студенттер өз ойларын айтады.)
2. Үйге берілген тапсырма бойынша сіздерге ассемблер тілінің артықшылықтары мен кемшіліктері туралы материал іздеп келу тапсырылған еді. Осы сұрақ аясында мен дебат өткізгім келіп тұр. Дебатта бір-біріне қарама-қарсы пікірді қолдайтын екі топ сайысқа түседі. Біріне «Ақиқат», ал екіншісіне «Парасат» деп ат қояйық. «Таяқтың екі ұшы бар» дегендей төменгі деңгейлі ассемблер тілі бізге қажет пе, қажет емес па? - осы жайында өз ой- пікірімізді таразыға салып көрейік. Бұл нақты мәселе жөнінде ойды, пікірді жобаны қолдау не жоққа шығару сипатында жүргізіледі. Дебаттың мақсаты– қарсылас топтың ой-пікірін жоққа шығара отырып, өз көзқарастарын дәйектеу арқылы жеңіске жету. Дебат үстінде сөйлеушілер тек нақты дерек көздерін пайдалануы тиіс. Әр топтың мүшелері спикер деп аталады. Дебатта жақтаушы да, ақтаушы да өз критерийін – мақсатын бір-ақ сөйлеммен нақты, түсінікті, тақырыпқа сай етіп айтады. Сол пікірге қатысты айғақ-дәлелдер келтіреді.Дебатта әдетте, жақтаушы топ бірінші сөйлейді. Шыққан спикер сөзін аяқтап болған соң, оған қарсы топ сұрақ қояды. Оған спикер қолма-қол жауап беруі тиіс. Егер сұрақ болмаса орнына отырады.Дебатта топтар бір-бірінің ойын, пікірін жоққа шығаруға, өз пікірін қорғауға мүдделі болатындықтан, қарсыласына соққы жасаудың, тойтарыс берудің түрлі амал-тәсілдері қолданылады. Бірақ мұнда сыпайылық пен ұстамдылық, тапқырлық, шешен мәдениетінің көрсеткіші болып саналады.Дебаттың нәтижесін арнайы белгіленген сарапшылар қорытындылайды.
Сонымен, төменгі деңгейлі ассемблер тілі бізге қажет пе, қажет емес па?
«Ақиқат» тобы ассемблер тілінің артықшылықтарын атап көрсету қажет:
- Бұл тілдің көмегімен программаны микропроцессор командалары деңгейінде жазуға болады және сандық кодтардың барлығын еске сақтауды талап етпейді. Программа командалары жазылып болған соң, Ассемблер программасы шақырылады да, ол бұл командаларды олардың кодтарына айналдырады. Командалар жиыныннан тұратын программа негізгі немесе алғашқы программа деп аталады, ал негізгі программаның сандық кодтары, яғни машиналық тілге айналған түрі – объектік программа деп аталады.
Ассемблердің атқаратын негізгі қызметі – қолданушыға түсінікті негізгі программаны микропроцессор түсінетін объекттік программаға айналдыру. Ассемблердің кең тараған түрлері: IBM фирмасының MASM (Macro Assembler) программасы және Borland фирмасының TASM (Turbo Assembler) программасы.
- Ассемблер тілін білмей, компьютерді пайдалы нәрсе жасауға мәжбүрлеу мүмкін болмайды. Компьютермен байланыс орнатудың ыңғайлы жолы пайда болды. Бірақ, басқа тілдерден айырмашылығы, ассемблер жоқ болып кеткен жоқ, Қысқаша айтқанда, ассемблер тілі - машина тілінің символикалық көрінісі.
Машинаның ең төменгі, аппараттық деңгейдегі барлық процестері машина тілінің нұсқаулары (нұсқауы) бойынша ғана іске қосылады. Демек, компьютердің әрбір түрі үшін ассемблер тілі әртүрлі. Бұл ассемблерде жазылған бағдарламалардың пайда болуына және осы тілде көрсетілген идеяларға қатысты.
Аппараттық құралдармен байланысты проблемаларды шешу (мысалы, аппараттық құралдарға байланысты, бағдарламаның жылдамдығын арттыру сияқты), ассемблерсіз іске асыру мүмкін емес.
- Бағдарламашы қаншалықты ақылды болса да, өзінің керемет бағдарламасын жазған тілі қаншалықты жақсы болса да, ассемблер туралы білмей жасай алмайды. Жоғары деңгейдегі барлық тілдік компиляторлар өздерінің модульдерінің байланыс құралдарын ассемблер модульдері бар немесе программалаудың ассемблер деңгейіне қолдау көрсететіндігі кездейсоқтық емес.
- Ассемблер тілінің ең маңызды артықшылығы - компьютердің архитектурасына және операциялық жүйеге жақындығы. Ассемблер тілмен жұмыс істеу кезінде бағдарламашы компьютердің және операциялық жүйенің жұмысын егжей-тегжейлі зерделейді.
- Ассемблер тілінің басқа жоғары деңгейлі тілден айырмашылықтары: ассемблер тілінің жеткізілуі мен машиналық командалардың арасындағы бірмәнді сәйкестік; машиналардағы барлық объектілер мен командаларға қатынау; бір тектес компьютерлердегі жұмыс.
- «Ассемблер тілінің қажеттілігі қандай?» деп сұрайды. Олар: «Бұл сұраққа қарапайым және ең сенімді жауап - бұл процессордың тілі, сондықтан процессорлар болғанша қажет болады. Бұл сұраққа неғұрлым кең жауабы ассемблер бағдарламалардың кодын оңтайландыру, драйверлерді жазу, аудармашыларды жазу, кейбір сыртқы құрылғыларды бағдарламалау және т.б. қажет болуы мүмкін деген дәлелді қамтуы мүмкін. Бірақ менде тағы бір жауап бар: ассемблерде бағдарламалау компьютерге билік жүргізу.
«Парасат» тобы Ассемблер тілінің кемшіліктерін атап көрсету қажет:
- Жоғары деңгейдегі бағдарламалау тілімен салыстырғанда Ассемблер тілінде код жазу үшін көп уақытты қажет етеді.
- Ассемблер кодында қате жіберу оңай. Ассемблер регистрлердің және айнымалылардың сақталуын бақыламайды. Сонымен қатар жасырын қателердің пайда болу мүмкіндігі бар, оларды тек қана жүйелі тестілеу арқылы ғана анықтай аламыз.
- Жоғары деңгейдегі бағдарламалау тіліне қарағанда ассемблер кодын тексеру қиынға түседі, себебі бұл қателерді іздеп табуға мүмкіндігі аз.
- Машиналық тілде жазу ыңғайсыз және қиын, алайда есептеуіш техника тек осы тілде жазылған командаларды ғана орындай алады.
- Ассемблер коды есептеуіш машинаға өте тәуелді. Оны басқа платформаға ауыстыру өте қиын.
Түйін: Ассемблер тілі бізге қажет екен. Олай болса ассемблер тілін меңгеруді әрі қарай жалғастырамыз.
Жаңа сабақ. Тақырыбы: «Бағдарлама құрылымы, синтаксисі»
Тапсырмалар орындау
- ASCII-кодтар кестесін қолдана отырып, жасырынған сөздерді табу керек.
1-топқа: 4D16,4116, 4E16, 4716, 4916, 4C16, 4916, 4B16, 2016, 4516, 4016.
2-топқа: 1228, 1258, 1308, 1018, 1168, 1118, 408, 1128, 1018, 1168, 1078, 1118, 1228, 1258.
Жеке студентке тақтада орындауға: 5116,4116, 5А16, 4116, 5116, 5316, 5416, 4116, 4Е16.
QAZAQSTAN MANGILIK EL RUXANI JANGIRU
- Қазіргі таңда латын әліпбиіне ауысу жөнінде үлкен мәселе көтеріліп отыр. Сіздердің ойларыңызды тыңдап көрсек.
- Техникалық диктант жазу.
«11110001001 жылғы 111 тамызда КСРО Орталық Атқару Комитеті мен КСРО Халық Комиссарлары Кеңесінің Президиумы латындандырылған жаңа әліпби – «Біртұтас түркі алфавитін» енгізу туралы қаулы қабылдады. Латын әліпбиінің негізінде жасалған жазу үлгісі 11110001001 жылдан 11110010100 жылға дейін қолданылып, кейін кириллицаға ауыстырылды. 11110010100 жылғы 1101 қарашада «Қазақ жазуын латындандырылған әліпбиден орыс графикасы негізіндегі жаңа әліпбиге көшіру туралы» заң қабылданды. Осылайша, қазақ тілінің әліпбиін өзгерту тарихы негізінен нақты саяси себептермен айқындалып келді. Мен 11111011100 жылғы желтоқсан айында жария еткен «Қазақстан-100000000010» Стратегиясында «11111101001 жылдан бастап латын әліпбиіне көшуге кірісуіміз керектігін» мәлімдедім. Бұл – сол кезден барлық салаларда біз латын қарпіне көшуді бастаймыз деген сөз.» / Н.Ә.Назарбаев/
Команданы толықтыр (Білімді бекіту)
А) меншіктеу
. al, 01 /mov/
Ә) бөлу
del dw 29876
delt db 45
sub ax, ax
mov ax, del
. delt /div/
Білімді бағалау: Студенттердің жауаптарына қарай білімдері бағаланады.
Үйге тапсырма: Бағдарлама құрылымы, синтаксисі
Қорытындылау.