Additional
Standard бетінде басқарушы элементтер орналасқан болса, Additional бетінде программаның интерфейсін түрлендіруге қолданылатын объектілер орналасқан.
TBitBtn - TButton-ға ұқсас батырма, бірақ оған сурет орналастыруға болады (glyph). TBitBtn-нің бірнеше алдын ала анықталған типі бар (bkClose, bkOK және т.б), оларды таңдағанда батырма сәйкес түрде болады. Сондай-ақ модальді терезеде (Form2.ShowModal) батырманы басу сәйкес модалді нәтижеге (Form2.ModalResult) сай терезенің жабылуын қамтамасыз етеді.
TSpeedButton – командаларға жылдам рұқсат алу үшін қолданылатын батырма (SpeedBar). Мысал –Delphi ортасындағы Компонент палитрасының сол жағындағы SpeedBar. Әдетте бұл батырмаға тек сурет қана орналаса алады (glyph).
TTabSet – горизонтальді закладки. Әдетте TNoteBook-пен бірге көп бетті терезелерді құру үшін қолданылады.Терезелердің атын Tabs қасиеті арқылы береді. Бірақ , оны форманы құру кезінде программада жүзеге асырған дұрыс (OnCreate) :
TabSet1.Tabs := Notebook1.Pages;
Ал, бет закладкасын таңдау кезінде беттер дұрыс ашылу үшін OnClick оқиғасында TTabSet үшін клесіні жазу керек:
Notebook1.PageIndex := TabSet1.TabIndex;
TNoteBook – көп бетті диалогты құру үшін қолданылады, әр бетте өзінің объектілерінің жиыны орналасқан. TTabSet бірге қолданылады.
TTabbedNotebook – закладкалары бірге салынған көп бетті диалог, бұл жадайда закладкалары үстінде.
TMaskEdit – форматталған енгізу мүмкіндігі бар, TEdit-тің баламасы. Форматы EditMask қасиетінде анықталады. EditMask үшін қасиеттер редакторында кейбір форматтардың дайын түрі бар. Мысалы: күннің, валютаның және т.б. Маска үшін арнаы символдарды анықтамадан көруге болады.
TOutline – байланысқан берілгендердің иерархиялық қатынастарын жариялау үшін қолданылады. Мысалы: директориялар ағашы.
TStringGrid – мәтіндік түрде берілгендерді кесте түрінде көрсету үшін қолданылады. Кестенің әр элементіне рұқсат алу Cell қасиеті арқылы жүзеге асады.
TDrawGrid – кез келген түрдегі берілгендерді кесте түрінде көрсетуге арналған. Кестенің әр элементіне рұқсат алу CellRect қасиеті арқылы жүзеге асады.
TImage –формадағы графикалық бейнелерді көрсетеді. BMP, ICO, WMF форматтарын қабылдайды. Егер суреттерді программа дизайны кезінде қосса, онда ол EXE файлға компиляцияланады.
TShape – формадағы қарапайым граикалық объектілерді көрсетуге арналған: квадрат, шеңбер және т.б.
TBevel – интерфейсті рельефті безендіруге арналан.
THeader – кесте үшін өзгеретін көлемді тақырыпты безендіруге арналған.
TScrollBox – экраннан үлкен айланатын аймақты формада құруға арналған.Бұл аймақта өз объектілеріңізді орналастыруға болады.
Әдебиет [1, 5, 6]
-
Тәжірибелік сабақтардың мазмұны
Тақырып 2. Есептерді алгоритмдеудің негіздері
Жоспар
-
Алгоритмнің анықтамасы. Алгоритмді баяндаудың тәсілдері.
-
Алгоритм схемаларын жасау ережелері.
-
Алгоритмдердің құрылымдарының түрлері.
-
Сызықтық және тармақталған алгоритмдердің құрылымдарының баяндалуы.
Тапсырмалар
-
Тармақталған алгоритмге есептің шешу жолын көрсететін блок схема құрыңыз
-
Циклдік алгоритмге есептің шешу жолын көрсететін блок схема құрыңыз
Тапсырманы орындау бойынша әдістемелік нұсқаулар
Процедуралық программалау тілдерінде программаның жұмысы операторларды ретімен орындау бойынша, ал, логикалық программалау тілдерінде ол қатаң логикалық ережелерге сәйкес өзгертулер енгізу ретінде қарастырылған болатын. Объектіге бағдарлы оқиғалық программалау тіліне программаның жұмысы негізінен оқиғалар тізбегінен және түрлі объектілердің осы оқиғаларға жауабынан тұрады. Олардың визуальды түрлері — Visual Basic тілі Qbasic программалау тілі негізінде, ал Delphi (Дельфи) Объектілі Паскаль (Object Pascal) тілі құрылған (visual — көзбен көру, экрандық). Олар, әсіресе, Delphi программалау тілі — кез келген қосымшаны дайындауға болатын жылдамдығы тез, қуатты тіл. Паскаль тілін оқып үйренуге жеңіл және MSDOS жүйесінде программа дайындауға ең жақсы құрылымдық программалау тілі екені белгілі. Delphi-де Паскаль тілінде орындау мүмкін және мүмкін емес күрделі процестерді программалауға болады. DeIphi-дің негізгі ерекшелігі — онда қосымша құруда компоненттік және объектілік тәсілдер пайдаланылды (Windows ортасында пайдаланатындықтан, Delphi-де программаны көбінесе қосымша деп айтады). Бұл программалау технологиясында нағыз революция жасады деуге болады. Компоненттік тәсілдің мәнісі жеңіл: әр қосымша кітапханасы программалау ортасында дайындалып, арнайы іс-әрекеттерді орындайтын компоненттер элементтерінен жинақталады. Олар жеткіліксіз болса, объектіні өңдеуге арналған үстеме программа құрылады. Delphi-де қолданылатын негізгі кітапхананы визуальды компоненттер кітапханасы (VCL, Visual Component Library) деп атайды. Компоненттер панелінде топ-тобымен жинақталған, жүздеген кластарға тиісті, стандартты компоненттер бар. Пайдаланушы жаңа компонент дайындап, оны осы панельге қосуына да болады. Delphi Windows жүйесінде праграммалаудың ыңғайлы құралы. Онда көптеген операторларды пайдаланып программа дайындау, программа мәзірін құру, анимация, мультимедиа процестерін ұйымдастыру, OLE технологиясын пайдаланып, басқа офистік қосымшаларды шақыру, олармен жұмыс істеу және т.б. іс-әрекеттерді орындау да мүмкін. Көптеген операторлардың жазылуы Турбо Паскальдағы сияқты. Delphi ортасында төрт терезе бар. Олар: l) Delphi5-Projectl - Delphi5-тің негізгі терезесі; 2) Form1 — Форма; 3) Object Inspector - Объект инспекторы терезесі; 4) Unitl.pas — Редактор терезесі. 1 DeIphi-дің негізгі терезесі үш құрылымнан тұрады: 1 Мәзір. 2 Acnanamap панелі алтыға бөлінеді: • Standard — Стандарттық; • View — Көрсету; • Debug — Баптау; • Custom- Қолданушы; • Desktop — Жұмыс столы; • Internet — Интернет. 3. Компоненттер палитрасы төмендегідей беттерден тұрады: • Standard — Стандартты; • Additional - Қосымша; • Win32 — Windows интерфейсінің 32-разряды; • System — функциялық жүйеге кіру мүмкіндік; • Data Access — Берілгендер қорындағы информациямен жұмыс; • DataControl — Берілгендерді элементтермен басқаруды құру; • dbExpress - SQL-серверіне кіру мүмкіндігі; • DataSnap - Көп салалы берілгендер қорындағы қосымшаны құру; • BDE — BDE арқылы берілгендерге кіру мүмкіндігі; • ADO — ActivX берілгендер объектісін қолданып берілгендер қорына байланыс жасау; • InterBase — Аттас берілгендер қорына тікелей кіру мүмкіндігін қамтамасыз етеді; • SOAP — Аттас техногия көмегімен анықталған ортады берілгендерді алмастыру; • InternetExpress — Аттас қосымшаны құру үшін берілгендер қорындағы анықталған қосымша-клиент және қосымша-сервер бір мезгілде болады; • Internet — Интернет желісінде қосымша Web-серверін құру; • FastNet — Инетернет желісіне кіру хаттамасын қамтамасыз ету; • Decision Cube — Көп өлшемді талдау; • QReport — Есепті құрастыру; • DiaIogs — Стандартты сұхбаттық терезені құру; • Win3.1 — Windows3.1 интерфейсі; • SampIes — Бірге қойылатын жүйелік мысалдар; • ActivX — ActivX компанентті; • COM+ - Аттас объектілерді басқару; • InterBaseAdmin — Аттас берілгендер қорына кіру мүмкіндігін басқару; • WebSnap — Web-серверінің қосымшасын құру; • Server — Жалпы COM серверлер VCL бөлігі үшін; • IndyCIients — Клиент үшін Интернет тәуелсіз тұжырымдама компоненті; • Indy Servers - Сервер үшін тәуелсіз тұжырымдама компоненті; • Indy Miss — Интернеттің қосымша тәуелсіз тұжырымдама компонентті. 2. Delphi-де дайындалатын программа проект (жоба) деп аталады. Форма программаны дайындау алдында ашылатын, программаның сұхбаттық терезесі. Delphi алғашқы рет іске қосылған кезде форма Form1 атауымен көрінеді. Оның жиектеріне тышқан көрсеткішін орналастырып, ол екі жақты нұсқама түріне айналған кезде жылжыту және қалдыру тәсілі бойынша форманы кеңейту не қысу қиын емес. Кей жағдайларда экранда форма көрінбеуі мүмкін. Оны экранға шығару үшін View Forms командасын беру жеткілікті. 3. Форманы не онда орынатылған компонентті программа құру үшін дайындау оның кейбір қасиеттерінің мәндерін өзгертуден басталады. Қасиеттер тізімі Объект инспекторы (Object Inspektor) терезесіне енгізілген. Тізімді инспектор терезесіне шығару үшін сәйкес объектіні (форманы не формада орнатылған форма компоненттін) бір шерту арқылы таңдау керек. Инспектор терезесінің жоғарғы қатарына таңдалған объект атауы да жазылып қойылады. Терезенің екі қосымша беті бар: Properties - қасиеттер және Events — оқиғалар. Терезе ашылғанда екі бағанға енгізілген жазулардан тұратын оның Properties бөлімі ашылулы тұрады. Бірінші бағанда көрінетіндер - қасиет атаулары, екінші бағанға сәйкес жазылғандар — олардың мәндері. 4. Delphi-де программа (проект) екі бөлімнен тұрады: алғашқыда автоматты түрде project1 атауы берілетін проект файлы (негізгі модуль) және unit1.pas атауы берілетін модуль. Олар жеке терезелерде орналастырылған. Модульге оқиғаларға сәйкес ic-әрекеттерді орындайтын программа мәтіні (процедуралар) енгізіледі. Программа мәтінін программалық код деп, терезені программалық код терезесі не қысқаша редактор терезесі деп те атайды. Delphi іске қосылған кезде ол форма терезесінің астында көрінбей тұрады. Оны экранға шығару тәсілдері: - форманы жабу (жабу түймесін шерту); код терезесінің бір шеті форма астында көрініп тұрса, оны шерту. Терезе белсендірулі түрде ашылады да, онда процедура дайындамасы (үлгісі) көрінеді.
Әдебиет [1, 2]
Тақырып 3. Негізгі процедураларға бағытталған алгоритмдік тілдерде программалау. Алгоритмдік тілдің негізгі сипаттамалары
Жоспар
-
Pascal тілінің негізгі сипаттамалары. Тілдің алфавиті.
-
Тілдің объектілерінің жазылуының ерекшеліктері.
-
Мәліметтер типінің ұғымы. Мәндердің стандартты типтері.
-
Айнымалалар және тұрақтылар ұғымы.
-
Ерекше белгілер. Өрнектер. Арифметикалық және логикалық өрнектер.
-
Мәліметтер құрылымы: массивтер, жиындар, жазбалар.
Тапсырмалар
-
Тармақталған алгоритмге есепті шешу
-
Циклдік алгоритмге есепті шешу
-
Масиввтерге есептерді шығару
Тапсырманы орындау бойынша әдістемелік нұсқаулар
Object Pascal тілі Delphi бағдарламалау тілі және стандартты Pascal тілінің объекті - ориентирленген кеңейтілуі болып келеді. Delphi жүйесі визуалды бағдарламалау мүмкіндігін VCL визуалды компонеттердің библиотекасы көмегімен қамтамасыз етеді. Визуалды компоненттердің библиотекасы (Visual Component Library, VCL) қосымшаларды тез өңдеуге арналған көптеген кластарды құрайды. Библиотеканың элементтері Object Pascal - да жазылған, сондықтан ол интегралданған Delphi қосымшасының өңдеу ортасымен тығыз байланысты. VCL де негізінен визуалды емес компененттерден тұрады, және визуалды компоненттер, және де TObject абстракті кластан бастап басқа да кластар бар. Барлық компонентер - бұлар кластар, бірақ барлық кластар компоненттер емес. VCL - дің барлық кластары иерархияның анықталған сатысында орналасқан және кластың ағашын құрайды. Object класы - барлық Object Pascal класының жалпы тегі (атасы) ол иерархияның тамырында (түбірінде) орналасады. Бұл класс абстактілі болып келеді және барлық ұрпақтар кластары үшін жалпы әдістер қолданылады. Негізгі әдістерін атап өтейік:
« Destroy - объектіні жою (өшіру) « Free - Create әдісімен құрылған объектіні өшіру, бұл уақытта Destroy әдісі де шақырылады.
Бұл әдістердің көпшілігі ұрпақ класында қайта анықталады. TPersistents, TComponent, TControl көптеген кластардың атасы болып келген. Көрсетілген кластарға негізінде жалпы қасиеттері, әдістері және оқиғалары (события) кіреді. TPersistents класы ағымнан icкe қосылады және ағымға сақталатын қасиеттері бар объектілер үшін абстракты болып келеді. Ағымның механизмі жадымен жұмыс істеу үшін қолданылады. TObject кластың әдісіне қосымша болатын TPersistents класы бір объектіден екінші объектіге алаңды және қасиеттерді беруге мүмкіндігі бар Assign әдісіне ие. TComponent класы — барлық компоненттерге негіз; өзінің атасының әдісіне қосымша болып, оның басқа компоненттеріне ие болатын құралдарды қамтамасыз етеді. Формаға кез келген компонентті орналастыру нәтижесінде, ол басқа компонентке тиісті болады (негізінен формата). Компонента құру барысында, ол оған тиісті компоненттерді автоматты түрде құрылуын қамтамасыз етеді, ал оны жою барысын оған тиісті барлық компоненттер автоматты түрде жойылады. TComponent класы келесі қасиеттерін белгіленген: • Components — тиісті компоненттер тізімі • ComponentCount тиісті компоненттердің саны • Componentlndex -- тиісті компоненттер тізіміндегі компонент номері, • ComponentState - ағынды компоненттің жағдайы • Name - компоненттің аты • Owner - компоненттің иесі Tag - компонентпен сақталынатын бүтін мәні TComponent компонентінің кейбір әдістері: • Destroy Components - барлық тиісті компоненттерді жою (бұзу) • Destroying - тиісті компоненттің жойылғаны (бұзылғаны) туралы хабар беру» FindCoraponent - Component тізімінен компонентті табу (іздеу) Тілдің сөздігі Сөздер келесі түрлерге бөлінеді: • Кілттік сөздер (ключевые, заразервированные) • Стандатты идентификаторлар • Қолданушының идентификаторлары Кілттік сөздер тілдің құрама бөлігі болып келеді. Редактор кодында кілттік сөздер қалың (полужирный) шрифтпен бөлінеді, Мысалы, And Expor ts mod Array File nil As Finalization not Asm For object Begin Function of Case Goto or Class If out Const Implementation packed Constructor In procedure Destructor Inherited program Dispinterfac Initialization property e Div Inline raise Do Interface record Downto Is repeat Else Label resource string End Library set Except Finally shl Стандартты идентификатор келесі анықталған тілдің өңдеуші конструкциясын көрсету үшін қызмет етеді: • Мәліметтердің типі • Тұрақты (Констант) • Процедура және функция Стандартты идентификаторлары бағдарламада кейбір стандарттармен байланысқан. Оларға: Absolute Name safecall Abstract Near stdcall Assembler Nodefault strored Automated Override virtual Cdecl Packade write Contains Pascal writeonly Default Private Dispid Protected Dynamic Public Export Published External Read Far Readonly Forward Register Implements Reintroduce Index Requires Message Resident Қолданушының идентификаторы белгінің атын, тұрақты (констант), айнымалы, процедура, функция және мәліметтер типін белгілеу үшін қолданылады. Бұл аттар бағдарламашының (программист) өзі береді және ол келесі ережелерге сай келу керек: Идентификатор әріп немесе санмен (цифр) құрылады Идентификатор барлық уақытта әріппен басталады, тек 0 – 9999
Әдебиет [1, 2]
Тақырып 4. Мәліметтерді енгізу-шығаруды ұйымдастыру
Жоспар
-
Алгоритмдік тілдің операторларын кластарға бөлу.
-
Меншіктеу операторлары. Басқару операторлары.
-
Мәліметтерді енгізу-шығаруды ұйымдастыру.
Тапсырмалар
-
Тармақталған алгоритмге есептің шешу жолын көрсететін блок схема құрыңыз
-
Циклдік алгоритмге есептің шешу жолын көрсететін блок схема құрыңыз
Тапсырманы орындау бойынша әдістемелік нұсқаулар
Тармақталу операторы көрсетілген шартқа тәуелді құрамына кіретін операторлардың орындалуын немесе орындалмауын қамтамасыз етеді. Тармақталған алгоритмдерді бағдарланған кезде мынадай қызметші сөздер қолданылады: if - егер , then – онда , else - әйтпесе.
Оператор программадағы іс-әрекеттердің орындалу реттілігін өзгертетін мүмкіндіктің ең кең тараған тәсілі болып табылады. Толық оператордың жазылу түрі:
{Егер шарт онда 1 оператор әйтпесе 2 оператор орындалады.}
IF <шартты өрнек> THEN <1 оператор> ELSE <2 оператор>;
Егер шарттың мәні «ақиқат» болса, THEN сөзінен кейінгі оператор, ал мән «жалған» болса, ELSE сөзінен кейінгі оператор орындалады.
Қысқа оператордың жазылу түрі:
IF <шартты өрнек> THEN <1 оператор> ;
Мысал:
program j;
var x,y:integer;
begin
read(x);
if x<3 then y:=x+2 else y:=5*x;
write('y=',y);
end.
Таңдау операторы.
Көптеген біршама күрделі программаларда таңдау операторын қолданған қолайлы:
case таңдау параметрі of таңдау тізімі else 2-оператор end
мұнда таңдау тізімі-бір немесе бірнеше түрдегі конструкциялар:
•таңдау тұрақтысы: оператор
•таңдау тұрақтысы бірнешеу болуы мүмкін, соған сәйкес бірнеше операторлар да орындалуы мүмкін.
Бұл оператордың жұмыс реті анық: таңдау параметрлерінің мәні анықталады, сосын осы таңдау параметрінің мәніне тең болатын таңдау тұрақтысы ізделеді, енді соған сәйкес оператор орындалады, егер таңдау тізімінде осы тұрақты жоқ болып шықса, онда 2-оператор орындалады.
Таңдау операторына ай кварталдары бойынша есеп шығарып көрейік:
program esep;
var month:integer;
begin
case MONTH of
read(month);
1, 2, 3 : writeln ('1- квартал');
4, 5, 6 : writeln ('2- квартал');
7, 8, 9 : writeln ('3- квартал');
10, 11, 12 : writeln ('4- квартал'); else writeln('ондай ай жок')
end;
readln;
end.
Әдебиет [1, 2]
Тақырып 6. Ішкі бағдарламалар: процедуралар және функциялар
Жоспар
-
Ішкі программаларды ұйымдастыру әдістері. Ішкі программаларды шақыру.
-
Жадының жалпы облысын пайдалану.
-
Стандартты ішкі функциялардың қоры және процедуралары. Оларды шақырудың тәсілдері.
Тапсырмалар
-
Функцияларға есептер шығару
-
Ароцедураларға есептер шығару
Тапсырманы орындау бойынша әдістемелік нұсқаулар
Функцияның ерекшелігі, оған қатынасуға болатын атының болуында және осы ат(осы функцияның орындалуы нәтижесінде) қорытынды мәге ие. Басқаша айтқанда, функция аты айнымалы ретінде қызмет атқарады. Мұнда функция бірнеше параметрлерге тәуелді болғанмен, ал оның нәтижесі-бір ғана сан екендігін астын сызып айтамыз(әзірше сандық функция туралы). Функцияны сипаттау функцияның аты, ол тәуелді болатын параметрлер тізімі және типі көрсетілген function қызметші сөзімен орындалады:
function функция аты (параметрлер тізімі: 1-тип): 2-тип
Мұнда функция аты әдеттегідей (бірінші символы әріп болатын латынның 63-ке дейінгі әрпінен және цифрлардан тұратын символдар жиынтығы), параметрлер тізімі –функция тәуелді болатын(1-тип) типтері көрсетілген айнымалылар тізімі, 2-тип- функция типі(мұнда функцияның қорытынды мәні көрсетіледі) беріледі.
Бұдан бөлек, функция бұл да программа сияқты, онда тақыры-бынан басқа, оның ішінде қолданылатын айнымалылардың сипат-тамасы және begin, end қызметші сөздері бола алады. Оның ішінде Паскальдың кезкелген операторларын қолдануға болады. Соңғы оператордың функцияның қорытынды мәнін функция атына меншіктеуі маңызды.
Функцияны сипаттау негізгі программа басталғанға дейін, яғни негізгі программаның айнымалыларын сипаттаудан кейін, бірақ негізгі программадағы begin-ге дейін орындалуы керек.
10.1-мысал. Қабырғалары мен екі диагоналының ұзындықтары
белгілі бесбұрыштың ауданын есептеңіз.
Бесбұрыштың ауданы қабырғалары белгілі үшбұрыш
аудандарының қосындысына тең. Әр үшбұрыштың
ауданын есептеу үшін Герон формуласын қолданамыз
(қабырғаларын шартты түрде x,y,z деп белгілейік).
S=, мұнда p=(x+y+z)/2.
Program mys10_1;
var a,b,c,d,f,g,h,s1,s2,s3,ssum:real;
function yshb(x,y,z:real):real;
var p:real;
begin p:=(x+y+z)/2; yshb:=sqrt(p*(p-x)*(p-y)*(p-z))
end;
begin write(‘a,b,c,d,f,g,h-қа мән бер:’);readln(a,b,c,d,f,g,h);
s1:=yshb(a,b,h); s2:=yshb(h,c,g); s3:=yshb(f,g,d);
ssum:=s1+s2+s3; writeln(‘Бесбұрыш ауданы=’,ssum);
end.
Осы программа бойынша есептеу жүргізсек, онда a =1,5, b =1, c =2, d =2,5, f =1, g =2,5, h =2 болғанда, бесбұрыш ауданы =3.90 (шамамен) болады.
Процедуралар
Процедураның функциядан басты айырмашылығы, процедура бірнеше параметрлерге тәуелді болып қана қоймай, оның нәтижелік мәні де бірнешеу болуы мүмкін. Сондықтан да параметрлер тізімі шартты түрде мән-параметрлер және айнымалы-параметрлер деген екі типке бөлінеді. Бұлардың бір-бірінен айырмасы мынада, мән-параметрлер мәліметтерді «оған»(процедураға) жеткізуге қызмет етсе, ал айнымалы-параметрлер мәліметтерді «оған» да және «кері» де жеткізуге қызмет жасайды. Сонымен мән-параметрлер берілген мәліметтерді процедураға жеткізуге, ал айнымалы-параметрлер процедура жұмысының нәтижесін негізгі программаға жеткізуге арналған.
Негізгі программадан процедураға қатынас оның аты бойынша жасалады. Процедура да негізгі программа басталғанға дейін көрсе-тіледі. Процедураның тақырыбы былай жазылады:
Procedure процедура аты(1-параметрлер: 1-тип; var 2-параметрлер: 2-тип). Мұнда 1-параметрлер – мән-параметрлер, ал 2-параметрлер – айнымалы-параметрлер, ол міндетті түрде var қызметші сөзінен басталады. Параметрлердін әрбір түрінің типі(1-тип және 2-тип) көрсетіледі.
10.2-мысал. Үш үштік: a1,b1,c1; a2,b2,c2; a3,b3,c3 сандары берілген.
Әр үштіктің ең үлкені мен ең кішісін, сонан соң
табылған үлкендері мен кішілерінің ішінен олардың
ең үлкені және ең кішісін жеке-жеке табыңыз.
Program mys10_2;
var a1,b1,c1,a2,b2,c2,a3,b3,c3:real;
var max1,max2,max3,min1,min2,min3,max4,min4,max5,min5:real;
procedure maxmin(x,y,z:real; var max,min:real);
begin
if (x>=y) and (x>=z) then max:=x;
if (x<=y) and (x<=z) then min:=x;
if (y>=x) and (y>=z) then max:=y;
if (y<=x) and (y<=z) then min:=y;
if (z>=x) and (z>=y) then max:=z;
if (z<=x) and (z<=y) then min:=z;
end;
begin write(‘a1,b1,c1-ді енгіз:’);readln(a1,b1,c1);
write(‘a2,b2,c2-ні енгіз:’);readln(a2,b2,c2);
write(‘a3,b3,c3-ті енгіз:’);readln(a3,b3,c3);
maxmin(a1,b1,c1,max1,min1);
maxmin(a2,b2,c2,max2,min2);
maxmin(a3,b3,c3,max3,min3);
maxmin(max1,max2,max3,max4,min4);
maxmin(min1,min2,min3,max5,min5);
writeln(‘1-үштіктің ең үлкені-‘,max1,’ең кішісі-‘,min1);
writeln(‘2-үштіктің ең үлкені-‘,max2,’ең кішісі-‘,min2);
writeln(‘3-үштіктің ең үлкені-‘,max3,’ең кішісі-‘,min3);
writeln(‘Үлкендерінің ең үлкені-‘,max4,’ең кішісі-‘,min4);
writeln(‘Кішілерінің ең үлкені-‘,max5,’ең кішісі-‘,min5);
end.
Программада бірмезгілде бірнеше функциялар мен процедура-ларды сипаттауға(қолдануға да) болады. Оларды әдеттегідей бірі-нен кейін бірін тізбектеп жазып орналастырады.
Әдебиет [1, 4]
Тақырып 7. Ақпаратты компьютердің сыртқы құрылғыларында көрсету
Жоспар
-
Файлдар классификациясы: файлдардың типтері және қатынас әдісі бойынша бөлінуі.
-
Мәтіндік файлдар. Нақты және логикалық файлдар түсінігі.
-
Мәтіндік файлдарды өңдеуге арналған процедуралар мен функциялар. Берілгендерді енгізу шығару.
-
Мәліметтердің динамикалық құрылымы. Сілтемелер. Кезектер және ағымдармен жұмыс істеу.
Тапсырмалар
-
Файлдан ақпаратты оқу
-
Файлға мәліметтерді жазу
Тапсырманы орындау бойынша әдістемелік нұсқаулар
Файлдық тип, сыртқы тасымалдаушыда орналасқан бір типтегі компоненттер тізбегінен тұратын Паскаль тіліндегі мәліметтер болып табылады. Ондағы компоненттердің типі файлдық типтен басқа кез-келген бола алады. Паскальда файлдық типтегі айнымалылар ақпаратты енгізу-шығару үшін қолданылады. Ақпаратты енгізу-шығару алдында файлдық айнымалы assign процедурасының көмегімен сыртқы файлмен байланысқан болуы файлды оқу немесе оған жазу үшін ол ашық болуы керек. Сонан соң енгізу-шығаруды орындауға болады.
Файлдардың 3 тобы анықталған: текстік (тип text), типтік (file of <тип>), типтік емес (file). Олармен жұмыс істеу бір-бірінен ерекшеленеді. Әдетте барлық файлдарды тізбектей, ретпен ену мүмкіндігіне ие файлдар дейді. Көңіл аударыңыз: seek процедурасының көмегімен типтік және типтік емес файлдар үшін ретсіз ену режимін орнатуға болады. Бұл кезде файл компоненттерін нөмірлеу нөлден басталады. Жұмыс аяқталған соң файл close процедурасымен жабылуы тиіс. Барлық файлдар үшін қолданылатын стандартты процедуралар мен функциялар:
assign (f, name) - Файлдық айнымалы f–ті сыртқы name файлымен байланыстыру.
chdir (path) - Ағымдағы директорияны өзгерту.
сlose (f) - Ашылған файлды жабу.
erase (f) - Сыртқы файлды жою.
mkdir (path) - Каталог құру.
rename (f, new) - Сыртқы файлдың атын өзгерту.
reset (f[, size]) - Алдын-ала бар файлды ашу.
rewrite (f[, size]) - Бос, жаңа файл ашу. Оған процедурасында көрсетілген атау беріледі. Егер ондай файл бар болса, онда ол файл өшіріледі.
rmdir (path) - Бос каталогты жою.
eof (f) - Файл соңы.
Текстік файлдар жолдарға бөлінген символдар жиынтығынан тұрады. Әрбір жолдың соңында жол соңын білдіретін белгі болады. Текстік файлдармен жұмыс істеу ерекшелігі мынада: мәндері read немесе write процедуралары арқылы енгізілетін және шығарылатын файлдар char немесе string типтерімен қатар жай типтердің бірінде: бүтін, нақты, логикалық (тек жауапқа шығаруда) бола алады. Бұл процедуралар ASCII –жолдармен де жұмыс істей алады.
Текстік файлдар үшін, программаны іске қосқанда автоматты түрде ашылатын және жұмыс соңында автоматты түрде жабылатын екі стандартты файлдық айнымалы бар. Олар: INPUT -клавиатурамен байланыс; OUTPUT -дисплей экранымен байланыс.
Егер text типіндегі файлдармен жұмыс барысында файлдық айнымалы көрсетілмесе, онда файлдық айнымалы INPUT немесе OUTPUT қолданылуда деп есептейді. Текстік файлды оқу үшін reset процедурасымен, не оған жазу үшін rewrite немесе append процедураларының бірімен ашу керек.
Әдебиет [1,5,6]
Тақырып 8. Графиктік операторлармен жұмыс
Жоспар
-
ДК-де графиктік режимде жұмыс жасауға дайындау.
-
Геометриялық объектілермен жұмыс жасау процедуралары.
-
Графиктік бейнелерді салу бағдарламаларына мысалдар.
Тапсырмалар
-
Статикалық сурет салу
-
Динамикалық сурет салу
Тапсырманы орындау бойынша әдістемелік нұсқаулар
Жолдық типті өңдеген кезде бірыңғайлы әдістер қолданылады, барлық әдістердің түбі бір, жолды құрап тұрған символдар массив (жиым) ретінде қарастырады. Масивтің индексінің ең үлкен нөмірі жолды құрап тұрған символдардың санын білдіреді, қысқаша «жолдың ұзындығы» деп аталады.
Жолдың ұзындығы нөлге тең болуы мүмкін. Жол компьютердің жадысында қалай сақталатына көңіл бөлсек, онда жол аяғын білдіретін ерекше белгі болатынын айта кету керек, Delphi-де оны Null (нөль-символ) деп белгілейді.
Жолдың ұзындығын білу кең таралған операцияларға жатады. Сондықтан оны анықтау үшін арнаулы функция бар, функцияның параметрі ретінде жолдық типке тең айнымалы немесе текстік константа тұра алады, функцияның қолдануынан кейін алынған нәтиже бүтін санды береді.
a:=Length(‘hello’); b:=Edit1.Text; a:=Length(b);
a-ның алғашқы мәнісі 5-ке , кейінгі мәні формадағы текст енгізуге арналған жолақтағы енгізілген символдар санына тең болады.
Сурет 1 -POS функциясының жұмысы
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage(IntToStr(Length(Edit1.Text)));
end;
Келесі қарастыратын Pos функциясы, оның екі параметірі бар. Параметірлер санын функцияның бас жолынында көрсетілет. Delphi –дің анықтамасында келесідей жазылған:
Delphi syntax:
function Pos(Substr: string; S: string): Integer;
Substr–бірінші параметрі, S –екінші параметрі. Параметрлердің типі String. Функцияны қолданғаннан кейін қандай типке сәйкес мән алатынымызды жақшаның сыртында қос нүктеден кейін көрсетілген.
A:=’107 FM radio stanctiacy’; B:=’radio’; C:=Pos(B, A);
Кодтың фрагменті орындалғаннан кейін С мәні тең болады 8-ге. Яғни ’radio’ жолы ’107 FM radio stanctiacy’ жолының ішіне 8-ші позициядан еніп тұрғанын білдіреді. Pos функциясы жол ішінде іздестірілуге берілген үлгідегі символдардың тізбегін жолдың бірінші символынан бастап үлгідегі симводардың ретімен салыстыру арқылы барлық үлгідегі символдың толық сәйкестігін анықтайды да, іздестірген кезде бірінші (ең алғашқы) жолдың символымен үлгідегі символдың сәйкестігі дәл келгенде , іздестірілу тоқтатылып, функцияның мәні ретін үлгінің бірінші символының қарама-қарсысында тұрған символдың реттік нөмірі алынады. Іздестіру кезінде сәйкестік табылмаса функцияның мәні нольге тең болады.
Жолдармен жұмыс істегенде ондағы ретімен орналасқан символдарды жойып жіберу қажеттілігі туындайды. Жойылған символдардың орынын олардан кейін орналасқан символдар басады, яғни жолдың ішіндегі ретімен орналасқан символдар жойылғанда одан кейін орналасқан символдар жолдың басына қарай жылжиды. Жолдың ұзындығы жойылған символдар санына қысқарады. Осындай іс-әрекетті орындау үшін Delete процедурасын қолданамыз.
Delphi syntax:
procedure Delete(var S: string; Index, Count:Integer);
Index –жойылатын символдардың басқы позициясы, Count –жойылатын символдардың саны. S –параметірі Index, Count параметрлеріне қарағанда ерекше анықталған, оның алдында var қызметші сөзі жазылған (олардың алдын var қызметші сөзі жоқ). Өңделетін жол S параметірі ретінде процедураға берілет, өңделгеннен кейін S параметрдің мәні жаңартылады (басқаша «қайтарылады» деп те аталады).
Әдебиет [1, 5, 6]
-
Зертханалық сабақтардың мазмұны
Тақырып 2. Есептерді алгоритмдеудің негіздері
Жоспар
-
Алгоритмнің анықтамасы. Алгоритмді баяндаудың тәсілдері.
-
Алгоритм схемаларын жасау ережелері.
-
Алгоритмдердің құрылымдарының түрлері.
-
Сызықтық және тармақталған алгоритмдердің құрылымдарының баяндалуы.
Тапсырмалар
-
Тармақталған алгоритмге есептің шешу жолын көрсететін блок схема құрыңыз
-
Циклдік алгоритмге есептің шешу жолын көрсететін блок схема құрыңыз
Тапсырманы орындау бойынша әдістемелік нұсқаулар
Процедуралық программалау тілдерінде программаның жұмысы операторларды ретімен орындау бойынша, ал, логикалық программалау тілдерінде ол қатаң логикалық ережелерге сәйкес өзгертулер енгізу ретінде қарастырылған болатын. Объектіге бағдарлы оқиғалық программалау тіліне программаның жұмысы негізінен оқиғалар тізбегінен және түрлі объектілердің осы оқиғаларға жауабынан тұрады. Олардың визуальды түрлері — Visual Basic тілі Qbasic программалау тілі негізінде, ал Delphi (Дельфи) Объектілі Паскаль (Object Pascal) тілі құрылған (visual — көзбен көру, экрандық). Олар, әсіресе, Delphi программалау тілі — кез келген қосымшаны дайындауға болатын жылдамдығы тез, қуатты тіл. Паскаль тілін оқып үйренуге жеңіл және MSDOS жүйесінде программа дайындауға ең жақсы құрылымдық программалау тілі екені белгілі. Delphi-де Паскаль тілінде орындау мүмкін және мүмкін емес күрделі процестерді программалауға болады. DeIphi-дің негізгі ерекшелігі — онда қосымша құруда компоненттік және объектілік тәсілдер пайдаланылды (Windows ортасында пайдаланатындықтан, Delphi-де программаны көбінесе қосымша деп айтады). Бұл программалау технологиясында нағыз революция жасады деуге болады. Компоненттік тәсілдің мәнісі жеңіл: әр қосымша кітапханасы программалау ортасында дайындалып, арнайы іс-әрекеттерді орындайтын компоненттер элементтерінен жинақталады. Олар жеткіліксіз болса, объектіні өңдеуге арналған үстеме программа құрылады. Delphi-де қолданылатын негізгі кітапхананы визуальды компоненттер кітапханасы (VCL, Visual Component Library) деп атайды. Компоненттер панелінде топ-тобымен жинақталған, жүздеген кластарға тиісті, стандартты компоненттер бар. Пайдаланушы жаңа компонент дайындап, оны осы панельге қосуына да болады. Delphi Windows жүйесінде праграммалаудың ыңғайлы құралы. Онда көптеген операторларды пайдаланып программа дайындау, программа мәзірін құру, анимация, мультимедиа процестерін ұйымдастыру, OLE технологиясын пайдаланып, басқа офистік қосымшаларды шақыру, олармен жұмыс істеу және т.б. іс-әрекеттерді орындау да мүмкін. Көптеген операторлардың жазылуы Турбо Паскальдағы сияқты. Delphi ортасында төрт терезе бар. Олар: l) Delphi5-Projectl - Delphi5-тің негізгі терезесі; 2) Form1 — Форма; 3) Object Inspector - Объект инспекторы терезесі; 4) Unitl.pas — Редактор терезесі. 1 DeIphi-дің негізгі терезесі үш құрылымнан тұрады: 1 Мәзір. 2 Acnanamap панелі алтыға бөлінеді: • Standard — Стандарттық; • View — Көрсету; • Debug — Баптау; • Custom- Қолданушы; • Desktop — Жұмыс столы; • Internet — Интернет. 3. Компоненттер палитрасы төмендегідей беттерден тұрады: • Standard — Стандартты; • Additional - Қосымша; • Win32 — Windows интерфейсінің 32-разряды; • System — функциялық жүйеге кіру мүмкіндік; • Data Access — Берілгендер қорындағы информациямен жұмыс; • DataControl — Берілгендерді элементтермен басқаруды құру; • dbExpress - SQL-серверіне кіру мүмкіндігі; • DataSnap - Көп салалы берілгендер қорындағы қосымшаны құру; • BDE — BDE арқылы берілгендерге кіру мүмкіндігі; • ADO — ActivX берілгендер объектісін қолданып берілгендер қорына байланыс жасау; • InterBase — Аттас берілгендер қорына тікелей кіру мүмкіндігін қамтамасыз етеді; • SOAP — Аттас техногия көмегімен анықталған ортады берілгендерді алмастыру; • InternetExpress — Аттас қосымшаны құру үшін берілгендер қорындағы анықталған қосымша-клиент және қосымша-сервер бір мезгілде болады; • Internet — Интернет желісінде қосымша Web-серверін құру; • FastNet — Инетернет желісіне кіру хаттамасын қамтамасыз ету; • Decision Cube — Көп өлшемді талдау; • QReport — Есепті құрастыру; • DiaIogs — Стандартты сұхбаттық терезені құру; • Win3.1 — Windows3.1 интерфейсі; • SampIes — Бірге қойылатын жүйелік мысалдар; • ActivX — ActivX компанентті; • COM+ - Аттас объектілерді басқару; • InterBaseAdmin — Аттас берілгендер қорына кіру мүмкіндігін басқару; • WebSnap — Web-серверінің қосымшасын құру; • Server — Жалпы COM серверлер VCL бөлігі үшін; • IndyCIients — Клиент үшін Интернет тәуелсіз тұжырымдама компоненті; • Indy Servers - Сервер үшін тәуелсіз тұжырымдама компоненті; • Indy Miss — Интернеттің қосымша тәуелсіз тұжырымдама компонентті. 2. Delphi-де дайындалатын программа проект (жоба) деп аталады. Форма программаны дайындау алдында ашылатын, программаның сұхбаттық терезесі. Delphi алғашқы рет іске қосылған кезде форма Form1 атауымен көрінеді. Оның жиектеріне тышқан көрсеткішін орналастырып, ол екі жақты нұсқама түріне айналған кезде жылжыту және қалдыру тәсілі бойынша форманы кеңейту не қысу қиын емес. Кей жағдайларда экранда форма көрінбеуі мүмкін. Оны экранға шығару үшін View Forms командасын беру жеткілікті. 3. Форманы не онда орынатылған компонентті программа құру үшін дайындау оның кейбір қасиеттерінің мәндерін өзгертуден басталады. Қасиеттер тізімі Объект инспекторы (Object Inspektor) терезесіне енгізілген. Тізімді инспектор терезесіне шығару үшін сәйкес объектіні (форманы не формада орнатылған форма компоненттін) бір шерту арқылы таңдау керек. Инспектор терезесінің жоғарғы қатарына таңдалған объект атауы да жазылып қойылады. Терезенің екі қосымша беті бар: Properties - қасиеттер және Events — оқиғалар. Терезе ашылғанда екі бағанға енгізілген жазулардан тұратын оның Properties бөлімі ашылулы тұрады. Бірінші бағанда көрінетіндер - қасиет атаулары, екінші бағанға сәйкес жазылғандар — олардың мәндері. 4. Delphi-де программа (проект) екі бөлімнен тұрады: алғашқыда автоматты түрде project1 атауы берілетін проект файлы (негізгі модуль) және unit1.pas атауы берілетін модуль. Олар жеке терезелерде орналастырылған. Модульге оқиғаларға сәйкес ic-әрекеттерді орындайтын программа мәтіні (процедуралар) енгізіледі. Программа мәтінін программалық код деп, терезені программалық код терезесі не қысқаша редактор терезесі деп те атайды. Delphi іске қосылған кезде ол форма терезесінің астында көрінбей тұрады. Оны экранға шығару тәсілдері: - форманы жабу (жабу түймесін шерту); код терезесінің бір шеті форма астында көрініп тұрса, оны шерту. Терезе белсендірулі түрде ашылады да, онда процедура дайындамасы (үлгісі) көрінеді.
Әдебиет [1, 2]
Тақырып 3. Негізгі процедураларға бағытталған алгоритмдік тілдерде программалау. Алгоритмдік тілдің негізгі сипаттамалары
Жоспар
-
Pascal тілінің негізгі сипаттамалары. Тілдің алфавиті.
-
Тілдің объектілерінің жазылуының ерекшеліктері.
-
Мәліметтер типінің ұғымы. Мәндердің стандартты типтері.
-
Айнымалалар және тұрақтылар ұғымы.
-
Ерекше белгілер. Өрнектер. Арифметикалық және логикалық өрнектер.
-
Мәліметтер құрылымы: массивтер, жиындар, жазбалар.
Тапсырмалар
-
Тармақталған алгоритмге есепті шешу
-
Циклдік алгоритмге есепті шешу
-
Масиввтерге есептерді шығару
Тапсырманы орындау бойынша әдістемелік нұсқаулар
Object Pascal тілі Delphi бағдарламалау тілі және стандартты Pascal тілінің объекті - ориентирленген кеңейтілуі болып келеді. Delphi жүйесі визуалды бағдарламалау мүмкіндігін VCL визуалды компонеттердің библиотекасы көмегімен қамтамасыз етеді. Визуалды компоненттердің библиотекасы (Visual Component Library, VCL) қосымшаларды тез өңдеуге арналған көптеген кластарды құрайды. Библиотеканың элементтері Object Pascal - да жазылған, сондықтан ол интегралданған Delphi қосымшасының өңдеу ортасымен тығыз байланысты. VCL де негізінен визуалды емес компененттерден тұрады, және визуалды компоненттер, және де TObject абстракті кластан бастап басқа да кластар бар. Барлық компонентер - бұлар кластар, бірақ барлық кластар компоненттер емес. VCL - дің барлық кластары иерархияның анықталған сатысында орналасқан және кластың ағашын құрайды. Object класы - барлық Object Pascal класының жалпы тегі (атасы) ол иерархияның тамырында (түбірінде) орналасады. Бұл класс абстактілі болып келеді және барлық ұрпақтар кластары үшін жалпы әдістер қолданылады. Негізгі әдістерін атап өтейік:
« Destroy - объектіні жою (өшіру) « Free - Create әдісімен құрылған объектіні өшіру, бұл уақытта Destroy әдісі де шақырылады.
Бұл әдістердің көпшілігі ұрпақ класында қайта анықталады. TPersistents, TComponent, TControl көптеген кластардың атасы болып келген. Көрсетілген кластарға негізінде жалпы қасиеттері, әдістері және оқиғалары (события) кіреді. TPersistents класы ағымнан icкe қосылады және ағымға сақталатын қасиеттері бар объектілер үшін абстракты болып келеді. Ағымның механизмі жадымен жұмыс істеу үшін қолданылады. TObject кластың әдісіне қосымша болатын TPersistents класы бір объектіден екінші объектіге алаңды және қасиеттерді беруге мүмкіндігі бар Assign әдісіне ие. TComponent класы — барлық компоненттерге негіз; өзінің атасының әдісіне қосымша болып, оның басқа компоненттеріне ие болатын құралдарды қамтамасыз етеді. Формаға кез келген компонентті орналастыру нәтижесінде, ол басқа компонентке тиісті болады (негізінен формата). Компонента құру барысында, ол оған тиісті компоненттерді автоматты түрде құрылуын қамтамасыз етеді, ал оны жою барысын оған тиісті барлық компоненттер автоматты түрде жойылады. TComponent класы келесі қасиеттерін белгіленген: • Components — тиісті компоненттер тізімі • ComponentCount тиісті компоненттердің саны • Componentlndex -- тиісті компоненттер тізіміндегі компонент номері, • ComponentState - ағынды компоненттің жағдайы • Name - компоненттің аты • Owner - компоненттің иесі Tag - компонентпен сақталынатын бүтін мәні TComponent компонентінің кейбір әдістері: • Destroy Components - барлық тиісті компоненттерді жою (бұзу) • Destroying - тиісті компоненттің жойылғаны (бұзылғаны) туралы хабар беру» FindCoraponent - Component тізімінен компонентті табу (іздеу) Тілдің сөздігі Сөздер келесі түрлерге бөлінеді: • Кілттік сөздер (ключевые, заразервированные) • Стандатты идентификаторлар • Қолданушының идентификаторлары Кілттік сөздер тілдің құрама бөлігі болып келеді. Редактор кодында кілттік сөздер қалың (полужирный) шрифтпен бөлінеді, Мысалы, And Expor ts mod Array File nil As Finalization not Asm For object Begin Function of Case Goto or Class If out Const Implementation packed Constructor In procedure Destructor Inherited program Dispinterfac Initialization property e Div Inline raise Do Interface record Downto Is repeat Else Label resource string End Library set Except Finally shl Стандартты идентификатор келесі анықталған тілдің өңдеуші конструкциясын көрсету үшін қызмет етеді: • Мәліметтердің типі • Тұрақты (Констант) • Процедура және функция Стандартты идентификаторлары бағдарламада кейбір стандарттармен байланысқан. Оларға: Absolute Name safecall Abstract Near stdcall Assembler Nodefault strored Automated Override virtual Cdecl Packade write Contains Pascal writeonly Default Private Dispid Protected Dynamic Public Export Published External Read Far Readonly Forward Register Implements Reintroduce Index Requires Message Resident Қолданушының идентификаторы белгінің атын, тұрақты (констант), айнымалы, процедура, функция және мәліметтер типін белгілеу үшін қолданылады. Бұл аттар бағдарламашының (программист) өзі береді және ол келесі ережелерге сай келу керек: Идентификатор әріп немесе санмен (цифр) құрылады Идентификатор барлық уақытта әріппен басталады, тек 0 – 9999
Әдебиет [1, 2]
Тақырып 4. Мәліметтерді енгізу-шығаруды ұйымдастыру
Жоспар
-
Алгоритмдік тілдің операторларын кластарға бөлу.
-
Меншіктеу операторлары. Басқару операторлары.
-
Мәліметтерді енгізу-шығаруды ұйымдастыру.
Тапсырмалар
-
Тармақталған алгоритмге есептің шешу жолын көрсететін блок схема құрыңыз
-
Циклдік алгоритмге есептің шешу жолын көрсететін блок схема құрыңыз
Тапсырманы орындау бойынша әдістемелік нұсқаулар
Тармақталу операторы көрсетілген шартқа тәуелді құрамына кіретін операторлардың орындалуын немесе орындалмауын қамтамасыз етеді. Тармақталған алгоритмдерді бағдарланған кезде мынадай қызметші сөздер қолданылады: if - егер , then – онда , else - әйтпесе.
Оператор программадағы іс-әрекеттердің орындалу реттілігін өзгертетін мүмкіндіктің ең кең тараған тәсілі болып табылады. Толық оператордың жазылу түрі:
{Егер шарт онда 1 оператор әйтпесе 2 оператор орындалады.}
IF <шартты өрнек> THEN <1 оператор> ELSE <2 оператор>;
Егер шарттың мәні «ақиқат» болса, THEN сөзінен кейінгі оператор, ал мән «жалған» болса, ELSE сөзінен кейінгі оператор орындалады.
Қысқа оператордың жазылу түрі:
IF <шартты өрнек> THEN <1 оператор> ;
Мысал:
program j;
var x,y:integer;
begin
read(x);
if x<3 then y:=x+2 else y:=5*x;
write('y=',y);
end.
Таңдау операторы.
Көптеген біршама күрделі программаларда таңдау операторын қолданған қолайлы:
case таңдау параметрі of таңдау тізімі else 2-оператор end
мұнда таңдау тізімі-бір немесе бірнеше түрдегі конструкциялар:
•таңдау тұрақтысы: оператор
•таңдау тұрақтысы бірнешеу болуы мүмкін, соған сәйкес бірнеше операторлар да орындалуы мүмкін.
Бұл оператордың жұмыс реті анық: таңдау параметрлерінің мәні анықталады, сосын осы таңдау параметрінің мәніне тең болатын таңдау тұрақтысы ізделеді, енді соған сәйкес оператор орындалады, егер таңдау тізімінде осы тұрақты жоқ болып шықса, онда 2-оператор орындалады.
Таңдау операторына ай кварталдары бойынша есеп шығарып көрейік:
program esep;
var month:integer;
begin
case MONTH of
read(month);
1, 2, 3 : writeln ('1- квартал');
4, 5, 6 : writeln ('2- квартал');
7, 8, 9 : writeln ('3- квартал');
10, 11, 12 : writeln ('4- квартал'); else writeln('ондай ай жок')
end;
readln;
end.
Әдебиет [1, 2]
Тақырып 6. Ішкі бағдарламалар: процедуралар және функциялар
Жоспар
-
Ішкі программаларды ұйымдастыру әдістері. Ішкі программаларды шақыру.
-
Жадының жалпы облысын пайдалану.
-
Стандартты ішкі функциялардың қоры және процедуралары. Оларды шақырудың тәсілдері.
Тапсырмалар
-
Функцияларға есептер шығару
-
Ароцедураларға есептер шығару
Тапсырманы орындау бойынша әдістемелік нұсқаулар
Функцияның ерекшелігі, оған қатынасуға болатын атының болуында және осы ат(осы функцияның орындалуы нәтижесінде) қорытынды мәге ие. Басқаша айтқанда, функция аты айнымалы ретінде қызмет атқарады. Мұнда функция бірнеше параметрлерге тәуелді болғанмен, ал оның нәтижесі-бір ғана сан екендігін астын сызып айтамыз(әзірше сандық функция туралы). Функцияны сипаттау функцияның аты, ол тәуелді болатын параметрлер тізімі және типі көрсетілген function қызметші сөзімен орындалады:
function функция аты (параметрлер тізімі: 1-тип): 2-тип
Мұнда функция аты әдеттегідей (бірінші символы әріп болатын латынның 63-ке дейінгі әрпінен және цифрлардан тұратын символдар жиынтығы), параметрлер тізімі –функция тәуелді болатын(1-тип) типтері көрсетілген айнымалылар тізімі, 2-тип- функция типі(мұнда функцияның қорытынды мәні көрсетіледі) беріледі.
Бұдан бөлек, функция бұл да программа сияқты, онда тақыры-бынан басқа, оның ішінде қолданылатын айнымалылардың сипат-тамасы және begin, end қызметші сөздері бола алады. Оның ішінде Паскальдың кезкелген операторларын қолдануға болады. Соңғы оператордың функцияның қорытынды мәнін функция атына меншіктеуі маңызды.
Функцияны сипаттау негізгі программа басталғанға дейін, яғни негізгі программаның айнымалыларын сипаттаудан кейін, бірақ негізгі программадағы begin-ге дейін орындалуы керек.
10.1-мысал. Қабырғалары мен екі диагоналының ұзындықтары
белгілі бесбұрыштың ауданын есептеңіз.
Бесбұрыштың ауданы қабырғалары белгілі үшбұрыш
аудандарының қосындысына тең. Әр үшбұрыштың
ауданын есептеу үшін Герон формуласын қолданамыз
(қабырғаларын шартты түрде x,y,z деп белгілейік).
S=, мұнда p=(x+y+z)/2.
Program mys10_1;
var a,b,c,d,f,g,h,s1,s2,s3,ssum:real;
function yshb(x,y,z:real):real;
var p:real;
begin p:=(x+y+z)/2; yshb:=sqrt(p*(p-x)*(p-y)*(p-z))
end;
begin write(‘a,b,c,d,f,g,h-қа мән бер:’);readln(a,b,c,d,f,g,h);
s1:=yshb(a,b,h); s2:=yshb(h,c,g); s3:=yshb(f,g,d);
ssum:=s1+s2+s3; writeln(‘Бесбұрыш ауданы=’,ssum);
end.
Осы программа бойынша есептеу жүргізсек, онда a =1,5, b =1, c =2, d =2,5, f =1, g =2,5, h =2 болғанда, бесбұрыш ауданы =3.90 (шамамен) болады.
Процедуралар
Процедураның функциядан басты айырмашылығы, процедура бірнеше параметрлерге тәуелді болып қана қоймай, оның нәтижелік мәні де бірнешеу болуы мүмкін. Сондықтан да параметрлер тізімі шартты түрде мән-параметрлер және айнымалы-параметрлер деген екі типке бөлінеді. Бұлардың бір-бірінен айырмасы мынада, мән-параметрлер мәліметтерді «оған»(процедураға) жеткізуге қызмет етсе, ал айнымалы-параметрлер мәліметтерді «оған» да және «кері» де жеткізуге қызмет жасайды. Сонымен мән-параметрлер берілген мәліметтерді процедураға жеткізуге, ал айнымалы-параметрлер процедура жұмысының нәтижесін негізгі программаға жеткізуге арналған.
Негізгі программадан процедураға қатынас оның аты бойынша жасалады. Процедура да негізгі программа басталғанға дейін көрсе-тіледі. Процедураның тақырыбы былай жазылады:
Procedure процедура аты(1-параметрлер: 1-тип; var 2-параметрлер: 2-тип). Мұнда 1-параметрлер – мән-параметрлер, ал 2-параметрлер – айнымалы-параметрлер, ол міндетті түрде var қызметші сөзінен басталады. Параметрлердін әрбір түрінің типі(1-тип және 2-тип) көрсетіледі.
10.2-мысал. Үш үштік: a1,b1,c1; a2,b2,c2; a3,b3,c3 сандары берілген.
Әр үштіктің ең үлкені мен ең кішісін, сонан соң
табылған үлкендері мен кішілерінің ішінен олардың
ең үлкені және ең кішісін жеке-жеке табыңыз.
Program mys10_2;
var a1,b1,c1,a2,b2,c2,a3,b3,c3:real;
var max1,max2,max3,min1,min2,min3,max4,min4,max5,min5:real;
procedure maxmin(x,y,z:real; var max,min:real);
begin
if (x>=y) and (x>=z) then max:=x;
if (x<=y) and (x<=z) then min:=x;
if (y>=x) and (y>=z) then max:=y;
if (y<=x) and (y<=z) then min:=y;
if (z>=x) and (z>=y) then max:=z;
if (z<=x) and (z<=y) then min:=z;
end;
begin write(‘a1,b1,c1-ді енгіз:’);readln(a1,b1,c1);
write(‘a2,b2,c2-ні енгіз:’);readln(a2,b2,c2);
write(‘a3,b3,c3-ті енгіз:’);readln(a3,b3,c3);
maxmin(a1,b1,c1,max1,min1);
maxmin(a2,b2,c2,max2,min2);
maxmin(a3,b3,c3,max3,min3);
maxmin(max1,max2,max3,max4,min4);
maxmin(min1,min2,min3,max5,min5);
writeln(‘1-үштіктің ең үлкені-‘,max1,’ең кішісі-‘,min1);
writeln(‘2-үштіктің ең үлкені-‘,max2,’ең кішісі-‘,min2);
writeln(‘3-үштіктің ең үлкені-‘,max3,’ең кішісі-‘,min3);
writeln(‘Үлкендерінің ең үлкені-‘,max4,’ең кішісі-‘,min4);
writeln(‘Кішілерінің ең үлкені-‘,max5,’ең кішісі-‘,min5);
end.
Программада бірмезгілде бірнеше функциялар мен процедура-ларды сипаттауға(қолдануға да) болады. Оларды әдеттегідей бірі-нен кейін бірін тізбектеп жазып орналастырады.
Әдебиет [1, 4]
Тақырып 7. Ақпаратты компьютердің сыртқы құрылғыларында көрсету
Жоспар
-
Файлдар классификациясы: файлдардың типтері және қатынас әдісі бойынша бөлінуі.
-
Мәтіндік файлдар. Нақты және логикалық файлдар түсінігі.
-
Мәтіндік файлдарды өңдеуге арналған процедуралар мен функциялар. Берілгендерді енгізу шығару.
-
Мәліметтердің динамикалық құрылымы. Сілтемелер. Кезектер және ағымдармен жұмыс істеу.
Тапсырмалар
-
Файлдан ақпаратты оқу
-
Файлға мәліметтерді жазу
Тапсырманы орындау бойынша әдістемелік нұсқаулар
Файлдық тип, сыртқы тасымалдаушыда орналасқан бір типтегі компоненттер тізбегінен тұратын Паскаль тіліндегі мәліметтер болып табылады. Ондағы компоненттердің типі файлдық типтен басқа кез-келген бола алады. Паскальда файлдық типтегі айнымалылар ақпаратты енгізу-шығару үшін қолданылады. Ақпаратты енгізу-шығару алдында файлдық айнымалы assign процедурасының көмегімен сыртқы файлмен байланысқан болуы файлды оқу немесе оған жазу үшін ол ашық болуы керек. Сонан соң енгізу-шығаруды орындауға болады.
Файлдардың 3 тобы анықталған: текстік (тип text), типтік (file of <тип>), типтік емес (file). Олармен жұмыс істеу бір-бірінен ерекшеленеді. Әдетте барлық файлдарды тізбектей, ретпен ену мүмкіндігіне ие файлдар дейді. Көңіл аударыңыз: seek процедурасының көмегімен типтік және типтік емес файлдар үшін ретсіз ену режимін орнатуға болады. Бұл кезде файл компоненттерін нөмірлеу нөлден басталады. Жұмыс аяқталған соң файл close процедурасымен жабылуы тиіс. Барлық файлдар үшін қолданылатын стандартты процедуралар мен функциялар:
assign (f, name) - Файлдық айнымалы f–ті сыртқы name файлымен байланыстыру.
chdir (path) - Ағымдағы директорияны өзгерту.
сlose (f) - Ашылған файлды жабу.
erase (f) - Сыртқы файлды жою.
mkdir (path) - Каталог құру.
rename (f, new) - Сыртқы файлдың атын өзгерту.
reset (f[, size]) - Алдын-ала бар файлды ашу.
rewrite (f[, size]) - Бос, жаңа файл ашу. Оған процедурасында көрсетілген атау беріледі. Егер ондай файл бар болса, онда ол файл өшіріледі.
rmdir (path) - Бос каталогты жою.
eof (f) - Файл соңы.
Текстік файлдар жолдарға бөлінген символдар жиынтығынан тұрады. Әрбір жолдың соңында жол соңын білдіретін белгі болады. Текстік файлдармен жұмыс істеу ерекшелігі мынада: мәндері read немесе write процедуралары арқылы енгізілетін және шығарылатын файлдар char немесе string типтерімен қатар жай типтердің бірінде: бүтін, нақты, логикалық (тек жауапқа шығаруда) бола алады. Бұл процедуралар ASCII –жолдармен де жұмыс істей алады.
Текстік файлдар үшін, программаны іске қосқанда автоматты түрде ашылатын және жұмыс соңында автоматты түрде жабылатын екі стандартты файлдық айнымалы бар. Олар: INPUT -клавиатурамен байланыс; OUTPUT -дисплей экранымен байланыс.
Егер text типіндегі файлдармен жұмыс барысында файлдық айнымалы көрсетілмесе, онда файлдық айнымалы INPUT немесе OUTPUT қолданылуда деп есептейді. Текстік файлды оқу үшін reset процедурасымен, не оған жазу үшін rewrite немесе append процедураларының бірімен ашу керек.
Әдебиет [1,5,6]
Тақырып 8. Графиктік операторлармен жұмыс
Жоспар
-
ДК-де графиктік режимде жұмыс жасауға дайындау.
-
Геометриялық объектілермен жұмыс жасау процедуралары.
-
Графиктік бейнелерді салу бағдарламаларына мысалдар.
Тапсырмалар
-
Статикалық сурет салу
-
Динамикалық сурет салу
Тапсырманы орындау бойынша әдістемелік нұсқаулар
Жолдық типті өңдеген кезде бірыңғайлы әдістер қолданылады, барлық әдістердің түбі бір, жолды құрап тұрған символдар массив (жиым) ретінде қарастырады. Масивтің индексінің ең үлкен нөмірі жолды құрап тұрған символдардың санын білдіреді, қысқаша «жолдың ұзындығы» деп аталады.
Жолдың ұзындығы нөлге тең болуы мүмкін. Жол компьютердің жадысында қалай сақталатына көңіл бөлсек, онда жол аяғын білдіретін ерекше белгі болатынын айта кету керек, Delphi-де оны Null (нөль-символ) деп белгілейді.
Жолдың ұзындығын білу кең таралған операцияларға жатады. Сондықтан оны анықтау үшін арнаулы функция бар, функцияның параметрі ретінде жолдық типке тең айнымалы немесе текстік константа тұра алады, функцияның қолдануынан кейін алынған нәтиже бүтін санды береді.
a:=Length(‘hello’); b:=Edit1.Text; a:=Length(b);
a-ның алғашқы мәнісі 5-ке , кейінгі мәні формадағы текст енгізуге арналған жолақтағы енгізілген символдар санына тең болады.
Сурет 1 -POS функциясының жұмысы
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage(IntToStr(Length(Edit1.Text)));
end;
Келесі қарастыратын Pos функциясы, оның екі параметірі бар. Параметірлер санын функцияның бас жолынында көрсетілет. Delphi –дің анықтамасында келесідей жазылған:
Delphi syntax:
function Pos(Substr: string; S: string): Integer;
Substr–бірінші параметрі, S –екінші параметрі. Параметрлердің типі String. Функцияны қолданғаннан кейін қандай типке сәйкес мән алатынымызды жақшаның сыртында қос нүктеден кейін көрсетілген.
A:=’107 FM radio stanctiacy’; B:=’radio’; C:=Pos(B, A);
Кодтың фрагменті орындалғаннан кейін С мәні тең болады 8-ге. Яғни ’radio’ жолы ’107 FM radio stanctiacy’ жолының ішіне 8-ші позициядан еніп тұрғанын білдіреді. Pos функциясы жол ішінде іздестірілуге берілген үлгідегі символдардың тізбегін жолдың бірінші символынан бастап үлгідегі симводардың ретімен салыстыру арқылы барлық үлгідегі символдың толық сәйкестігін анықтайды да, іздестірген кезде бірінші (ең алғашқы) жолдың символымен үлгідегі символдың сәйкестігі дәл келгенде , іздестірілу тоқтатылып, функцияның мәні ретін үлгінің бірінші символының қарама-қарсысында тұрған символдың реттік нөмірі алынады. Іздестіру кезінде сәйкестік табылмаса функцияның мәні нольге тең болады.
Жолдармен жұмыс істегенде ондағы ретімен орналасқан символдарды жойып жіберу қажеттілігі туындайды. Жойылған символдардың орынын олардан кейін орналасқан символдар басады, яғни жолдың ішіндегі ретімен орналасқан символдар жойылғанда одан кейін орналасқан символдар жолдың басына қарай жылжиды. Жолдың ұзындығы жойылған символдар санына қысқарады. Осындай іс-әрекетті орындау үшін Delete процедурасын қолданамыз.
Delphi syntax:
procedure Delete(var S: string; Index, Count:Integer);
Index –жойылатын символдардың басқы позициясы, Count –жойылатын символдардың саны. S –параметірі Index, Count параметрлеріне қарағанда ерекше анықталған, оның алдында var қызметші сөзі жазылған (олардың алдын var қызметші сөзі жоқ). Өңделетін жол S параметірі ретінде процедураға берілет, өңделгеннен кейін S параметрдің мәні жаңартылады (басқаша «қайтарылады» деп те аталады).
Әдебиет [1, 5, 6]
-
Өзіндік жұмыс тапсырмалары
Тақырып 1. Компьютердің программалық құралдары
Тапсырмалар
Сұрақтарға жауап беру
-
Алгоритмді блок- схема түрлерін көрсет.
-
Сандарды ауыстыру алгоритмін құр.
Тақырып 2. Есептерді алгоритмдеудің негіздері
Тапсырмалар
Сұрақтарға жауап беру
-
Алгоритм деген не және түрлері қандай
-
Алгоритм қасиеттері қандай.
Тақырып 3. Негізгі процедураларға бағытталған алгоритмдік тілдерде программалау. Алгоритмдік тілдің негізгі сипаттамалары
Тапсырмалар
-
Есептер шығару
-
Сұрақтарға жауап беру
-
Идентификаторлар қалай жазылады, резервтелген сөздерді ата
-
Div, mod операторларының жұмысын сипатта
-
Айнымалы мен тұрақтыларды сипаттау.
-
Айнымалы типтерін ата
-
Логикалық операциялардың орындалуы
-
Математикалық функциялар
Тақырып 4. Мәліметтерді енгізу-шығаруды ұйымдастыру
Тапсырмалар
-
Есептер шығару
-
Сұрақтарға жауап беру
-
Меншіктеу операторы қалай жазылады
-
Тармақталған оператордың жазылу түрін көрсет
-
Таңдау опреаторы
-
Қайталану саны белгілі цикл операторы
-
Кейінгі шартты цикл опреаторы
-
Алдыңғы шартты цикл операторы
Тақырып 5. Программаның құрылымы
Тапсырмалар
-
Есептер шығару
-
Сұрақтарға жауап беру
-
Массивтермен жұмыс істеуге мүмкіндік беретін компонента қайсысы
-
Массив ұғымы, массив түрлері, индекс ұғымы
-
Массивті сипаттау, енгізу және шығару
-
Массив элементтерімен орындалатын операциялар және есептер
-
Құрылымдар ұғымы, олармен жасалынатын операциялар
-
Массивті және құрылымды сұрыптау әдістері
Тақырып 6. Ішкі бағдарламалар: процедуралар және функциялар
Тапсырмалар
-
Есептер шығару
-
Сұрақтарға жауап беру
-
Функция және процедура ұғымы, олардың айырмашылығы
-
Рекурсия ұғымы
-
Функцияны сипаттау және пайдалану
-
Процедураны сипаттау және пайдалану
Тақырып 7. Ақпаратты компьютердің сыртқы құрылғыларында көрсету
Тапсырмалар
-
Есептер шығару
-
Сұрақтарға жауап беру
-
Файлдармен жұмыс жасайтын операторлар
-
Файлдық айнымалыларды сипаттау
-
Файлды қосу.
-
Файлдан мәліметтерді алу және файлға сақтау
Тақырып 8. Графиктік операторлармен жұмыс
Тапсырмалар
-
Есептер шығару
-
Сұрақтарға жауап беру
-
Жолдық типтерді сипаттау
-
Жолдық типтермен жасалынатын операциялар
-
Символдық мәліметтерді өңдеу әдістері
Тақырып 9. Программаларды ұйымдастыру
Тапсырмалар
-
Есептер шығару
-
Сұрақтарға жауап беру
-
Бағдарламаның интерфейсін безендіру
-
Терезелер мен панельдерді пайдалану
9. Білім алушылардың оқытушымен өздік жұмысына кеңес беру кестесі
Барлық сұрақтар бойынша кеңес ағымдағы семестрдегі білім алушылардың оқытушымен өздік жұмысының кестесіне сәйкес жүргізіледі.
10. Білім алушылардың білімдерін тексерудің кестесі
Пән бойынша тапсырмаларды орындау және тапсыру кестесі
№
|
Жұмыс түрлері
|
Тақырып, мақсаты және тапсырма мазмұны
|
Ұсынылатын әдебиеттер
|
Орындау ұзақтығы
|
бақылау формасы
|
Тапсыру мерзімі
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
1
|
СӨЖ тапсырмаларын орындау
|
Компьютердің программалық құралдары
|
|
1 апта
|
|
1 апта
|
2
|
СӨЖ тапсырмаларын орындау
|
Есептерді алгоритмдеудің негіздері
|
|
1 апта
|
|
2 апта
|
|
СӨЖ тапсырмаларын орындау
|
Негізгі процедураларға бағытталған алгоритмдік тілдерде програм-малау. Алгоритмдік тілдің негізгі сипаттамалары
|
|
2 апта
|
|
4 апта
|
|
СӨЖ тапсырмаларын орындау
|
Мәліметтерді енгізу-шығаруды ұйымдастыру
|
|
2 апта
|
|
6 апта
|
|
СӨЖ тапсырмаларын орындау
|
Программаның құрылымы
|
|
2 апта
|
|
8 апта
|
3
|
Межелік бақылау
|
|
|
|
тест
|
8 апта
|
4
|
СӨЖ тапсырмаларын орындау
|
Ішкі бағдарламалар: процедуралар және функциялар
|
|
1 апта
|
|
9 апта
|
5
|
СӨЖ тапсырмаларын орындау
|
Ақпаратты компьютердің сыртқы құрылғыларында көрсету
|
|
2 апта
|
|
11 апта
|
7
|
СӨЖ тапсырмаларын орындау
|
Графиктік операторлармен жұмыс
|
|
2 апта
|
|
13 апта
|
|
СӨЖ тапсырмаларын орындау
|
Программаларды ұйымдастыру
|
|
2 апта
|
|
15 апта
|
|
Межелік бақылау
| | |
|
тест
|
15 апта
|
3>1>2>1>3>1>2>1>
Достарыңызбен бөлісу: |