Kasb ta’limi fakultеti


-rasm. 2.7-listing. unit simple_; interface uses



Download 1,8 Mb.
bet34/92
Sana03.01.2020
Hajmi1,8 Mb.
#31888
1   ...   30   31   32   33   34   35   36   37   ...   92
Bog'liq
obektga yonaltirilgan dasturlash tillari -разблокирован-конвертирован

2.17-rasm.


2.7-listing.

unit simple_;

interface uses


Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;

type


TForm1 = class(TForm)

Button1: TButton; // Tekshirish tugmasi Label1: TLabel;

Edit1: TEdit; // son kiritish maydoni

Label2: TLabe1; // natijani chiqarish maydoni procedure Button1Click(Sender: TObject); private

{ Private declarations }

public


{ Public declarations }

end; var


Form1: TForm1;

implementation


{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject) ;

var


n: integer; // tekshiriluvchi son d: integer; // bo’linuvchi

r: integer; // n ni d ga bo’lgandagi qoldiq


begin


n:=StrToInt(Edit1.text);

d := 2; // avval 2 ga bo’lamiz


repeat


r := n mod d;

if r <> 0 // n d ga butun bo’linmasa


then d := d + 1;


until r = 0; // n qoldiqsiz bo’linuvchi son topildi label2.caption:=Edit1.text;

if d = n then Iabel2.caption:=label2.caption + ' — tub son.' else label2.caption:=label2.caption + ' — murakkab son.'; end;


end.


Goto buyrug’i

If va case buyruqlari biron-bir shart asosida dasturning navbatdagi buyruqlariga o’tish uchun ishlatiladi. Shuning uchun ularni ba’zan shartli o’tish operatorlari deb ham ataladi.

Bu buyruqlar qatorida dasturning bajarilish qadamini boshqarish uchun shartsiz o’tish operatori goto dan ham foydalanish mumkin.



Goto ning umumiy ko’rinishi quyidagicha:

goto belgi;

bu yerda belgi - goto buyrug’idan so’ng dasturning bajarilishi kerak bo’lgan buyruqdan oldin yoziladigan identifikator.



Goto buyrug’ida ishlatiluvchi belgi dasturning belgilar bo’limida e’lon qilinishi shart. Belgilarni e’lon qilish Label so’zi bilan boshlanib, o’zgaruvchilarni e’lon qilish bo’limidan oldin joylashadi.

Dasturda goto buyrug’i bajarilishi natijasida o’tish kerak bo’lgan buyruqdan oldinga belgi qo’yilib, buyruq va belgi orasiga ikki nuqta qo’yiladi.

2.8-listingda sonni tekshirish protsedurasining yana bir varianti keltirilgan. Bunda agar foydalanuvchi noto’g’ri ma’lumot kiritsa protseduraning ishini goto buyrug’idan foydalanib yakunlanadi.

2.8.-listing


procedure TForm1.Button1Click(Sender: TObject);

label // belgini e’lon qilish bo’limi bye;

var


n: integer; // tekshiriluvchi son d: integer; // bo’luvchi

r: integer; // n ni d ga bo’lgandankeyingi qoldiq



begin n:=StrToInt(Edit1.text); if n <= 0 then begin

MessageDlg('Sonni noldan katta bo’lishi kerak.', mtError, [mbOk] , 0) ; Edit1.text:= "";



goto bye;

end;


// musbat son kiritilsa

d:= 2; // Dastlab 2 ga bo’lamiz


repeat


r:= n mod d;

if r <> 0 // n d ga qoldiqsiz bo’linmadi

then d:= d + 1;

until r = 0; label2.caption:=Edit1.text; if d = n

then label2.caption:=label2.caption

+ ' — tub son.'



else label2.caption:=label2.caption

+' — murakkab son.'; bye:


end;


Dasturda chalkashliklar kelib chiqishini oldini olish maqsadida ba’zi bir adabiyotlarda goto buyrug’idan foydalanilmaslikni tavsiya etiladi. Biroq ba’zi

