O’rta maxsus



Download 2,24 Mb.
bet20/54
Sana30.04.2022
Hajmi2,24 Mb.
#597939
1   ...   16   17   18   19   20   21   22   23   ...   54
Bog'liq
paskal dt dars

1–misol. A nomli 7 ta elementdan iborat chiziqli jadvalni qaraymiz.

Tartib raqami

1

2

3

4

5

6

7

Qiymati

x

A

a

t

r

z

m

Demak, jadval elementlari va ularga mos qiymatlar quyidagicha moslikda ekan:

Jadval elementi

A[1]

A[2]

A[3]

A[4]

A[5]

A[6]

A[7]

Qiymati

x

A

a

t

r

z

m

Ikki o‘lchovli massiv elementlari ikkita indeks orqali aniqlanib, ular o‘zaro vergul bilan ajratib yoziladi va birinchi indeks satr tartib raqamini, ikkinchi indeks ustun tartib raqamini bildiradi. Masalan, S[4,3] yozuvi – S nomli massivning 4satri va 3-ustuni kesishgan katakda joylashgan elementini bildiradi.
2–misol. S nomli 45 (4 ga 5, ya’ni 4 ta satrli va 5 ta ustunli) to‘g‘ri to‘rtburchakli jadvalni tasvirlaymiz (jadval elementlari - katakchada ko‘k rangda).

Ustun bo‘yicha tartib raqami








2

3

4

5

6

1

3.2
S[1,2]

1.37
S[1,3]

-1.25
S[1,4]

7.12
S[1,5]

-11.4
S[1,6]









2

0.5
S[2,2]

1.1
S[2,3]

1.2
S[2,4]

-1,1
S[2,5]

4.22
S[2,6]







3

-0.1
S[3,2]

1.01
S[3,3]

71.2
S[3,4]

4.1
S[3,5]

-4.11
S[3,6]







4

6.3
S[4,2]

-7.01
S[4,3]

1.5
S[4,4]

7.5
S[4,5]

-1.09
S[4,6]

Jadvaldan ko‘rinadiki, masalan, S[1,3]=1.37, S[2,2]=0.5, S[4,6]= –1.09.
Dasturda massivlar o‘zgaruvchilar kabi albatta tavsiflanishi zarur. Buning uchun Paskal dasturlash tilining Array xizmatchi so‘zi ishlatiladi. Bu so‘zdan keyin kvadrat qavs ichida massivning birinchi va oxirgi elementlarining tartib raqamlari o‘zaro ikkita nuqta (..) bilan ajratib yoziladi. Kvadrat qavs davomida Paskalning of xizmatchi so‘zi va undan keyin massiv elementlarining turi yoziladi. Masalan:
Var
A: array[1..7] of char; {1-misoldagi elementlari 1 dan 7 gacha tartiblangan char (belgili miqdorli) turdagi A nomli chiziqli massiv}
S: array[1..4,2..6] of real; {2-misoldagi satrlari 1 dan 4 gacha va ustunlari 2 dan 6 gacha tartiblangan real (haqiqiy miqdorli) S nomli ikki o‘lchovli massiv} bma: array[-2..100] of integer; {-2 dan 100 gacha tartiblangan butun
turdagi bma nomli chiziqli massiv}
Umuman, massiv deganda, yagona nom bilan belgilangan, bir turdagi, tartiblangan miqdorlarning majmui tushuniladi. Massiv indeksi turi LongInt turdan tashqari barcha tartiblangan turdagi miqdor bo‘lishi mumkin. Paskalda dastur uchun 65520 bayt, barcha o‘zgaruvchilar birgalikda band qilishi mumkin bo‘lgan xotira 64816 bayt bo‘lishi mumkin.
3–misol. Bir o‘lchovli A jadval beshta elementga ega bo‘lsin:

Tartib raqami

–1

0

1

2

3

Qiymati

3

2

12

10

-8

Paskalda bu jadval elementlari quyidagicha ifodalanadi:

A[–1] = 3; A[0] = 2; A[1] = 12; A[2] = 10; A[3] = –8;


Massiv elementlari indeksini biror butun qiymatli o‘zgaruvchi (masalan, i) orqali ifodalash mumkin, masalan, agar i = 1 bo‘lsa, A[i] = 12, agar i = 3 bo‘lsa, A[i] = –8 bo‘ladi.
4–misol. Ikki o‘lchovli butun qiymatli B massiv berilgan bo‘lsin:

3 10 5 2 7 9


B =
Massiv elementlariga o‘zimiz tartib raqamlari berib B[0,0], B[0,1], B[0,2],
B[1,0], ... kabi yozib olamiz (B[0][0], B[0][1], B[0][2], B[1][0], ... kabi yozish
3 10 5 B00 B01 BB0212 = [Bij]
B =

2 7 9 B10 B11


ham mumkin):
bu yerda i = 0, 1 va j = 0, 1, 2 (i – satr tartib raqami, j – ustun tartib raqami) qiymatlarni qabul qiladi. Bu jadval Paskalda quyidagicha tavsiflanadi:
Var b: array[0..1, 0..2] of Integer;
Umumiy holda indeks sifatida o‘zgaruvchi yoki ifoda qo‘llaniladi. Masalan, i=0, j=2 bo‘lsa, 4-misolda B[i, j] = 5 va (i+1=0+1=1 va j–2=2–2=0 bo‘lgani uchun) B[i+1, j–2] = 2 bo‘ladi.
Biz jadvallarning faqat chiziqli va to‘g‘ri to‘rtburchakli shakllari bilan tanishdik. Aslida Paskal tilida ko‘p o‘lchovli (255 tagacha) jadval ko‘rinishidagi miqdorlardan ham foydalanish mumkin. Bunday jadvallarni tavsiflashga bir necha misol keltiramiz.
var s: array[boolean, 1..7, 0..10] of Byte; {s – Byte turli 3 o‘lchovli massiv} var t, k: array [1..100, byte, 1..50] of string; {t va k – 3 o‘lchovli string turli massivlar}
var f: array [-5..10, 0..10, char] of char; { f – 3 o‘lchovli char turli massiv }
Paskal dasturlash tilida tavsiflangan massivlar uchun xotiradan joy zahiralab qo‘yiladi. Shu sababli xotiraning keragidan ortiq qismini band qilmaslik uchun massivni turi bilan birga nechta elementdan iborat ekanligini bilish maqsadga muvofiq bo‘ladi. Umuman, chiziqli K dan S gacha tartiblangan massiv elementlari soni S–K+1 ta, ikki o‘lchovli satrlari B dan M gacha va ustunlari A dan G gacha tartiblangan massiv elementlari soni (M–B+1) · (G–A+1) ta bo‘ladi. Masalan, 3misoldagi –1 dan 3 gacha tartiblangan A massivda 5 ta butun qiymatli element (3–
(–1)+1=3+1+1=5), 4-misoldagi satrlari 0 dan 1 gacha va ustunlari 0 dan 2 gacha tartiblangan B massivda 6 ta butun qiymatli element bor ((1–0+1)·(2–
0+1)=2·3=6).

4-§. MIQDORLAR USTIDA BAJARILADIGAN AMALLAR


Miqdorlar ustida bajariladigan amallarni ta’sir etish xususiyatiga ko‘ra quyidagi guruhlarga bo‘lish mumkin:

Arifmetik

Mantiqiy

Taqqoslash

Razryad bo‘yicha

To‘plamlarga ta’sir

Amallar ta’sir ettiriladigan biror turdagi miqdorni operand deb ataymiz. Bitta operandga ta’sir ettiriladigan amallar unar, ikkitasiga ta’sir ettiriladigan amallar binar amallar deb ataladi.
Unar amallarga quyidagilar kiradi: not (mantiqiy yoki razryad bo‘yicha inkor), + (plyus, ya’ni ishorani saqlab qolish), (minus, ya’ni ishorani almashtirish), in (biror qiymatni to‘plamga tegishliligini aniqlash), @ (ixtiyoriy operandga qo‘laniladi va natija operand adresi bo‘ladi). Boshqa barcha arifmetik, mantiqiy, taqqoslash, razryadi bo‘yicha va to‘plamlarga ta’sir amallari binar amallardir.
Pascalda ifodalar (yoki operandlar) hosil qilish uchun quyidagi amallar guruhi qo‘llaniladi:

Guruh nomi

Bajarilish tartibi

Amal

Unar

1

not, @, –

Multiplikativ

2

*, /, div, mod, and, shl , shr

Additiv

3

+, or, xor

Munosabat

4

in, =, <>, >, >=, <, <=

Agar biror amal bajarilish tartibini oldinga surish kerak bo‘lsa qavs ichiga yozish yetarli.
Amallarni qo‘llash qoidalari quyidagi jadvalda keltirilgan:

Amal

Vazifasi

Operandlar turi

Natija turi

not

Inkor

Mantiqiy

Mantiqiy

not

Razryad bo‘yicha inkor

Ixtiyoriy butun

Operand turi

@

Adres

Ixtiyoriy

Ko‘rsatkich



Ayirish

Ixtiyoriy butun

Butun



Ayirish

Ixtiyoriy haqiqiy

Haqiqiy



To‘plamlarda ayirish

To‘plam

To‘plam

*

Ko‘paytirish

Ixtiyoriy butun

Butun

*

Ko‘paytirish

Ixtiyoriy haqiqiy

Haqiqiy

*

To‘plamlarni kesishtirish

To‘plam

To‘plam

/

Bo‘lish

Ixtiyoriy haqiqiy

Haqiqiy

div

Butun bo‘lish

Ixtiyoriy butun

Butun

mod

Bo‘lishdagi qoldiq

Ixtiyoriy butun

Butun

and

Mantiqiy VA

Mantiqiy

Mantiqiy

and

Razryad bo‘yicha VA

Ixtiyoriy butun

Butun

shl

Chapga surish

Ixtiyoriy butun

Butun

shr

O‘ngga surish

Ixtiyoriy butun

Butun

+

Qo‘shish

Ixtiyoriy butun

Butun

+

Qo‘shish

Ixtiyoriy haqiqiy

Haqiqiy

+

Satrlarni ulash

Satrli

Satrli

+

To‘plamlarni birlashtirish

To‘plam

To‘plam

or

Mantiqiy YOKI

Mantiqiy

Mantiqiy

or

Razryad bo‘yicha YOKI

Ixtiyoriy butun

Butun

xor

Mantiqiy cheklangan YOKI

Mantiqiy

Mantiqiy

xor

Razryad bo‘yicha XOR

Ixtiyoriy butun

Butun

in

Tegishlilik

To‘plam

Mantiqiy

=

Teng

Ixtiyoriy sodda, satrli, to‘plam

Mantiqiy

<>

Teng emas

Ixtiyoriy sodda, satrli, to‘plam

Mantiqiy

<

Kichik

Ixtiyoriy sodda, satrli

Mantiqiy

<=

Kichik yoki teng

Ixtiyoriy sodda, satrli, to‘plam

Mantiqiy

>

Katta

Ixtiyoriy sodda, satrli

Mantiqiy

>=

Katta yoki teng

Ixtiyoriy sodda, satrli, to‘plam

Mantiqiy

Butun sonlar ustida / (bo‘lish) amali bajarish natijasi doimo haqiqiy bo‘ladi. Masalan, 15/3= 0.5000000000E+1, 1/1= 0.1000000000E+1. Shining uchun butun sonlar ustida div (butun bo‘lish) va mod (qoldiq) amallari qo‘llaniladi. Masalan:
25 div 4 = 6; 25 mod 4 = 1; 49 div 7 = 7; 49 mod 7 = 0.
Butun sonlar ustidagi boshqa arifmetik amallarni qo‘llaganda ham xato natijaga kelish mumkin. Bu xatolik natijaviy son amal bajarilayotgan turning chegaraviy qiymatlaridan chiqib ketishi oqibatida yuzaga keladi. Masalan, byte turida 255+1= 0, 10–12= 254, 100*10=232, chunki byte turining qiymatlari 0..255 oraliqqa tegishli.
Taqqoslash amallari, agar turlar mos kelsa (sonliga sonli, …), taqqoslash sharti bajarilsa True mantiqiy qiymat, aks holda False mantiqiy qiymat hosil qiladi. Masalan, 5<6 shartning natijasi True, 5<=6 shartning natijasi True, 5=6 shartning natijasi False, 5>=6 shartning natijasi False, 5>6 shartning natijasi False, 5<>6 shartning natijasi True.
Mantiqiy amallar butun hamda mantiqiy turlarga qo‘llanishi mumkin. Agar operandlar butun son bo‘lsa, u holda natija ham butun bo‘ladi, bunda natijaning bitlari (ikkilik razryadi) operandlar bitlaridan quyidagilarga asosan hosil qilinadi:

INTEGER turdagi operandlar ustidagi mantiqiy amallar (razryadi bo‘yicha)

1-operand

2-operand

not

and

or

xor

1



0







0



1







1

1



1

1

0

1

0



0

1

1

0

1



0

1

1

0

0



0

0

0

Mantiqiy turdagi operandlar ustida amallar quyidagicha amalga oshiriladi:

Mantiqiy turdagi operandlar ustidagi mantiqiy amallar

1-operand

2-operand

not

and

or

xor

True



False







False



True







True

True



True

True

False

True

False



False

True

True

False

True



False

True

True

False

False



False

False

False

Quyidagi misollar razryadi bo‘yicha surish amallari ishini izohlaydi (N va M operandlar ixtiyoriy butun turda bo‘lishi mumkin):

  1. N shl M – bu amal ishi N dagi ma’lumotni M razryad chapga surish, bo‘sh qolgan kichik razryadlar 0 bilan to‘ldiriladi, masalan: 4 shl 2 = 16 (0...0100  0…010000), 6 shl 2 = 24 (0...0110  0…011000);

  2. N shr M – bu amal ishi N dagi ma’lumotni M razryad o‘ngga surish, bo‘sh qolgan katta razryadlar 0 bilan to‘ldiriladi, masalan: 4 shr 2 =1 (0…0100 

0…01), 6 shl 2 =1 (0...0110  0…01);

  1. not N – bu amal ishi N dagi ma’lumotni razryad bo‘yicha mantiqan inkor etish, ya’ni har bir razryaddagi 1 ni 0 ga, 0 ni 1 ga almashtiradi, masalan: not 4 = – 5 (not (0…0100)  1…1011), not 11 = –12 (not (0…01011)  1…10100).

  2. N and M – bu amal N dagi ma’lumotni M dagi ma’lumot bilan razryad bo‘yicha mantiqan ko‘paytiradi, masalan: 4 and 2 =0 ((0…0100) and (0…0010)  0…0000), 6 and 2 = 10 ((0…0110) and (0…0010)  0…0010), 11 and 7 = 3

((0…01011) and (0…0111)  0…0011);

  1. N or M – bu amal N dagi ma’lumotni M dagi ma’lumot bilan razryad bo‘yicha mantiqan qo‘shadi, masalan: 4 or 2 = 6 ((0…0100) or (0…0010) 

0…0110), 6 or 2 = 6 ((0…0110) or (0…0010)  0…0110), 11 or 7 = 15
((0…01011) or (0…0111)  0…1111);

  1. N xor M – bu amal N dagi ma’lumotni M dagi ma’lumot bilan razryad bo‘yicha o‘xshashlikni inkor etadi, masalan: 4 xor 2 = 6 ((0…0100) xor (0…0010)  0…0110), 6 xor 2 = 4 ((0…0110) xor (0…0010)  0…0100), 11 xor 7 = 12 ((0…01011) xor (0…0111)  0…1100).

Satrlar ustidagi amallarni quyidagicha izohlash mumkin:

  1. S1+S2 – bu amal S1 va S2 satrlarni kelish tartibi bo‘yicha ulaydi, masalan:

