PASKAL DASTURLASH TILIDA MASSIVLAR BILAN ISHLASHDA TASODIFIY SONLARDAN FOYDALANISH VA UNING MOHIYATI

O`ZBEKISTON RESPUBLIKASI XALQ TA’LIM VAZIRLIGI

NAVOIY DAVLAT PEDAGOGIKA INSTITUTI

FIZIKA-MATEMATIKA FAKULTETI

INFORMATIKA VA AXBOROT TEXNALOGIYALARI KAFEDRASI

Mavzu: PASKAL DASTURLASH TILIDA MASSIVLAR BILAN ISHLASHDA TASODIFIY SONLARDAN FOYDALANISH VA UNING MOHIYATI.

Bajardi: matematika-informatika ta’lim yo`nalishi

3-kurs D guruh talabasi Muxammedov S.S.

NAVOIY 2010

REJA:

1) Kirish.

2) Massivlar haqida umumiy ma’lumot.

3) Paskal dasturlash tilida massivlar bilan ishlash.

4) Massivlar bilan ishlashda tasodifiy sonlardan foydalanib misollar yechish.

5) Xulosa.

6) Foydalangan adabiyotlar.

Kirish

Hozirgi kunda biz hayotimizni axborot texnalogiyalarisiz tasavvur qila olmaymiz.Axborot va telekamunikatsi texnalogiyalarining jadal suratlar bilan rivojlanishi natijasida insoniyat yangi information jamiyat podevorini qurishga erishdi. XXI-asr axborot texnalogiyalari asri hisoblanadi. Axborot va telekamunikatsiya texnalogiyalarining tez siuatlarda kirib kelishi va jadal rivojlanib borayotganligi respublikamiz rivojiga katta hissa qo`shyapdi desak mubolag’a bo`lmaydi.. Respublikamizda ham axborot va telekomunikatsiya rexnalogiyalari rivojlantirish va ushbu soha uchun malakali mutaxasislar tayyorlash tizimini shkllantirishga alohida e’tibor berilmoqda . Shu vaqtgacha bu borada juda katta ishlar amalgam oshirildi.

Misol uchun maktab,kollej,litsey va oily o`quv yurtlari zamonaviy axborot texnalogiyalari ,kompyuterlar bilan jihozlandi. Endilikda shu soha bo`yicha yetuk kadrlar yetishib chiqmoqda Bunday malakali kadrlar respublikamiz rivoji uchun ,keyingi yosh avlodni bilimli aql zakovatli qilibb tarbiyalash uchun suv va havodek zarurdir .oshlarni axborot texnalogiyalari ,kompyuterlarga qiziqishi quvonarli hol albatta lekin yoshlarni kompyuterda har xil bekorchi ishlar bilan shug’ullanmasligi uchun biz ularni to`g’ri yo`naltirishimiz kerak.

Bu borada hamma o`quv muassasalarida ayniqsa kasp hunar kollelari, litseylar va oily o`quv yurtlarida axborot texnalogiyalari dastur mahsulotlarining keng imkoniyatlarini talabalarga chuqur o`gatish ularning dasturlash madaniyatini shakllantirish muhim aha miyat kasp etadi. Respublikamizda ta’lim muassasalarida “Informatika”, “Informatika va information texnalogiyalar” fanlarining o`quv rejalarida yuqori saviyali algoritmik tillardan birining imkoniyatlirini o`rgatish rejalashtirilgan. Turbo Pascal dasturlash tili mana shunday algoritmik tillardan biridir. Barcha dasturlash tillarida uchraydigan tushuncha va tuzilishlarni o`z ichiga olganligi, katta imkoniyatlarga egaligi, shuningdek, obyektga yo`naltirilgan dasturlash tillarini o`rganishga asos bolib xizmat qilganligi sababli oily o`quv yurtlarida aynan shu tilni chuqur o`rganishga e’tibor qaratilgan. Shveysariyalik olim Niklas Virt tomonidan talabalarga dasturlashni orgatish vositasi sifatida o`ylab chiqilgan Paskal tili, Amerikaning Borland korparatsiyasi xodimi Turbo Pascalning yaratuvchisi va g’oyachisi Anders Xeylsberg hamda korparatsiyaning iste’dodli xodimlari tomonidan bugungi kunda har qanday oddiy dasturlar tuzishdan tortib, ma’lumotlar bazasini boshqarishning murakkab relyatsion tizimlarini ishlab chiqishdekmasalalarni hal qila oladigan quvvatli zamonaviy dasturlash tizimiga aylandi.

Windows va Widows muhitida dasturlar ishlab chiqish uchun Borland Paskal with Object va Delphi instrumental vositalarining paydo bo`lishi yana bir marta bu tilning cheksiz imkoniyatlarga ega ekanligini ko`rsatadi. Borland Paskal ham ,Delphida ishlatiladigan Object Paskal ham Turbo Paskalga asoslanadi va uning g’yasini rivojlantiradi.

Hozirgi paytda dasturlash tillarining soni juda ko`payib ketmoqda .Lekin shuni aytish karakki ,har qanday dasturlash tilio`zining darajasi va qo`llash sohasiga ega. Ba’zi bir tillar birnecha xil soha masalalarini yechishda islatiladi. Bunday tillar universal tillar deb ataladi. Paskal algoritmik tili ham universal til hisoblanadi. U dasturlasning asosiy tushunchalari va konstruksiyalarini o`z ichiga olishi bilan birga boshqa universal dasturlash tillariga qaraganda ancha sodda.

Endi bu til bilan tanishamiz.

MASSIVLAR HAQIDA UMUMIY MA’LUMOT.

Turbo Paskal bir butn deb qaraluvchi bir xil turdagi elementlar to`plamidan iborat obyektlar ham ishlatilishi mumkin .Bular massivlar ular bir qancha bir turdagi bir butun deb qaraluvchi obyektlar(sonlar,belgilar,satrlar va hokazo)ning rasmiy birlashmasidir.

Massiv ismi (idenfikator) va massiovning kerakli nelementini ko`rsatish uchun zarur bo`lgan o`lchamlari (koordinatalar) bilan aniqlanadi .Massiv ismi uning hamma elementlari uchuin yagonadir.

Har bir alohida elementga massiv olchamiga bog’liq ravishda bir yoki bir nechta indekslar yordamida murojaat qilish mumkin. Indeks sifatida o`zgarmaslar va ефкеши turdagi o`zgauvchilar bilan bir qatorda murakkab turdagi

(massivlar ,satrlar va hokazolar) o`zgaruvchilar ham massiv o`zgaruvchilari bo`lishi mumkin.

Massiv turi bayoni quyidagicha ko`rinishda beriladi:

<tur ismi>=ARRAY [<ind.tur ro`yx>] OF <tur>

Bu yerda <tur ismi>-to`g’ri idenfikator’

ARRAY ,OF-rezerv so`zlar (massiv…dan);

<ind .tur.ro`yx.>- bir biridan vergullar bilan ajratilgan ,indeksli turlar ro`yxati; ro`yxatni o`rab olgan kvadrat qavslar –sintaksis talabi;

<tur>-Turbo Paskalning ixtiyoriy turi.

Indeks turlari sifatida TurboPaskal LONGINT va LONGINT baza-turli soha turlaridan boshqa ixtiyoriy ефкеши turlarni ishlatish mumkin.

To`g’ri tuzilgandasturda indeks soha- turi tomonidan aniqlangan chegaradan tashqarida chiqmasligi kerak.Masalan:

a:array[] of real,bo`lsa A[0] ni

c:array[] of Boolean,bo`lsa C [38] ni ishlatish mumkin emas.

Of dan keyin keluvchi <tur> Turbo Paskalning ixtiyoriy turi jumladan boshqa massiv ham bo`lishi mumkin,masalan,

Var

Mat : array [0..5] of array [-2..2] of array [Char] of byte;

Bu yozuvni ixcham holda quyidagicha yozish mumkin:

Type

Mat:array [0..5,-2..2,char] of byte.

Umuman strukturali turlarning ,demak,massivning ichma –ichlik chuqurligi ixtiyoriy ,shuning uchun indeks turning ro`yxatdagi elementlar soniga ham chegara yo`q ,lekin ixtiyoriy massivning ichki uzunligi yig’indisi 65520 baytdan oshmasligi kerak .shaxsiy kompyuter xotirasida massiv elementlari biri ketidan ikkinchisi shunday keladiki , buda kichik adresli xonadan kattasiga o`tganda massivning eng chekka o`ng indeksi tez almashinadi agar , masalan,

Var

a:array [1..2,1..2] of byte;

begin

a[1,1]=1;

a[2,1]:=2;

a[1,2]:=3;

a[2,2]:=4;

end

bo`lsa, xotirada 1,2,3,4 qiymatli baytlar ketma-ket joylashadi. Bu xolda xotirani nusxalashning MOVE standart protsedurasini islatishda muhim bo`lishi mumkin .

Turbo Pascalda bitta o`zlashtirish operatori bilan bir massivning hamma elementlarini shu turdagi boshqa massivga uzatish mumkin, masalan,

Var

a,b:array[1..5] of single;

begin

………..

a:=b;

……….

End.

Shu o`zlashtirishda keyin A massivning hamma beshta elementi B massiv elementlari qiymatlarini qabul qiladi. Lekin massivlar ustida munosabat amallar aniqlanmagan. Masalan,

If a=b then…

Deb yozish mumkin emas.Ikki massivni elementlari bo`yicha taqqoslash mumkin,

Masalan:

Var

a,b: array [1..5] of single;

eg:Boolean;

i:Byte;

begin

………………

eg:=True;

for i:=1 to 5 do

if a [i]<>b[i] then

eg:=false;

if eg then

………………

End.

Masalalar yechoshda bir , ikki va uch o`lchovli massivlardan foydalaniladi. Katta o`lchamdagi massivlar amalda oz uchraydi.

Bir o`lchovli massivlar: umumiy holda bir olchovchi massivlarni tasvirlash quyidagi ko`rinishida beriladi;

VAR V:ARRAY[N..M] OF T

Bunda, V-massiv nomi ,N va M-mos ravishda massiv indeksining quyi va yuqori o`zgarish chegarasi ,T – massiv turi.

Agar bir nechta massivlarning indeks o`zgarish chegarasi va turi bir xil bo`lsa , u holda bu massivlarni tasvirlashda birlashtirish mumkin , masalan,

Var a,b,c:array[1..5] of real;

Indekslar turi real va integer dan tashqari boshqa oddiy turlar bo`lishi mumkin, chunki massivlar cheklangan elementlar soniodan iborat bo`ladi.

Ko`p hollarda indekslar turi sifatida cheklangan turlardan foydalaniladi. Chunki cheklangan turlarning qiymatlar top’lami tartiblangan va nomerlangan bo`ladi.

Masalan: 50 ta elementdan iborat A massiv quyidagicha tasvirlanadi.

VAR A:ARRAY[1..50]0F REAL;

Indeks o`zgarishning chegarasini butun turli o`zgarmas bilan ham ifodalash mumkin.

Masalan:

CONST MMAX=50;

VAR A:ARRAY[1..MMAX] OF REAL;

Massivlarni TYPE bo`limida yoki to`g’ridan-to`g’ri o`zgaruvchilar bo`limida tasvirlash mumkin. Masalan:

a) Type

Massiv=1..100

Vector=array[masiv] of real;

Мулешк2=array[-109..-1] of integer;

Var

a,b:vector;

c,d:vektor2;

b) var

a,b:array[1..100] of real;

c,darray[-109..-1] of integer.

Sanab o`tilgan turlar ham indeks turi sifatida qo`llaniladi. Masalan:

Tupe

Oy=(yanvar,fevral,aprel,mart,iyun,iyul,avgust,sentyabr,oktyabr,noyabr,dekabr);

Hafta=(dushanba,seshanbva,chorshanba,payshanba,juma,shanba,yakshanba);

O`zgaruvchilar esa quyudagicha aniqlanadi:

Var

T,r:array[hafta] of real;

Massiv elementlarini kiritish va chiqarish tsikl kiritish va chiqarish operatorlari orqali amalgam oshiriladi.

Masalan: 50 ta elementdan iborat A massiv elementlari quyidagicha kiritiladi:

For i:=1 to 50 do

Real (A[i]);

Masiv elementlarini chiqarish quyidagicha amalgam oshiriladi :

For i:=1 to 50 do

Write (B[i]);

Misol. X(x1,x2,…,x20)Massivning musbat elementlari yig’indisini hisoblash dasturini tuzing.

Program summa (imput , output);

Typen:=1..20

Var

X:array[n] of real; i:integer; s:real;

Begin

S:=0;

For i:=1 to 20 do

Read(x[i]){massiv elementlarini kiritish}

For i:=1 to20 do

If x[i]>=0 then s:=s+x[i];

Writeln(“s=”;s);

End.

Ikki o`lchovli massivlar: Paskal tilida bir o`lchovli massivlardan tashqari ko` o`lchovli massivlardan ham foydalaniladi. Ular ichida eng ko`p tarqalgani ikki o`lchovli massvlar, ya’ni matritsalar yoki to`g’ri burchakli jadvallardir.

Ikki o`lchovli massivlar satr va ustun elementlaridan iborat, ularning elementlari ikki indeks orqali ifodalaniladi. Bu indekslarning biri shu elementning satr bo`yicha o`rnini, ikkinchi indeks ustun bo`yicha o`rnini ko`rsatadi. Ikki o`lchovli massivlarni ifodalash ham bir massiv kabi amalgam oshiriladi.

Umumiy holda ikki o`lchovli massiv quyidagicha tasvirlanadi:

VAR C:ARRAY[N..M, K..L] OF T;

Bunda, C-massiv nomi, N,K vaM,L lar mos ravishda massiv indeksining quyi va yuqori o`zgarish chegarasi, T-massiv turi.

Masalan;

Type

Matritsa=array[1..4,1..5] of real;

Matritsa2=array [bush..yaksh] of array[Boolean] of-20..20

Var

a,b:matritsa; C:matritsa2;

var

a,b :array[1..4,1..5] of real;

c:array[bush..yaksh] of array[Boolean] of -20..20

Ikki o`lchovli massivlar elementlarini kiritish yoki chiqarish quyidagicha amalgam oshiriladi:

Masalan:

A matritsa (I,j=1…3) elementlari quyidagicha kiritiladi

For i:=1 to3 do

For j:=1to3do

Read(A[i,j]);

B matritsa (i,j=1…3) elementlari quyidagicha chiqariladi:

For i:=1 to 3do

For j:=1 to3 do

Write (B[i,j]);

Paskal dasturlash tilida massivlar bilan ishlash.

Umumiy nomga ega bo`lgan bir xil ko`rinishda tartiblangan elementlar ketma-ketligi massiv deyiladi. Massiv elementlari uning komponentlari deb ataladi. Komponenta tipi – baza tipi hisoblanadi. Har bir tip o`zining indeksiga va nomiga ega,ular qavs ichiga keltiriladi.

Massiv elementlari ixtiyoriy tipda ,hattoki ma’lumotlar ham bo`lishi mumkin. Massiv elementlarining tiplari bazali deyiladi. Massiv elementlarining soni programma ishlash jarayonida o`nga ozlashtirib boriladi. Uning har bir alohida elementiga murojaat massiv elementlariga mos kelgan indekslari bo`yicha bo`ladi. Massiv indeksi tushunchasi xuddi vektorlar indeksi tushunchasi kabi bo`ladi Massivlarni e’lon qilish uchun Array of (massivda) so`z birligi ishlariladi.

Yozilishi:

TYPE

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

VAR

<identifikator,…>:<tip nomi>;

Massivlarni tiplarni e’lon qilmasdan turib ham qo`llash mumkin.

VAR

<>identifikator,…: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 bo`limida oldindan keltirilgan}

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

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

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

Massivning baza tipi har qanday tip bo;lishi mumkinligi sababli u boshqa massiv ham bo`lishi mumkin.Natijada,Ko`p o`chamli massiv hosil bo`ladi.

Masalan.

TYPE

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

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

VAR

Matr : Massiv;

Xuddi shu strukturani boshqa turdagi yozuvni qo`llash natijasida ham hosil qilish mumkin.:

VAR

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

Massiv bilan ishlashda konstantalar ham ishlatilishi mumkin.

CONST

G1=4 ; G2=6;

VAR

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

Massiv elementlari xotirada ketma-ket joylashadi. Indekslari kichkina bo`lgan elementlar xotoraning pastki indekslarida saqlanadi.Ko`p elementli massivlarda eng o`ng tarafidagi indeks birinchi bo`lib o`sib boradi.Masalan ; Agarda

A:array[1..5,1..5] of integer;

Bo`lsa u holda massiv elementlari adreslarnig o`sishi bo`yicha joylashadi.

A[1,1]

A[1,2]

……….

A[1,5]

A[2,1]

A[2,2]

Massivlarni bir butun holda ishlatilgan paytda massiv nomlaridagi indekslardagi kvadrat qavsga olinmay ishlatiladi.Massivlar kiritish operatorida “teng” yoki “teng emas” operatsiyalarida ishlatilishi mumkin

Bu amallarda ishlatiladigan massivlar bir xil tipdagi indeks va komponentalarda ega bo`lib strukturasi bir biriga o`xshash bo`lishi kerak.

Masalan,

A va B massivlar Var A,B: array[1..20] of real;

Ko`rinishida ifodalangan bo`lsa unda natija quyidagicha bo`ladi.

A=B True,agarda A massivning elementlarining qiymatlari V massiv elementlarining qiymatlariga mos ravishda teng bo`lsa.

A<>V True, agarda A massiv elementining bron bir qiymati V massiv elementining qiymatlariga mos ravishda mos bo`lsa.

A :=V V massiv elementining hamma qiymatlari A massiv elementlari tomonidan o`zlashtirilsa V massiv elementlarining qiymatlari o`zgarmasdan qoladi.

Massiv e’lon qilingandan keyin uni elementlarini nomlari qavs ichida ko`rsatilgan holda ishlatish mumkin..Masalan:mas[2],vektorZ[10] massivning ikkinchi va uchinchi elementlariga murojaat etishni bildiradi.

Ikki o`lchovli massivlar ikita indeks n o`lchovlilarida esa n ta indeks ko`rsatiladi

Masalan, MatrU[4,4] bu yozuv MatrU massivning 4 ta qator 4 ta ustundagi elementini bildiradi.Array tipidagi qiymatlar bilan ishlashda quyidagi holatlar bo`lishi 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 ham bajarish mumkin:

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

Ikki o`lchovli massivlarga indeks qo`yish uchun ichma-ich joylashgan operatorlar ishlatiladi:

FOR I:=1TO 10 DO

FOR J:=1 TO 15 DO

B[I,J]:=0;

Paskal algoritmik tilida massiv elementlarini birdaniga kiritish-chiqarish imkoniyati yo`qligi sababli elementlar bittadan kiritiladi.Massiv elementiga qiymatni o`zlashtirish operatori yodamida beriladi,initsializatsiya misolda ko`rsatilgandek ,lekin ko`p hollarda READ yoki READLN operatori yordamida o`zlashtiriladi va sikl operatoridan foydalanamiz.

FOR I:= 1 TO 10 Do

FOR J:=1 TO 15 DO

READLN(D[I,J]);

WRITELN operatori ishlatilishi sababli har bir qiymat yangi qatordan kiritiladi.Alohida elementlarni qiymatlarini ham kiritish mumkin.Bunda quyidagi operatorlardan foydalaniladi:

READ (A[3]);

READ (B[6,9]);

Bu yerda A vektoriga 3ta element qiymati va V matritsaning 6- qator 9-ustuniga joylashgan elementlari qiymatlarini kiritadi.

Ikkala qiymat ham ekranning bitta qatorida ,kursirning joriy pazitsiyasidan teriladi. Massiv elementlari qiymatini chiqarish ham xuddi shunday bajariladi, lekin bunda WRITE yoki WRITELN operatori qo`llaniladi.

FOR I:=1 TO 4 DO

Writeln (A[I]); {A massiv elementlari qiymatini chiqarish}

Yoki

FOR I:=1 TO 10 DO

FOR J:=1 TO 15 DO

Writeln (V[I,J]); {B massiv elementlari qiymatini chiqarish}

1-Misol:

5 ta elementdan hosil bo`lgan X massivning elementlarini kiriting.

Har bir elementning kvadrati va ildizini ekranga chiqaring.

Yechish:

PROGRAM P7_2;

VAR

Sum,I:integer;

Sr:real;

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

Kor,Kv:array[1..5] of real;

Begin

Sum:=0;

Writeln(‘5 ta butun qiymatlarni kiriting:’);

FOR I:=1 TO 5 DO BEGIN

Write(‘I-sonni kiriting: ‘);

Readln (X[I]);

Kor[I]:= sqrt(X[I]);

Kv[I]:=sqr(X[I]);

END;

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

Writeln;

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

Readln;

END.

2-misol:

3x3 massiv elementlarini kiriting va har bir qator yig’indisini hisoblang.

Yechish:

PROGRAMP7_8;

VAR

Xarray[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);

END;

FOR I:=1 TO 3DO

Sum[I]:=0

FOR I:=1 TO 3 DO

FOR J:=1TO 3 DO

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

FOR I:=1 TO 3 DO

Write(Sum[I]:3);

Readln;

END.

Massivdan nusxa olish deb, bitta massiv elementlari qiymatlarini boshqa massiv elementlarini o`zlashtirishiga aytiladi. Nusxa olish bitta o`zlashtirish operatori yordamida amalga oshirish mumkin,masalan A:=D yoking FOR operatori yordamida .

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

Ikkala holda ham massiv elementlari qiymatlari o`zgarmaydi, A massiv elementlarining qiymatlari D massiv elementlari qiymatiga teng bo`lib qoladi. Ko`rinib turibdiki ,ikkala massiv ham struturasi bo`yicha bir-biriga o`xshash. Ko`pchilik holatlarda massivda qaysidir elementlarni izlashga to`g’ri keladi. Masalan: A massivning nechta elementi nol qiymatga ega ekanligini bilish talab etiladi. Buning uchun qo`shimcha o`zgaruvchi K ni kiritamiz va FOR , IF operatorlarida foydalanamiz.

K:=0;

FOR I:=1 TO 4 DO

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

Sikl bajarilgandan keyin K o`zgaruvchi A massivning nolga teng bo`lgan qiymatlarini o`z ichiga oladi. Massiv elementlari qiymatlarini joyini almashtirish massivning bazali tipiga o`xshash tipdagi yordamchi o`zgaruvchi yordamida amalga oshiriladi.Masalan, A massivning birinchi va beshinchi elementlari qiymatlarini joyini almashtiring.

Vs:=A[5]

A[5]:=A[1];

A[1]:=Vs;

MASSIVLAR BILAN ISHLASHDA TASODIFIY SONLARDAN FOYDALANIB MISOLLAR YECHISH.

1-misol. Sonlarni ko`paytira olishni tekshirish.

Var

m1,m2,p: integer; {ko`paytuvchilarni va ko`paytma}

jav: integer; {sinaluvchi javobi}

begin

Randomize; {tasodifiy sonlar generatorini initsializatsiyalash}

m1:=rondom (9)+1; {Rondom (a) funktsiyasi qiymati, y}

m2:=Rondom (9)+1;{o dan a-1 gacha sohadagi son}

p:=m1*m2;

writeln (m1, ‘x’,m2, ‘necha bo`ladi?’)

writeln (‘Javobini kiriting va <Enter>ni bosing’);

write (‘ ’);

readln (jav);

if p+jav

then writeln (‘To`g`ri.’)

else writeln (‘Siz adashdingiz.’, m1, ‘x’, m2,’p);

readln;

end.

2)-misol.

Massiv elementlarini tasodifiy sonlar generatori orqali kiritish.

Tasodifiy sonlar uchun Turbo Paskal tilining operatorlari.

random:real –Tasodifiy sonlar generator diapazoni 0...0.99.

random(i:word):word – Tasodifiy sonlar generator diapazoni

0...1.

randomize - изменение базы генератора случайных чисел.

program mas1;

var

a: array [1..10] of integer;

i: integer;

begin

randomize;

for i:=1 to 10 do

begin

a[i]:=random(20);

write('a(', i, ')=', a[i], ' ')

end;

readln;

end.

3)-misol:

3x3 massiv elementlarini kiriting va har bir qator yig’indisini hisoblang .

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); {Massivni tasodifiy qiymatlari bilan to`ldiramiz } END;

FOR I:= 1 TO 3 DO

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

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); { Yig’indini chiqaramiz}

Readln;

END.

4)-misol

Dastur ekranda 20 ta tasodifiy aylana chizadi.

Program krugi;

Uses Graph;

Var x,y,r,z,i,grDriver,grMode:integer;

Label 1;

Begin

grDriver:=detect;

initGraph(grDriver,grMode,’d:/tp/bgi’);

randomize;

for i:=1 to 20 do

begin

z:=random(15); y:=random(480); r:=random(100);

setcolor(z);

1: x:=random(640);

if x>340 then circle(x,y,r) else goto 1;

end;

readln;

closeGraph;

end.

5)-misol.Написать программу, которая для прямоугольной целочисленной матрицы 3х4 определяет номер самого левого столбца, содержащего только положительные элементы. Если такого столбца нет, выводится сообщение.

Program num_posit;
const m=3;
n=4;
var
a:array[1..m,1..n]of integer;
i,j,num:integer;
all_posit:boolean;
begin
randomize;
fori:=1 to m do
begin
forj:=1 to n do
begin
a[i,j]:=random(100)-10;
write(a[i,j]:4);
end;
writeln;
end;
num:=0;
forj:=1 to n do begin
all_posit:=true;
for i:=1 to m do
if a[i,j] < 0 then
begin
all_posit:=false;
break; end;
if all_posit then begin
num:=j; break; end;
end;
if num = 0 then
writeln('Takix stolbcov net')
else
writeln('Nomer stolbca:',num);
end.

XULOSA

“Kadrlar tayyorlash milliy dasturi”da shaxsni rivojlantirishga berilgan juda katta e’tiborning boisi shundaki, faqat shaxsning kamoloti uning intellektual zakovatigina jamiyat taraqqiyotining omili bo`la oladi. Shaxsdagi intellektual zakovat esa yaxshi tashkil etilgan ta’lim-tarbiya jarayonidagina uyg’onishi, taraqqiy etishi va shaxs kamolotini ta’minlashi mumkin. O`qituvchi o`quvchilarning intellektual imkoniyatlarini maksimal ishga solish yo`lini izlab topishi lozim.

Ko`p yillar davomida an’anaviy dars o`tish ta’limning asosiy shakllaridan biri bo`lib keldi.

An’anaviy dars- muayyan muddatga mo`ljallangan, ta’lim jarayoni ko`proq o`qituvchi shaxsiga qaratilgan, mavzuga kirish, yoritish, mustahkamlash va yakunlash bosqichlaridan iborat ta’lim metodidir.

An’anaviy dars o`tish modelida ko`proq ma’ruza, savol-javob, amaliy mashq kabi metodlardan foydalaniladi.

Buning natijasi o`laroq yoshlarimiz Informatika va Axborot texnalagiyalari fanidan kuchli bilim va tajribaga ege bo`lmoqdalar.

Ayniqsa dasturlash sohasida ko`plab yoshlarimiz ulkan yutuqlarga erishmoqdalar. 2010-yilning Barkamol avlod yili deb e’lon qilinishi yoshlarimizga yanayam katta imkoniyatlar eshigini ochib beradi.Chunki prezidentimiz I.A.Karimov Ta’lim sohasini rivojlantirish maqsadida Davlat byudjetini 50% ni yoshlarni ta’lim olishi uchun barcha sharoitlarni yaratib berishga sarfladilar.

Shunday ekan An’anaviy dars shaklini saqlab qolgan holda, unga turli-tuman o`quvchilar faolligini oshiradigan metodlar bilan boyitilib borilsa, o`quvchilar o`zlashtirish darajasini ko`tarilishiga olib keladi.

Buning uchun dars jarayoni oqilona tashkil qilinishi, o`qituvchi tomonidan o`quvchilarning qiziqishini ortirib, ularning ta’lim jarayonida faolligi muttasil rag’batlantirilib turilishi, o`quv materialini kichik-kichik bo`laklarga bo`lib, ularning mazmunini ochishda baxs, munozara, aqliy hujum, kichik guruhlarda ishlash, tadqiqot rolli o`yinlar metodlarini qo`llash, rang-barang baholash usullaridan foydalanish ta’lim vositalaridan o`rinli foydalanish talab etiladi.

Zamonaviy o`qitish texnologiyalarida talaba shaxs pedagogik jarayon markaziga qo`yiladi uning rivojlanishiga va tabiiy imkoniyatlarini ro`yobga chiqarishga qulay shart- sharoit yaratiladi. O`zbekiston Respublikasining ta’lim tizimi milliy modelining tarkibiy qismi sifatida “shaxs” kiritilganligi va unga birinchi o`rin ajratiganligi shaxsga yo`naltirilgan ta’lim texnologiyalariga alohida e’tibor berilayotganligifikrimizning yaqqol dalilidir. Shunday ekan biz yoshlar vatanga munosib farzand bo`lishga va yurtimiz bayrog’ini yuksaklarga ko`tarishga bor kuch va g’ayratimizni ishga solgan holda harakat qilishimiz shart.

FOYDALANGAN ADABIYOTLAR.

1)“Yuksak Ma’naviyat yengilmas kuch”. I.A.Karimov 2008-yil.

2)”Informatika” Tayloqov.

3)”Dasturlash” P. Karimov, S.Irisqulov.

4)”Informatika va axborot texnalogiyalari” fanidan ma’ruzalar matni T.U .O`tapov, G’.R.Yodgorov.

5)”Dasturlash” Sh.I.Razzoqov. M.J.Yunusova.

6)”Zamonaviy Dasturlash tillari” Xudoyorov Sh .J.

PASKAL DASTURLASH TILIDA MASSIVLAR BILAN ISHLASHDA TASODIFIY SONLARDAN FOYDALANISH VA UNING MOHIYATI