Режа:
1. Borland Delphi дастурлаш тили билан танишиш, масалани =ыйиш ва дастурлаш бос=ичлари.
2. Borland Delphi дастурлаш тилининг асоси былган Turbo Pascal (Object Pascal) алгоритмик тил ща=ида тушунча.
3. Borland Delphi дастурлаш тилида дастурлаш, консол иловалар (консоль приложениялар).
4. Borland Delphi дастурлаш тилида дастурлаш, ойна иловалар (оконньiе приложения).
5. Borland Delphi дастурлаш тилининг бош=а масалаларни ечишга =ылланиши ща=ида тушунчалар.
Ушбу мавзу компьютерда масала ечиш ва натижаларни тащлил =илиш быйича математик таъминотга ба\ишланган былиб, мавзу асосида кыпро= программалаш тилларида масалалар ечишга эътибор берилади. Щали 10-15 йиллар олдин программистларга бир программалаш тилини масалан Fortran, Pascal ёки Си тилларидан бирини билса, бас эди. 1990 йиллардан кейин 32-разрядли операцион системаларни =ылланила бошлаши билан вазият бутунлай ызгарди. Windows мущитида программалаштириш шунчалик =ийинлашиб кетди-ки, ща=и=ий профессионал программистлар щам ожизлик =илиб =олишди. Оддий былган структурали программалаш ырнига объект-ориентирланган программалаш – кып сонли технологияларни яратиш учун асос былган, офис ишлари учун, маълумотлар омбори билан ишлаш учун нтернетга чи=иб ишлаш учун =улай имкониятлар яратувчи программалаш пайдо былди.
Щозирги даврда программалаш бирор лойищани яратиш учун бир неча хил программавий усул ва дастурлардан фойдаланиш зарур былади. Масалан, агар сиз маълумотлар базаси билан ишлаш быйича дастур тузмо=чи былсангиз, у щолда бирор ю=ори сатщдаги программалаш тилидан таш=ари SQL тилини щам ызлаштиришингиз лозим былади. Агар Сиз Internet да ишлаш учун бирор =ылланма яратмо=чи былсангиз, у щолда энг камида юксак даражадаги программалаш тилидан таш=ари Web-сащифа яратиш тили – НТМL ни щам ырганишингиз лозим былади.
Щозирги ва=тдаги дастурлар быйича адабиётлар мутахассислар учун мылжалланган былиб, битта энг кып былса, иккита программавий мащсулотни ыз ичига олиши мумкин. Бундай щолат негатив натижаларга олиб келади ва щозирги замон программалаш тилларининг олий ы=ув юртлари, мактаблар ва махсус ырта ы=ув юртларида ыргатиш учун анча муаммоларга сабаб былади.
Ана шундай вазиятларни щисобга олган фирма Borland (Inprize) бизга катта ёрдам кырсатиб, программалар яратиш учун кучли ва универсал восита- Delphi дастурлаш тилини яратди. Delphi дастурлаш тилининг асосини Turbo Pascal алгоритмик тили ташкил =илади, унинг щам мукаммалаштирилган версияси Object Pascal тилидир. Бу курс ишида биз =ис=ача Object Pascal тилининг тузилиши билан, бу тил ёрдамида консол иловалар яратиш билан ва нищоят учинчи бос=ичда Object Pascal ёрдамида ойнавий иловалар яратиш технологиялари билан танишиб ытамиз. Темани кенг ва тыла кыламли ёритиш учун албатта SQL-server лар, маълумотлар базаси билан ишлашга ёрдам берувчи InterBase-server лари билан щам танишиб чи=иш мумкин быладики, бунинг учун албатта ва=т ва шароитлар камлик =илади. Шундай былсада Delphi дастурлаш тили билан танишиш жараёнида мисолларни кыриб ытиш щам фойдадан щоли былмагани учун биз шу йылни танладик.
2. Delphi дастурлаш тили ¬– Windows туридаги операцион ситемаларда ишлашга мылжалланган дастурларни яратиш мущитидир. Delphi дастурлаш тилида программалар визуал лойищалашнинг щозирги замон технологиялари асосида яратилади, ыз навбатида объект-ориентирланган дастурлаш идеясига асосланган. Delphi дастурлаш тилидаги программалар Object Pascal тилида ёзилади, бу тил Turbo Pascal тилининг давоми ва такомиллаштирилганидир. Turbo Pascal программалаш тили анча даврдан бери кенг =ылланилаётган оддий программалаш тили, яна бу тил программалашга ыргатиш учун анча ын\ай ва =улай былган. Бу машщурликни тилга унинг соддалиги, ю=ори сифатли компиляторга эга эканлиги ва программалар яратишнинг =улай мущитига эга былиши сабабчи былган. Программавий технологиялар бир жойда туриб =олмагани каби Borland фирмасининг (1998 йил апрелдан Inprise Corporation) навбатдаги кучли мещнатлари натижасида Turbo Pascal тили ырнига Object Pascal тили – объект-ориентирланган дастурлаш концепциясини ызида мужассамлаштирган тили юзага келади.
Delphi ва Object Pascal узо= эволюцион ривожланиш натижаси ва щозирги замон компьютер технологияларининг ызида акслантирувчи мащсулотидир. Хусусан, Delphi ёрдамида щар хил дастурлар – консоль иловалардан тортиб, маълумотлар базаси билан, интернет билан ишлаш дастурларигача тузиш мумкин. Шундай экан Delphi дастурини ырганишни нимадан бошлаш керак деган савол ту\илади? Бизнингча бунга жавоб шундай былиши керак: Delphi дастурлаш тили билан танишишни Object Pascal тилини ырганиш ва бу тилни консол иловаларни яратиш учун программалаш тузишда =ыллашдан бошласа былади.
Object Pascal тилининг асосий тушунчалари.
Алгоритм ва программа тушунчалари.
Алгоритм – бу маълум бир амалларни белгиланган =оидалари быйича бажарилиши былиб, натижа =ыйилган масаланинг ечилишига олиб келади.
Щар =андай масалани ечиш учун, хусусан программани тузиш учун щаммасидан олдин алгоритм тузиш керак былади. Программалар тузишда асосий ва=т ва куч масалани ечиш алгоритмини тузишга кетади. Агар бизда олдиндан тайёр алгоритмлар былса, программа тузиш щеч унчалик =ийинчилик ту\дирмайди. Демак, программалаш жарёни бевосита алгоритмлар тузиш билан бо\ли=. Программалаш технологиялари тез суръатларда ривожланиб боргани каби, программалаш тилларининг номига «визуал», «объект-йыналтирилган» сызларини =ышиш щам одат тусига кириб бормо=да.
Алгоритм тузиш мисолини кыриб чи=сак:
X2+sin(2x-1) +0,5
Z= ----------------------------
X2 + Y2+104
Алгоритмларни ёзишнинг бир =анча усуллари мавжуд былиб , улардан энг оддийси алгоритмни сыз билан ёзилиши:
1. Компьютер хотирасига x ва y ызгарувчилар =ийматини киритишдан иборат.
2. z нинг =ийматини берилган формула быйича щисоблаш.
3. z нинг =ийматини экранга чи=ариш.
Алгоритмларни ёзишнинг бу методи содда былсада, унинг кыргазмалилиги кам. Шунинг учун кыпинча блок-схема кыринишида алгоритм ёзишдан фойдаланилади.
Блок-схема усулида алгоритм – бу алгоритмнинг график тасвирланишидир. Блок-схема таркибига кирувчи щар бир блок =андайдир бир щаракатни билдиради.
кириш
х, у
x2 + sin(2x – 1) + 0,5
z = --------------------------------
x2 + y2 + 104
Z
Тамом
Щамма алгоритмлар оддий алгоритмларга былиниши мумкин ва оддий алгоритмлар 3 хил былади:
1. Чизи=ли щисоблаш жараёнлари.
2. Тармо=ланувчи щисоблаш жараёнлари.
3. Такрорланувчи щисоблаш жараёнлари.
Программа - бу кырсатилган алгоритм быйича алгоритмик тилда тузилган кырсатмалар (операторлар)нинг йи\индисидан иборат.Бизнинг энг мущим масалаларимиздан бири Object Pascal тилининг асосий элементларини кыриб чи=иш ва ундан фойдаланиб консол иловалар яратишдан иборат.
Windows мущитидаги операцион системалар да ишловчи программалар илова (приложения)лар деб юритилади.
Delphi программистга буйру=лар сатри ор=али маълумотлар киритиб, иловалар яратишга имкон беради. Бундай иловаларни бажариш учун Windows нинг консоль ойнаси автоматик равишда ча=ириб олинади ва буни «MS-DOS сеанс» деб щам айтиш мумкин. Бундай иловалар консол иловалар дейилади.Бу турдаги иловалар билан ишлашда маълумотлар киритиш учун Object Pascal нинг процедуралари read ва readln, маълумотларни экранга чи=аришга эса write ва writeln процедураларидан фойдаланилади.
Битта мисолни кыриб чи=амиз:
Ю=орида келтирилган ызгарувчи z учун формула быйича щисоблаш программасини тузамиз.
Ечиш:
Биз ю=орида келтирилган блок-схемадан фойдаланишимиз мумкин.
Программа
program p1_1;
{$APPTYPE CONSOLE}
uses
SysUtils;
var x,y,z:real;
begin
writeln(‘Enter x,y’);
readln(x,y);
z: = (sqr(x) + sin(2*x+1) + 0,5)/sqrt(x*x+y*y+1e4);
writeln(‘z:=”,Z:7:4);
readln
end.
Масалани щал =илиб былгач экранда =уйидаги натижа щосил былади:
Программа сарлавщаси хизматчи сыз program cызидан кейин бошланади, масалан, р1_1 деб белгиланган.
Меткалар былими label сызидан кейин бошланади ва меткалар рыйхати кырсатилади. Метка ты\ри идентификатор ёки ишорасиз бутун сондан иборат былиши мумкин. Метка ёрдамида щощлаган операторни белгилаш мумкин ва бош=аришни программанинг исталган жойидан метка =ыйилган операторга узатиш мумкин.
Турларни ани=лаш былими type сызидан кейин бошланади ва =уйидаги кыринишга эга:
< тип номи> = < рыйхат>, бу ор=али программист ыз типларини ёзиши мумкин.
Ызгарувчиларни рыйхатини ёзиш var хизмат махсус сызидан кейин бошланади. Бу ерда ызгарувчиларнинг барчаси албатта кырсатилиши шарт, уларнинг типлари (турлари) щам кырсатилиши шарт. Бизнинг мисолда бу ызгарувчи real туридир.
Процедура ва функцияларни ёзиш былими махсус ажратилмасада уларнинг щар бири ыз подпрограммасига эга.
Биз ю=орида кыриб ытган мисолларнинг бирида иккита подпрограмма =ылланган:
Функция prov ва процедура vych. Улардан щар бири асосий программага ыхшаган тузилишга эга былиши ва ыз операторлари ва локал ызгарувчиларига эга былишлари мумкин.
Операторлар былими begin хизмат сызи билан бошланади ва end сызи билан тамом =илинади ва охирида ну=та белгиси =ыйилиб – программа тамом былганлиги белгисидир. Бу иккита калит сызлар орасига масалаларни ечишга =ылланилаётган Object Pascal тилининг операторлари жойлаштирилади.
Object Pascal тилида турлар икки хил былиши мумкин: стандарт турлар ва программист томонидан ани=ланадиган турлар. Стандарт турлар =уйидагиларга былинади: бутун сонлар, ща=и=ий сонлар, символлар, кырсатувчилар (меткалар), сатрлар, манти=ий ызгарувчилар, variant лар. Программачи турларни ани=лашда var былимидан фойдаланиши ёки махсус ажратилган type былимидан фойдаланиши мумкин. Type резервланган сыздан кейин программист томонидан эълон =илинган турлар умумий кыринишда бундай ёзилади:
<тур номи> = <турнинг ёзилиши>
Масалан, иловаларда =уйидагиларни эълон=илиш мумкин:
Type Tcolor = (Red, Blue, Black);
var color1, color2: Tcolor;
color1, color2 ызгарувчиларни var былимига бевосита жойлаштириш щам мумкин:
var: color1, color2: (Red, Blue, Black);
Бу ёзув олдинги сатрдаги ёзув билан эквивалент былади. Стандарт турларни type былимида ёзиш керак эмас уларни бевосита var былимида ёзиб эълон =илиш мумкин.
Object Pascal тилида стандарт турларни бундай классификациялаш мумкин:
• Оддий
. Тартибланган
- бутун
- щарфий
- манти=ий
- санаб ытиладиган
- чекланган
. Ща=и=ий
• Сатрлар
• Структуралар
• Тыпламлар
•Массивлар
• Ёзувлар
• Файллар
•Класслар
•Интерфейслар
• Кырсаткичлар
• Процедуралар
• Variant
Константалар
Object Pascal тилида икки хил константалар мавжуд: оддий ва номланган.
Оддий константалар – сонлар, щарфлар (символлар), сатрлар ёки манти=ий =ийматлар. Сонли константалар бутун ёки каср, мусбат ёки манфий былиши мумкин. Каср константаларда бутун =исми каср =исмидан ну=та ор=али ажратилади. Манфий сон олдига минус белгиси =ыйилиши шарт, масалан
325 0.0 -627.15 0
Мусбат сон олдига ишорасини =ыйиш шарт эмас.
Каср сонлар сузиб юрувчи вергул шаклида ёзилиши мумкин:
аеn
Бунда а – сон, унинг модули 10 дан кичик былиши лозим;
Е – махсус символ;
n - соннинг тартиби;
- а ёки n нинг олдидаги ишораси.
Сатр кыринишидаги константалар битталик =ыштирно= ичига олиниши лозим, масалан: ‘Delphi визуал прораммалаш мущити’. Сатр ёки символ кыринишидаги константалар ызининг ички коди билан щам ёзилиши мумкин, бунда коддан олдин белгиси =ыйилади, масалан щарфий сатр
‘ABCDEFGH’
=уйидаги билан эквивалентдир:
6566676869707172
Манти=ий константалар иккита: true (рост) ва false (`ёл\он).
Номланган константалар константалар ёзилиш былимига жойлаштирилади ва умумий кыринишда =уйидагича былади:
Const
Prise = 250;
Name = ‘Петров .П.М;
Radius = 2.514;
Номланган константа константалардан ташкил топган ифода билан ани=ланиши мумкин.
<константа номи> = <константа ифодаси>;
Константалар ифодасида оддий константалар, номланган константалар, амаллар белгилари ва стандарт функциялар =атнашиши мумкин.
Abs, char, Hi, High, Length, Lo, Low, Odd, Ord, Pred, Round, SizeOf, Succ, Swap, Trunc ва щакозо функциялар.
Масалан:
Сonst
Nalog = 300*0.2
Name = ‘Алексей’ + ‘ Петрович’;
Gamma = abs(1.18*1.5);
Константаларнинг =ийматлари компиляция даврида щисобланади, программани бажарилиш жараёнида эса константаларнинг тайёр щисобланган =ийматларидан фойдаланилади.
Типиклаштирилган константалар программа бажарилиши жараёнида =ийматлари ызгариши щам мумкин. Типиклаштирилган константа =уйидагича ани=ланади:
<константа номи> :<тип> = <константа ифодаси>;
Масалан:
Const
A:integer = 6;
S: real = 18.263 – trunc(18.263);
Типиклаштирилган константа =иймати фа=ат битта шарт билан ызгариши мумкинки, компиляторнинг {$J+} директиваси бажарилган былиши лозим.
Ызгарувчилар.
Ызгарувчилар – программа элементи былиб, программа бажарилиши жараёнида ыз =ийматларини ызгартириб туришади. Ар бир ызгарувчи учун компьютер хотирасида, ызгарувчи тури билан бо\ли= равишда жой ажратилади. Программа матнида учраб =олувчи щар бир ызгарувчи ызгарувчиларни ёзиб =ыйиш былимида кырсатилиши керак.
< ызгарувчи номи>:<тури>;
Ызгарувчи номи былиб щар =андай идентификатор хизмат =илиши мумкинки, у щарф билан бошланган былиб таркибида лотин алфавити щарфлари, ра=амлар былиши мумкин.
Object Pascal да катта ёки кичик щарфлар фар= =илмайди.
Ызгарувчиларни ани=лашни var резервланган сызидан бошлаб ёзиш мумкин:
Var
X: real;
I:integer;
C:char;
H:Boolean;
Агар программада бир неча бир хил турдаги ызгарувчилар =атнашса уларни бирлаштириб ёзиш мумкин:
Var
Summa, x, y: real;
I,j,k: integer;
St1, st2: string;
Ызгарувчилар локал ва глобал былиши мумкин. Var сызидан кейин эълон =илинган ызгарувчилар глобал дейилади. Процедура, функцияларда эълон =илинган ызгарувчилар локал ызгарувчилар дейилади. Локал ызгарувчиларни инициализация =илинмайди.
Амаллар ва операндлар. Ифодалар
Object Pascal тилида =уйидаги амаллар бор:
@, not, ^,*,/, div, mod, and, shl, shr, as, +, -, or, xor, =,
>, <, <>, <=, >=, in, is.
Амаллар берилганлар устидан бажариладиган амалларни билдиради. Масалан, ифодада амаллар ёрдамида операндлар устида щаракат бажарилади
x + y
x ва y – операндлар, «+» амал. Амални бинар деб айтамиз агар у иккита операндга хам тегишли былса, унар амал дейилади у агар фа=ат битта операндга тегишли былса.
Бинар арифметик амаллар:
+ - =ышиш бутун операндлар Бутун натижа
- айириш бутун операндлар Бутун натижа
биронта ща=и=ий былса Ща=и=ий натижа
* кыпайтириш - | - - | -
/ былиш - | - - | -
div бутун сонли былиш бутун бутун
mod бутун сонни бутун бутун
былиш =олди\и
Унар арифметик амаллар
+ ишора айнийлиги бутун ёки ща=и=ий операнд билан
хил былади
- ишорани рад =илиш - | - - | -
Ифодалар амаллар ва операндлардан ташкил топган былади. Энг оддий щолда ифода битта бинар ёки унар амалдан ташкил топиши мумкин. Бинар амалларда алгебраик кыринишда былади. Масалан: а+b. Унар операцияларда амал операнд олдида =атнашиб келади, масалан: -b.
Присоединяйтесь — мы покажем вам много интересного
Присоединяйтесь к ОК, чтобы подписаться на группу и комментировать публикации.
Нет комментариев