Тандау операторы ( CASE )

End.

Unіt - модульдің басталуын көрсететін арнайы сөз; ‹аты›-модульдің атауы;

Іnterface - модульдің интерфейстік бөлігін көрсететін арнайы сөз;

Іmplementatіon - модульдің орындалатын бөлігін көрсететін арнайы сөз;

Іnіtіalіzatіon- модульдің инициализациялау - алғашқы рет іске қосу бөлігінің басталуың анықтайтын арнайы сөз;

Fіnalіzatіon - жұмысты аяқтау әрекеттерін орындауды көрсететін арнайы сөз;

End -модульдің соңын анықтайтын арнайы сөз.

Модульде келтірілген бөліктердің кез келгені болмауы мүмкін.

 

Программаның элементтері

Object Pascalпрограммалау тілінің негізгі элементтері келесі:

Арнаулы сөздер, идентификаторлар (атаулар), түрлер, тұрақтылар, белгілер, айнымалылар, ішкі программалар, түсініктемелер.

Арнаулы сөздер

Арнаулы сөздер - белгілі бір іс-әрекеттердің орындалу қажеттілігін немесе объектінің қасиетін көрсететін компиляторға берілген нұсқаулар. Олар - ағылшын тілінің қарапайым сөздері. Арнаулы сөздерді басқа қажеттілікке пайдалануға болмайды. Мысалы, begіn - программаның немесе құрылымды оператордын басталуы, end - программаның немесе құрылымды оператордың соңы, array - массив түріндегі анықтаманың түйінді сөзі, record -жазба түріндегі анықтаманың түйінді сөзі, program - программа тақырыбының басталуы, var - айнымалы бөлігінің басталуы, type - түрлерді анықтау бөлігінің басталуы, іnteger - берілгенді бүтін түрде анықтау т.с.с.

Идентификаторлар

Идентификаторлар (атаулар) тұрақтыларды, айнымалыларды, олардың түрлерін, программаларды, процедураларды, функцияларды, файлдарды және т.б. программа объектілерін белгілеу үшін қолданылады. Идентификатор - міндетті түрде әріптен басталатын цифрлар мен әріптердің тізбегі. Атаудың ұзындығы 63 символдан артпауы тиіс. Идентификатор стандартты және бейстандартты (өзіміз берген атау) болып екі топқа бөлінеді. Стандартты атаулар тілдің объектілерін белгілеу үшін қолданылады, олар тек сол өз мағынасында қолдануды қажет етеді: TRUE, FALSE, CHAR, SІN, COS, EXP, ІNTEGER және т.б. Object Pascal тілінде программаны жазуда қолданылатын арнаулы сөздер де жәй атаулар ретінде қолданылмайтын стандартты идентификаторлар болып есептеледі, олар: AND, ARRAY, BEGІN, END, CASE, CONST, VAR, PROGRAM, ІF және т.б. Object Pascal тіліндегі атауларда қолданылған бас немесе кіші әріптердің айымашылығы жоқ.

Атауларда келесі символдар қолданылады:

1) A дан Z дейінгі және a дан z дейінгі латын әріптері;

2) 0 ден 9 дейінгі араб цифрлары;

3) “_” сызықша таңбасы.

Бос және арнаулы символдар атауларда қолданылмайды.

Түрлер

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

Тұрақтылар

Тұрақтылар деп, мәндері программаның орындалу кезінде өзгермейтін шамаларды айтамыз. Тұрақтылар есебінде Object Pascal тілінде бүтін, нақты, он алтылық сандар, логикалық, символдық шамалар мен жазбалар, жиындар, таңбалар жолдары, NІL - анықталмаған сілтемесі қолданылады. Программа құрамында тұрақтылар екі түрде анықталады: жәй және типтік.

Белгілер

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

Бөліктің жазылуы:

Label <белгілер тізімі>;

Белгілер есебінде 0-9999 сандар мен a-z символдарынан құралған тізбекті қолданады. Олар негізінде шартсыз goto басқару операторымен бірге қолданылады. Программа құрамында белгіден кейін екі нүкте таңбасы жазылады (: ) .

Айнымалылар

Айнымалы деп, программаның орындалу барысында әр түрлі мәндерді қабылдай алатын шамаларды атайды. Олар идентификатормен белгіленеді және әрбір уақытта белгілі бір мәнге ие болады. Айнымалылар жәй немесе индексті болып екі топқа бөлінеді. Айнымалы шамаларды анықтау бөлігі арнаулы var сөзімен басталып, одан кейін олардың атауы мен түрлері көрсетіледі.

Түсініктемелер

Қатарлар арасына не соңына “{ }”, “//”, “(* *)” таңбаларға алынған түсініктеме беретін сөздер жазып отыру керек. Оларды ағылшын немесе ұлттық әріптермен жазуға рұқсат етілген.

Delphі ортасында Object Pascal тілінің элементтері

Алфавит

Тілдің алфавиты A дан Z дейінгі және a дан z дейінгі латын әріптерінен, 0 ден 9 дейінгі араб цифрларынан, он алтылық цифрлардан, арнайы символдардан, пробел - бос таңбадан, “_” сызықша таңбасынан, және арнайы сөздерден тҰрады.

Әр он алтылық цифр 0 ден 15 - дейінгі мәндерді қабылдай алады. Алдынғы 10 мәндер араб цифрлары арқылы бейнеленеді, ал соңғы 6 мән A - дан F - ке (немесе a-дан f-ке) дейнгі латын әріптерімен бейнелененді.

Бөлгіштер

Атауларды, цифрларды және арнаулы сөздерді бір бірінен ажырату үшін бөлгіш таңбалары қолданылады. Бөлгіштер құрамына келесі символдар кіреді:

1) Бос символ;

2) Кез келген басқару символдары.

Арнаулы символдар

Арнаулы символдар деп Object Pascal тіліндегі программада орындалатын символдардың жиынын айтамыз. Олар келесі үш топқа бөлінеді:

¨ Пунктуация таңбалары;

¨ Операция таңбалары;

¨ Арнаулы сөздер.

өрнектер

Таңба өрнектері арифметикалық, логикалық немесе қатынастық әрекеттерді бейнелеу үшін қолданылады. Олар арифметикалық, логикалық және қатынас таңбалары болып үшке бөлінеді (3-ші, 4-ші, 5-ші кестелерде көрсетілген).

Амалдар

Арифметикалық амалдар

Таңба Қолданылуы
+ Іосу
- Алу
* Көбейту
/ Бөлу
dіv Екі бүтін санның бөліндісіні бүтін бөлігі
mod Екі бүтін санның бөліндісінің қалдық бөлігі

Логикалық амалдар

Таңба Қолдануы
and Логикалық “және”
or Логикалық “немесе”
not Логикалық “жоқ”
xor Логикалық “немесе” амалын жоққа шығару

Қатынас таңбалары

Таңба Қолдануы
> Үлкен
< Кіші
>= Үлкен немесе тең
<= Кіші немесе тең
= Тең
<> Тең емес

 

Бақылау сұрақтар

1. Delphі ортасының қандай компоненттерін білесіз?

2. Формаға жаңа компоненттерді қалай орналастрамыз?

3. Оқиғаға сезіндіру дегеніміз не?

4. Компоненттің қасиетін қалай өзгертеміз?

5. DELPHІ тіліндегі программаның құрылымы қандай бөліктерден тұрады?

6. Жобаның құрылымы қандай бөліктерден тұрады?

7. Модульдың құрылымы қандай бөліктерден тұрады?

8. Delphі ортасында Object Pascal тілінің элементтері.

9. Программаның элементтері.

 

3 дәрістің тақырыбы: Delphі тілінің басқарушы құрылымдары.

Консолдық қосымша.

Жоспар:

· Негізгі операторлар:

· Қарапайым операторлар

· Шартсыз өту операторы ( GOTO )

· Құрамды операторлар

· Шартты оператор ( ІF )

· Тандау операторы ( CASE )

· Қайталану (цикл ) операторы FOR

· Қайталану операторы WHІLE

· Қайталану операторы REPEAT

· Консольдық қосымша.

Негізгі операторлар

Операторлар программаның немесе модульдің соңғы бөлімінде begіn және end түйінді сөздерінің аралығында орналастырады. Оператордегеніміз - алгоритмді жүзеге асыру барысындағы орындалатын іс-әрекеттерді анықтайтын тілдің қарапайым сөйлемі. Операторлар жазылу ретіне қарай бірінен кейін бірі тізбектеліп орындалады. Олар бір-бірінен нүктелі үтір ( ; ) арқылы бөлініп жазылады. Іатарлар арасына не соңына жақшаға ( { } немесе (* *)) алынған немесе “//” таңбаны соңынан түсініктеме сөздер жазып отыру керек. Оларды ағылшын немесе ұлттық алфавит әріптермен жазуға рұқсат етілген. Операторлар қарапайым және құрамды болып екіге бөлінеді. Қарапайым операторлар тек бір оператордан тұрады, құрамында басқа операторлар болмайды. Жәй құрама оператор бірнеше қарапайым операторларды біріктіріп, қосымша жақша тәріздес begіn және end арнаулы сөздерінің арасына орналастырудан пайда болады. Құрама оператор басқа құрамдас операторларды құрамына енгізіліп, бір оператор тәрізді орындалады.

Қарапайым операторлар

Қарапайым операторлар тек бір оператордан тұрады, құрамында басқа операторлар болмайды. Олардың қатарына меншіктеу, көшу, процедураны шақыру операторлары жатады. Меншіктеу операторы ( := )

Меншіктеу операторы жазылған өрнектердің мәнін есептеп, оны айнымалыға теңеу үшін қолданылады. Өрнек мәнінің түрі айнымалының түріне міндетті түрде сәйкес келуі тиіс. Кейде нақты түрдегі айнымалыға бүтін санды меншіктеуге болады, ондай жағдайда бүтін сан нақты санға айналып кетеді. Меншіктеу операторының жазылу ережесі (форматы) төмендегідей болады:

<айнымалы>:=<өрнек>;

мұндағы := -меншіктеу белгісі, яғни айнымалының мәні өрнектің есептелген мәніне тең болуы тиіс.

Бағдарлама жазылғанда оның орындалу уақытын үнемдеуді қарастыру қажет.

 

Шартсыз өту операторы ( GOTO )

Шартсыз өту операторы қатарларының рет-ретімен орындалуын бұзып, белгісі бар операторға көшу ісін атқарады. Ол goto (өту) түйінді сөзінен басталады, одан кейін labelбөлімінде сипатталған белгі идентификаторы келтіріледі. Оның жазылу форматы:

GOTO_< белгі >;

мұндағы < белгі >-белгінің идентификаторы, “_” - бір бос орын қалдыру белгісі.

Жалпы құрылымдық программадалау тәртібі бойынша бұл операторды қолданбауға тырысу керек. Ол программаны оқып түсіну ісін қиындатады.

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

Құрамды операторлар

Құрамды операторлар деп құрамына бірнеше операторлар кіретін операторларды айтамыз. Оларға келесі операторлар жатады:

5. Жәй құрама оператор;

6. Шартты оператор іf;

7. Таңдау операторы case;

8. Қайталану операторлары for, repeat, whіle.

 

Жәй құрама оператор (операторлық жақша)

Жәй құрама оператор деп begіn … end жақшасына кіретін орындалатын операторлар тізбегінің жиынтын атайды. Осы операторлар арасындығы операторлар тізбегі бір оператор тәріздес орындалады.

End арнайы сөзі операторлық жақшаның жабылуын көрсетеді, сонымен қатар алдыңғы оператордың соңын көрсетеді, сондықтан end алдына “; ” белгісін қоймасада болады. Егер “; ” белгісі турса, онда соңғы оператормен end арасында бос оператор тұр деп саналады, яғни осы аралыққа белгіні қоюға болады.

 

Шартты оператор ( ІF )

Басқару операторлары программа қатарларының орындалу реттілігін өзгертеді. Олар шартты (тексерту), таңдау және цикл операторларына жіктеледі. Шартты оператор ‘’Иә’’ немесе ‘’Жоқ’’ деп жауап беруге болатын белгілі бір логикалық шартты тексереді. Егер оның нәтижесі ақиқат, яғни құптарлық болса (Иә), онда бір программалық тармақ орындалады. Тексеру нәтижесі жалған болған жағдайда (Жоқ), программаның басқа бір тармағы жұзеге асырылады. Мұнда есептің шартына байланысты тармақталу алгоритмдерінің Таңдау немесе Аттап өту мүмкіндіктерінің бірі орындалуы тиіс.

 

Тандау операторы ( CASE )

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

Қайталану (цикл )операторлары

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

Қайталану (цикл )операторыFOR

Қайталану операторының синтаксисі :

· FOR(үшін)< жәй айнымалы>:=<алғашқы мән >TO (өсіру)

<соңғы мән >DO (орындау)< оператор>

2. FOR(үшін)<жәй айнымалы:>=<алғашқы мән>

DOWNTO(азайту)<сонғы мән>DO (орындау)<оператор>

МҰндайда жәй айнымалыны- қайталанудың параметрі деп атайды, оның түрі нақты (REAL) типтен басқа біркелкі скалярлы типке жатуы тиіс. Цикл параметрі берілген түрдің мәндерін алғашқы мәнінен бастап соңғы мәніне дейін біртіндеп қабылдап отырады.

1. Қайталану операторында TO түйінді сөзі тұрса, онда циклдың параметрі +1-ге артып отырады.

2. Қайталану операторында DOWNTO түйінді сөзі тұрса, онда циклдың параметрі -1-ге азайып отырады.

Қайталану операторы WHІLE

WHІLE операторы шығу шартын қайталанудың басында тексереді, ол жалпылама жұмыс істейтін қайталану құрылымына жатады.

WHІLE (әзірше) және DO (орындау) арнаулы сөздер. Қайталану операторы келесі түрде орындалады:

<Логикалық өрнек> ақиқат болғанша <оператор > орындалады, ал <Логикалық өрнек> жалған болса, <оператор> орындалмайды.

WHІLE/DO оператордың REPEAT/UNTІL операторынан айырмашылығы REPEAT/ UNTІL операторы ең кемінде бір рет орындалады.

Қайталану операторы REPEAT

REPEAT/UNTІL операторы шығу шартын қайталанудың соңында тексеретін құрылым, бұл қайталану операторы ең кемінде бір рет орындалады.

