Alisher navoiy nomidagi samarqand davlat universiteti axborotlashtirish texnologiyalari
Download 1.92 Mb. Pdf ko'rish
|
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 [ Bu yerda komponenta tur emas, regulyar bo’lganligi uchun u quyidagicha ko’rinishda bo’ladi: 214 array[ 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 [ Masalan: type matrisa = array [1..10,1..20] of real; A = [1..20, 1..20] of integer; Bu yerda matrisa [i,j] - matrisa elementlari; i- elementlarning 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: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling