PASKAL DASTURLASH TILIDA MASSIVLAR BILAN ISHLASHDA TASODIFIY SONLARDAN FOYDALANISH VA UNING MOHIYATI
O`ZBEKISTON RESPUBLIKASI XALQ TALIM 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 talim yo`nalishi
3-kurs D guruh talabasi Muxammedov S.S.
NAVOIY 2010
REJA:
1) Kirish.
2) Massivlar haqida umumiy malumot.
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 mubolaga bo`lmaydi.. Respublikamizda ham axborot va telekomunikatsiya rexnalogiyalari rivojlantirish va ushbu soha uchun malakali mutaxasislar tayyorlash tizimini shkllantirishga alohida etibor 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 shugullanmasligi uchun biz ularni to`gri 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 talim 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 etibor qaratilgan. Shveysariyalik olim Niklas Virt tomonidan talabalarga dasturlashni orgatish vositasi sifatida o`ylab chiqilgan Paskal tili, Amerikaning Borland korparatsiyasi xodimi Turbo Pascalning yaratuvchisi va goyachisi Anders Xeylsberg hamda korparatsiyaning istedodli xodimlari tomonidan bugungi kunda har qanday oddiy dasturlar tuzishdan tortib, malumotlar 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 gyasini 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. Bazi 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 MALUMOT.
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 bogliq 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`gri 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`gri 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 yigindisi 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 toplami 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`gridan-to`gri 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 yigindisini 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, yani matritsalar yoki to`gri 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 malumotlar 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 elon 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 elon 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 elon 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 yigindisini 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`gri 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 yigindisini 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); { Yigindini 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 etiborning boisi shundaki, faqat shaxsning kamoloti uning intellektual zakovatigina jamiyat taraqqiyotining omili bo`la oladi. Shaxsdagi intellektual zakovat esa yaxshi tashkil etilgan talim-tarbiya jarayonidagina uygonishi, taraqqiy etishi va shaxs kamolotini taminlashi mumkin. O`qituvchi o`quvchilarning intellektual imkoniyatlarini maksimal ishga solish yo`lini izlab topishi lozim.
Ko`p yillar davomida ananaviy dars o`tish talimning asosiy shakllaridan biri bo`lib keldi.
Ananaviy dars- muayyan muddatga mo`ljallangan, talim jarayoni ko`proq o`qituvchi shaxsiga qaratilgan, mavzuga kirish, yoritish, mustahkamlash va yakunlash bosqichlaridan iborat talim metodidir.
Ananaviy dars o`tish modelida ko`proq maruza, 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 elon qilinishi yoshlarimizga yanayam katta imkoniyatlar eshigini ochib beradi.Chunki prezidentimiz I.A.Karimov Talim sohasini rivojlantirish maqsadida Davlat byudjetini 50% ni yoshlarni talim olishi uchun barcha sharoitlarni yaratib berishga sarfladilar.
Shunday ekan Ananaviy 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 talim jarayonida faolligi muttasil ragbatlantirilib 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 talim 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 talim tizimi milliy modelining tarkibiy qismi sifatida “shaxs” kiritilganligi va unga birinchi o`rin ajratiganligi shaxsga yo`naltirilgan talim texnologiyalariga alohida etibor berilayotganligifikrimizning yaqqol dalilidir. Shunday ekan biz yoshlar vatanga munosib farzand bo`lishga va yurtimiz bayrogini yuksaklarga ko`tarishga bor kuch va gayratimizni ishga solgan holda harakat qilishimiz shart.
FOYDALANGAN ADABIYOTLAR.
1)“Yuksak Manaviyat yengilmas kuch”. I.A.Karimov 2008-yil.
2)”Informatika” Tayloqov.
3)”Dasturlash” P. Karimov, S.Irisqulov.
4)”Informatika va axborot texnalogiyalari” fanidan maruzalar 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