Delphi 7 ортасында программалау негіздері

Автор работы: Пользователь скрыл имя, 24 Сентября 2013 в 04:28, реферат

Описание работы

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

Файлы: 1 файл

Delphi 7 ортасында программалау негіздері (2).doc

— 151.50 Кб (Скачать файл)

Delphi 7 ортасында программалау негіздері

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


Процедуралар  мен функциялар '         "' ^

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

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

Функция

Фунщия — бүл ішкі программа, аты бар инструкциялардың тізбегі. Функцияны шақыру жалпы түрде былай жазылады: айнымалы:—функция(параметрлер);

  1. айнымалы — функция есептеген мәнді меншіктеуге арналған айнымалының аты,
  2. функция — функцрш аты;

3) параметрлер     —     формальды параметрлер тізбегі, функция мәнін есептеу 
үшін қолданылады.

Төмендегі ескертулерге көңіл бөлу керек:

  1. Функция мәні меншіктелетін айнымалының типі, функция типімен сәйкес болуы 
    қажет.
  2. Әрбір функция үшін параметрлер саны және типі анықталған болады.

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

Function аты(]-параметр:1-тип, . . . ,

к-параметр:к~тип):Тип var

//жергілікші   айнымалыларды cunammay;

begin -•   '■■•■"■

//функция инструкциясы;       ,, .-,■.-, аты:=өрнек; End;

Function- Delphi ортасының қызметші сөзі, бүл сөзден кейін функция инструкциясы жазылады.

Параметр — функция мәнін есептеу үшін қолданылатын айнымалы.

Аты — функция аты, программадан функция инструкциясына ауысу үшін қолданылады.

Tun — функция мәнінің типі.     ...,

Процедура

Ішкі программа мына екі жағдайда процедура түрінде  болады:

1) Ішкі программа негізгі программаға ешқандай  мәліметтерді   қайтармаған жағдайда процедура түрінде болады.

2) Ішкі программа оны шақырған программаға бірден артық мән қайтарғанда процедура түрінде болады

 

Жалпы түрде процедураны  сипаттау:

Procedure amu(var 1-параметр:1-тип; .

. . , var к-параметр:к-тип); var //жергілікті айнымалыны сипаттау;

Begin // процедура инструкциясы жазылады;

End;

к-параметр — формальды параметр, ол процедура ішінде қолданылады. Процедураны шақыру.

Аты(параметрлер  тізімі);

уіяш-шақырылатын процедура аты.

Параметр ашздш-үтірмен ажыратылатын нақты параметрлер.

Енді процедуралар мен  функцияларға мысалдар келтірейік.

1-есеп. Үш бүтін санның көбейтіндісін есептейтін процедура жазып, оны негізгі программада шақырып, нәтижесін экранға шығару.

Есептің шыгарылуы (1-әдіс).

1. Формаға нәтижені  шығару үшін Memol компонентін және процедура денесін жазуға Button 1 компонентін орналастырайық. Компоненттер үшін өзгеретін қасиеттерді бьшай сипаттауға болады:

Компоненттер

Мәндер

 

Memol Button 1 Button2

Lines:6oc Caption:" Caption:"

Есептеу" Шығу"


2. "Есептеу" батырмасын  екі рет басып, программа код  терезесіне өту. Сонда OnClick оқиғасы процедурасының дайындамасы шығады.

3. Процедура дайындамасына  процедура денесін жазу: Procedure

TForm.Buttonl. Click(Sender.TObject); var

mmteger;

procedure kob(a,b,c:integer; var nat.integer); begin

nat:=a*b*c; . >i

end; •   ■      ■   i

- begin

kob(9,7,5,m); .  ••

memo 1. Lines. Add(Inttostr(m)); 
end; 
end. .-'■)    ■'•<■* ".'■■ и-.; r- -,.,

 

4. "Шығу" батырмасын екі рет басып, программа код терезесінде процедура денесін жазу:

procedure TForm 1.Button2Click(Sender: TObject); begin

forml.Close;       ;'«,;? end;

Іске қосу командасын орындау. Ол үшін Run мәзірінің Run пункті арқылы немесе Ғ9 пернесін басу арқылы іске асыру.

  1. "Есептеу" батырмасын басу. Нөтиже форма терезесінде көрінеді.

7. "Шығу" батырмасын  басып, шығып кету.

2-өдіс.Функцияның  көмегімен уш санның көбейтіндісін  табу.

І.Функцияның процедурадан айырма-шылығы бірінші тақырыптарының жазылуыңца; екінші айьфмашылығы, функция денесінде функция атына функция нәтижесі меншіктеледі. Формаға 1-өдістегі компонентгер қасиеттерімен орналастьфьшады. 2."Есептеу" батырмасын екі рет басып, программа код терезесіне өту. Сонда OnClick оқиғасы процедурасының дайындамасы шығады.

3. Процедура денесі төменгідей болады: Procedure

TForm.Buttonl. Click(Sender.TObject); 
var ;

m.integer; function kob(a,b,c:integer).integer;

begin ;.;■

^ kob:=a*b*c; '


end; begin


m:=kob(9,7,5);

memo 1. Lines. Add(Inttostr(m)); end; end.

4. Іске қосу командасын орындау. Ол Run мәзірінің Run пункті арқылы немесе Ғ9 пернесін басу арқылы іске асырылады.

5. "Есептеу" батырмасын басу.

Мүндағы а,£,с-формальды  параметрлер,

9,7,5-нақты параметрлер.  Нақты параметрлер тізімінің  саны және типі формальды параметрлердің  тізімімен сәйкес болу керек. Ішкі программалардың параметрлері мәндер, айнымалы, түрақтылар болуы мүмкін. Сондықтан оларды параметр-мөн, параметр-айнымалы, параметр-түрақтылар деп атайды. Параметр-мөнге мысалы а,Ь,с жатады. Параметр-айнымалы var қызметші сөзінен кейін сипатталады. Параметр-түрақты ішкі программада, егер берілетін мән өзгермейтін болса қолданылады, const қызметші сөзі қолданылады.

2- есеп. Екі бүтін санның қосындысын табуға процедура жазып, негізгі программада процедураны шақырып нәтижені экранға шығару. --,;■

Есептің шыгарылуы.

1. Формаға нәтижені  шығару үшін Memol компонентін жөне процедура денесін жазуға Buttonl компонентін алдыңғы мысадда көрсетілгендей орналастырып, қасиеттерінің мәндерін қойып шығу.

2. "Қосынды" батырмасын  екі рет басып, программа код терезесіне өту. Сонда OnClick оқиғасы процедурасының дайындамасы шығады.

3. Процедура дайындамасына  процедура денесін жазу: Procedure

TForm. Buttonl. Click(Sender.TObject);     , ;^ var

m:integer;

procedure min(a,b:integer; var c.integer); begin

if a>b then c:=b else c:=a; end; begin '      '         min(7,5,m);i'

 

memol. Lines. Add(Inttostr(m)); end; end.

  1. Іске қосу командасын орындау.
  2. "Қосынды" батырмасын басу.

3- есеп. Жиым элементтерінің қосындысын есептеуге функция жазу. Негізгі программада жиым элементтерін енгізіп, нәтижені экранға шығару.

Есептің шыгарылуы. .         .

1. Формаға нөтижені  шығару үшін Memol компонентін және процедура дене-сін жазуға Buttonl компонентін алдыңғы мысалдарда көрсетілгендей орналастырып, қасиеттерінің мөндерін қойып шығу.

2. "Қосынды" батырмасын  екі рет басып, программа код  терезесіне өту. Сонда OnClick оқиғасы процедурасының дайыңдамасы шығады.

3.     Процедура     дайындамасында программа модулін  жазу: Procedure

TForm. Buttonl. Click(Sender.TObject); Type

Massiv=array[l.. 50] of integer; -

var

mass:massiv; s,i:intrger;

function sum(m:massiv;k:integer)-.integer; var

nat,i'.integer; begin         ,!;.: nat:=O;

for i:=l to k do ,..-:    nat:=nat+mfi]; ;

sum:=nat; end; begin for i:=l to 7 do

massfi]:=i+5; ,.;     ;. s:—sum(mass,7);

memo 1. Lines. Add(Inttostr(s)); end;

4. Іске қосу командасын орындау. Ол Run мәзірінің Run пункті арқылы немесе Ғ9 пернесін басу арқылы іске асыруға болады. г    5. "Қосынды" батырмасын басу.

Ішкі программа өзін-өзі шақыра алады, Object Pascal-да оны басқаша рекурсивті ішкі программа деп атайды. Рекурсивті ішкі программаға мысал көрсетейік.

 

4- есеп. Факториалды есептеу. Факториалды есептеуге функция жазу. Негізгі программада енгізу (Editl) өрісінен санды алып, функцияны шақыру жөне алынған нөтижені Memol өрісіне шығарады.

Есептің шыгарылуы.

  1. Формаға енгізу үшін Editl өрісін, нәтижені шығару үшін Memol компонентін және функция денесін жазуға Button 1 компонентін орналастырып, қасиеттерінің мәндерін қойып шығу.
  2. "Есептеу" батырмасын екі рет басып, программа код терезесіне өту.  Сонда OnClick     оқиғасы     процедурасының дайындамасы шығады.
  3. Программа модулін жазу: :
  4. procedure TForml. Button 1СНск(Sender: TObject);

var "■ -■■■-'■-"■■      - -1

mbyte; function fac(n:byte)'.extended;

var natextended; '''

begin

if n in [0..1] then nat:=l °

else nat:z=n*fac(n-l);

fac:—nat;

end;

begin "•"'■-

n:=StrtoInt(Editl.text);

Memo 1. lines. Add(FloattoStr(fac(n))); End; end.

Delphi 7 ортасында ішкі программаларды пайдалану жолдары көрсетілді. Бұл тақырып бойынша негізгі түсініктерді жөне үғымдарды беруде оларды жаттықтырушы есептермен бекітіп отырған қолайлы болады. Мысалдарды күрделі емес, ықшам етіп және 1-мысалды екі тәсілмен (процедура мен функция) көрсету оқушылардың тез түсінулеріне ықпал етеді деп ойлаймыз. Енді оқушыларға 2-мысалды функциямен, ал 3-ші мысалды процедурамен шығаруды талап етуге болады. Содан кейін оқушыларға жеке орындауға арналған тапсырмалар үсынылады. Оқушыларға теориялық мағлүматтарды нөтижелі меңгерту үшін осындай практикалық жаттығу есептерін олардың орындалу іс-әрекетін ретпен көрсету арқылы үсыну қолайлы деп есептейміз.

 

DELPHI тіліндегі бағдарламаның құрылымы

4-сабақ.

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

Жобанының файлы Object Pascal тілінде жазылған жөне компилятормен өңделетін бағдарлама. Бүл бағдарламаны Delphi автоматты түрде қүрастырады (1-сурет) және ол бірнеше жолдардан түрады.

Delphi ортасын іске қосыңыз, Project=>View Source опцияларын орындау арқылы келесі терезені шығарыңыз:

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

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

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

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

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

begin

Application.Initialize; ■;.

Application.CreateForm(TfmExample, fmExample);

Application.Run;       :і. ■■■,-.■

end.

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

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

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

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

 

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

Қарастырылған мысалдағы Application объектінің қүрамына Windows бағдарламасының жүмысын үйымдастыратын көптеген берілгендер

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

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

Информация о работе Delphi 7 ортасында программалау негіздері