Alisher navoiy nomidagi samarqand davlat universiteti axborotlashtirish texnologiyalari


Download 1.92 Mb.
Pdf ko'rish
bet22/23
Sana30.05.2020
Hajmi1.92 Mb.
#112278
1   ...   15   16   17   18   19   20   21   22   23
Bog'liq
vdocuments.mx algoritmlar-nazariyasi-fanidan-oaquv-uslubiy-atrsamduuzmexmatbooksiii-blok


14-topshiriq 
a) 





10
1
1
4
1
4
n
n
n
x
S
 ni hisoblang. 
b) 





1
1
n
n
n
n
a
S
 ni hisoblang. 
c) Ko’paytirish jadvali elementlarini hosil qilish dasturini tuzing. 
15-topshiriq 
a) 






10
1
5
1
n
k
k
n
a
b
S
 ni hisoblang. 
b) =0,0003 aniqlik bilan 





1
1
n
n
n
a
x
S
 ni hisoblang. 
c) 





10
1
5
1
)
(
n
k
n
k
b
a
S
 ni hisoblang. 
 
12- амалий машғулот 
Mavzu: Bir o’lchovli massivlarga dastur tuzish. 
Reja: 
1. 
Bir o’lchovli massivlarga dastur tuzish. 
2. 
Mustaqil topshiriqlar bajarish. 
 
Mashg’ulotning  maqsadi: 
1. 
Bir o’lchovli massivlar ga dastur tuzishni o’rganish. 
2. 
Bir o’lchovli massivlar ga dastur tuzishni o’rganish ko’nikmalarini shakllantirish. 
   
 
Dars o’tish usuli: Takrorlash, suhbat va savol-javob, mavzu mazmunidan kelib chiqib 
talabalarga mustaqil topshiriqlar berish va ularni tasavvurini bilish. 
 
Dars o’tish vositalari:  Doska,o’uv va uslubiy qo’llanma, topshiriqlar majmuasi. 
 
Dars mazmuni: 
 
Darsning xronologik xaritasi – 80 minut. 
1. 
Tashkiliy qism – 2 minut 
2. 
Talabalar bilimi darajasini aniqlash – 10 minut 
3. 
Yangi mavzu o’tish (komputerda mustaqil topshiriq) – 50 minut 
4. 
Yangi mavzu ni o’zlashtish darajasini aniqlash- 10 minut. 
5. 
Sinov savollari – 5 minut. 
6. 
Uyga vazifa – 3 minut 
Regulyar turlar,  ya’ni bir o’lchovli massivlar quyidagicha ko’rinishda beriladi:  
array [< indeks turi>] of < komponenta turi >; 
     
Indekslar  turi  real  va  integer  standart  turlardan    tashqari  barcha  oddiy  turlar  bo’lishi 
mumkin, chunki massivlar cheklangan elementlar sonidan iborat bo’ladi. 
      
Ko’p  xollarda    indekslar  turi  sifatida  chegaralangan  turlardan  foydalaniladi.    Chunki 
chegaralangan turlarning qiymatlar to’plami tartiblangan va nomerlangan bo’ladi.  
Masalan, 100 ta haqiqiy turdagi elementdan iborat massiv quyidagicha beriladi: 

 
212
                   a) array[1. .100] of real 
      
Chegaralangan butun  tur 1..100 elementlarini sonini va tartibini aniqlaydi. 
                  b) array [1147. .2229] of integer 
                  v) array [-109. .-1] of integer 
      
Har bir beriladigan regulyar turga,  ya’ni massivga  turlarni tavsiflash orqali nom berish 
mumkin. 
Masalan. 
                 type 
                     chegara = 1..100; 
                    vektor = array [ chegara ] of real; 
                    massif = [1147..2279] of integer; 
                   massif2 = array [-109.. -1] of integer; 
      
Regulyar  tur    o’zgaruvchilaridan  foydalanish  uchun  ular  o’zgaruvchilarni  tavsiflash 
bo’limida aniqlanadi. 
                    var 
                         a,b : vektor; 
                         c,d : massif; 
      
Regulyar turlarni to’g’ridan - to’g’ri o’zgaruvchilarni  tavsiflashda ham berish mumkin. 
             var 
                 r,t : array [ chegara ] of real; 
                 s,g : array [1147. .2279] of integer; 
                 q,h : array [-109. .-1] of integer; 
                 k,m : array [1. .50] of (schar,kub,piramida); 
      
Sanab  o’tiladigan    turning  qiymatlar  to’plami  ham  cheklangan  nomerlangan  to’plamni 
tashkil  qiladi,    ya’ni  sanab    o’tiladigan    tur  ham  indeks  turi  sifatida  qo’llanilishi  mumkin.  
Chunki sanab o’tiladigan turning qiy-matlari tartiblangan va chekli sondan iborat bo’ladi: 
            type 
                oy =  (yanvar, febral, mart, aprel, may, iyun, iyul, avgust, sentabr, oktabr, 
                            noyabr,  dekabr); 
               hafta = (dushanba, seshanba, chorshanba, payshanba, juma, shanba); 
      
Regulyar tur o’zgaruvchilari quyidagicha aniqlanadi: 
           var 
              t,r: array [oy] of real; 
              a,b: array [hafta] of real; 
      
Bundan tashqari  indeks sifatida boolean va char turlari ham qo’llanilishi mumkin: 
           type 
               belgi : array [boolean] of integer; 
               alfavit : array [char] of integer; 
           var 
              k: belgi; s: alfavit; 
 
  
Masalan. 
                  type 
                     x = array [1..k] of boolean; 
                     yil = array [yanvar .. dekabr] of integer; 
                     chiroq = array [1..3] of sfetofor; 
                  var 
                    z,y : x; oj : yil; m : chiroq; 
      
Massivlar  bir  xil  turga  tegishli  bo’lsa  va    bir    xil    sondagi  komponentalardan  iborat 
bo’lsa,    bunday  massivlar  uchun  ta’minlash  operatorini  qo’llash  mumkin:  X:=Y;  Bu 
operatorning bajarilishi natijasida X massivning elementlari Y massivga ham ko’chiriladi. 

 
213
     
Indeks turining indeksi o’zgarmas yoki ifoda  bo’lishi  mumkin. Massivlar matematikada, 
iqtisodda  va  informatikada  berilmalarning  tartiblangan  to’plamini  tavsiflash  uchun  keng  va 
samarali  qo’llaniladi: vektorlar, matrisalar, jadvallar va hokozalar. 
Misol.  Bir  o’lchovli  20  elementdan    iborat    bo’lgan    A    massiv  elementlarining  yigindisini 
hisoblash dasturini tuzing: 



20
1
i
i
A
S
 
                program  summas; 
                       type 
                               n = 1.. 20; 
                       var  
                             S: real; A: array [N] of real; 
                             i : n; 
               begin 
                      for i:=1 to 20 do 
                      read(A[i]); 
                      readln; 
                      S:=O; 
                      for i:=1 to 20 do S:= S + A[i]; 
                     writeln('Massiv yig’indisi =', S); 
               end. 
 
13- амалий машғулот 
Mavzu: Ikki o’lchovli massivlarga dastur tuzish. 
Reja: 
1. 
Ikki o’lchovli massivlarga dastur tuzish. 
2. 
Mustaqil topshiriqlar bajarish. 
 
Mashg’ulotning  maqsadi: 
1. 
Ikki o’lchovli massivlar ga dastur tuzishni o’rganish. 
2. 
Ikki o’lchovli massivlar ga dastur tuzishni o’rganish ko’nikmalarini shakllantirish. 
Dars o’tish usuli: Takrorlash, suhbat va savol-javob, mavzu mazmunidan kelib chiqib 
talabalarga mustaqil topshiriqlar berish va ularni tasavvurini bilish. 
 
Dars o’tish vositalari:  Doska,o’uv va uslubiy qo’llanma, topshiriqlar majmuasi. 
 
Dars mazmuni: 
 
Darsning xronologik xaritasi – 80 minut. 
1. 
Tashkiliy qism – 2 minut 
2. 
Talabalar bilimi darajasini aniqlash – 10 minut 
3. 
Yangi mavzu o’tish (komputerda mustaqil topshiriq) – 50 minut 
4. 
Yangi mavzu ni o’zlashtish darajasini aniqlash- 10 minut. 
5. 
Sinov savollari – 5 minut. 
6. 
Uyga vazifa – 3 minut 
  
Ko’p  o’lchovli  massivlar.  Bir  o’lchovli    massivlarda    massiv  komponentalari  
qiymatlardan, ya’ni alohida berilmalardan iborat bo’ladi. Paskal tilida bundan  tashqari  massiv  
komponentalari  massivlardan  iborat  bo’lishi  mumkin.    Agar  massiv  -  komponentalarni  
qiymatlaridan tashkil  topgan  bo’lsa,  u holda  ikki o’lchovli  massivlar hosil  bo’ladi. Masalan, 
matrisalar.  Xuddi  shunday,  massiv  komponentalari  matrisalardan  iborat  bo’lsa,  uch  o’lchovli 
massiv hosil bo’ladi. 
      
Ikki o’lchovli massivni aniqlovchi tur ham,  xuddi bir o’lchovli massiv kabi beriladi:  
array [] of 
      
Bu yerda komponenta  tur   emas,  regulyar bo’lganligi uchun u quyidagicha ko’rinishda 
bo’ladi: 

 
214
array[]of of array[] of < turi> 
      
Masalan,  10  ta  satr  va  20  ta  ustun  iborat  bo’lgan    ikki    o’lchovli  haqiqiy  massiv  turini 
quyidagicha berish mumkin: 
array [ 1..10] of array [1..20] of real; 
      
Bu  turga  tegishli  o’zgaruvchilardan  foydalanish  doimgidek,  ikki  xil  usulda  berilishi 
mumkin.    Birinchi  usulda  talab  qilingan  regulyar  tur-  o’zgaruvchilarni  tavsiflash  bo’limida 
beriladi. 
Masalan: 
                 var 
                     A: array [1..10] of array [1..20] of real; 
                     B: array [dush .. yaksh] of array [boolean] of -20..20; 
      