S1=‘A‘, S2=‘da‘ bo‘lsa, natijaviy satr ‘Ada‘, S1=‘AAAA…A‘ (‘A‘ dan 250 ta), S2=‘BB…B‘(‘B‘ dan 100 ta) bo‘lsa, natijaviy satr ‘AAAA…ABBBBB‘ (‘A‘ dan 250 ta va ‘B‘ dan 5 ta, ya’ni 255 baytdan ortgan xotiraga sig‘may qolgan ‘B‘ lar tashlab yuboriladi);

  1. S1 = S2 – satrlar teng bo‘lsa, ya’ni ular ustma-ust tushsa True, aks holda False mantiqiy qiymat hosil qiladi, masalan: ‘AdA‘=‘AdA‘ yoki ‘ ‘=‘ ‘ yoki ‘2107‘=‘2107‘ bo‘lsa natija True, ‘ADA‘=‘AdA‘ yoki ‘000‘=‘00‘ bo‘lsa natija False;

  1. S1 <> S2 – satrlar teng bo‘lmasa, ya’ni ulardagi belgilar soni teng bo‘lmasa yoki belgilar soni teng bo‘la turib biror teng tartib raqamli o‘rindagi belgilari farqlansa True, aks holda False mantiqiy qiymat hosil qiladi, masalan:

‘AdA‘<>‘Ad‘ yoki ‘AdA‘<>‘AAd‘ yoki ‘AdA‘<>‘Adb‘ yoki ‘AdA‘<>‘Ada‘ yoki ‘001‘<>‘01‘ yoki ‘10‘<>‘01‘ bo‘lsa natija True, ‘AdA‘<>‘AdA‘ yoki ‘2004‘<>‘2004‘ bo‘lsa natija False;

  1. S1

‘ABCD‘<‘AC‘ yoki ‘‘<‘ ‘ yoki ‘ABCDEFGH‘<‘B‘ yoki ‘19‘<‘20‘ yoki ‘00222‘<‘010‘ amallar natijasi True, ‘A‘<‘A‘ yoki ‘Ab‘<‘A‘ yoki ‘Ab‘<‘AB‘ yoki ‘ABCdDEFGH‘<‘ABCDefgh‘ yoki ‘31‘<‘2100‘ yoki ‘1‘<‘0999‘ amallar natijasi False;

  1. S1<=S2 – bu amal S1 satr S2 satrdan “kichik yoki teng” bo‘lsa, ya’ni S1 ni 1-belgisi ASCII kodi S2 ni 1-belgisi ASCII kodidan kichik yoki teng bo‘lsa, yoki ikkala satrning 1-belgilari ASCII kodi teng hamda S1 ni 2-belgisi ASCII kodi S2 ni 2-belgisi ASCII kodidan kichik yoki teng bo‘lsa, yoki ikkala satrning 1belgilari ASCII kodi teng va 2-belgilari ASCII kodi teng hamda S1 ni 3-belgisi ASCII kodi S2 ni 3-belgisi ASCII kodidan kichik yoki teng bo‘lsa, …, yoki biror k uchun ikkala satrning k gacha bo‘lgan, mos ravishda, har bir o‘rindagi belgilari ASCII kodi teng hamda S1 ni (k+1)-belgisi ASCII kodi S2 ni (k+1)-belgisi ASCII kodidan kichik yoki teng bo‘lsa, u holda True, aks holda False mantiqiy qiymat qabul qiladi, masalan: ‘A‘<=‘a‘ yoki ‘A‘<=‘A‘ yoki ‘Ab‘<=‘a‘ yoki ‘ABD‘<=‘AC‘ yoki ‘‘<=‘ ‘yoki ‘ ‘<=‘ ‘ yoki ‘ABCDEF‘<=‘B‘ yoki ‘ABCD‘<=‘ABCD‘ yoki ‘20‘<=‘20‘ yoki ‘19‘<=‘20‘ yoki ‘00222‘<=‘010‘ amallar natijasi True, ‘a‘<=‘A‘ yoki ‘A ‘<=‘A‘ yoki ‘Ab‘<=‘AB‘ yoki ‘ABCdDEFGH‘<=‘ABCDefgh‘ yoki ‘3000‘<=‘2100‘ yoki ‘1‘<‘0999‘ amallar natijasi False;

H) S1>S2 amali E) holda, S1>=S2 amali F) holda S1 va S2 larni o‘rnini almashtirgandagi holga teng kuchli.

Download 2,24 Mb.

Do'stlaringiz bilan baham:
1   ...   16   17   18   19   20   21   22   23   ...   54




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