Лекция: 15 сағат лбс: 15 сағат С¤Ж: 45 саѓат обс¤Ж: 45 саѓат Барлыќ саѓат саны: 135 саѓ


Программаның жалпы түрде құрылымы



бет8/21
Дата06.03.2016
өлшемі2.2 Mb.
#44284
түріЛекция
1   ...   4   5   6   7   8   9   10   11   ...   21

2. Программаның жалпы түрде құрылымы


Программаға ретімен мынадай бөлімдердің енгізілуі мүмкін (программа құрылымы):

программа тақырыбы (procedure не function);

ен бөлімі (label);

тұрақтылар бөлімі (const);

айнымалылар бөлімі (var);

қосалқы программалар бөлімі (процедуралармен функциялар);

операторлар бөлімі.

Delphi-де тиянақты бір іс-әрекетті орындайтын программалық элемент жеке процедура арқылы жазылады.Мысалдар келесі тақырыпта берілген.

Түсініп оқуға жеңіл болуы үшін күрделі программаның қажетті жерлеріне түсініктеме мәтіндер енгізіліп қойылады. Түсініктеме оператор алдында енгізілсе, фигуралық жақшалар ({}) ішінде орналастырылады. Егер ол оператор соңында енгізілсе, алдында\\ (екі теріс көлденең сызық) символдары жазылады.Соңғысын тек бір жолдық түсініктемеде пайдалану мүмкін. Мысалы,

1.{Трапеция ауданы}

s:=(a+b)*h/2;

2. s:=(a+b)*h/2; \\ трапеция ауданы


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


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


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

if p then else s2 // толық нұсқа

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

S1

end

else begin

S2

end;

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



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

Таңдау командасы- көп сериалы тармақталу командасы. Әдетте ол Case (қорап) операторын пайдаланып құралады.

Оператордың жазылу үлгісі:

Case өрнек of

1-тізім: begin

S1

end;

2-тізім: begin

S2

end;

n- тізім: begin

Sn

end;

end;

мұндағы


өрнек- мәні бойынша сәйкес тізім нұсқаулары (S1, 2, …, Sn) орындалатын өрнек. Көбінесе ол мәні case операторының алдында енгізілетін айнымалы түрінде алынады;

k- тізім сұрыптаушы (таңдаушы) делінеді Ол үтір арқылы ажыратылып жазылатын тұрақтылар тізімі (к=1, 2, …n).

Тізім орнына бір тұрақтыны не тұрақтылар аралығын алуға болады. Ралық екі нүкте арқылы ажыратылып жазылады. Мысалы: 3.4.5.6 тізімін 3...6 аралығымен ауыстыру мүмкін: егер айнымалы (х)мәні (-;2) аралығында алынса таңдаушыны x<2 деп жазуға болады. Сәйкес тізім нұсқаулары орындалып болған соң басқару case операторынан соңғы нұсқауға беріледі. Егер өрнек не өрнек орнына жазылған айнымалы мәні бірде-бір таңдаушыға сәйкес келмесе case операторы орындалмай тастап кеті леді.



4. Циклдер


Циклдердің қолдану тәсілдері стандартты Турбо Паскальдағы сияқты.While(әзірше), Repeat (дейін), For(үшін) циклдік құрылымдардың жазылу үлгілері:

1) While P do

Begin

S

End;



2) Repeat

S

Until (not P);

3) For k:=k0 to kn do

begin

S

End;

Мұндағы P-шарт; do -орындау (кілттік сөз);

S цикл денесі;

Until-дейін (кілттік сөз);

K-бүтін типті есептегіш (цикл параметрі);

k0 , kn -есептегіштің бастапқы , соңғы мәндері.
Лекция 5. Көмекші программалар

1. Көмекші программалар

2. Функция

3. Модуль құру



1. Көмекші программалар

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

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

Көмекші программаны қолданудың артықшылықтары бар. 1-шіден, программада кодтың қайталануы болмайды, демек программа құруды жеңілдетеді, әрі өзгерістер енгізу және отладка жасау процессін ыңғайлы етеді. 2-шіден, прогамманың сенімділігі біршама артады. Көмекші программаларды тек қайталануды болдырмау үшін ғана қолданбайды. Үлкен мәселені бірнеше кіші ішкі мәселелерге бөліп, әр мәселені көмекші программа ретінде құру ыңғайлы. Бұл жағдайда программаның «оқылуы» жақсарады, әрі отладка процессі оңайланады.

Көмекші программа ­– бұл жалпы ортақ мәселенің бір бөлігін шешетін кішігірім программа. Delphi-де көмекші программаның екі түрі бар: процедура және функция

Әрбір көмекші программаның атауы бар, ол оны программа ішінде шақыру үшін қолданылады.

Функцияның процедурадан айырмашылығы мынада: функция атауына мән (функцияның нәтижелік мәні) байланыстырылған, сондықтан функцияны өрнек операндасы (мысалы меншіктеу) ретінде қолдануға болады.

Көмекші программаның әдетте, параметрлері бар болады. Олар формальді және нақты болып бөлінеді.