Ikkinchi usulda,  turlarni tavsiflash bo’limida  aniqlanadigan regulyar turga  nom beriladi,  
o’zgaruvchilarni tavsiflashda esa faqatgina shu turning nomi ko’rsatiladi: 
                type 
                   matrisa = array [1..10] of array [1..20 of real; 
                   yangitur = array [dush..yaksh] of array [boolean] of -20..20; 
               var   A,B: matrisa; C: yangitur; 
      
Paskal tilida regulyar turlarni yozishni qisqartirilgan ko’rinishi ham qo’llaniladi: 
array [{,}] of 
Masalan: 
                 type 
                    matrisa = array [1..10,1..20] of real; 
                    A = [1..20, 1..20] of integer; 
      
Bu yerda matrisa [i,j] - matrisa elementlari;  ielementlarning satrlar bo’yicha turgan 
o’rnini  aniqlaydi  va  1..10   oraliqdagi  qiymatni  qabul    qiladi;    j-    esa    elementlarning  ustunlar 
buyicha turgan o’rnini aniqlab, 1..20 oraliqdagi qiymatlarni qabul qiladi. 
      
Shu  narsani    eslatish    lozimki,    indekslar    bitta  va  bir  xil  turga  mansub  bo’lishi  shart 
emas.  
 
Misol. Ikki o’lchovli A(6,6) massiv  elementlari  yig’indisini hisoblash  dasturini tuzing
                program  summas; 
                     var A:array[1.. 6,1.. 6] of real;   i,j : integer; S:real; 
                begin 
                       for i :=1 to  6 do 
                       for j :=1 to  6 do 
                       read(A[i,j]); readln; 
                       for i:=1 to  6 do 
                       for j :=1 to  6 do 
                        S := S + A[i,j] ; 
                        writeln('Yig’indi S=',S); 
                end. 
 
14- амалий машғулот 
Mavzu: Massivlarni tartiblash va saralash doir dastur tuzish. 
Reja: 
1. 
Massivlarni tartiblash va saralash doir dastur tuzish. 
2. 
Mustaqil topshiriqlar bajarish. 
 
Mashg’ulotning  maqsadi: 
1. 
Massivlarni tartiblash va saralash doir dastur tuzishni o’rganish. 
2. 
Massivlarni tartiblash va saralash doir dastur tuzish ko’nikmalarini shakllantirish. 
   
 
Dars o’tish usuli: Takrorlash, suhbat va savol-javob, mavzu mazmunidan kelib chiqib 
talabalarga mustaqil topshiriqlar berish va ularni tasavvurini bilish. 

 
215
 
Dars o’tish vositalari:  Doska,o’uv va uslubiy qo’llanma, topshiriqlar majmuasi. 
 
Dars mazmuni: 
 
Darsning xronologik xaritasi – 80 minut. 
1. 
Tashkiliy qism – 2 minut 
2. 
Talabalar bilimi darajasini aniqlash – 10 minut 
3. 
Yangi mavzu o’tish (komputerda mustaqil topshiriq) – 50 minut 
4. 
Yangi mavzu ni o’zlashtish darajasini aniqlash- 10 minut. 
5. 
Sinov savollari – 5 minut. 
6. 
Uyga vazifa – 3 minut 
 
1- vazifa 
1) 
20
2
1
,...,
,
x
x
x
  massivning  musbat  elementlari  yig‘indisini  hisoblash  algoritmi  va 
dasturini tuzing. 
 
 Masalani yechish dasturi. 
  
Program massiv; 
type n=1..20; 
  
 
var X:array [n] of real; i:integer; S:real; 
begin S:=0; 
 for i:=1 to 20 do read(X[i]); 
 if X[i]>= 0 then S:=S+X[i];  
 writeln(‘S=’,S); 
 end. 
 
2 - vazifa 
2)  Ikkita  A(2,3)  va  B(3,3)  matritsalar  ko‘paytmasini  hisoblash  algoritmi  va  dasturini 
tuzing. Bu ko‘paytma quyidagi formula bilan hisoblanadi: 





m
k
k
ik
ij
p
j
n
i
b
a
C
ij
1
.
......
2
,
1
,
.......
2
,
1
*
 
 Masalani yechish dasturi. 
Program matritsa; 
type mat=array[1..2,1..3] of real; mat2=array[1..3,1..3] of real; 
  
var A,C: mat; B: mat2; I,j, k : integer; 
 begin for I; = 1 to 2 do 
for j:=1 to 3 do read (A [i,j]); readin; 
  
for i:=1 to 3 do for j:=1 to 3 do read (B [i,j]); 
  
for j:=1 to 2 do for j:= 1 to 3 do 
 begin C [i,j]:=0; for k:=1 to 3 do  
  
C [i,j]:=C [i,j] + A [i,k]*B [k,j]; end 
  
for I;=1 to 2 do 
  
begin writeln; for i: = 1 to 3 do write (C[i,j]); end;   
 end. 
 
12,13,14-amaliy mashg;ulotlat uchun mustaqil topshiriqlar 
Massiv elementlari bilan ishlashga doir masalalar. 
 
1. A(n) massiv berilgan. Uning elementlarining eng kattasi va  eng kichigini topish 
algoritmi va dasturini tuzing 
 
2. A(n) massiv berilgan. Massiv elementlarini o‘sib borish tartibida joy-lashtirish 
algoritmi va dasturini tuzing. 
 
3. A(n) massiv berilgan. Uning elementlarining eng kattasini 1-soni bilan, eng kichigini 
esa -1 soni bilan almashtirish algoritmi va dasturini tuzing. 

 
216
 
4. A(n) massiv berilgan. Uning elementlarining eng kattasi va  eng kichigini hamda  
ularning o’rnini aniqlash algoritmi va dasturini tuzing. 
 
5. A(n) massiv berilgan. Uning manfiy, musbat va nol elementlari sonini aniqlash 
algoritmi va dasturini tuzing. 
 
6. . x
1
, x
2
, …,x
55
 massiv berilgan: x
1
(x
2
+x
3
)  (x
4
+x
5
+x
6
) … (x
46
+x
47
+…,x
55
) ni hisoblash 
algoritmi va dasturini tuzing. 
 
7. x
1
, x
2
, …,x
n
 massiv berilgan. Uning toq elementlaridan U, juft element-laridan Z 
massiv hosil qilish algoritmi va dasturini tuzing. 
 
8. A(n) massiv berilgan. Uning birinchi va oxirgi elementlari o’rnini almashtirish  
algoritmi va dasturini tuzing. 
 
9. A(n) massiv berilgan. Uning manfiy elementlarining eng kattasini aniqlash algoritmi 
va dasturini tuzing. 
 
10. A(n) massiv berilgan. Uning juft nomerdagi elementlari yig’indisi va toq nomerdagi 
elementlari ko’paytmasini hisoblash algoritmi va dasturini tuzing. 
 
11. A(N,N) massivning barcha musbat elementlari yig’indisi va manfiy elementlari 
ko’paytmasini hisoblash algoritmi va dasturini tuzing. 
 
12. A(N,N) massivning barcha musbat, manfiy va nol elementlari sonini aniqlash 
algoritmi va dasturini tuzing. 
 
13. A(N,N) massivning bosh diagonali elementlari yig’indisi va manfiy elementlari 
ko’paytmasini hisoblash algoritmi va dasturini tuzing. 
 
14. A(N, N) massivning bosh diagonalining eng katta elementi va u turgan ustunni 
aniqlash algoritmi va dasturini tuzing. 
 
15. A(N,M) massiv har bir ustuni elementlari yig‘indisini, so‘ngra har bir satri 
elementlari ko‘paytmasini topish algoritmi va dasturini tuzing. 
 
16. A(N,M) massivning  har bir satrining eng katta elementini toping va ularning indeks 
tartib raqamini aniqlash algoritmi va dasturini tuzing. 
 
17. A(N,M) massiv har bir satr elementlari yig‘indisini hisoblash va ulardan eng kattasi 
va eng kichigini topish algoritmi va dasturini tuzing. 
 
18. A(3,3) massiv berilgan. Uning birinchi va uchinchi ustun elementlarini  3 ga 
ko‘paytirib yangi massiv hosil qilish algoritmi va dasturini tuzing. 
 
19. A(N,N) massivning eng kichik elementi joylashgan satr va ustun elementlarini 
o’chirish algoritmi va dasturini tuzing. 
 
20. A(3,3) massiv berilgan. Uning satr va ustun elementlarini kvadratga ko‘tarib yangi 
massiv hosil qilish algoritmi va dasturini tuzing. 
 
15- амалий машғулот 
Mavzu: Qism dasturdan foydalanib dastur tuzish. 
Reja: 
1. 
Procedure ga doir dastur tuzish. 
2. 
Mustaqil topshiriqlar bajarish. 
 
Mashg’ulotning  maqsadi: 
1. 
Procrdurega doir  dastur tuzishni o’rganish. 
2. 
Procrdurega doir  dastur tuzishni o’rganish ko’nikmalarini shakllantirish.   
 
Dars o’tish usuli: Takrorlash, suhbat va savol-javob, mavzu mazmunidan kelib chiqib 
talabalarga mustaqil topshiriqlar berish va ularni tasavvurini bilish. 
 
Dars o’tish vositalari:  Doska,o’uv va uslubiy qo’llanma, topshiriqlar majmuasi. 
 
Dars mazmuni: 
 
Darsning xronologik xaritasi – 80 minut. 
1. 
Tashkiliy qism – 2 minut 
2. 
Talabalar bilimi darajasini aniqlash – 10 minut 
3. 
Yangi mavzu o’tish (komputerda mustaqil topshiriq) – 50 minut 

 
217
4. 
Yangi mavzu ni o’zlashtish darajasini aniqlash- 10 minut. 
5. 
Sinov savollari – 5 minut. 
6. 
Uyga vazifa – 3 minut 
Paskal tilida qism dastur.  
 
Dasturlash jarayonida shunday holatlar mavjud bo‘ladiki, bunda hisoblash jarayonining 
ayrim bo‘laklarini parametrlarining turli qiymatlari uchun takror-takror bajarishda to’g’ri 
keladi. Bunday hollarda har bir bo’lak uchun alohida dastur, ya’ni qism dastur tuzib kerak 
bo’ganda unga murojat qilish ishni ancha engillashtiradi. 
Paskal tilida qism dasturining ikki xil ko‘rinishi qo‘llaniladi: funksiya (function) va prosedura 
(procedure). Har qanday dasturda bir necha prosedura va funksiyalar bo‘lishi mumkin. 
Prosedura va funksiya tavsiflash bo‘limida o‘zgaruvchilaridan keyin beriladi. 
Procedura (procedure) yordamida dastur tuzish. 
Prosedura quyidagi ko‘rinishda beriladi:  
        procedure nom ();  
                   ;  
begin 
              
end; 
Masalan: a) procedure sutta (A,B,C: integer; var s: real); 
    b) procedure FAK (n: integer; var F: real); 
Proseduralarni bajarish uchun dasturning kerakli joyida murojaat qilish kerak bo‘ladi. 
Proseduraga murojaat qilinganda formal parametrlar faktik parametrlar bilan almashadi. Bu 
quyidagicha bo‘ladi: 

 (): 

Masalan:  
a) Summa (5, m, 7, S1);    b) FAK (20, F1); 
Agar prosedura parametrsiz bo‘lsa, u holda ularga murojaat bo‘lganda faqat prosedura nomi 
ko‘rsatiladi.   Masalan:   a) Summa;     b) FAK ;        c) Step; 
 
Misol.  n  natural  ko’rsatkichli  y=x  darajani  hisoblash  dasturini  procedura  ko’rinishida 
ifodalang. 
Prasedure daraja(n:integer;x:real;var y:real); 
                   var 
                      i : integer; 
              begin 
                     y := 1; 
                    for i := 1 to N do  y := y*x; 
              end. 
 
 
Misol. Prosedura (procedure) dan foydalanib hisoblash dasturini tuzing. 
 
)!
1
*
2
(
)!
2
(
)!
1
(
)!
1
*
2
(
)!
(
2











m
n
n
m
n
n
m
n
S
 
 
 Masalani yechish dasturi (Paskal tilida) 
program ifoda; 
 var S, S1, S2, S3, S4, S5: real; m, n: integer; 
procedure FAK (L: integer; var p: real); 
 var I:integer; 
 begin p:=1; for i:=1 to L do p:=p*I; end; 
 begin readln (n,m); 
 
FAK (n+m,S1); FAK (n*n+2*n-1,S2); 

 
218
 
FAK (m+n-1, S3); FAK (2+n, S4); FAK (2*m-1,S5); 
 
S:= (S1+S2) / (S3+S4+S5); writeln (‘S=’,S); 
 end. 
 
16- амалий машғулот 
Mavzu: Qism dasturdan foydalanib dastur tuzish. 
Reja: 
3. 
Function ga doir dastur tuzish. 
4. 
Mustaqil topshiriqlar bajarish. 
 
Mashg’ulotning  maqsadi: 
3. 
Functionga doir  dastur tuzishni o’rganish. 
4. 
Functionga doir  dastur tuzishni o’rganish ko’nikmalarini shakllantirish.   
 
Download 1.92 Mb.

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




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