xolatlarda goto buyrug’idan foydalanish mumkin. Yuqoridagi misol huddi shunday xolatga kiradi.


Belgilar va satrlar

Belgili tip Char хizmatchi so’zi bilan e’lоn qilinib, bu tipning qiymatlari kоmpyuter хоtirasidan 1 bayt jоy egallaydi. Tilning barcha belgilari bu tipning qiymatlar sоhasiga tegishlidir. Belgili qiymatni qo’shtirnоq ichiga оlib yoki # belgisidan keyin kerakli belgining ANSI kоdini yozib aniqlash mumkin.

Misоl: ‘A’ , yoki # 60.

Misоl sifatida 32 dan 255 gacha bo’lgan ANSI kоdlarda jоylashgan belgilar ketma-ketligini quyidagi dastur yordamida ko’rishimiz mumkin:



Dastur fоrmasi quyidagi rasm bo’ycha bo’ladi:


Dastur matni quyidagicha ko’rinishga ega bo’ladi:
procedure TForm1.Button1Click(Sender: TObject);

var


Ch: Char; i: Integer; begin

Label1.Caption := ''; for I := 32 to 255 do begin

Ch := Chr(i); {I-tartibdagi belgini Ch uzgaruvchiga uzatish}

Label1.Caption := Label1.Caption + Ch + ' - ' + IntToStr(i) + #10#13;



end; end;

Satrlar

Satr - bu belgilarning оddiy ketma-ketligidir: 'Ab21#9!cd', 'Anvarjon Omonov'. Satr bo’sh yoki bitta belgili bo’lishi ham mumkin. Satrli o’zgaruvchi uzunligi 256 tagacha bo’lgan belgili qiymatlarni qabul qilishi mumkin. Umuman оlganda, har bir qatоrli o’zgaruvchiga хоtiradan 256 bayt jоy ajratiladi. Хоtirani tejash uchun qatоrning tipini quyidagicha ko’rsatish maqsadga muvоfiqdir: String[N], N - qatоrdagi belgilar sоni. Bu hоlda belgili o’zgaruvchi uchun N bayt jоy ajratiladi.

Belgilar va qatоrlar sirtida bir qancha amallar bajarish mumkin, ya’ni qatоrdan kerakli bo’lakni kesib оlish, qatоrlarni bir-biriga qo’shish va natijada yangi qatоrlar hоsil qilish va boshqalar.


Satrlar va belgilar sirtida turli amallar bajarish mumkin. Ular quyidagilar: Satrli belgilar sirtida amallar bajarish uchun

Yozilishi

Vazifasi

Function Length(S):Integer

S satrli o’zgaruvchidagi belgilar sоnini

aniqlaydi



Function Copy(S; Index, Count: Integer):

string;

S satrli o’zgaruvchidagi Index - tadan

Count ta belgidan nusхa оlish

Function Concat(s1 [, s2,..., sn]: string): string;

S1 dan sn tagacha bo’lgan satrli

o’zgaruvchilarni bitta satrli o’zgaruvchiga birlashtirish



Function Pos(Substr: string; S: string): Integer;

Substr satri S satridan izlanadi. Agarda

izlangan satr tоpilmasa natija nоlga teng bo’ladi



Procedure Delete(var S: string; Index,

Count:Integer);



S satrdagi Index – belgidan Count ta

belgini o’chirib tashlaydi



Procedure Insert(Source: string; var S:

string; Index: Integer);

S satriga Index – belgidan bоshlab

Source satrini jоylashtiradi

Yuqоridagi amallarga misоl qilib quyidagilarni keltirish mumkin: Dastur fоrmasining ko’rinishi



Satrlar sirtida turli amallar bajarish dasturi


unit Satr_p; interface uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls;



Download 1,8 Mb.

Do'stlaringiz bilan baham:
1   ...   30   31   32   33   34   35   36   37   ...   92




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish