русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Жазулар


Дата добавления: 2015-07-09; просмотров: 2336; Нарушение авторских прав


Ғылыми – техникалық және экономикалық есептеулерде көптеген мәліметтерді өңдеуде олардың типтерінің әртүрлі болуы біршама қиындықтар туғызада. Мысалы көп өлшемді массивтердің элементтерінің типтерін бір түрге келтіру үшін бірқатар қосымша функциялар ( ) қолдануға тура келеді. Кейбір есептеулерде әртүрлі типті мәліметтердің әрқайсысына бөлек массив қолданылады да, бір-бірімен индекстері арқылы сәйкестендіріледі. Бұл бағдарламалық тексті үлкейтіп және оның оқылуын ауырлатып жібереді. Осындай жағдайларда бағдарламаның құрылымын анағұрлым жеңілдету үшін әртүрлі типті мәліметтер жиынтығы болып табылатын жазуларды (немесе жазбаларды) қолданады.

Бағдарламада жазулар белгілі бір идентификатормен белгіленіп, типтер бөлімінде сипатталады. Типтер бөлімінде жазуларды сипаттау жазуларды білдіретін RECORD (жазу, жазба) сөзімен басталады да, END қызметші сөзімен аяқталады. Олардың аралығында жазулар өрісі деп аталатын жазулар құрамына кіретін барлық компанентердің тізімі олардың типтерімен бірге көрсетіледі. Жазулардың типтер бөлімінде сипатталуы:

a) TYPE Dosye=RECORD

A,C:String;

B, E:Integer;

D: Char; END;

VAR X, Y : Dosye;

мұндағы:

- Dosye – барлық жазу компанентерінің ортақ типі ретінде белгіленген идентификатор;

- RECORD... END жазуды анықтайтын операторлық жақшалардың қызметін атқарады;



- A,C – жолдық қатар болатын айнымалылар;

- B, E - сандар

- D – символдық шама

- X, Y – жазу аты ретінде белгіленген жазулық айнымалылар

 

ә) TYPE Futboll=RECORD

A:Array[ 1..17]Of String;

B, C:Array[1..17]Of Byte;

D:Array[1..17] Of Integer; END;

VAR X:Futboll;

мұндағы:

- Futboll - барлық жазу компоненттерінің ортақ типі ретінде белгіленген идентификатор;

- RECORD ... END жазуды анықтайтын қызметші сөздер, операторлық жақшалардың қызметін атқарады;

- Операторлық жақшалардың ішінде жазулар өрісінің айнымалылары сипатталған;

- A - элементтері жолдық қатардан тұратын массив(мыс: командалар аты);

- B, C, D - бүтін сандар массивтері(мыс: жеңістерінің, тең өткізген ойындар, ұпайлар сандары);

- Х,Ү - жазу аты ретінде белгіленген жазулық айнымалылар (Х және Ү идентификаторлары Futboll - типті жазуларды анықтайды).

Көптеген есептеулерде жазуды анықтайтын идентификатор ретінде элементтері жазу өрістері болатын массивтерді қолданған ыңғайлы болып табылады, олар бағдарламада төмендегідей сипатталады:

TYPE Dosye=RECORD

A,C:String;

В,Е: Integer;

D:Char;

END;

VAR X:Array[ 1..10]Of Dosye;

мұндағы:

- Dosye - жазулардың аты ретінде белгіленген идентификатор;

- RECORDS ... END жазуды анықтайтын операторлық жақшалардың қызметін атқарады;

- Жақшалардың ішінде жазулар өрісі идентификаторлары сипатталған,

- A, C - жолдық қатар болатын айнымалылар(мыс: фамилиясы, аты),

- B, Е - бүтін сандар(мыс: туған жылы, оқитын класы),
- D - символдық шама(мыс: қан тобы),

- X - жазулық массив(Х массиві Dosye-типті жазуларды анықтайды).

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

Y:=X // Үжазуы Хжазуының барлық компонентерін меншіктейді

Х.А:='Ахметова'; // А айнымалысы Ахметова қатарын меншіктейді

Х.С:=1987; // С айнымалысы 1987 санын меншіктейді

X.D.:='B'; // D айнымалысы В символын меншіктейді

Бағдарламалауда жазу өрісінің айнымалыларын құрама атпен жазу бірқатар қиындықтар туғызады (бағдарламалық текст ұзақ болып кетеді және оны теру бағдарламашының көп уақытын алады). Сондықтан Turbo Pascal-да жазу айнымалыларын біріктіру үшін WITH операторын қолданылады. Жазулар айнымалыларының алдында WITH операторын жазып кетсе, онда олардың алдында жазуды анықтайтын идентификаторды жазбаса да болады, жалпы жазылу түрі:

With X Do операторлар бөлімі;

мысалы:

With X Do Readln(A);

Жазуды анықтайтын идентификатор массив болған жағдайда жанына тік жақшалар ішіне массивтің индексі қосыла жазылады:

With X[K] Do Readln(A);

Егер жазу айнымалыларынан тұратын операторлар бөлімі бірнеше операторлардан тұрса, олар операторлық жақшаларға алынады:

With X Do Begin операторлар бөлімі End;

Егер жазулар бірінің ішінде бірі орналасса, онда With операторы да бірінің ішіне бірі орналасады. Олардың жазылу принципі цикл ішінде циклдер ұйымдастыру принципіне ұқсас келеді:

With X Do Begin

With Y Do Begin

Write ('Фамилиясы');

ReadIn (A);

Write('аты"); Readln(C);

Write('Tуған жылы'); Readln(B);

Write('Тобы'); Readln(E); End;

Бақылау сұрақтары мен тапсырмалар.

1. Жазулар не үшін қолданылады?

2. Жазулардың сипатталуы.

3. Жазулар өрісі дегеніміз не?

4. Жазулардың бағдарламалық тексте қалай жазылады?

5. With операторы қандай қызмет атқарады?

6. Жазу ішіндегі жазулар дегеніміз не?

7. Жазу өрісі компоненттері оқушыларының аты-жөні, туған жылы, адресі, хоббиі, жақсы көретін пәндері, жәнет.б. деректерден тұратын бағдарлама құрыңыз.

8. Жоғарыдағы бағдарламаны экранға оқушының аты жөні бойынша барлық деректер шығатындай етіп өзгертіңіз, мысалы:

9. Жазу өрісі компонентері әр жылдары қалалық және облыстық олимпиадаларда жүлделі орындарға ие болған оқушылардың аты- жөнінен, пән аттарынан, жылдары мен алған орындарынан тұратын бағдарлама құрыңыз.

10. Жазу өрісі компоненттері мектеп кластарынан, күн және пән аттарынан тұратын "Сабақ кестесі" бағдарламасын құрыңыз.

11. Жоғарыдағы бағдарламаны күн аттары бойынша экранға сол күні болатын сабақтар шығатындай етіп өзгертіңіз.

12. Жазу өрісіэлементтері Менделеев таблицасындағы металдардың қасиеттерінен (аты, реттік немірі, атом массасы, ядросының заряды т.б.) тұратын бағдарлама құрыңыз.

13. Жоғарыдағы бағдарламаны экранға металл аты бойынша барлық деректер шығатындай етіп өзгертіңіз.

14. Жазу өрісі мектеп бітірушілердің аты-жөндерінен, емтихан болатын пәндерден, оқушылардың сол пәндерден алған бағаларынан тұратын
бағдарлама құрыңыз.

Жоғарыдағы бағдарламаны оқушының аты бойынша барлық пәндерден алған бағаларын шығаратындай етіп өзгертіңіз.

 

 

9. Көмекші бағдарламалар

9.1. Көмекші бағдарламалар және олардың құрылымы

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

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

Көмекші бағдарламалар стандартты және пайдаланушылар көмекші бағдарламалар болып екіге бөлінеді. Стандартты функциялар мен процедуралар Turbo Pascal тілінің құрамында тұрақты системалық атпен аталып орындалады. Оларға арнаулы USES пайдаланушылар кітапханасында орналасқан - SYSTEM, CRT, GRAPH, GRAPHS, OVERLAY, PRINTER, TURBOS, TURBO VISION модульдерінің барлық функциялары мен процедуралары жатады.

SYSTEM модулінің процедуралары мен функциялары Turbo Pascal бағдарламасымен бірге автоматты түрде іске қосылады, сондықтан оны пайдаланушылар бөлімінде көрсетпесе де болады.

SYSTEM модулінен өзге модульдердің процедуралары мен функцияларын қолдану үшін бағдарламаның басында міндетті түрде олардың аттарын USES пайдаланушылар бөлімінде көрсетіп кету керек, мысалы:

 

PROGRAM Komek;

USES Craph,Crt;

 

//Graph, Crt модульдеріндегі стандартты процедуралар мен функцияларды бағдарламада пайдалану үшін ашу.

 

Стандартты функциялар мен процедуралардың көбісі бұдан бұрынғы бөлімдерде бағдарлама құруда пайдаланылды, мысалы:

 

Abs(X); //Х-тің абсолютгік шамасын есептеу функциясы

Sln(X); //Х-тің синусын есептеу функциясы

Random(X); //0-ден Х-ке дейінгі кездейсоқ сан шығару

Delay(X); //бағдарламаныңорындалуынX мс уақытқа тоқтату

Clrscr; //экранды тазалау процедурасы

Halt; //бағдарламаның орындалуын тоқтату процедурасы

...т.б.

 

Пайдаланушылар көмекші бағдарламалар деп бағдарламашының өзі құрып, аты да өзіне ыңғайлы бір идентификатормен белгіленетін процедуралар мен функцияларды атайды. Олар бағдарламаның VAR бөлімінен кейін PROCEDURE немесе FUNCTION қызметші сөздерімен басталып құрылады:

 

Көмекші бағдарлама құрылымы:

1. Көмекші бағдарлама қызметші сөзі көмекші бағдарлама тақырыбы;

2. Көмекші бағдарламада кездесетін идентификаторларды сипаттау бөлімдері;

3. Көмекші бағдарлама денесі.

 

Көмекші бағдарламалардың жазылу тәртібі де негізгі бағдарлама сияқты бірнеше бөлімдерден тұруы мүмкін, мысалы:

 

а) Көмекші бағдарлама аты, параметрлері жазылатын тақырыбы;
ә) Тұрақтылар бөлімі;

б) Типтер бөлімі;

в) Айнымалылар бөлімі;

г) Операторлардан тұратын бағдарлама денесі.

 

Көмекші бағдарламаның аты идентификатормен белгіленеді. Бағдараламада бірнеше процедура немесе функция болуы мүмкін. Сол сияқты, көмекші бағдарламаның да өзінің көмекші бағдарламасы болуы мүмкін. Оларды ішкі бағдарламалар деп атайды. Негізгі бағдарламада сипатталған идентификаторларды көмекші бағдарламаның ішінде де сол сипатталған типпен қолдануға болады. Олармен белгіленген айнымалылар глобальды деп атайды. Ал көмекші бағдарламада сипаттапған идентификаторды тек өзінің ішкі бағдарламасында ғана қолдануға болады. Ол айнымалыларды локальды (жергілікті) деп атайды.

Көмекші бағдарлама өздігінен орындалмайды, оның орындалуы үшін негізгі бағдарламада көмекші бағдарламаның аты мен параметрлерін жазып шақырады, ол жерді көмекші бағдарламаны шақыру нүктесі деп атайды.

Көмекші бағдарламалардың орындалу саны шақыру нүктелерінің санына байланысты болады. Егер негізгі бағдарламада бірде-бір шақыру нүктесі болмаса, онда көмекші бағдарлама орындалмайды. Бағдарлама орындалу барысында алдымен негізгі бағдарлама орындалады да, керек кезде көмекші бағдарлама шақырылады. Көмекші бағдарламаны шақыру нәтижесінде негізгі бағдарлама уақытша тоқтайды да, басқару көмекші бағдарламаға барады. Көмекші бағдарлама денесі, негізгі бағдарламадан алған деректерді толық өңдеп, орындалғаннан кейін, басқаруды шақыру нүктесіне өңделген жаңа деректермен бірге қайтарып береді де, негізгі бағдарлама орындалуын әрі қарай жалғастырады.

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

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

 



<== предыдущая лекция | следующая лекция ==>
Жиындар. | Процедуралар


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.63 сек.