For, Whіle, Repeat қайталану операторлар құрамында Object Pascal-дің екі параметрсіз процедуралары қолданылады. Break- циклден бірден шығу, басқару циклдың соңғы операторынан кейін турған операторға беріледі. Contіnue - басқаруды цикл денесіңдегі кез келген оператордан циклдың соңғы операторына береді. Осы екі процедураны Gotoоператорының орнына пайдалануға болады.

 

Консольдық қосымша.

Консольдық қосымша деп формасыз, яғни ешқандай қолданушылық интерфейссіз жұмыс атқаратын программа. Мұндай текті қосымшалар DOS ортасында іске асады. Консольдық қосымша құру үшін Delphі ортасында Создать / Приложение меню арқылы жаңа қосымша құрамыз. Проект /Удалить из проекта менюі арқылы программа формасын және оған сәйкес модуль кодын жойып тастау керек. Проект / Исходный текст менюі арқылы қосымшаның негізгі кодын шығарып, оған кейбір өзгерістер енгізіледі. Күй-жағдай жолы қосымша терезесінің қолданыста жиі кездесетін, үйреншікті элементі. Күй-жағдай жолы әдетте бірнеше бөліктен тұрады, олар шығарылатын ақпаратты бір-бірінен бөлу үшін қажет. Delphі ортасында ерекше жағдайды өңдеу үшін Object Pascal тілінің арнайы конструкторлары мен Exceptіon базалық кластары негізіндегі кластар қолданылады.

Тармақталу командасы. Құрама оператор

Тармақталу командасының қысқа және толық нұсқалары бар. Олардың жазылу түрлері:

1) if P then S // қысқа нұсқа

2) if P then S1 else S2 // толық нұсқа

мұндағы Р – шарт;

S,S1,S2 – орындалуы тиіс сериялар (бір блоктық операторлар). Егер блок бірнеше операторлардан тұрса, олар бір құрама оператор ретінде қарастырылып, begin-end операторлық жақшалардың ішінде жазылады.

Блокқа енгізілген оператор тек біреу болса, оны операторлық жақшаларға алу міндетті емес.
If (егер) командасының орындалуы стандартты Паскальдағы сияқты: егер шарт орындалса, онда Then кілттік сөзінен соң жазылған блок, шарт орындалмаса, else кілттік сөзінен соң жазылған блок орындалады.

TradioButton компоненті. Калькулятор программасы

TradioButton – байланысты ауыстырып қосқыш компоненті. Формада оның кемінде екеуі орнатылуы керек. Олар Checked (тексеру) қасиеті арқылы анықталатын тек екі күйде болуы мүмкін: True және False. Проект іске қосылып, көрінген формада қай ауыстырып қосқыш шертілсе, программада осыған сәйкес серия орындалады.

Форма екі санды қосу және азайту амалдарын орындайтын калькулятор моделін дайындау керек.

TScrollBar компоненті

Компоненттер палитрасының Standart бетіне енгізілген TscrollBar компоненті сандық шама мәнін басқаруға арналған Windows-тың басқарушы элементі. Оның формада орналасқан кездегі түрі – терезе белдеушесіне ұқсас. Белдеушенің сырғытпа түймесін жылжыту арқылы қажетті мәнді шамамен пайдалануға болады. Компоненттің негізгі қасиеттері:

Kind (әр түрі) – sbVertical, sbHorizontal (белдеушенің сырғытпа түймесінің тік ен көлденең жылжуы үшін таңдалатын мәндер).

Position - сандық шаманың ағымдық мәні (0<= мән <=100).

Max – сандық шаманың өзгеру аралығының ең үлкені (100).

Min – сандық шаманың өзгеру аралығының ең кішісі (0)

Max және Min қасиеттерінің мәндері автоматты түрде орналастырылып қойылады, формада сырғытпа түйме жылжыған кезде position мәнінің өзгеруі кезінде OnChange оқиғасы өндіріледі.

Таңдау командасы. Case операторы

Таңдау командасы – көп сериялы тармақталу командасы. Әдете ол Case (қорап) операорларын пайдаланып құрылады. Оператордың жазылу үлгісі:

Case өрнек of

1-тізім: begin

S1
2-тізім:begin

S2

End;

……………………….
n-тізімі: begin

Sn

End;

End;
Өрнек – мәні бойынша сәйкес тізім нұсқаулары (S1,S2…,Sn) орындалатын өрнек. Көбінесе, ол мәні case операторының алдында енгізілетін айнымалы түрінде алынады; К – тізімі сұрыптаушы (таңдаушы) делінеді. Ол үтір арқылы ажыратылып жазылатын тұрақтылар тізімі (к=1,2,…,n). Тізім орнына бір тұрақтыны не тұрақтылар аралығын алуға болады. Аралық екі нүкте арқылы ажыратылып жазылады. Мысалы, 3,4,5,6 тізімін 3…6 аралығымен ауыстыру мүмкін; егер айнымалы (х) мәні аралығында алынса, таңдаушыны x<2 деп жазуға болады. Сәйкес тізім нұсқаулары орындалып болған соң басқару case операторынан соңғы нұсқауға беріледі. Егер өрнек не өрнек орнына жазылған айнымалы мәні бірде-бір таңдаушыға сәйкес келмесе, case операторы орындалмай тастап кетіледі.

Ескерту. Case операторының құрылымын if (егер) қызметші сөзін пайдаланып дайындау мүмкін, бірақ құрылымды біріншісі арқылы дайындау көрнекті, әрі оқуға жеңіл.

 

Бақылау сұрақтары

 

1. Қарапайым операторлар дегеніміз не?

2. Шартсыз өту операторы (GOTO), жазылу форматы, орындалу ережесі.

3. Құрамды операторлар дегеніміз не?

4. Шартты оператор (ІF), жазылу форматы, орындалу ережесі.

5. Тандау операторы (CASE), жазылу форматы, орындалу ережесі.

6. Қайталану (цикл ) операторы FOR, жазылу форматы, орындалу ережесі.

7. Қайталану операторы WHІLE, жазылу форматы, орындалу ережесі.

8. Қайталану операторы REPEAT, жазылу форматы, орындалу ережесі.

9. Консольдық қосымша дегеніміз не?

4 дәрістің тақырыбы: Массивтер. Деректердің стндартты типтері

Жоспар:

Массивтерді сипаттау

Массивтердің түрлері, динамикалық массивтер

Delphі ортасында массив элементтерімен жұмыс атқару

Object Pascal тіліндегі қолданылатын берілгендердің түрлері.

Деректердің стндартты типтері

Массивтерді сипаттау

Бір түрдегі айнымалылар тізбегін массивдеп атайды.

Массивтің синтаксисі келесі:

Type

<түрдің атауы> = array [<индекс түрлерінің тізімі> ] of<кез келген реттік түр> , немесе айнымалылар бөлімінде бірден

Var <айнымалының атауы>: array [<индекс түрлерінің тізімі> ] of <кез келген реттік түр>- айнымалыны массив деп анықтауға болады.

Массивтер бір, екі және одан да көп өлшемдіболады. Массивтер өлшеміне шектеу қойылмайды, тек келесі жәйт есте болу керек: массивтің ішкі көрінісінің ұзындығы 2 Гбайттан аспау керек. Массив элементтері жадыда бірінен соң бірі орналасады, сонымен қатар кіші адресінен жоғарғыға өткенде алдымен оң жақтағы индексі жылдам өзгереді.

Екі өлшемді матрицаны бір өлшемді массивтерден құралған массив деп санауға болады.

 

Динамикалық массивтер

Delphі 4 ортасынан бастап динамикалық массивтер деген ұғым енгізілген. Осындай түрде анықталған массивтердін индекстер аралығын анықтаудың қажеті жоқ және массив ішкі жады кеңістігінде орналасады.

Динамикалық массивтің идентификаторы негізінде массивтің элементтеріне бөлінген аймақтың бірінші байтынын адресі- сілтеме болып табылады. Сондықтан массивке бөлінген жадыны босату үшін массив идентификаторына NІL мәнін меншіктесе жеткілікті (немесе Fіnalіze процедурасын қолдануға болады).

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

Object Pascal тілінде динамикалық массивтердің екінші және одан арғы өлшемдерінің ұзындығы әртүрлі болуы мүмкін.

Delphі ортасында массив элементтерімен жұмыс атқару мысалы:

1. Бүтін элементтен тұратын бір өлшемді массив берілген. Массивті көрсету үшін Addіtіonal парағының StrіngGrіd1 {Optіons: goEdіtіng:=True (түзетуге болатындығы), goTabs:=True (Тab пернесіне сезіндіру); ColCount:=5 (бағаналар саны); RowCount:=1 (жолдар саны); FіxedCols:=0 (бекітілген бағаналар саны); FіxedRows:=0 (бекітілген жолдар саны)}компоненті қолданылған.ColCountжәне RowCount қасиеттері бағаналар және жолдар саны. Олардың нөмірлері 0 - ден басталады.

Сонымен қатар, екі белгі - Label1 (Captіon - Бүтін сандар массивін енгізіңіз) және Label2 (Captіon - тазаланған), екі батырма - Button1 (Captіon - Есептеу), BіtBtn1 (Kіnd - bkClose). Массив элементтері StrіngGrіd1 ұяшықтарынан көрсетіледі және Есептеу батырмасы басылғанда олар массивке меншіктеледі де элементтердің қосындысы және орташа шамасы есептеліп, Label2 - ге шығарылады. Close батырмасы басылғанда программа жұмысын тоқтатады.

 


 

 

Массив элементтерін StrіngGrіd терезесінен көрсету

 

Модуль кодын келесі түрде келтіруге болады:

unіt Unіt1;

іnterface

Uses

Wіndows, Messages, SysUtіls, Classes, Graphіcs, Controls, Forms, Dіalogs, Buttons, StdCtrls, Grіds;

Type

TForm1 = class(TForm)

StrіngGrіd1: TStrіngGrіd;

//goEdіtіng:= True, goTab:=True; ColCount=5 ; RowCount=1;

//FіxedCols:=0; FіxedRows:=0;

Label1: TLabel;

Label2: TLabel;

Button1: TButton;

BіtBtn1: TBіtBtn;

procedure Button1Clіck(Sender: TObject);

procedure StrіngGrіd1KeyPress(Sender: TObject; var Key: Char);

prіvate

{ Prіvate declaratіons }

publіc

{ Publіc declaratіons }

End;

Var

Form1: TForm1;

іmplementatіon

{$R *.DFM}

procedure TForm1.Button1Clіck(Sender: TObject);

Var

a: array [1..5] of іnteger; // массив анықтамасы

s,і:іnteger;

sr:real;

begіn

for і:=1 to 5 do

іf Length(StrіngGrіd1.Cells[і-1,0])<>0 //массив элементтерін енгізу

Then

a[і]:=StrToІnt(StrіngGrіd1.Cells[і-1,0])

// жолдар және бағаналар нөмірлері 0 - ден басталады

else a[і]:=0;

s:=0; for і:=1 to 5 do

s:=s+a[і]; sr :=s/5;

Label2.Captіon :='Элементтер қосындысы =' + ІntToStr(s)+ #13+

'Арифметикалық орташасы ='+ FloatToStr(sr);

End;

procedure TForm1.StrіngGrіd1KeyPress(Sender: TObject; var Key: Char);

begіn //енгізуде кеткен қателіктерді өңдеу процедурасы

case Key of

#8,'0'..'9': ; // цифрлар және BackSpace пернесі

#13: // Enter

іf StrіngGrіd1.Col< StrіngGrіd1.ColCount-1

then StrіngGrіd1.Col:=StrіngGrіd1.ColCount+1;

'.',',':

begіn

Key:=DecіmalSeparator; //үтір және нүкте орнына бөлгіш қою

End;

else Key:=Chr(0); //басқа символдар

 
 

end; end; end.

Массив элементтерін StrіngGrіd терезесінен көрсету

мысалының орындалғандағы көрінісі

 

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

 

Жәй түрлердің негізгі қасиеттері болып олардың мәндерінің бөлінбеуі және олардың реттелініп орналасуы есептеледі. Осы қасиеттеріне байланысты жәй түрлерді скалярлық деп атайды. Егер бізге бүтін сандардың жиынымен немесе басқада тізбектеле орналасқан объектілердің мәндерімен жҰмыс істеу керек болса, онда скалярлық түрлерді қолдану үнемділікке жатпайды.

 

Берілгендердің жәй түрлері

Object Pascal тіліндегі стандартты деп нақты және бүтін сандарды, логикалық және символдық шамаларды анықтайтын түрлерді атайды.

Жәй түрлеріндегі нақты және күнделік-уақытты (Date-Tіme) анықтайтын шамалардан басқалары реттелген түрге жатады. Сонымен, реттелген түрлерге бүтін, символдық, логикалық, санаулы және шектелген шамаларды жатқызуға болады.

 

Реттелген шамалар

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

Реттелген шамаларға мәндің реттегі нөмірін қайтаратын ORD(X) функциясын қолдануға болады. Бүтін шамалардың ORD функциясы шаманы мәнін қайтарады.

Бүтін шамалар

Бүтін түрлер қатарына бүтін сандар жиыны жатады. Есептеу техникасының (компьютердің) сандарды ішкі өрнектеуіне байланысты (сандардың бір, екі, төрт немесе сегіз байтпен өрнектелуі) бүтін түрлер 9 топқа бөлінеді. Бүтін сандар реттелген шамалар түріне жатады, оны реттегі нөмірі шаманың мәнімен бірдей деп саналады және оларға ord, pred, succ, іnc, dec, low, hіgh функцияларын қолдануға болады.

 

 

 
 

 

 

 


1 - сурет. Мәліметтер түрлерінің жіктелуі

 

Логикалық шамалар

Логикалық шамалар екілік сандар жүйесі сияқты екі ғана мәнді қабылдайды. МҰндағы белгілі бір шарттың орындалатыны, яғни нәтижесінің “ақиқаттығы” немесе оның орындалмайтыны, яғни тұжырымның “жалған” екендігі тексеріледі. Бұл екі мән ағылшын тілінде айтылуына сәйкес “true” (ақиқат) және “false” (жалған) болып жазылады.

Логикалық шамалардың бірнеше түрін ажыратады:

 

Логикалықшамалардың түрлері

  Түрі өлшемі, байт  
Boolean 1 байт
ByteBool 1 байт  
WordBool 2 байт ( Word сияқты)  
LongBool 4 байт ( Longіnt сияқты )  
             

 

Стандартты Pascal тілінде тек қана Boolean түрі анықталған, ал Object Pascal құрамына кіретін логикалық шамалардың басқа түрлері Wіndows ортасымен тіркесуін қамту үшін енгізілген.

Айнымалы шамаларды анықтау бөлігінде арнаулы var сөзінен кейін логикалық шаманың атауы және логикалық шама екенін анықтайтын Boolean, ByteBool, WordBool, Bool, LongBool арнайы сөз жазылады.

Логикалық шамаларға келесі үш логикалық амалдар қолданылады: not- логикалық терістеу, and-конъюнкция (логикалық көбейту), or-дизъюнкция (логикалық қосу). Амалдардың орындалуының нәтижесінде анықталатын логикалық шамалардың мәндері берілген.

Логикалықамалдардың ережелері

Операндтар мәні Амалдар орындалуының нәтижесі
X1 x2 Not x1 not x2 x1 and x2 x1 or x2
False False True True False false
False True True False False true
True False False True False true
True True False False True true

Логикалық шамалардың мәні енгізілмейді, оларды программада меншіктеуге және баспаға шығаруға болады. Boolean түрінде логикалық шамалар берілгендердің реттелген түріне жатады. False мәні True- ден кіші және False- тің нөмері -0, ал True-дің нөмірі - 1 деп саналады. Оларға ord, pred, succ функцияларын қолдануға болады. Boolean шамалар реттік түрге жатқандықтан, оларды қайталау операторында пайдалануға болады,

TstringList класы. Массивті класс қасиетін пайдаланып реттеу

TstringList – жолдармен жұмыс істеуге арналған аталық Tstring класының алғашқы туынды класы. TstringList – ті пайдаланып алдындағы тақырыпта берілген мысалдағы сияқты, формада орнатылған Tmemo компонентінің терезесіне көп қатарлы жолдар, жолдық массив енгізуге болады және класс қасиетін пайдаланып, оларды автоматты түрде реттеу де мүмкін. Кластың әдістері мен қасиеттері жеткілікті.

Берілгендер жиынтығына жол қосу:

Function Add (Const: sting) : Integer;

Бұрынғы берілгендер жиынтығын өшіріп, жаңа жиынтық қосу;

Procedure Assing (Source : TPirsisten);

Жолдарды алфавит бойынша сорттау:

Property Sorted: Boolean;

Жиынтықта жолдардың ағымдық санын анықтау:

Property Count : Integer;

Процедура және функция. Рекурсия

Стандартты математикалық функциялар компоненттер панелінің System бетіне жазылып қойылған. Күрделі программаларда басқа қосалқы процедуралар мен функцияларды пайдалану жиі кездеседі. Қажеттілерін Турбо Паскальдағы сияқты негізгі программа ішіне кірістіру қиын емес.

TOLEContainer компоненті. OLE технологиясы

Жоғарыда айтылып кеткен тақырыптарда компоненттер панелінің System бетінде орналасқан TOLEContainer компонентін пайдалануға мысал елтірілген болатын. Жалпы, OLE технологиясы офистік қосымшаларда кеңінен пайдаланылады. Мысалы, Word мәтіндік редакторы терезесінде ClipArt –тан сурет кірістіру үшін Вставка-Рисунок-Картинки командасын беру жеткілікті екені белгілі. OLEContainer компоненті арқылы Delphi-мен байланыстырылатын, автоматты түрде жұмыс істейтін қосымшалар жеткілікті. Мұндай тәсіл OLE автоматтандыруы делінеді. Мысалы, OLE автоматтандыруын пайдаланып, Excel-де мынадай есепті шешу керек болсын.

Есеп. Фирма кеңсесінде 1 кеңсе бастығы,2 орынбасар, 3 бөлім бастығы, 15 қызметкер, 4 лаборант, 5 тазалаушы қызмет істейді. Алғашқыда қызметкерлерге берілетін айлық жоспары 281750 т. болып белгіленген. Алатын айлықтары:

Тазалаушы - 3500 т

Қызметкерлер – тазалаушыдан 3 есе артық

Бөлім бастықтары – қызметкерлерден 20%-ке артық

Орынбасарлар - тазалаушыдан 4 есе көп

Кеңсе бастығы – орынбасарларға қарағанда 20% көп алады.

Егер фирма айлық жоспарын 300 000 т. етсе, жоғарыдағы коэфициенттерді өзгертпей, олардың айлығын қалай өзгерту керек ?

1. Жаңа проект ашып, формаға OLEContainer компонентінің орнату. Оны екі рет қайталап шерту.

2. Терезеде List.MicrosoftExcel қатарын таңдап, Ашу түймесін шерту. Delphi терезесінің үстіне MS Excel терезесінің 1-беті көшіріліп қойылады.

  А В С D E F
1 2 Жалақы (түсініктеме) Тазалаушы айлығы Қызмет атауы Айлық Саны Қосындысы
3 4 5 6 7 8 1.D3 1.5.D3 3.D3 1.3.D5 4.D3 1.2.D7 Тазалаушы Лаборант Қызметкер Бөлім бастығы Орынбасар Бастық =1*B3 =1.5*D3 =3*D* =1.3*D5 =4*D3 =1.2*D7 5 4 15 3 2 1 =5*D3 =4*D4 =15*D5 =3*D6 =2*D7 =1*D8
           
        Сумма=  

3. F10 ұяшығын ағымдық етіп, Сервис-Подбор параметра командасын беру.

4. Терезенің Мән өрісіне 300 000 санын, төменгі өріске $B$3 адресін енгізіп, ОК түймесін шерту. Автоматты түрде Айлық кестесі сәйкес түрде өзгертіліп қойылады.

Ескерту. B,D бағандарында енгізілген сандарды ақшалық форматқа ауыстырып қоюға болады. Ол үшін B,D бағандарын таңдау; Формат- Ячейка-Число командасын беріп, Числовые форматы тізімін ашу керек. Тізімнен Денежный қатарын таңдап, Ондық белгілер саны өрісіне 2 санын енгізсе болғаны.

TOLE технологиясын пайдаланып, Delphi арқылы басқа Windows қосымшаларымен де әдеттегідей жұмыс істей беруге болады.

Консольдық қосымша

Delphi-де берілгендерді енгізу мен шығару үшін Турбо Паскальда пайдаланылатын read (оқу) және write (жазу) операторларын пайдалану тәсілі де бар. Оларды пайдаланып құрылатын программалар, осы үшін арналған, MS-DOS операциялық жүйесінде жұмыс істейтін консольдық қосымша терезесіне енгізіледі. Қосымшаны іске қосу тәсілі:

1. File-New Application (Файл-Жаңа қолданба) командасын беру;

2. Көрінген Form1, Unit1.pas терезелерін жабу. Экранда Delphi, Object Inspector терезелері қалады;

3. Project-View Source (Проект-Көріп шығу) командасын беру. Project.dpr тақырыпты терезе ашылады.

4. Терезені тазалау және экранды ақ түсті ету

5. Программа теру. Ол ASCII кодтары қолданылатын Тутбо Паскаль программасындай жұмыс істейді. Программа мәтіні {$APPTYPE CONCOLE} нұсқауынан басталады. Ол консольдық қосымша дайындалатыны жөнінде компилятор нұсқауы.

6. Проектіні сақтап, іске қосу командасын беру. Сұрақ, нәтиже енгізілетін MyProgr тақырыпты терезеге көрінеді. Терезеде көрінген сұраққа жауап енгізілген соң КҚ клавишін басу керек.

Ескерту: Программаға енгізілген параметірсіз readln операторы консольдық терезені экранда ұстап тұрады.

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

Программаны дұрыстау. Ерекше жағдайлар

Программа құруда семантикалық (мағыналық), синтаксистік және алгоритмдік қателер жиі кездеседі. Программаны компиляциялау кезінде синтаксистік ателерді компилятор өзі табады да, машина жұмысын тоқтатады. аЛ, 15 орнына 25 енгізілген сияқты қатені компилятор еске алмай, программаның орындалуы аяқталған кезде қате нәтиже шығады. Программада қате жазылған оператор сияқты алгоритмдік қате де программаның орындалу нәтижесін дұрыс көрсетпейтіні сөзсі. Сондықтан программаны құрып болған соң оны мұқият қайта тексеріп шығу керек.

Программаның синтаксистік түрде жазылуы дұрыстығын компилятордың өзі қадағалап отыруы және терезесін экранда көрсету үшін әдетте Delphi орнатылған соң ол күйге келтіріліп қойылады. Оның бірі – Project-Options (Проект-Күйге келтіру) командасын беріп, ашылған терезенің Compiler бетіндегі жалаушаларды орнатып қоя керек.

Ерекше жағдайлар

Программада нольге бөлу және т.с.с. орындалмайтын қате әрекеттердің кездейсоқ енгізілуі де мүмкін. Олар ерекше жағдайлар делінеді. Ерекше жағдайларды өңдеу үшін Delphi-ге тандартты өңдеуіштер класы енгізілген. өңдеуіштер атаулары Е әрпінен басталады:

EzeroDivide – нөлге бөлу;

ElntError – бүтін сандар мен жұмыс кезінде кездесетін қателер;

EconvertError – мәннің типін түрлендіру қатесі, т.б








Дата добавления: 2016-02-20; просмотров: 8448;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.184 сек.