Опорноный коспект
лекции
|
|
Ф
ФСО ПГУ 7.18.2/07
|
Қазақстан Республикасының Білім және ғылым министрлігі
С. Торайғыров атындағы Павлодар мемлекеттік университеті
Физика, математика және ақпараттық технологиялар факультеті
050703 «Ақпараттық жүйелер» мамандығының студенттеріне
«Программалау технологиясы» пәнінен
Дәрістердің тірек конспектісі
Павлодар
Лист утверждения опорного конспекта лекции
|
|
Ф
ФСО ПГУ 7.18.2/11
|
Бекітемін
ФМ ж ИТ факультетінің деканы
_____________ Тлеукенов С.К.
«__»_________2008ж.
050703 «Ақпараттық жүйелер» мамандығының студенттерінің
«Программалу технологиясы» пәнінен
дәрістердің тірек конспектісі
Құрастырушы: аға оқытушы Аканова А.С.
Информатика және ақпараттық жүйелер кафедрасы
Оқу формасы: жалпы орта білім негізіндегі күндізгі, түскен жылы-2006
Дәрістер тірек кнспектісі жұмыс бағдарламасы негізінде жасалған
Кафедраның отырысында қарастырылған
«__»_______________________200 ж. №_____ хаттама
Кафедра меңгерушісі ___________ Ж.К.Нұрбекова
(қолы)
Факультеттің әдістемелік кеңесінде құпталған
______________________________________
«___»___________200 ж. №______ хаттама
ӘК төрайымы ____________ А.З.Даутова
(қолы)
Тақырып1. Delphi - дің кластары мен обьектілері.
Delphi - н интерфейсін жүзеге асыру үшін кластар кітапханасын пайдаланады. Онда формада қолданылатын әртүрлі кластардың үлкен саны және форманың өртүрлі компоненттері (командалык кнопкалар, реакциялау алаңы және т.б.) қамтылған.
Форманы жобалау кезінде Delphi қосымшасы программа текстіне қажетті обьектілерді автоматты түрде қосып отырады. Delphi - ді іске қосқанда код редакторы терезесін көретін болсақ, онда келесі жолдар болады: type
TForm I = class (TForm) private
{ Private declarations } public
{ Public declarations } :;
end; var
Form 1: Tform
Бүл бастапқы класты, қосымшаның бос формасын сипаттау және қосымшанаи объект - формасын хабарлау. Программист қажетті компоненттерді қосу аркылы форма құрғанда, Delphi форма класын сипаттауды қалыптастырады Программист форма оқиғасын немесе оның компонентін өңдеу функциясын құрғанда, Delphi қосымша форма класынын сипаттамасына өдісті хабарлауды қосады.
1. Delphi 7 ортасында бағдарламалау Негізгі тұсініктер
Delphi - ді қолдану арқылы формаларды, функцияларды, .D11 компоненттер ісітаііханасын құруға, кез - келген типтегі қашықтықтағы және жергілікті «әліметтер корымен (InterBase, Sybase, Microsoft SQL, Oracle, dBase, Paradox және т.б) жүмыс істеуге болады. Сонымен бірге Delphi мәліметгер қорынын <осымшаларын жасайтын кеңінен таралған қурал болып табылады. Мәліметтер (орының күрделі есептерін (отчет) генерациялау және баспаға беру үшін іайдалынылады.
Delphi құралдарын пайдалану арқылы өздерің жасаған қосымшалармен yficrosoft өнімдері (Word, Excel, және т.б) байланыс орнатуға және олардың лүмкіндігін пайдалана отырып куатты көмек системасын құруға болады.
Delphi бағдарламалау ортасы мынадай элементерден түрады:
-
Негізгі терезе (басты мәзір, саймандар тақтасы және компоненттер
политрасы), оның тақырыбы - Delphi 7 - Project 1; - деп аталады;
-
Обьектілер құрылымы орналасқан терезе (Object Tree View);
-
Обьектілер инспекторы терезесі (Object Inspector);
-
жағында орнала с к п и > терезесі мен программа коды терезесіне және керсінше тез алмасу F12 іернесі арқылы орындалады.
ьгшканның оң жағындағы контексті менюдің Properties (касиет) командасы колданылады.
Стандартты командалар1
File/New/Other - обьектілерді таңдау.
File/Open - алдьш - ала бар файлды ашу.
File/Save - белсенді құжатгы сақтау.
File/Save All — жобаның барлық файлдарын сақтау.
File/Open Project - программаның алдын - құрылған жобасын шақыру.
Project/Add to Project - жобаға файл косу.
Project/Remove from Project - жобадан файлды жою.
Help/Delphi Help - Анықтаманы іске қосу.
View/Units - тізімнен модуль таңдау.
View/Forms - тізімнен форма таңдау.
View/Toggle} - форма терезесінен программа коды терезесіне
View/Unit } жөне кері алмасу.
File/New / Form - жаңа форма қүрады жөне оны жобаға қосады.
Run/Run - программаны тексереді және орындайды.
Run/Pause — дұрыс орындалмаған прогаммаға үзіліс жасау.
Run/Trace Info - шақырылған подпрограммаларға қадам бойынша ену.
Run/Step over - шақырылған подпрограммалардың жұмысын елемей қада
бойынша сну.
Пиктографиялық тетіктер орналаскан саймандар тақтасының конфигурациясы езгерту үшін негізп мәзірден View/Toolbars/Cuitomize командасын немес саймандар тақтасыньщ контексті менюінен Customize командасын тандаймыз.
Бүл терезеде пиктографиялық тетіктердін орналасуын алмастыруға, жоюғ қосуға, жасыруға, көрсетуге болады.
Toolbars жапсырмасы саймандар тақтасы мен жылдам орындалатын тетіктері
баскаруға арналған. :
Commands жапсырмасы тетіктерді тавдауға және оларды саймандар тақтасыт^
орналастыру мүмкіндігін береді. ■
Options жапсырмасы арқылы, Show Tooltips - жылдам орындалатын пернелерді жарлығьш (курсорды оған ұстап тұрғанда) керсетуді немесе Show Shortcut kej on tooltips - бүл жарлыктарда сәйкес келстін псрнелер тобын бейнелеуді іс* қосу, не ажырату.
1.2. Компоненттер тақтасы
Компонентгер тақтасы қосымшаға қатысатын компонентгерді мүмкіндігін береді. Компонентгер - бүл Delphi - қосымшаны жинауға қажетті "қүрылыс блокхары" Компоненттер пиктограмма түрінде тақтада орналасқа: Delphi ~ ді іске қосканда Standard беті белсенді болъш тұрады. Беттерд орналасу тәртібін өзгерту, атын өзгерту, жою, пиктограмма косу немесе кейб пиктограммаларды басқа бетке жылжыту үшш Palette Properties диалогтЫ терезесі қолданылады. Ол диалогтык терезені ашу үшін Component / Configui Palette командасын немесе компоненттер политрасьшың кез - келген жерій
.5. Обьектілер инспекторы және обьектілер құрылымы
Обьектілер инспекторы обьектілер касиетін орналастыру мүмкіндігін береді жөне программа құру кезінде өдістерді тағайындайды. Обьектілер Инспекторы терезесі екі жапсырмадан тұрады: Properties және Events.
Properties жапсырмасында екі баған бар. Сол жағындағы бағанда редакцияланып отырған компонент үшін жобалау кезінде қажет болатын барлык қасиеттердің тізімі орналасқан. Оң жақ бағанда сол қасиеттердің мәнін өзгертуге болады.
Events жапсырмасынын сол жағындағы бағанда компонент оқиғасын өндеушілер тізімі келтірілген. Оң жағындағы оқиғаны өңдеушілердің сәйкесінше аттары орналастырады.
2. OBJECT PASCAL ТІЛІ
2.1. Жоба құру негһдері
Object Pascal тілі - Delphi ортасындағы негізгі бағдарламалаушы құрал. "elphi-де кез-келген бағдарлама жоба файлынан және бір немесе бірнеше одульдерден тұрады. Object Pascal-дағы бағдарлама жоба мынадай бөлімдерден ^руы мүмкін:
Бағдарлама тақырыбы;
Іске қосылатын модульдерді сипаттау бөлімі;
Белгілерді сипаттау бөлімі;
Тұрақтыларды сипаттау бөлімі;
Типтерді сипаттау бөлімі;
Айнымалыларды сипаттау бөлімі;
Процедура мен функциялар бөлімі.
Жаңа қосымша құру үшін File/New/Application командасын орындаңдар, ол аңа жоба ашу мүмкіндігін береді. Сол кезде косымшаның негізгі (басты) ормасы Forml және оған сәйкес модуль Unitl құрылады. Форманын ікырыбьш өзгертуге болады. Ол үшін: обьектілер инспекторына өтіп, Properties етіндегі Caption касиетінің тұсындағы сөзді, жаңа тақырыппен өзгерту керек. өптеген мысалдарды орындауда көбінесе бір ғана форманы пайдалануға тура гледі.
Бүл форманы қүру үшін:
1) File/New/Application командасын орындап жаңа жоба ашыңдар.
Форманың тақырыбын өзгертіңдер.
Additional бетіндегі BitBtn компонентін таңдап, оны форманың
қажетті жеріне орналастырындар. Обьектгілер инспекторы осы тетік
туралы ақпарат береді. Kind қасиетіне ЪкОк мәнін беріңдер.
Осындай тәсілмен екінші тетікті орналастырыңцар, оның Kind
қасистінде bkClose монін беріңдер.
Standart бетінен Edit компонентой формаға орналастырыңдар және
Text қасиетінің мәнін өшіріңдер.
Формаға Standart бетіидегі Memo компонентін орналастырыңдар,
Lines қасиетінің мәнін өшіріңдер. SerollBars қасиетіне ssBoth
таңдандар.
Мұндағы, BitBtn тетігіндегі Kind қасиеті компонентің сыртқы түрін жене осы тетік диалоггық терезеде асыратын стандартгы функцияларды анықтайды.
Memo компонентінің SerollBars қасиетіне меншіктелген ssBoth мәні редакторда горизонталь жене вертикаль айналдыру жолағының болуын білдіреді.
Lines қасиетінде Memo компонент! экранда пайда болғанда оның алаңьшда бейнеленетін текст жазылады. Осындай мағынаға Edit компонентінің Text қасиеті ие болады.
Әртүрлі қосымшаларды кұруда көбінесе ұқсас формаларды пайдалануға тура келеді. Ол үшін бір форманы шаблон ретінде архивте сақтап коюга болады. Бұл амалды орындау ұпгін:
-
Форманы кез - келген атпен файлда еактаңдар.
-
Бұл форманы архивке енгізу үшін, формада тұрып тышқаннъщ оң жак.
тетігіне басу арқылы Add to Repository командасын таңдаңдар. Пайда
болған формадағы Title жолында форманың атын, ал Description жолына
- түсінікгеме сөз жазыңдар. Page тізімінде Forms таңдаңдар. Ал Author
жолына өз фамилияларыңды жазып, Ок тетігіне басьщдар. Енді бұл
форманы тіркеуге алынды деп есептеуге болады. Оны File/New/Other
командасы арқылы орындауға болады.
Форманы Delphi іске қосылғанда стандартты бес формамен бірге нгағару үшін Tools/Repository командасын орындап, Pages тізімінен Forms жольш және Object тізімінен өздерің сақтаған форманы табывдар. Оған тышқанның сол жағымен шерту арқылы оған Main Form жалаушасыи орнатыңдар. Бұл терезені Ок тетігін басу арқылы (барлық өзгертулерді сақтау үшін) жабыңдар.
Object Pascal тілінің кейбір мүмкіндіктерін "иллюстрация" жасау үшін мьшадай практикалык мысал карастырайық. Алдымен жоғарыда келтірілген әдіспен форма күрыл оны Form Example атаңдар (яғни, Caption қасиетінің мәнін Form Example деп өзгертіңдер). Егер аддьш - ала құрылып сақталған болса, онда негізгі менюден File/New/Application командасын орындаңдар. Ok тетігіне екі рет шерту арқылы редактор кодының терезесіне мына программа текстін жазыңдар:
Procedure TForm. BitBtnlClick (Sender: Tobject): ConstS =' тұрақты ';
SI =' өрнек';
A=10*15;
Limit = 700;
St = ' жолдық тұрақты ';
Suram = a + Limit; begin
// түрактылар мен өрнектерді шығару Memo 1 .lines.Add ('St =' + st); Memol.lines.Add (S + ' a =' + IntToStr (a)); Memol.lines.Add (S + 'Summ =' + IntToStr (Summ)); Memo 1 .lines.Add (S + ' Limit =' + IntToStr (Limit)); Memol.lines.Add (SI +' 12*34 =' + IntToStr (12*34)); Memol.lines.Add (SI + ' 123 div 4 =' + IntToStr (123 div 4)); Memol .linesAdd (S1+' 256 shr 7 =' + IntToStr (256 shr 7 )); Memol.lines.Add (SI +' 2 shr 8 =' + IntToStr (2 shr 8 )); Memol.lines.Add (SI +' 23 mod § =' + IntToStr (23 mod 5)); Memol.lines.Add (SI + ' 12 and 22 =' + IntToStr (12 and 22)); end; F9 пернесін басып орындағанда, нәтиже былай болады:
St = жолдық тұрақты
|
ернек 123 div 4 = 30
|
тұрақты a = 150
|
өрнек 256 shr 7 = 2
|
тұракты Summ = 850
|
өрнек 2 shr 8 = 0
|
тұравды Limit ~ 700
|
ернек 23 mod 5 = 3
|
өрнек 12*34=408
|
өрнек 12 and 22 = 4
|
2. 2. Қарапайым операторлар
Програмадағы оператор - бұл кандайда бір алгоритмдік іс - әрекетті орындайтын біртұтас бөлінбейтін сөйлем. Бұкіл программа бірінен - соң бірі орналасқан операторлар тізбегінен құрылады. Кез - келген оператор деп іс -әрекетті түсінеміз (салыстыру, меншіктеу, программа бойынша өту (кешу) және т.б.). Сонымен айнымалыларды, тұрақтыларды, белгілерді, типтерді сипаттау блогы және оларды құрайтьш сөйлемдер оператор бола алмайды. Программада операторлар бірінен-бірі нүктелі үтір (;) арқылы ажыратылады. Бұл символ операторлардың соңын білдіреді.
Object Pascal тілінің операторларьщ қарапайым және құрылымдық деп екіге бөлуге болады. Қарапайым операторлар деи құрамында баска операторлар жоқ (болмайтын) операторларды айтамыз. Олар:
-
меншіктеу операторы;
-
процедураны шақыру;
-
Goto шартсыз көшу операторы;
-
бос оператор.
Goto операторын қолдану үшін белгілерді сипаттау бөлімінде (0 - ден 9999 немесе атау) label сөзінен соң сипатталуы тиіс.
2.3. Құрылымды операторлар
Кірылымды операторлар құрамында бірнеше басқа қарапайым жәнс к¥рыльшды операторлар болуы мүмкін.
Олар:
-
Құрмалас оператор;
-
Шартты оператор if;
-
Case шартты операторы;
-
Repeat циклдік операторы;
-
While циклдік операторы;
-
For циклдік операторы;
-
With жазбалар операторы;
Қурмалас операторлар - деп begin және end сөздерінің арасында орналасқан операторлар тізбегін атайды. Бұл кілтгі сөздер операторлық жақшалар деп аталады. begin a: = 45; b: = a*21; end;
2.4. DELPHI - де қосымшалады күру негіздері
Delphi -де қосымща қуру деп - бір немесе бірнеше формаларды қүруды, эларға қажетті компоненттерді орналастыруды, компоненттермен байланыс эрнататын қажетті қасиеттерді беруді, жене компонештерге қолданылатын іс -эректтерді сипатайтын әдістерді (функциялар мен процедуруларды) сипаттауды ійтады. Цегізгі стандартты функцияяар
Сызықтық программалау
1-мысал. Формага екі түйме орналастырайық. Оның біріне шерткеид шерту санын көрсететін болсын. Алдын — ала жумыстың барысында бірінь тетіктегі сан — 0-ге тең. Екішиіде — Выход.
Жұмыстың барысы.
-
Delphi -ді қосканда автоматты турде қосылатын формаға екі рет Butfa
кнопкасьш орналастырыңдар .-,
-
Алдын - ала жоба файлын және модуль файлын сақтап алыңдар: ,.,,
File/Save Project As..., File/Save As..., File/Save Al
3. Форманың өлшемін былай өзгертуге болады: ,,
-
Форма жиегіне тышқанмен басып жібермей қажетті жерге дейін сұйр
керек;
-
Форманың қасиетгерінде оның биіктігі мен енін көрсету керек.
Client Height; Client Width.
-
Компоненттер тақтасынан қажетті элементті (Buttonl) формаға орналасты]үшін оны тышқанмен сүйреу керек пемесе Shift тетігін басып жібермікомпонентгер тақтасынан қажетті элементті таңдау керек. Сонан соң Sh
тетігін босатьш формаға әрбір шерту арқылы кажетгі компонентті бірнеіірет орналастыруға болады. Бұл әрекетті компоненттер тақтасының с(
жағындағы стрелка бейнесі бар тетікті басу арқылы тоқтатуға болады.
-
Формадағы обьектілерді түзу (реттеу) үшін (оңға, солға, ортаға және іі
Edit/Align командасын пайдаланамыз.
Формаға төмендегідей екі кнопкасын (Buttonl Button2) орналастыру.
Копонеттер ушін өзгеретін щсиеттерді сипаттау кестесі
Элемент
|
Қасиеті
|
Мәні
|
Жұмыс тетігі
|
Caption
|
0
|
(Name)
|
Bull
|
Шығу тетігі
|
Caption
|
Выход
|
(Name)
|
But2
|
Мұндағы, (Name) - обьектінің аты, ал Caption - тақырыбы (ондағы мәтін)
6. Программа кодын жазу үшін Button 1 тетігіне екі рет шертеміз. Код
редакторында осы тетікті басу орекетін өңдейтін процедураға дайындық
пай да болады.
Procedure TForml.ButlClick (Sender: TObject); begin
end; Егер тетік басылса оның жалпы санын экранда көрсету керек.
7. Айнымалыларды сипаттау белімінде С - айнымалысын былай сипаттаймыз:
var С: Integer; Сонда программа:
Procedure TForm I. But 1 Click (Sender: TObject) begin
C: = C+1;
Butl.Caption: = Inttostr(C); end;
Осындай тәсілмен Button2 обьекті үшін OnClick қасиетін өңдеу процедурасын құруға болады.
Procedure IForml. But2Click (Sender: Tobject) begin
Forml .Close; end; Сонымен программа код терезесінде программа модулі төмендегідей болады:
var C:integer;
procedure TForm 1.But lClick(Sender: TObject);
begin
C:=C+1;
But 1 .Caption:=inttostr(C);
Тармақталушы алгоритмдерді программаліу
Оның жалпы түрі:
if <шарт> then <бірінші іс-әрекет> else <екінші іс-әрекет>;
Орындалу ережесі.
Егер if сөзінен кейшп шарт ақиқат болса, онда then сөзшен кеиінғі оіріжші әрекет орындалады, ал else сөзінен кейінгі екіиші іс-әрекет орындашайды Егер if сөзінен кейінгі шарт жалған болса, онда else сөзінен кейіігі екіиші іс-өрекет орындалады, ал бірінші іс-әрекет орындалмайды.
1 - мысал. Функция мәнін есептейтін программа—жоба цурыңдар.
sin(cos х) + -Jx3 + 4,х > 0,9
cos(sin х) + \]х +2,х < 0,9
Формаға қажетті компоненттер Editl, Edit2, Button 1, Button2 Бағдарлама мәтіні:
procedure . ^,_,.
var x, у: real; begin
x:=str tofloat (Editl texst);
if x >=0.9 then y: = sin (cos(x)) + sqrt (exp(3*ln(x))+4)
else y: = cos (sin(x)) + exp (l/3*ln(abs(x))+2); Edit2, text: = Floattostr (y); Memol. lines.Add('y =' + Floattostr(y)); end;
2 - мысал. Телефонмен сөйлесу к^нын ecenmey
Бағдарламаға қажетгі компоненттер:
Form 1. Caption Сөйлесуқұны
Editl. Texst
Edit2. Texst
Label 1. Caption ¥зақтығы (мин.)
Label2. Caption
Buttonl,Caption Есептеу
Button2,Caption Шығу
Мұндағы, форма компонентерінің қасиетгерінің мәнін сипаттаудағы ашқы компонент аты жөне нүктеден соң - атының кдсиеті көрсетілген.
(Вычислить) Есептеу тетігіне шерткенде программа есептеуді жүзеге ась'рады. Бүл кезде TForm. Button Click процедурасымен өңделетін On Click °ҚИғасы пайда болады.
Procedure TForml. Button 1 Click (Sender: Tobject); const
P = 6; // бір минут сөйлесу кұны 6 тенге В = 0,2; // 20 процент жеңілдік
var
T: real; // сөйлесу ұзақтығы A: integer; // аптаның күні S: real; II сейлесу құны
begin
T :=StrToFloat (Editl.text); A :=StrToFloat (Edit2.text);
// Сөйлесу құнын есептеу S := P * T;
// Erep күн сенбі немесе жексенбі болса, онда // сөйлесу құнын жеңілдікпен есептеу if (A = 6) OR (A = 7) then S: = S * (1 -B); // Есептеу н#гижесін шығару Iabel3.caption: = FloatTostr(s) + ' тг төлеңіз ';
end;
Procedure TForml.Button2 Click (Sender: Tobject); begin
Forml. Close; end;
3 - мысал. Багдарламалау кезінде көбінесе екіден көп тармацтан таңдаудь жузеге асыруга тура келеді.
Келесі бағдарламада сіздің салмағыңызды және бойыңыздың үзындығыі енгізуді сұрайды. Салмактың оптимальды мәнін есептейді жөне оны нақті салмақпен салыстырады да сәйкес жауапты экранға шығарады. Салмақты тиімді мәні былай есептелетіндігі бізге белгілі:
Бой ұзындығы (см) -100
Бағдарламаға қажетті компоненттер: Editl, Edit2, Labell, Label2, Label: Button 1, Button2.
Procedure TForm 1. Button 1 Click (Sender: Tobject); var
W: real; {салмак}
h: real; {ұзындық}
opt: real; {оптимальды салмақ}
d: real; { оптимальды салмақтан ауытқу }
begin
W : = StrToFloat (Editl.text); h : = StrToInt (Edit2.text); opt: = h - 100;
if w = opt then Label3. Caption: = 'Сіз жақсы формадасыз' else if w < opt then begin
d: = opt - W; Label3. Caption: = =' Сізге ' + FloatTostr(d) + ' кг - ға толу керек ';
end;
else begin d: = W - opt; Label3.Caption: = =' Сізге ' + FloatTostr(d) +' кг - ға азу керек';
end;
Procedure TForml. Button2 Click (Sender: Tobject); begin
Forml.Close; end;
4-мысал. Функция мәнін есептейтін программа--жоба к^рыңдар.
-4х2 +8,я<0 •у/аг2 + Зх + 4,х > I
1-әдіс.
Форма кұру. Формада көрсетілгендей компоненттерді орналастырьш, эр
компоненттердің қасиеттершің мәндерін қойып шығу.
Процедура программасын жазу. Ол үшін «Есептеу» түймесіне екі рет
басу, сонда программа терезесі шығады. Келесі процедура денесін енгізу.
procedure TFonnl.ButtonlClick(Sender: TObject); var x,y:real; begin
x:=strtofloat(Editl.text); if x<0 then y:=-4*x*x
else if x> 1 then y:=sqrt(x*x+3*x+4) else y:= sqr(x*x+3*x+4);
Iabel3. Caption :=floattostr(y); end;
У= -36
2-әдіс.
Бұл әдісте InputBox енгізу терезе^ерін жөне ShowMessage шығару терезесі пайдаланамыз.
1. Жаңа формаға екі per шерту, программа код терезесі шығады. Програм» кодын жазамыз.
procedure TForml.FormCreate(Sender: TObject);
var x,y:real; xl:string;
begin
x I :=іприЛох('х-енгіз','х=',");
x:=strtofloat(xl);
if x<0 then y:=-4*x*x
else if x> 1 then y:=sqrt(x*x+3*x+4)
else y:= sqr(x*x+3*x+4); ShowMessage('y='+floattostr(y)); end;
0.8x2+16,xg0 + 0,3 Ix + 0,24, x = O,4| sin()0,6x-0,37), x> 0,4.
Таңдау (Case) операторын пайдаланып программа қурыңдар
Тізім берілген. Студентгің игомсрін енгізу арқылы оның
фамилиясын жауапқа шығарықцар.
Жеңіл автокелікггің бірнеше моделі туралы мөлімет берілген. Модел
номерін енгізу арқылы сол автокөліктін шыққан жылын және
бағасын жауапқа шығарыңдар.
Елдердің атауларыньщ біріншіәрпін енгізу арқылы оның
астанасының атыи жауапқа шығарыңдар.
-
Айдың номерін енгізу арқылы )кыл мезгілін жауапқа шығарындар.
Қала атының бірінші өрпін еніізу арқылы онда түратын халықтың
саньш жауапқа шығарыңцар.
Автобустың номерін енгізу арқылы оның аялдамаларыньщ санын
жауапқа шығарыңдар.
Елдің атының бірінші өрпін енгізу арқылы ондағы қалалардың
санын жауапқа шығарывдар.
Қаланың телсфондық кодын енгізу арқылы сол қаланын, атын
жауапқа шығарындар.
Апта күндсрінің номерін енгізу арқылы сол күні болатын
сабақтардың санын жауапқа тығарывдар.
-
Алты түрлі тауар туральг мөлімет бар. Оның біреуінің кодын
енгізу арқылы сол затшң бағасын жауапқа шығарывдар.
-
Айдың номерін енгізу арқылы сол айдағы күндер санын
жауапқа шығарындар.
-
Топтың номерін снгізуарқылы сол топта қанша студент бар
екендігін жауапқа шығарьщдар.
-
0-ден 10-ға дейінгі сандардың біреуін енгізу арқылы
олардьщ ағылшын тілінде аталуі,ш жауапқа шығарындар.
-
Жеті су өзендерінің аттарынъщ бірінші өріптерін енгізу
арқылы олардың үзывдығын жауапқа шығарындар.
15' Жүлдыз жорамалдағы 1-ден 12-ге дейінгі жүлдыз аттарының
номерін енгізу арқылы олардьң атын жауапқа шығарындар.
-
10-нан 19-ға дейінгі сандарды енгізу арқылы олардың сөзбен
жазылуын жауапқа шығарьшдар.
-
Үйдегі пөтердің номерің енгізу аркылы сол үйдегі
түріындардың санын жауапқащығарындар.
**• Бес досыңның бірінің телефон номерін енгізу арқылы онын
атын жауапқа шығарывдар.
■*"• Әншілердін аттарын енгізу арқылы олардың қай
Мемлекеттен екендігін жауаиқа шығарьщцар.
Қазақстандағы партиялардың номерін енгізу арқылы сол
партияның атын жауапқа шытарындар.
5. Қайталанатын алгоритмдерге бағдарлама құру
5.1 Repeat циклдік операторы
Repeat циклдік операторы - кайталау саны алдын - ала белгісіз, бір щ бірнеше операторлардан тұратын циклдін орындалуын үйымдастырат; Берілген шарт орындалғанда циклден шығу жүзеге асырылады. Мұндай щ кемінде бір рет орындалады жөне циклдің соңына жазылған шарт тексерілед Осы шартқа байланысты циклдің кдйталануы не қайталанбауы анықталаді Циклдің бір рет орындалуын әдетте итерация деп атайды. Бүл оператору
құрылымы мынадай;
Repeat циюі_денесі
until шарт; !
мұндағы, repeat, until - қызметші сөздер;
цикл_ денесі - қандай-да бір ^ператорлар тізбегі; шарт - логикалық типтегі өрнек.
Ереже. Шарт ақиқат болғаиша цикл денесі орындалады, шарт ақиқат болғащ ол орындалуын тоқтатады және циклден шығу орындалады, яғни:
-
Алдымен repeat және until сөздерінің арасындағы цикл денесі орындаладі
-
Сонан соң шарт өрнегінің мөні есептелінеді. Егер шарт жалған болса, ohj
цикл денесі тағы бір рет орындалады.
3) Егер шарт ақиқат болса, онда цикл денесінін орындалуы тоқтайды.
Ескерту. Циклдің орындалуы кезінде шексіз көп қайталануды болдырмау үш
цикл денесінде міндетті түрде шартқа катысты айнымалылардың мәндер
өзгертетін команда тұруы қажет.
1-мысал. 1-ден 10-га дейінгі бутін сандардың тек жуп сандарып қосындысын repeat операторының көмегімен есептеу.
procedure TForml. Button lClick(Sender; TObject);
var
n,i .integer; suml ,sum2:integer; nl:string; begin
nl—Edit 1.text; n:=strtoirtt(nl); suml:=0; i:=l; repeat
suml:=suml+i; i:=i+2; until i>n; memol .lines. add(inttostr(suinl));
end;
6. Символдык акпаратгарды өңдеу. Жолдар
Object Pascal - да мэтіндерді өңдеу үшін жолдар қолданылады. Жолдардьщ
>рт түрі болады:
қыскажол ShortString немесе Stringfn] (мұндағы п<=25б);
Ұзын жол String;
Кең (широкая) жол WideString;
нөлмен аякталатын жол (нөл - терминал жол) Рсһаг. Коды нөл
символмен аяқталады.
Әрбір жолды символдардың бір өлшемді массиві деп қарастыруға болады. олдың символдарына оның сол жолдағы рет номері бойынша сілтеме жасауға
щады.
Нөлмен аяқталатын жолда оның елшемі туралы айқын мәлімет болмайды.
эндықтан оның үзындығын аігықтау үщін Lenqth немесе StrLen стандартгы
^нкциялары қолданылады. Ал SizeOf 0 функциясы бөлінген жадыньщ өлшемін
лу үшін қолданылады.
Осы сипатталған мүмкіндіктерді келесі мысал арқылы қарастырайық.
— мысал. Мунда әртурлі жолдъщ типтегі айиымалылар сипатталады және
\арга бөлінген байт саны жауапқа гиыгарылады.
Procedure Tforml.BitBtnlClick (Sender: Tobject);
var
// ұзындығы 200 символға дейінгі қысқа жол
SI: String [200];
// ұзындығы 255 символға дейінгі қыскд жол
S2: ShortString;
S3: String; // ұзын жол
S4: WideStrinq; // қалың (жалпақ, енді) жол
// нөл - терминал жолға сілтеме
S5: Рсһаг;
// 500 символға дейінгі нөл - терминал жол
S6: array [0..500] of char ; beqin
Memo!.Lines. Add (rSl='+InttoStr (SizeOf (SI))); Memol.Lines. Add CS2='+bitToStr (SizeOf (S2))); MemoLLines. Add ('S3='+IntToStr (SizeOf (S3))); Memol.Lines. Add ('S4='+IntToStr (SizeOf (S4))); Memol.Lines. Add ('S5='+IntToStr (SizeOf (S5))); Memol.Lines. Add (TS6='+IntToStr (SizeOf (S6))); aid;
Іл программаньщ орындалу нәтижесі"
-
=201
-
= 256
-
= 4
-
= 4
-
= 4
var
a,b,c:set of 0..7; begin a:=[7,2,4]; b:=[2A7J; c:=[2,7);
if a=b then memol.Lines.Add(' a, b эквивалентти'); if a>=c then memol.Lines.Add(' с жиыны а жиынына киреди'); if Ь>-с then memo 1.Lines.Add(' с жиыны b жиынына киреди'); if StrToInt(Edit 1 .text) in a then
memol.Lines.AddC Edit 1.text мани а жиынына киреди') else Include(a,StrToInt(Editl .Text)); end;
Жиындар
Кейбір объектілердің тізімін ойдан құрыңдар, мысалы, дукендегі тауарлардың атгары; әртүрлі елдердегі пайдалы қазба байлыктардың түрлері; үйірме жұмыстарына қатысатын оқуіныяардың фамилиялары және т.б. Осы тізім элементтерінің әртүрлі комбинациясынан түратьш бес жиын қүрьщдар (ағьшшьш тілінде). Бірмезгілде барлық жиынның қүрамьша енетін объектілердін атьш экранға шығарыңдар. Бірде-бір жиьшға енбейтін объектілерді анықтаңдар. Оған қосымша ез варианттарыңдағы тапсырмаларды орьшдаңдар:
Бірінші жиывда бар, ал үшінші жиында жоқ объектілерді анықтаңдар.
Бірінші және үшінші жиынға енетін объектілерді анықтаңцар.
Тек бірінші жиында ғана кездесетін объектілерді анықтаңдар.
4. Бір мезгілде бірінші, екінші және үшінші жиындарға енетін
объектілерді анықтаңдар.0>0>0>
Достарыңызбен бөлісу: |