Функцияны жариялағанда көрсетілетін параметрлер формальді деп аталады. Процедураны шақыру инструкциясында көрсетілетін параметрлер нақты деп аталады.

Параметрлер



  • көмекші программаға берілгендерді жіберу үшін

  • көмекші программаның нәтижесін алу үшін

қолданылады.

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



2. Функция

Функция — бұл көмекші программа, яғни, бір ғана ортақ атау берілген инструкциялар қатары. Функцияның инструкцияларына өту процессі функцияны шақыру деп аталады. Функцияның инструкцияларынан программа дағы осы функцияны шақыру инструкциясына өту - функциядан қайту деп аталады.

Жалпы түрде функцияны шақыру инструкциясы мынадай көріністе болады:

Айнымалы := Функция (Параметрлер) ;

Мыналарға көңіл аудару қажет:


  • әрбір функция белгілі бір типтегі мәнді қайтарады, сондықтан функцияның мәні меншіктелетін айнымалының типі функция типіне сәйкес болу керек;

  • әрбір нақты функция үшін параметрлер сан мен типі қатал анықталған.

 Жалпы түрде функцияның жариялануы мына көріністе болады:

function Атау (параметр1 : тип1, ..., параметрК : типК) : Тип;

var // мұнда локал айнымалылардың сипатталуы

begin

// мұнда функция инструкциялары

Атау := Өрнек;

end;

Мұнда:


  • function — Delphi тілінің қызметші сөзі, ол өзінен кейін функция инструкциялары жазылатындығын білдіреді;

  • атау — функция атауы. Программадан функция инструкцияларына өту үшін қолданылады;

  • параметр — мәні функция мәнін есептеу үшін қолданылатын айнымалы. Кәдімгі айнымалыдан айырмашылығы, ол var сөзімен басталатын айнымалыларды сипаттау бөлімінде емес, функцияның атауында сипатталады. Нақты мәніне параметр программаның жұмысы барысында негізгі программадан функцияны шақыру нәтижесінде ие болады;

  • тип — функцияның шақырған программаға қайтаратын мәнінің типі.

Төмендегі мысалда isint және isFioat функциялары келтірілген. isint функциясы редакторлау өрісіне бүтін санды енгізу барысында басылған перне символы рұқсат етілген не етілмегендігін анықтайды. Сандар, , пернелеріне рұқсат етілген деп есептеледі. IsFloat функциясының міндеті де осындай, бірақ, бөлшек сандар үшін. IsFloat функциясының екі параметрі бар: басылған перне коды және редакторлау өрісіне енгізіліп қойылған символдар қатары.

Функцияға мысал // бүтін санды енгізу кезінде енгізілген символдың

// рұқсат етілген не етілмегендігін анықтайды



function Islnt(ch : char) : Boolean;

begin

if (ch >= '0'} and (ch <= '9') // сандар

or (ch = 113) // пернесі

or (ch = #8) // пернесі

then Islnt := True // символ рұқсат етілген

else Islnt := False; // рұқсат етілмеген символ

end;


// бөлшек санды енгізу кезінде енгізілген символдың

// рұқсат етілген не етілмегендігін анықтайды



function IsFloat(ch : char; st: string) : Boolean;

begin

if (ch >= '0') and (ch <= '9') // сандар

or (ch = #13) // пернесі

or (ch = #8) // пернесі

then

begin

IsFloat := True; // дұрыс символ

Exit; // функциядан шығу

end;

case ch of

'-': if Length(st) = 0



then IsFloat := True; ',':

if (Pos(',',st) = 0)

and (st[Length(st)]'>= '0') and (st[Length(st)] <= '9')

then // бұрын енгізілмеген болса үтір белгісін цифрдан соң енгізуге болады

IsFloat := True; else // басқа символдарға рұқсат етілмейді

IsFloat := False;

end;

end;

3. Модуль құру

Delphi программистке өз функциялары мен процедураларын жеке модульге орналастыруға, бұдан соң осы модульдің процедура мен функцияларын программада пайдалануға(uses модульдер тізімінде өз модулінің атауын көрсету керек) рұқсат етеді.

Модуль құру үшін форма мен модуль терезесін жабу қажет ( сақтауды ұсынған терезеде No –ді таңдау қажет, яғни, жабылған форманың модулін сақтау керек емес). Бұдан соғ File мәзірінен New -> Unit командасы таңдалады. Нәтижеде код редакторының терезесі ашылады. Мұнда қалыптастырылған модуль шаблоны бар. Оның мәтіні төменде келтіріледі.

Модуль шаблоны

unit Unit1;

interface

implementation

end.

Модульді сақтау кезінде Unit1 атауы программист берген атауға автоматты түрде алмастырылып қойылады.

Interface бөліміне басқа модульдер шақыра алатын осы модульдің процедура мен функциялары жарияланады.

Implementation (реализация) бөліміне interface бөлімінде жарияланған процедуралар мен функциялар орналастырылады.

Модуль File-> Save командасымен сақталады. Мұндай модульдерді жеке папкаға (мысалы Units атауымен) сақтаған дұрыс. 

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



Достарыңызбен бөлісу:
1   ...   4   5   6   7   8   9   10   11   ...   21




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет