Mavzu: Algoritm haqida umumiy intuitive ta’rif



Download 308,64 Kb.
bet20/20
Sana01.01.2022
Hajmi308,64 Kb.
#296099
1   ...   12   13   14   15   16   17   18   19   20
Bog'liq
32317c2bac0a51699e4ab42dfe0e01b69af0d983

Qiymatlar chegarasi

Butun

-32768 ...32767

Uzun butun

-2147483648...2147483647

Oddiy musbat haqiqiy

2.802597-10-45...3.402823-1038

Oddiy manfiy haqiqiy

-2.802597-10-45 ...-3.402823-1038

Ikkilangan musbat haqiqiy

4.940656458412465-10"324 ... 1.79769313486231-10308

Ikkilangan manfiy haqiqiy

-4.940656458412465-10-324... -1.79769313486231-10308







BASIC: belgilisatrli ozgaruvchilarning oxirida $ yozi- ladi, ular uchun kompyuter xotirasidan 0 baytdan 32767 bayt- gacha joy ajratiladi; mantiqiy ozgaruvchilarni tavsiflash shart emas.

Bu yerda bob boshida aytib o‘tilgan tokchaning xususiyati o‘zgaruvchining turi bilan mos tushmoqda. Agar o‘zgaruvchi qiymati quyi chegaradan kichik bo‘lsa, yoki yuqori chegaradan katta bo‘lsa, xato natijaga olib keladi yoki INKOR holat yuzaga keladi.

Jadval ko‘rinishidagi miqdorlar



Kundalik hayotimizda ko‘p turdagi jadvallardan foyda- lanamiz: dars jadvali, shaxmat yoki futbol o‘yinlari bo‘yicha musobaqa jadvali, lotereya jadvali, karra jadvali, matematik jadval va boshqalar. Biz foydalangan tokchalar ham jadvalga misol bo‘ladi. Jadvalni tashkil etuvchilar uning elementlari deyiladi.

Jadval ko‘rinishidagi miqdorlar bir o‘lchovli (chiziqli), ikki o‘lchovli (to‘g‘ri to‘rtburchakli), uch o‘lchovli va hokazo bo‘ladi. Biz, odatda, chiziqli va to‘g‘ri to‘rtburchakli jadvallardan foy- dalanamiz. Chiziqli jadvallar satr yoki ustun shaklida ifodalanadi. Masalan, sinfingizdagi o‘quvchilar ro‘yxati sinf jurnalida ustun shaklidagi jadval ko‘rinishida yozilgan. O‘quvchilarning familiya- lari bu jadvalning elementlarini tashkil etadi. Ulaming har biri o‘z tartib raqamiga ega va har bir tartib raqamga faqat bitta o‘quvchining familiyasi mos keladi.

Ikki o‘lchovli jadvallar ustunlar va satrlardan tashkil topadi (elektron jadvallarga oid mavzularni eslang). Ularning element- lari ustun va satrlar kesishgan kataklarda joylashadi. Bunday jadvallarda biror elementni ko‘rsatish uchun uning nechanchi satr va nechanchi ustunda joylashganligini, ya’ni satr va ustun bo‘yicha tartib raqamlarini bilish kerak bo‘ladi. Demak, ikki o‘lchovli jadvalning har bir elementiga ikkita tartib raqami (satr va ustun bo‘yicha) mos keladi.

  1. misol

Guruhlardagi a’lochi o‘quvchilar sonini ifodalovchi jadval tuzing.


gemestr

guruh

I

II

1011

5

6

1012

4

5

1013

5

4







Dasturlash tillarida jadvallar bilan ishlash uchun massiv tushunchasi kiritilgan. Massiv — jadval ko‘rinishidagi miqdor bo‘lib, u ma’lum (aniq) sondagi bir turli va tartiblangan (tartib raqamiga ega) elementlar majmuidan iborat. Massiv element- larining tartib raqami butun sonlarda ifodalanadi. Ular BASIC da manfiy emas, PASCAL va DELPHI da manfiy bo‘lishi ham mumkin.

Dasturlash tillarida har bir massiv o‘z nomiga ega bo‘lib, ularni nomlash o‘zgaruvchilarni nomlash kabidir. Masalan: a5, dars_jadvali, tub_sonlar.

Massiv element (tokcha) larning tartib raqami indeks deb ataladi. Indeks BASIC da oddiy qavs, PASCAL va DELPHI da kvadrat qavs ichida ko‘rsatiladi. Masalan, PASCAL va DELPHI da a[5] yozuvi — a nomli massivning beshinchi elementini bildiradi.

  1. misol

A nomli 7 ta elementdan iborat chiziqli jadvalni tasvirlang.


Tartib raqami

1

2

3

4

5

6

7

Qiymati

3

A[1]

-7

A[2]

4

A[3]

1

A[4]

-1

A[5]

0

A[6]

5

A[7]







Ikki olchovli massiv elementlari ikkita indeks orqali aniq- lanib, ular ozaro vergul bilan ajratib yoziladi va birinchi indeks satr tartib raqamini, ikkinchi indeks ustun tartib raqamini bildi- radi. Masalan, jadval[ 12,8] yozuvi — jadval nomli massivning 12-satri va 8-ustuni kesishgan katakda joylashgan elementini bildiradi.

  1. misol

S nomli 4x5 elementdan iborat to‘g‘ri to‘rtburchakli jadvalni tasvirlang.


Ustun bo‘yicha tartib raqami






1

2

3

4

5

1

3.2

S[1,1]

1.37

S[1,2]

-1.25

S[1,3]

7.12

S[1,4]

-11.4

S[1,5]

2

0,5

S[2,1]

1.1

S[2,2]

1.2

S[2,3]

-1,1

S[2,4]

4.22

S[2,5]

3

-0.1

S[3,1]

1.01

S[3,2]

71.2

S[3,3]

4.1

S[3,4]

-4.11

S[3,5]

4

6.3

S[4,1]

-7.01

S[4,2]

1.5

S[4,3]

7.5

S[4,4]

-1.09

S[4,5]







Dasturlash tillarida massivlar o‘zgaruvchilar kabi tavsiflanishi zarur. Buning uchun BASIC ning DIM, PASCAL va DELPHI ning Array — xizmatchi so‘zi qo‘llaniladi. BASIC da DIM so‘zidan keyin massiv nomi va qavs ichida birinchi hamda oxirgi elementlarning tartib raqamlari yoki oxirgi elementning tartib raqami (bu holda hisob 0 dan boshlanadi) yoziladi. Masalan: DIM A(1 TO 100) yoki Dim A(5) yoki DIM B(N).

Array so‘zidan keyin PASCAL va DELPHI da kvadrat qavs ichida massivning birinchi hamda oxirgi elementlarining tartib raqamlari o‘zaro ikkita nuqta bilan ajratib yoziladi. Davomida Of — xizmatchi so‘zi, undan keyin massiv elementlarining turi yoziladi. Masalan: var

alifbo: array[1..29] of Char; {1 dan 29 gacha tartib raqamli elementlari belgili miqdorli bo ‘lgan alifbo nomli massiv}

b
B =

5: Array[-2..100] of integer; {b5: -2 dan 100gacha tartib raqamli butun sonli massiv}


bma: array[1..10,1..20] of string; {bma - satrli miqdorlardan iborat ikki o ‘lchamli massiv}

Demak, massiv (jadval ko‘rinishidagi miqdor) deganda,
yagona nom bilan belgilangan, bir turdagi, tartiblangan miqdorlarning majmui tushuniladi.


  1. misol

Bir o‘lchovli A jadval beshta elementga ega bo‘lsin:


Tartib raqami

1

2

3

4

5

Qiymati

3

2

12

10

-8







PASCAL va DELPHI da bu jadval elementlari quyidagicha tasvirlanadi:

a[1] := 3; a[2] := 2; a[3] := 12; a[4] := 10; a[5] := -8;

M
B B 10.9-misol

00
01Ik02i


B


10


an


lSi^o^vfi Msfn:9
_


butun sonli qiymatlar qabul qiluvchi B massiv

assiv elementlari indeksini biror butun qiymatli o‘zgaruvchi (masalan, i) orqali ifodalash mumkin. Agar i = 3 bo‘lsa, a[i] = 12, i = 5 bo‘lsa, a[i] = -8 bo‘ladi va hokazo.


bu yerda i
= 0, 1 va j
= 0, 1, 2 (i
— satr tartib raqami, j
— ustun tartib raqami). U Paskalda quyidagicha tavsiflanadi: var b: array[0.. 1,0..2]of Integer;


Massivning elementlari B[0,0], B[0,1], B[0,2], B[1,0], ... kabi yoziladi. Umumiy holda indeks sifatida o‘zgaruvchi yoki ifoda qo‘llaniladi. Masalan, I = 0, J = 2 bo‘lsa, B[I,J] = 5, B[I+1, J-2] = 2 bo‘ladi.

Biz jadvallarning faqat chiziqli va to‘g‘ri to‘rtburchakli shakllari bilan tanishdik. Aslida PASCAL va DELPHI tilida ko‘p o‘lchovli (255 tagacha) jadval ko‘rinishidagi miqdorlardan ham foydalanish mumkin. Bunday jadvallarni tavsiflashga bir necha misollar keltiramiz.

  1. var s: array[ 1..4, 1..7, 0..10] of Byte; {s - Byte turli 3 o ‘Ichovli jadval}

  2. var t, k: array [1..100, 1..80, 1..50] of string; {t va k — 3 o ‘Ichovli satrli jadvallar}

  3. var f: array [-5..10, 0..10, 2..10] of char; { f — 3 o ‘lchovli belgili jadval}

Shuni ta’kidlash joizki, dasturlash tillarida juda ko‘p masalalami hal etishda massivlardan foydalanish dasturchiga katta imkoniyatlar ochib beradi.

Ba’zi standart funksiyalar va algebraik ifodalar



Funksiya tushunchasi sizga matematika fanidan ma’lum. Funksiyalarning xususiyatlariga qarab turli sinflarga ajratgansiz. Masalan, chiziqli, kvadratik, trigonometrik va hokazo. Shunday funksiyalarning ba’zilaridan dasturlash tillarida ham foyda- laniladi. Dastur «tushunadigan» funksiyalar standart funksiyalar deb yuritiladi.

Quyida ba’zi standart funksiyalarni keltiramiz:


PASCAL va DELPHI

Izoh

BASIC

abs(x)

«x» ning absolut qiymati (moduli) - [x]

abs(x)

sin(x)

«x» ning sinusi (radian o‘.b.) -sin >

sin(x)

cos(x)

«x» ning kosinusi (radian o‘.b.) -cos x

cos(x)

sqrt(x)

«x» ning kvadrat ildizi -f%

sqr(x)

sqr(x)

«x» ning kvadrati - x2

xA2

exp(x)

ex (e = 2.718282... )

exp(x)

round(x)

«x» ning yaxlitlangan butun qismi [x]

int(x)

trunc(x)

«x» ning yaxlitlanmagan butun qismi

fix(x)







Dasturlash tilida algebraik ifodalar arifmetik amallar bilan boglangan ozgarmas va ozgaruvchi miqdorlar, funksiyalar yordamida tashkil topadi va bir satrda yoziladi. Satrdan pastga tushirib yoki yuqoriga ko‘tarib yozish mumkin emas.

Masalan, 3ab2
ifoda 3*a*sqr(b) kabi yozilsa, ifoda a/ sqr(b) kabi yoziladi.

Ifodalarni yozishda amallarni bajarish tartibini ko‘rsatish uchun faqat kichik qavslar qo‘llaniladi. Qavs ichidagi amallarni bajarish chapdan o‘ngga qarab, matematikada qabul qilingan odatdagi tartib saqlangan holda ketma-ket amalga oshiriladi:

  • funksiya qiymatlari hisoblanadi;

  • ko‘raytirish va bo‘lish amallari bajariladi;

  • qo‘shish va ayirish amallari bajariladi.

Masalan, arifmetik ifodaning yozilishi (a+b) /c kabi bo‘lib,

uni hisoblashda dastlab qavs ichidagi amal, ya’ni a+b bajariladi, so‘ngra natija c ga bo‘linadi.

10.10-misol

R va H o‘zgaruvchilaming ma’lum qiymatlarida quyidagi ifodaning qiymati hisoblansin:

B
3

u ifoda Pi*sqr(r)*h/3 kabi yoziladi. Bunda amallar quyidagi tartibda bajariladi:


Shuni eslatib o‘tishiozimki, ikkita amal ketma-ket kelganda ifodani qavssiz yozish mumkin emas. Masalan, ifodani

sqrt(sqr(a) — sqr(b)) kabi, |x + tgx| ifoda abs(x + tan(x))

ko‘rinishida yoziladi. Ba’zi hollarda dasturlash tilida yozilgan ifodani odatdagi matematik ko‘rinishda yozish talab etiladi.

Masalan, 0.5*(sin(x)+ cos(x)) dasturlash tilida yozilgan ifoda matematik ko‘rinishda quyidagicha ifodalanadi:

Daraja bilan ishlash biroz farqlanadi. PASCAL va DELPHI da a
3
ifodani a*a*a yoki sqr(a)*a ko‘rinishida, a4
ifodani esa
sqr(sqr(a)) ko‘rinishida yozishga to‘g‘ri keladi. BASIC da a
n
ifodani алп ko‘rinishida yozish mumkin.

Umuman, ab ko‘rinishdagi ifoda uchun matematikada ab = ebln a formula o‘rinli. Shuning uchun PASCAL va DELPHI da u exp(b*ln(a)) ko‘rinishda yoziladi.

  1. misol

algebraik ifodani dasturlash tilida yozing.

Yechish: Bu ifodani PASCAL va DELPHI da bir necha xil usulda tasvirlash mumkin. Shulardan bittasi quyidagicha:

(x-y)/(exp(5*ln(x))-sqr(y)*y).

O‘zlashtirish va ma’lumotlarni ekranga


chiqarish operatorlari


Dasturlash tillaridagi o‘zlashtirish operatorlarini taqqoslaymiz:



O‘zlashtirish operatorlari

Algoritmik tilimizda

BASIC

PASCAL va DELPHI

o‘tkaz , o‘zgaruvchi

o‘zgaruvchi =

o‘zgaruvchi : = ;

Misollar

o‘tkaz 1, K

K = 1

K := 1;

o‘tkaz 1+N, K

K = N+1

K := N+1;

o‘tkaz a 5, b

b = a*5

b := a*5;

Endi ma’lumotlarni ekranga chiqarish operatorlarini taqqos­laymiz:




Ma’lumotlarni ekranga chiqarish operatorlari

: asic

PASCAL va DELPHI

Print

Write(chiqarish ro‘yxati); yoki Writeln(chiqarish ro‘yxati);

Misol

K = 55/11: b = "K= 1 mantiqiy ifoda"

Print 0; "-son"

Print K, K= 1;

Print b

K: = 55/11; b = ‘K=1 mantiqiy ifoda’;

Writeln(0, ‘-son‘);

Write(K, ‘ ‘, K= 1); Writeln(b);











Ekranda

mik tilimizda shart emas edi

0-son

5 0 K=1 mantiqiy ifoda

0-son

5 0K=1 mantiqiy ifoda

Misol

Print 7: Print: Print 21

Writeln(7); Writeln; Writeln(21);

Ekranda

^4

MI

7

21

7

21







BASIC: Print operatori ro‘yxatdagi o‘zgaruvchilar orasida

qo‘yilgan bo‘lsa, o‘zgaruvchilar qiymati orasiga bitta belgi sig‘adigan bo‘sh joy qoldiradi; ","qo‘yilgan bo‘lsa, o‘zgaruvchilar qiymati orasiga 17 belgi sig‘adigan bo‘sh joy qoldirib ekranga chiqaradi.

Agar ro‘yxat oxirida ";" yoki "," yozilgan bo‘lsa, u holda keyingi Print ro‘yxatidagi qiymat shu satr davomidan mos bo‘sh joy qoldirib chiqariladi.

Agar ro‘yxatsiz Print (yoki bo‘sh Print ham deyishadi) yozilgan bo‘lsa, u holda bo‘sh satr qoldirish uchun yoki agar avvalgi Print ro‘yxati oxirida ";" yoki "," yozilgan bo‘lsa, satrni to‘lgan hisoblanishi uchun qo‘llaniladi. Print o‘rniga "?" belgisini yozish ham mumkin.


Mavzu:Pascal tili sintaksisi. Kataklarning asosiy Kataklarning asosiy turlari. Paskal tilidagi programmalarning strukturasi.
Paskal algoritmik tili. Asosiy konstruksiyasi.

Ma’lumotlarning sodda toifasi.

XVII asrda yashagan va dunyoda birinchi hisoblash mashinasini yaratgan fransuz olimi Blez Paskal sharafiga shunday deb nomlangan Paskal tili Shveytsariyaning Syurix shahridagi Oliy texnika maktabining professori Niklaus Virt tomonidan 70-yillarda yaratilgan bo’lib, 1979 yilda standart Paskal deb tasdiqlangan.

O’zining soddaligi, mantiqiyligi va samaraliligi tufayli bu til butun dunyoga tezda tarqaldi. Hozirgi paytda barcha hisoblash mashinalari, xususan, mikrokompyuterlar ham shu tilda ishlash imkoniyatiga ega. Dasturlar matnining to’g’riligini osonlik bilan tekshirish mumkinligi, ularning ma’nosi yaqqol ko’zga tashlanishi va oddiyligi bilan ajralib turadi.Paskal tili ancha murakkab va ko’p vaqt oladigan hisoblash ish- larini bajarishga mo’ljallangan tarkiblashtirilgan dasturlar tuzishga imkon beradi. Yana bir afzalligi shundan iboratki, foydalanuvchi xatolikka yo’l qo’ymasligi uchun yoki xato yozib qo’ygan bo’lsa, tez tuzatib olishi uchun dasturda ishlatilgan o’zgaruvchilar oldindan qaysi turga (toifaga) mansub ekanligi belgilab qo’yilgan bo’ladi. Shu bilan birga dasturning barcha elementlari haqida ma’lumot tavsiflash bo’limida mujassamlashgan bo’ladi. Operatorlar soni esa minimal darajada kamaytirilgandir.

Paskal algoritmik tilining alifbosi quyidagilardan iborat:



  • 26 ta lotin harflari;

  • 0 dan 9 gacha arab raqamlari;

  • 32 ta kirill harflari;

  • maxsus belgilar - (Q,-,*,G’,:,;,[.],[,],q,>,<) ni o’z ichiga oladi.

Paskal tilida so’z deb bir nechta belgilar ketma-ketligi tushuniladi. Xizmatchi so’z deb Paskal tilidagi standart nom tushuniladi. Bu nom maxsus ma’noni anglatadi va uni ma’lumotlarga berib bo’lmaydi. Masalan, Program, Begin, End va h.k.

Paskal tilidagi ma’lumotlarning elementlari bo’lib o’zgaruvchilar, o’zgarmaslar, izohlar xizmat qiladi.

O’zgaruvchilar deb - hisoblash jarayonida o’z qiymatini o’zgar- tiradigan kattaliklarga aytiladi. O’zgaruvchilarning nomlari (identifikatorlar)- harflardan yoki harf va raqamlardan iborat bo’ladi. Belgilar soni 8 tadan oshmasligi kerak.

O’zgarmaslar (const) deb hisoblash jarayonida o’z qiymatini o’zgartirmaydigan kattaliklarga aytiladi. Bularga ham o’zgaruvchilar

kabi nom beriladi.

Izohlar - dasturning ma’lum qismini tavsiflash uchun ishlatiladi va bu qatorda hech qanday amal bajarilmaydi, ya’ni dasturning biror blokini yaxshiroq tushunishga xizmat qiladi. Izoh (*,*) yoki {} simvollari orasida beriladi. Katta qavslar {*,*} va [*,*] lar ham ishlatilishi mumkin.



Ma’lumotlar toifalari.

Paskal tilida ma’lumotlarning toifalari ikki xil bo’ladi oddiy- skalyar va murakkab. Skalyar toifa o’z navbatida o’zgaruvchi va standart toifalarga bo’linadi. O’zgaruvchi toifaga qayd qilingan va chegaralangan toifalar kirsa, standart toifaga butun - INTEGER, haqiqiy - REAL, mantiqiy - BOOLEAN, xarakter yoki simvol - CHAR toifalar kiradi. Bundan tashqari Turbo Paskalda qator - STRING toifasi kiritilgan. Murakkab toifalarga esa ma’lumotlarning muntazam to’plam, aralash (yozuvlar), murojaat va faylli toifalari kiradi.



Ma’lumotlarning standart toifalari.

Standart turdagi ma’lumotlar dasturda maxsus xizmatchi so’zlar yordamida tavsiflanadi:

Integer - Butun toifadagi ma’lumotlar faqat butun sonlarni qabul qiladi. Ular Paskal tilida quyidagicha ifodalanadi: -7, 10, 89, -35, 0 va h.k.

Real - haqiqiy toifadagi ma’lumotlar haqiqiy sonlarni qabul qiladi va 2 xil ko’rinishda bo’ladi:



  1. qo’zg’almas nuqtali haqiqiy sonlar (3.56, 0.88,-150.45)

  2. qo’zg’aluvchan nuqtali haqiqiy sonlar (0.546q546E-03, 96.78*102q96.78E02 va h.k.)

Char - belgi (simvol) toifadagi ma’lumotlar qiymat sifatida

ASCII kodlar jadvalidagi belgilarning bittasini qabul qiladi. Bu ma’lumotlar apostrof ichiga olib yoziladi. Masalan ('F', 'A', 'R', '5', '8' va h.k.)

Boolean - mantiqiy toifadagi ma’lumotlar. Bu nom ingliz ma- tematigi Jorj Bul sharafiga shunday deb ataladi va shu turdagi o’zgaruvchilar faqat 2 ta qiymat qabul qiladi True yoki False.

Bu ma’lumotlar ustida solishtirish amallari (>,<,q, ), mantiqiy ko’paytirish And, mantiqiy qo’shish OR va mantiqiy inkor qilish Not amallarini bajarish mumkin. Quyidagi jadvalda Boolean toifasidagi A va V o’zgaruvchilari ustida mantiqiy amallarning bajarilishi natijasi keltirilgan:



A

B

NOT A

NOT B

A AND B

A OR B

TRUE

TRUE

FALSE

FALSE

TRUE

TRUE

TRUE

FALSE

FALSE

TRUE

FALSE

TRUE

FALSE

TRUE

TRUE

FALSE

FALSE

TRUE

FALSE

FALSE

TRUE

TRUE

FALSE

FALSE





String [N] - qator. Bu yerda N qatordagi simvollar soni (ko’rsatilmagan bo’lsa u avtomat ravishda 256 ga teng deb olinadi). Bu turdagi ma’lumotlar bitta yoki bir nechta belgilar ketma-ketligidan tashkil topib, apostrof ichida beriladi. Masalan:

‘Informatika', 'Student'

Eslatma. Turbo Paskalning keyingi lahjalarida oddiy turning Byte, Word, Longint, Shortint kabi toifalari aniqlangan.



Standart funksiyalar.

Paskal tilida quyidagi standart funksiyalar aniqlangan:




Funksiyanin g Paskaldagi ifodasi

Funksiyaning matematik ifodasi

Argume nt toifasi

Funksiy a toifasi

abs(x)

g’xg’

real

real







integer

integer

sqr(x)

x2

real

real







integer

integer

sqrt(x)

Jx

real

real







integer

real

exp(x)

ex

real

real







integer

real

ln(x)

ln x

real

real







integer

real

sin(x)

sin x

real

real







integer

real

cos(x)

cos x

real

real







integer

real

Arctan(x)

arctg x

real

real







integer

real

Round(x)

x ni yaxlitlash

real

integer













Trunk(x)

xning butun qismini olish

real

integer




















pred(x)

x dan oldingi qiymatni olish

integer

integer







char

boolean

char

boolean

succ(x)

x dan keyingi qiymatni olish

integer

integer







char

boolean

char

boolean

a div b

a ni v ga bo’lib butun qismini olish

integer

integer







integer




a mod b

a ni v ga bo’lib qoldig’ini olish

integer

integer







integer




chr(x)

x ni tartib raqamiga ko’ra simvolni aniqlash

integer

char













ord(x)

x simvolning tartib raqamini aniqlash

char

integer













odd(x)

X ning toq yoki juftligini aniqlash

integer

x-toq

x-juft

boolean

true

false







Ifodalar.

Paskal algoritmik tilida arifmetik, mantiqiy va belgili ifodalar aniqlangan.

Arifmetik ifodalar o’zgaruvchilar, o’zgarmaslar, arifmetik amal belgilari, qavs va standart funksiyalardan tashkil topadi. Arifmetik ifodada qatnashayotgan amallar ustuvorligiga qarab bajariladi. Amallar quyidagi ustuvorlikka ega.


  1. Qavs ichidagi amallar va standart funksiyalarni hisoblash.

  2. Ko’paytirish, bo’lish, DIV, MOD amallari.

  3. Qo’shish va ayirish amali.

Arifmetik ifodada bir xil ustuvorlikka ega amallar ketma-ket kelsa, ular chapdan o’ngga qarab bajariladi.

Misol:


sinVx +cos x2 . , / . /o\

e + tg (x + v 3).

Paskalda bu ifoda quyidagi

EXP(SIN(SQRT(X))QCOS(SQR(X)))QSIN(XQSQRT(3))G’CO

S(XQSQRT(3))

ko’rinishda yoziladi

Mantiqiy ifodalar o’z ichiga mantiqiy o’zgarmaslarni, mantiqiy o’zgaruvchilarni, mantiqiy amal belgilarini, mantiqiy natija beradigan standart funksiyalarni, qavslarni hamda DIV va MOD funksiyalarini qamrab oladi. Mantiqiy ifodada ham amallar ustivorligiga ko’ra bajariladi:


  1. Qavs ichidagi amal va mantiqiy inkor amali (NOT).

  2. Mantiqiy ko’paytirish (AND), DIV,MOD amallari.

  3. Mantiqiy qo’shish (OR) va solishtirish amallari.quyidagi misolda berilgan mantiqiy ifodada amallarning bajarilish ketma-ketligi keltirilgan, bu yerda Aq2, Bq4, Cq5:

1 3 2 6 5 4

(A>3) AND (AqCQ3) OR NOT(Bq5)



  1. FALSE

  2. FALSE

  3. FALSE

  4. FALSE

  5. TRUE

  6. TRUE

Bu mantiqiy ifodaning qiymati TRUE ga teng.

Paskal algoritmik tili dasturining tarkibiy qismi.

Dastur deb, algoritmik tilda kompyuterda masala yechish uchun qadamba-qadam yozilgan aniq va mukammal algoritmga aytiladi.

Paskal tilidagi dastur tarkibi 2 asosiy qismdan iborat bo’ladi. Bular dastur sarlavhasi va dastur tanasi. Dastur tanasidan keyin nuqta qo’yiladi, bu nuqta dastur oxirini bildiradi. Dastur sarlavhasi dastur tanasidan nuqta vergul bilan ajratiladi :

::q;

Dastur sarlavhasi PROGRAM xizmatchi so’z bilan boshlanadi, bu so’zdan keyin shu dasturga berilgan nom yoziladi (bu nom dastur ichida hech qanday maqsadda ishlatilishi mumkin emas). Dastur nomidan keyin yumaloq qavs ichida dastur parametrlari ro’yxati beriladi. Bu parametrlar fayllar nomi bo’lib, ular orqali dastur tashqi muhit bilan bog’lanadi. Mavjud bo’lgan ko’p fayllar orasidan 2ta standart matnli fayllar ajratilgan. Bular dasturni boshlang’ich ma’lumotlar va ma’lumotlarni qayta ishlash natijalari bilanbog’laydigan INPUT va OUTPUTlardir.

Dastur sarlavhasi yozilishni quyidagi misolda ko’ramiz:

PROGRAM PASSAL (INPUT, OUTPUT);

Paskalning ko’p lahjalarida (versiya) INPUT va OUTPUT yozilmasligi ham mumkin. Umumiy holda dastur tanasi (bloki) 6 bo’limdan iborat va ular aniqlangan ketma-ketlikda joylashgan bo’lishi shart.


  • blok >::q < belgilar bo’limi >

  • konstantalar bo’limi >

  • toifalar bo’limi >

  • o’zgaruvchilar bo’limi >

  • protsedura va funksiyalar bo’limi >

  • operatorlar bo’limi >

Dasturning asosiy vazifasi bu kompyuterga ma’lumotlarni (berilganlarni) qayta ishlash bo’yicha buyruqlar berishdir.

Bu buyruqlar operatorlar yordamida beriladi. Shuning uchun ham operatorlar bo’limi asosiy hisoblanadi va har qanday dasturda ishtirok etishi shart.

Operatorlar bo’limidan oldingi bo’limlar ba’zi dasturlarda ishtirok etmasliklari ham mumkin. Ular tavsiflash bo’limlari deyiladi. Tavsiflashning bu bo’limlarida operatorlar bo’limida ishlatilgan kattaliklar tavsiflanadi, ya’ni e’lon qilinadi.

Belgilar bo’limi.

Dasturni ixtiyoriy operatorining oldiga belgi va ikki nuqta qo’yib qolgan operatorlardan ajratish mumkin. Operatorning belgisi bittadan or- tiq bo’lishi mumkin emas. Operatorlarning belgilari bir xil bo’lishi

mumkin emas. Operatorning belgisiga uning nomi sifatida qaraladi.

Dasturda ishlatilayotgan har bir belgi avval belgilar bo’limida tavsiflash yo’li bilan e’lon qilinishi kerak:

::q| label {,};

Belgilar bo’limi label (belgi) xizmatchi so’z bilan ochiladi, undan keyin belgilar ketma-ket vergul bilan ajratilgan konstanta shaklida yoziladi.

Belgilar bo’limida e’lon qilinayotgan belgilar ixtiyoriy ketma- ketligida yozilishi mumkin. Dasturdagi ketma-ketlikka rioya qilmasa ham bo’ladi. Belgilar (0-9999) orasidagi sonlardan olinadi (Turbo Paskalda belgilar sifatida ba’zi bir belgilarni ham ishlatish mumkin).

Metaformuladagi " I " belgisi - "yoki" va "{,}" -katta qavslar esa belgilar ro’yxat ko’rinishida berilishi mumkin degan ma’noni anglatadi. Misol:

label 4, 5, 25;

Konstantalar-o’zgarmaslar bo’limi.

Konstanta deganda aniq bir u yoki bu turdagi qiymatni tushuna- miz, dastur ishlash jarayonida bu qiymat o’zgarmaydi shu sababli o’zgarmas deb ham yuritiladi. Paskal tilida konstantalarga nom beriladi.

Konstantalar tavsiflarining hammasi konstantalar bo’limi tarkibida bo’lishi kerak.

< konstantalar bo’limi >::q| sonst ;;

::qq q(qiymat)

Konstantalar bo’limi const xizmatchi so’z bilan boshlanadi va nuqta vergul (;) bilan tugaydi.

Misol:

const Aq25; Bq4.5; KAFq'INFORMATIKA‘;



Toifalar bo’limi.

::q | type ;;

Avvalgi ma’ruzalardan bizga ma’lumki paskal tilida 4 standart toifadagi qiymatlar bor bular: integer (butun), real (haqiqiy), char (matnli), boolean (mantiqiy). Bu toifadagi qiymatlar bilan bir qatorda Paskal tilida boshqa toifadagi qiymatlarni ham ishlatish mumkin. Lekin standart toifalardan farqli ravishda boshqa toifalar dasturda aniq tavsiflanishi kerak. Bu tavsiflashni quyidagilarda ko’rishimiz mumkin: ::qq



::q|

Bu metaformuladagi toifa nomi sifatida standart toifa nomi ham berilishi mumkin.

Misol:

TYPE


Butunqinteger;

VAR n,m: butun;

Toifalarning hamma tavsiflari toifalar bo’limida berilgan bo’lishi

kerak.


Toifalar bo’limi type (tur) xizmatchi so’zi bilan boshlanadi, keyin toifalar tavsifi yoziladi. Toifalar tavsifi bir-biridan nuqta vergul (;) orqali ajratiladi.

::q| type ;{};

Misol:


Type

mantiqqboolean;

haftaq(dush,sesh,chor,pay,jum,shan,yaksh);

ishkuniqsesh.jum;

Bu misolda 3ta toifa tavsiflari bor. Birinchi qatorda standart mantiqiy toifaga boshqa nom berilayapti - mantiq. Ikkinchisida yangi qayd qilingan toifa kiritilayapti va unga hafta degan nom berilayapti. Uchinchisida yangi chegaralangan toifa kiritilyapti unga ishkuni deb nom berilyapti.

O’zgaruvchilar bo’limi.

Dasturda ishlatilayotgan har bir o’zgaruvchi oldindan e’lon qilingan bo’lishi kerak. Ushbu vazifani bajarish uchun Paskal tilida bo’limi bor. Bu tavsifda har bir ishlatilayotgan o’zgaruvchiga nom beriladi va qabul qiladigan qiymatlar toifasi beriladi. Keyinchalik dastur bajarilish jarayonida tavsiflangan o’zgaruvchiga boshqa toifadagi qiymat berilsa bu xato deb hisoblanadi. Alohida o’zgaruvchining tavsifi quyidagicha bo’ladi: :

Misol: x: real; y:integer;

Birinchi qatorda dastur jarayonida ishlatishga real turdagi X o’zgaruvchi kiritilayapti, ikkinchisida Y nomli butun qiymatli o’zgaruvchi kiritilayapti.

Bitta tavsif yordamida dasturda bir necha bir xil toifadagi o’zgaruvchilarni tavsiflash mumkin.

Bu tavsif ish jarayoniga 4ta-x,y,z,h nomli haqiqiy o’zgaruvchilarni kiritayapti.

O’zgaruvchilar bo’limi var (variable o’zgaruvchi) xizmatchi so’z bilan boshlanadi.

::q| var ; {,;}

::q{,}:

Misol,


Var

i, j, k: interger; x,h,sum, way:real; n,m: integer; day: HAFTA; Dasturda ishlatilayotgan o’zgaruvchilar faqat bir marotaba tavsiflanishi kerak.


Mustaqil ishlash uchun topshiriqlar.

  1. Tosh yo'lning bosh qismida avtotransport uchun 1-rasmdagi belgi qo'uyilgan. Bu yo'l harakat belgisi bo‘lib, qanday fizik kattalikni bildiradi?

Tezlikni. Km/soat birligida belgilanadi.

  1. Odam 18 km masofani 3 soatda bosib o‘tgan bo‘lsa, u qanday tezlik bilan harakatlangan?

  2. Avtomobil 54 km/soat tezlik bilan harakatlanmokda. Bu tezlikni m/s da ifodalang.

  3. Paxta omboridagi transportyor tasmasining tezligi 0,18 m/s.Tasmaning uzunlngi 32,4 m bo‘lsa, transportyor paxtani qancha vaqtda tepaga olib chiqadi?

5.15 m/s tezlik bilan harakatlanayotgan velosipedchi 9 km yulni qancha vaqtda bosib o‘tadi?

  1. Yo‘lovchi poezdi «Toshkent-Sirdaryo» orasidagi 81 km masofani 90 minutda bosib o‘tgai. Poezdning o‘rtacha tezligini km/soat hisobida ifodalang.

  2. Toshkent metro poezdi «Chilonzor - Ipak yo‘li» bekatlari orasidagi 24 km masofani 20 minutda bosib o‘tdi. Poezdning o‘rtacha tezligini aniqdang.

  3. Ikkita otlikdan biri 45 s davomida 4 m/s tezlik bilan harakatlangan, ikkinchisi yo‘lning shu qismini 50 s da bosib o‘tgan. Ikkinchi otliqning o‘rtacha tezligini toping.

  4. O‘quvchi maktabdan uygacha 1000 qadam sanagan. Bu masofani u 6 minutda bosib o‘tgan. Agar har bir qadamning uzunligi taxminan 60 sm bo‘lsa, o‘quvchi uydai maktabgacha bo‘lgan masofani qanday o‘rtacha tezlik bilan o‘tgan? O‘rtacha tezlikni m/min da ifodalang.

  5. Toshkent metropolitenining poezdi «Sobir Raximov» va «Hamza» bekatlari orasidagi 6 km yulni 8 minutda bosib o'tdi. Butui yo'ldagi o'rtacha tezlikni (m/s va km/soat hisobida) toping.



Mavzu: Jadval kattaliklar.

Massiv tiplarini ifodalash.


Massiv, massiv elementlari, massivlarni ifodalash, bir ulchovli massiv, kup ulchovli massiv.

Umumiy nomga ega bulgan bir xil Ko’rinishda tartiblangan elementlar ketma-ketligi massiv deb ataladi. Massiv uzgaruvchilari ularning komponentlari deb ataladi. Komponenta tipi - baza tipi xisoblanadi. Xar bir tip uzining indeksi va nomiga ega, ular kavs ichida keltiriladi.



Massiv elementlari ixtiyeriy tipda, xattoki ma’lumotlar xam bulishi mumkin.Massiv elementlarining tiplari bazali deyiladi.Massiv elementlarining soni programma ishlash jarayenida unga uzlashtirib boriladi. Uning xar bir aloxida elementiga murojaat massiv elementlarigva mos kelgan indeks buyicha buladi.Massiv indeksi xuddi vektorlar indeksi tushunchasi kabi buladi. Massivlarni e’lon kilish uchun Array of (massivdan) suz birligi ishlatiladi.

Yozilishi:

TYPE

= array[ indeks tipi ] of < komponenta tipi >;

VAR


: < tip nomi>;

Massivlar tiplarni e’lon kilmasadan xam kullash mumkin::

VAR

: array[indeks tipi] of < komponenta tipi>;

Misol.


TYPE

Klass = (K1, K2, K3, K4);

Znak = array[1..255] of char;

VAR


M1: Znak; { Znak tipi tiplar bulimida oldindan keltirilgan }

M2: array[1..60] of integer; { M2 massivining yozilishi}

M3: array[1..4] of Klass;

Mas:array[1..4] of integer;

Massivning baza tipi xar qanday tip bulishi mumkinligi sababli, u boshqa massiv

xam bulishi mumkin. Natijada, kup ulchamli massiv xosil buladi.

Masalan.

TYPE


Vector = array[1..4] of integer;

Massiv = array[1..4] of Vector;

VAR

Matr : Massiv;



Xuddi shu strukturani boshqa turdagi yozuvni kullash natijasida xam xosil kilish mumkin:

VAR


Matr : array[1..4,1..4] of integer;

Shu xildagi yozilishdagi massivlarda bitta indeks katnashsa, bu massiv bir ulchovli, ikkita indeks bulsa, ikki ulchovli, n indeks bulsa, n ulchovli massivlar deyiladi. Bir ulchovli massivlar vektorlarini ikki ulchovli massivlar matritsalarini ifodalashda ishlatiladi.


Misol.

VAR


VectorZ: array[1..40] of real; { 40 elementdan tashkil topgan 1 ulchovli massiv }

MatrU : array[1..8,1..8] of byte; { 8x8 elementdan tashkil topgan 2 ulchovli massiv }

Trilf : array[1..4,1..5,1..8] of integer; { Uch ulchovli massiv }
Massivlar bilan ishlashda konstantalar xam ishlatilishi mumkin.

CONST


G1 = 4; G2 = 6;

VAR


MasY : array[1..G1,1..G2] of real;

Massiv elementlari xotirada ketma-ket joylashadi. Indekslari kichkina bulgan elementlar xotiraning pastki adreslarida saklanadi. Kup elementli massivlarda eng ung tarafdagi indeks birinchi bulib usib boradi. Masalan; Agarda


A : array[1..5,1..5] of integer; bulsa u xolda massiv elementlari adreslarning usishi buyicha joylashadi:

A[1,1]


A[1,2]

...


A[1,5]

A[2,1]


A[2,2]

Matritsalar ustida amallar


Massivlarni bir butun xolatda ishlatilgan paytda massiv nomlaridagi indekslaridagi kvadrat kavsga olinmay ishlatiladi. Massivlar kiritish operatorlarida “teng” yoki “teng emas” opearsiyalarida ishlatilishi mumkin.

Bu amallarda ishlatiladigan massivlar bir xil tipdagi indeks va komponentalarga ega bulib, strukturasi bir-biriga uxshash bulishi kerak.

Masalan: A va B massivlari Var A, B : array[1..20] of real; Ko’rinishida ifodalangan bulsa, unda natija kuyidagicha buladi:

Ifoda

Natija


A = B

A <> V


A := V

True, agarda A massivining elementlarining kiymatlari V massiv elementining kiymatlariga mos ravishda teng bulsa.

True, Agarda A massiv elementining biron bir kiymati V massiv elementining kiymatlariga mos raviщda teng bulmasa.


V massiv elementining xamma kiymatlari A massiv elementlari tomonidan uzlashtirilsa V massiv elementlarining kiymatlari uzgarmasdan koladi.



Massiv elementlari ustida amallar

Massiv elementlarini indeksatsiyalash, massivlardan nusxa olish

Massivni e’lon kilingandan keyin uni elementlarini nomlari kvadrat kavs ichida ko’rsatilgan xolda ishlatish mumkin.Masalan: Mas[2], VectorZ[10] massivning ikkinchi va uninchi elementlariga murojaat etishni bildiradi.

Ikki ulchovli massivlarda ikkita indeks, n ulchovlilarda esa n ta indeks ko’rsatiladi.

Masalan, MatrU[4,4] bu yozuv Matr U massivining 4 ta kator 4 ta ustunidagi elementini bildiradi. Array tipidagi kiymatlar bilan ishlashda kuyidagi xolatlar bulishi mumkin:

VAR

A,D : array[1..4] of real;



B : array[1..10,1..15] of integer;

I,J : integer; K : integer; S: real;

Bu operatsiyani FOR operatori yordamida xam bajarish mumkin:

FOR I := 1 TO 4 DO A[I] := 0;

Ikki ulchovli massivlarga indeks kuyish uchun ichma-ich joylashgan operatorlar ishlatiladi:
FOR I := 1 TO 10 DO

FOR J := 1 TO 15 DO

B[I,J] := 0;

Paskal algloritmik tilida massiv elementlarini birdaniga kiritish - chiqarish imkoniyati yukligi sababli elementlar bittadan kiritiladi.

Massiv elementiga kiymatni uzlashtirish operatori yordamida beriladi,initsalizatsiya misolda ko’rsatilgandek,lekin kup xollarda READ yoki READLN operatori yordamida uzlashtiriladi va sikl operatoridan foydalanamiz.

FOR I:=1 TO 10 DO


