Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
матриц.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
5.95 Mб
Скачать

1.2 Бағдарламалау тілінің элементтеріне шолу

Delphi тіліндегі бағдарламаның құрамына .dpr кеңейтілуі бар жобаның файлы және .pas кеңейтілуі бар бір немесе бірнеше модульдер файлдары кіреді. Жобаның құрылымы Бағдарламаны Delphi автоматты түрде құрастырады және жолдардан тұрады.

Бағдарлама Program сөзімен басталып, End сөзінен кейін қойылған нүктемен (терминатормен) аяқталады. Object Pascal тілінде көптеген арнайы сөздер әртүрлі нұсқау ретінде қолданылады, компилятор оларды солдан оңға және жоғарыдан төмен қарай оқиды. Жүйелі жақшаға алынған таңбалар түсініктеме ретінде қолданылады. Сонымен қатар, түсініктемені көрсету үшін “(* *)” немесе “ // ” белгілерін қолдануға болады.

Бірақ {$R*.RES} жолы (жақшадан кейін “$” белгісі тұрған) түсініктеме емес, ол кампиляторға берілген нұсқау болып табылады.

Program сөзі және кейін анықталған бағдарламаның атауы-бағдарламаның тақырыбы деп саналады.

Uses (пайдалану) сөзімен басталған сөйлем бағдарламаны осы сөзбен анықталған басқа файлдарда орналасқан модульдерді қоса есептегенде компиляциялау керектігін хабарлайды. Жобаның файлымен бірге стандартты Forms және бағдарламалаушы өзі құрастырған ‘Unit1.pas’ файлындағы Unit1 модулдерін біріктіре отырып, компиляциялау керектігі туралы берілген нұсқау.

Осындай нұсқаудан соң бағдарламаның денесі орналасады, ол Begin сөзімен басталып, End және одан кейін қойылған нүктемен (терминатормен) аяқталады. Қарастырылып отырған бағдарламаның денесі үш орындалатын операторлардан құралған:

Әр оператор Application (Қосымша) объектінің белгілі бір әдісін шақыру жұмысын атқарады.

Object Pascal-да объект деп арнайы даярланған берілгендер мен оларды өңдеуде қолданылатын ішкі бағдарламалардың жиынтығынан тұратын және біртұтас болып саналатын бағдарламаның үзіндісін айтады. Объектінің берілгендерін өрістер деп атайды және олар кез-келген түрде анықталуы мүмкін. Объектінің ішкі бағдарламаларын әдістер деп атайды.

Объектілік типтердің негізгі ерекшелігі болып, ол объектінің өрістермен бірге қолданылатын әртүрлі іс-әрекеттердің жиынын ішкі бағдарламалар (процедура және функциялар) арқылы анықтауға болатындығы табылады.

Инкапсуляция- берілгендерді өңдеудің алгоритмдерін бір бүтін құрылымға біріктіру деген тұжырым.

Объектілі типтердің негізгі-функционалды толықтығы және өрістер мен әдістерінің бір-бірінен ажыратылмауы оларды бағдарламанның бөлек бір тәуелсіз бөлігі ретінде қолдануға мүмкіндік туғызады. Мұндай объектілерді бір бағдарламадан екіншіге оңай алмастыруға болады. Бұл принципті объектіге бағытталған бағдарламалау тәсілдері деп атайды.

Қарастырылған мысалдағы Application объектінің құрамына Windows бағдарламасының жұмысын ұйымдастыратын көптеген берілгендер мен ішкі бағдарламалар кіреді. Жалпы Delphi ортасы кез-келген жаңа жобаның автоматты түрде құрастырады.

Initialize әдісі арқылы бағдарлама Windows-тің басқаруымен әртүрлі көмекші жұмыстарды орындайды. Application. Initialize әдісі шақырылғанда компилятордың құрастырған коды процессорды Delphi ортасынның даяар тұрған бір үзіндісін орындатуға мұқтаж етеді. Осы орындалғаннан кейін (немесе ішкі бағдарламадан шықаннан кейін) келесі жолдағы GreatForm әдісі орындалады және т.с.с.

GreatForm әдісі негізгі терезені құрастырып, оны экранда көрсетеді. Ал Run әдісі берілгендер мен оларды өңдеу туралы Windows –тан кез келген хабарларды қабылдайды. Close батырмасы басылғанда, бағдарламаға Windows –тан жұмысты тоқтату және жүйелі ресурстарды (жадыны және процессорды) босату туралы нұсқау беріледі.

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

Модульдер – бағдарламанның үзіндісін орналастыру үшін қолданылады.

Модуль деп - бағдарламанның белгілі бір тәуелсіз бөлігін атайды және олар стандартты және бейстандартты болып екі топқа бөлінеді. Модульдің коды бағдарламаның бет алысын анықтайды.

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

Кез-келген модульдің құрамына келесі бөліктер кіреді:

Тақырыбы

Интерфейстік бөлігі

Орындалатын бөлігі

Терминатор.

Модуль тақырыбы Unit арнайы сөзінен басталады, сонан соң модуль атауы және нүктелі үтір тұрады. Интерфейстік бөлігі Interface, ал орындалатын бөлігі Implementation – түйінді сөзімен басталады. Модульдің терминаторы бағдарламаның терминаторы сияқты - End. Түйінді сөзімен аяқталады.

Интерфейс бөлігінде аталмыш модульде қолданылатын, аты Uses тізімінде көрсетілген барлық модульдер мен бағдарламаларға қол жетерлік мүмкіндігін туғызатын идентификаторлардың анықтамасы орналасады. Сонымен қатар, бұл бөлікте ортақ тұрақтылар, типтер, айнымалылар және ішкі бағдарламалардың тек қана тақырыптары жарияланады.

Модульдің атауы – оны басқа модульдермен және негізгі бағдарламамен байланыстыру үшін қолданылады. Модульдің интерфейстік объектілеріне қол жеткізу үшін бағдарламада қажетті TPU файлдың атын көрсету керек. Бұл байланыс келесі сөйлем арқылы жүзеге асырылады:

USES < модульдер тізімі>;

USES – арнайы сөз; <модульдер тізімі > - бағдарлама мен модульдерді

бір-бірімен байланыстыруға қажетті модульдердің тізімі. Бұл сөйлемді қолданылатын модульдер спецификация деп атайды және ол негізгі бағдарламаның тақырыбынан соң орналасуы қажет. Егер аталмыш модуль басқа бір модульдің объектілерін қолданса, онда осындай спецификация Interface түйінді сөзінен соң бірден орналасады. Пайдаланылатын модульдердің спецификациясы келтірілген жағдайда бағдарламаға қосылған модульдің интерфейстік бөлігінің барлық сипаттамалары белгілі деп саналады.

Модульдің интерфейстік бөлігінде негізгі бағдарламада және басқа модульдерде қолданылатын аталмыш модульдің барлық сыртқы объектілері анықталады. Паскаль бағдарламасы сияқты бұл анықтамадағы объектілердің реті кез-келген түрде бола алады. Интерфейстік бөлікте ішкі бағдарламалардың тек қана тақырыптары келтіріледі, ал олардың толық анықтамасы модульдің орындалатын бөлігінде көрсетіледі.

Implementation – модульдің орындалатын бөлігінде интерфейсте көрсетілген ішкі бағдарламалардың орындайтын жұмысы анықталады.Ішкі бағдарламалардың орналасу реті интерфейстік бөлігінде көрсетілген ретімен бірдей болуы шарт емес. Бұл бөлімде ішкі бағдарламалардың тақырыбын ған көрсетсе жеткілікті, себебі параметрлер тізімі мен функция нәтижесінің типі интерфейсте анықталған. Сондай-ақ мұнда аталмыш модульге ғана тән және бұл модульден тыс белгісіз тұрақтыларды, типтерді, айнымалыларды және ішкі бағдарламаларды жариялауға болады.

Инициализациялау бөлігінде осы модульдерді іске асыратын бағдарлама жұмысының басталғандығы туралы операторлар орналасады. Модульдердің іске асырылуы бағдарламаның Uses бөлігінде көрсетілген ретімен орындалады. Бұл бөлік Initilization сөзімен басталады. Бірақ ол бөліктің болмауы да ықтимал. Егер бағдарламада инициялизациялау бөлігі бар болса, деинициялизациялау бөлігі де болуы мүмкін. Бұл бөлік Finalization сөзінен басталады және оның құрамына бағдарлама жұмысын тоқтатқандағы орындалатын операторлар кіреді. Модульдерді деинициялизациялау әрекеттері бағдарламаның Uses бөлігінде көрсетілген ретіне кері бағытта орындалады. Әр жаңа форма құрылғанда жаңа модуль де құрылады. Жалпы бағдарлама құрамында көптеген формалар және олармен байланысты модульдер болуы мүмкін.

Жоғарыдағы құрастырылған формаға сәйкестелген модульдің кодын File => Open опецияларын орындау арқылы Example файлын ашып, көруге болады.

Бұл мәтінді DELPHI ортасы өзі құрастырады. Жоғарыда айтылғандай, жобаның файлына килігуге тыйым салынған, ал модульдің файлына әртүрлі жұмыстарды орындатуға негізделген өзгерістерді енгізуге болады.

Модульдің интерфейстік бөлігінде бір тип (класс Tfm Example) және бір объект айнымалысы анықталған.

Класс деп объектілерді құрудағы қолданылатын үлгілерді айтады, ал объект сол үлгінің туындысы болып табылады. Үлгілері Object Pascal тілінде анықталған тип және келтірілген мысалда ол Type TfExample =class (TForm) деп анықталған.Стандартты класс TForm Windows-тің бос терезесін құрастыру жұмысын атқарады. TForm –ның барлық мүмкіндіктерін иемденеді және оларға бос формаға орналастырылған компоненттер жиыны біріктіреді.

  1. АРНАЙЫ БӨЛІМ

2.1 Тапсырманың жалпы қойылымы

«Матрицаларға қолданылатын амалдар бағдарламасын құру .

Матрицаларға қолданылатын келесі әрекеттерді орындайтын бағдарлама құру:

  • максималды элементі

  • минималды әлементі

  • бірінші жолдың көбейтіндісі

  • екінші жолжың көбейтіндісін

  • бір де бір нолі жоқ баған санын

  • бір де бір нолі жоқ жол санын

Бағдарламаға қолданылған әрекеттерге түсініктеме еңгізу

2.2 Бағдарламаның функционалдық және құрылымдық сызбасы

Күрделі программалық қамсыздандыруларды жобалау процесін оның құрылымын анықтаудан басталады. Құрылымды айқындау нәтижесі, құрылымдық немесе функционалдық сызбалар және компоненттер спецификациясы түрінде берілуі мүмкін.

Өңделіп жатқан программалық қамсыздандырудың құрылымдық сызбасы.

Құрылымдық деп – программалық қамсыздандырудың бөлімдерін басқару бойынша өзара әрекетін және құрамын көрсететін сызбаны айтамыз.

Программалық қамсыздандырудың ең қарапайым түрі – программа болып табылады. Ол құрылымдық компоненттер ретінде тек қана подпрограмма мен ресурстар кітапханасынан тұрады.

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

Құрылымдық сызбалар пакеті әрбір бағдарлама пакеті үшін жасалынады.техникалық тапсырмада көрсетілген функцияларды сұрыптай отырып бағдарлама пакетінің тізімін анықтайды.