FOR J:=1 TO 15 DO
READLEN(D[I,J];
WRITELN operatori ishlatilishi sababli xar bir kiymat yangi katordan kiritiladi. Aloxida elementlarni kiymatlarini kiymatlarini xam kiritish mumkin. Bunda kuyidagi operatorlardan foydalaniladi:

READ(A[3];

READ(B[6,9]);

Bu yerda A vektori 3- elementninig kiymati va V matritsaning 6-katori 9- ustunida joylashgan elementlari kiymatlarini kiritadi.

Ikkala kiymat xam ekranning bitta katorida , kursorning joriy pozitsiyasidan teriladi.

Massiv elementlari kiymatini chiqarish xam xuddi shunday bajariladi, lekin bunda Write yoki Writeln operatorlari kullaniladi.


FOR I: =1 TO 4 DO

Writeln (A[I]); { A massivi elementlari kiymatini chiqarish}

Yoki

FOR I: =1 TO 10 DO



FOR J:= 1 TO 15 DO

Writeln (V[I,J]); { B massivi elementlari kiymatini chiqarish}

Misol:

5 ta elementdan xosil bulgan X massivining elementlarini kiriting.



Xar bir elementning kvadrati va ildizini ekranga chiqaring.

Yechilishi:

PROGRAM P7_2;

VAR


Sum,I: integer;

Sr: real;

X: array[1..5] of integer;

Kor, Kv: array[1..5] of real; { Natija kasr yoki Integer bulishi mumkin }

BEGIN

Sum:=0;


Writeln('5 ta butun kiymatlarni kiriting: ');

FOR I:= 1 TO 5 DO BEGIN

Write('I- sonni kiriting: ');

Readln(X[I]);

Kor[I]:= Sqrt(X[I]); { ildizni xisoblash }

Kv[I]:= Sqr(X[I]); { kvadratini xisoblash }

END;

FOR I:= 1 TO 5 DO Write(Kor[I]:8:2);



Writeln;

FOR I:= 1 TO 5 DO Write(Kv[I]:8:2);

Readln;

END.
Massivlar bilan ishlashda konstantalar xam ishlatilishi mumkin.

CONST

G1 = 4; G2 = 6;



VAR

MasY : array[1..G1,1..G2] of real;

Massiv elementlari xotirada ketma-ket joylashadi. Indekslari kichkina bulgan elementlar xotiraning pastki adreslarida saklanadi. Kup elementli massivlarda ung tarafdagi indeks birinchi bulib usib boradi. Masalan; Agarda
A : array[1..5,1..5] of integer; bulsa u xolda massiv elementlari adreslarning usishi buyicha joylashadi:

A[1,1]


A[1,2]

...


A[1,5]

A[2,1]


A[2,2]

Massivlarni bir butun xolatda ishlatilgan paytda massiv nomlaridagi indekslaridagi kvadrat kavsga olinmay ishlatiladi. Massivlar kiritish operatorlarida “teng” yoki “teng emas” opearsiyalarida ishlatilishi mumkin.

Bu amallarda ishlatiladigan amallar bir xil tipdagi indeks va komponentalarga ega bulib, strukturasi bir-biriga uxshash bulishi kerak.

Masalan: A va B massivlari Var A, B : array[1..20] of real; Ko’rinishida ifodalangan bulsa, unda natija kuyidagicha buladi:


Massivni e’lon kilingandan keyin uni elementlarini nomlari kvadrat kavs ichida ko’rsatilgan xolda ishlatish mumkin.Masalan:

Mas[2], VectorZ[10] massivning ikkinchi va uninchi elementlariga murojaat etishni bildiradi. Ikki ulchovli massivlarda ikkita indeks, n ulchovlilarda esa n ta indeks ko’rsatiladi.

Masalan, MatrU[4,4] bu yozuv Matr U massivining 4 kator 4 ustunidagi elementini bildiradi. Array tipidagi kiymatlar bilan ishlashda kuyidagi xolatlar bulishi mumkin:

VAR


A,D : array[1..4] of real;

B : array[1..10,1..15] of integer;

I,J : integer; K : integer; S: real;

Bu operatsiyani FOR operatori yordamida xam bajarish mumkin:

FOR I := 1 TO 4 DO A[I] := 0;

Ikki ulchovli massivlarga indeks kuyish uchun ichma-ich joylashgan operatorlar ishlatiladi:

FOR I := 1 TO 10 DO

FOR J := 1 TO 15 DO

B[I,J] := 0;

Paskal algloritmik tilida massiv elementlarini birdaniga kiritish - chiqarish imkoniyati yukligi sababli elementlar bittadan kiritiladi.

1 Misol:

5 ta elementdan xosil bulgan X massivining elementlarini kiriting.

Xar bir elementning kvadrati va ildizini ekranga chiqaring.

Yechilishi:

PROGRAM P7_2;

VAR


Sum,I: integer;

Sr: real;

X: array[1..5] of integer;

Kor, Kv: array[1..5] of real; { Natija kasr yoki Integer uchun juda katta bulishi mumkin }

BEGIN

Sum:=0;


Writeln('5 ta butun kiymatlarni kiriting: ');

FOR I:= 1 TO 5 DO BEGIN

Write('I- sonni kiriting: ');

Readln(X[I]);

Kor[I]:= Sqrt(X[I]); { ildizni xisoblash }

Kv[I]:= Sqr(X[I]); { kvadratini xisoblash }

END;

FOR I:= 1 TO 5 DO Write(Kor[I]:8:2);



Writeln;

FOR I:= 1 TO 5 DO Write(Kv[I]:8:2);

Readln;

END.


2 Misol:3x3 massiv elementlarini kiriting va xar bir kator yigindisini xisoblang va xar bir kator yigindisini xisoblang

Yechilishi:

PROGRAM P7_8;

VAR


X: array[1..3,1..3] of integer;

Sum: array[1..3] of integer;

I, J: integer;

BEGIN


Randomize;

FOR I:= 1 TO 3 DO

FOR J:= 1 TO 3 DO BEGIN

X[I,J]:=Random(300); {massivning tasodifiy kiymatlari bilan tuldiramiz}

END;

FOR I:= 1 TO 3 DO



Sum[I]:= 0; { yigindini 0 ga tenglashtiramiz }

FOR I:= 1 TO 3 DO

FOR J:= 1 TO 3 DO

Sum[I]:= Sum[I]+X[I,J];

FOR I:=1 TO 3 DO

Write(Sum[I]:3); { yigindini chiqaramiz}

Readln;

END.


Massivdan nusxa olish deb,bitta massiv elementlari kiymatlarini boshqa massiv elementlari uzlashtirishiga aytiladi. Nusxa olishni bitta uzlashtirish operatori yordamida amlga oshirish mumkin,masalan A:=D yoki FOR operatori yordamida.

FOR I:= 1 TO 4 DO A[I]:= D[I];

Ikkala xolda xam massiv elementlari kiymatlari uzgarmaydi, A massivi elementlarining kiymatlari D massivi elementlari kiymatiga teng bulib koladi.Ko’rinib turibdiki, ikkala massiv xam strukturasi buyicha bir- biriga uxshash. Kupchilik xolatlarda massiv da kaysidir elementlarini izlashga tugri keladi. Masalan, A massivining nechta elementi nol kiymatga ega ekanligini bilish talab etiladi. Buning uchun kushimcha uzgaruvchi K ni kiritamiz va FOR, IF operatorlaridan foydalanamiz:

K:=0; FOR I:=1 TO 4 DO

IF A[I] = 0 THEN K : = K+1;

Sikl bajarilgandan keyin K uzgaruvchi A massivining nolga teng bugan kiymatlarini uz ichiga oladi.Massiv elementlari kiymatlarini joyini almashtirish massivning bazali tipiga uxshash tipdagi yerdamchi uzgaruvchi yordamida amalga oshiriladi. Masalan, A massivining birinchi va beshinchi elementlari kiymatlarini joyini almashtiring:

Vs : =A[5] { Vs- yordamchi uzgaruvchi }

A[5] :=A[1];

A[1]: =Vs;

Tayanch so`z va iboralar: Massiv, massiv elementlari, massivlarni ifodalash, bir ulchovli massiv, kup ulchovli massiv,array

Nazorat savollari

1.Massiv deb nimaga aytiladi?

2.Massiv qanday e’lon kilinadi?

3.Ko’p ulchamli massivlar deb qanday massivlarga aytiladi?

4.Massivlar ustida qanday amallarni bajarish mumkin?

5.Massiv elementi tiplari qanday buladi?

6.Massiv elementlarini qanday kilib chiqarish mumkin?

7.Massivlardan nusxa olish qanday bajariladi?



8.Massivga kiymat berish qanday amalga oshiriladi?








Download 308,64 Kb.

Do'stlaringiz bilan baham:
1   ...   12   13   14   15   16   17   18   19   20




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