Matematik masalalarni vizuallashtirish. Silindr masalasi.















![Dastur kodi:
Procedure Mul(Const A: TLong;Const К : LongInt;Var
С : TLong);
Var i: Integer;{*Natija - C o’zgaruvchisi qiymati.*}
Begin
FillChar(C, SizeOf(C), 0);
If K=0 Then Inc(C[0]){*Nolga ko’paytirish*}
Else Begin
For i:=1 To A[0] Do Begin
C[i+1]:=(LongInt (A[i] )*K+C[i] ) DivOsn;
С [i]:=(LongInt(A[i])*K+C[i]) Mod Osn;
End;
If C[A[0]+1]>0 Then C[0]:=A[0]+1
Else С [0]:=A[0];{*Natija uzunligini aniqlaymiz .*}
End;
End;
Ikki sonni ko’paytirish prosedurasi, mumkin bo’lgan variant teksti
quyidagicha:
Procedure MulLong(Const А , В : TLong; Var С : TLong);
{*”Uzun soni “uzun” songa ko’paytirish .*}
Var i, j : Word;
dv: Longlnt;
16](/data/documents/116b57af-84a0-43f7-b050-59ec52b6d4cc/page_16.png)
![Begin
FillChar(Cr SizeOf(C), 0) ;
For i:=1 To A[0] Do
For j : = 1 То B[0] Do Begin
dv:=LongInt (A[i])*B[j]+C[i+j-1];
Inc (C[i+j], dv Div Osn);
C[i+j-1] :=dv Mod Osn;
End;
C[0] :=A[0]+B[0] ;
While (C[0]>1) And (C[C[0]]=0) Do Dec(C[0]);
End;
Ko’paytirish. Ko’paytirish qo’shish va ayirishga qaraganda yanada
murakkab amaldek tuyiladi. Rimliklardek rivojlangan sivilizatsiya rim sonlar
binolarning burchaklari va super kublarda yarmani bajaradigan bo’lsalar ham,
ko’paytirish amali bilan muammoga ega bo’lgan.
Rimliklar muamosi shu bo’lganki ular hisoblash sistemalarining asosini
ishlatmaganlar. Albatta biz ko’paytirishni ko’p martali qo’shishdek ko’rib chiqib,
masalani yechsak bo’ladi, lekin jarayon juda sekin bo’ladi.
999 999 ni kvadratga ko’tarish milliongacha operatsiyalarni talab qiladi,
lekin buni qo’l bilan qildanda juda oson, bunda ustma ust ko’paytirish metodi
qo’llaniladi, biz uni maktablik davridan bilamiz.
multiply_bignum(bignum * а , bignum *b)
{
bignum row; /*siljigan qator */
17](/data/documents/116b57af-84a0-43f7-b050-59ec52b6d4cc/page_17.png)
![bignum tmp; /*soni to’ldirish */
int i/j; /*schotchiklar */
initialize_bignum(c);
row = *a;
for (i=0; i<=b->lastdigit; i++) {
for (j=l; j<=b->digits[i];
add_bignum(c,&row,&tmp);
*c = tmp;
}
digit_shift(&row,l);
c->signbit = a->signbit * b->signbit;
zero_justify(c);
procedure mul(var nl. n2. n3 : number);
var
il. i2, i3. lenl. len2. carry : integer;
begin
lenl := len(nl):
len2 := len(n2):
setO(n3):
for il := 1 to lenl do begin
for i2 := 1 to len2 do begin
carry := пГ[И] * n2[i2]:
18](/data/documents/116b57af-84a0-43f7-b050-59ec52b6d4cc/page_18.png)
![i3 := il + i2 - 1;
while carry > 0 do begin
carry := carry + n3[i3];
n3[i3] := carry mod 10;
carry := carry div 10;
inc(i3);
end;
end;
end;
end;
Har bir razryadni bir biriga ko’paytiramiz va mos natija joyiga qo’shmiz.
Uzun sonlarni ko’paytirishda butkul voz kechib faqatgina qo’shishdan
foydalansak bo’ladi.
nl va n2 sonlarni ko’paytirish talab qilinsin.nlx ko’rinishidagi massivni
to’ldiramiz
nlx : array [0..9. 1..2502] of byte;
nlx[i] i ga ko’paytirilgan nl raqamni saqlaydi. Uni nlx[0]=0,
nlx[i]=nlx[i-1]+ nl formula bo’yicha topish mumkin.
Ikkita uzun sonni ko’paytmasi endi nlx[n2[i]] yig’indisida yotadi. O’nliklar
darajasida ko’paytirish, sonni mos razryadga siljitish orqali qilinadi.
Algoritmlarni solishtirish.
3 variatning afzalligi tezligi. U 1 variantdan 1,5 marta tezroq ishlaydi.
19](/data/documents/116b57af-84a0-43f7-b050-59ec52b6d4cc/page_19.png)
![3 variant qanchiligi 10 lik sanoq sistemasidan tashqari boshqa 10N(N=
2,4,9) hisoblash sistemalarda olib borish imkoniyatining yo’qligi, ayni avqda esa, 1
– variant bemallol bu sanoq sistelarga o’ta oladi va bazilarida 0,5 o’nlik matra
tezlik oshilishini ko’tish mumkin.
Qisqa songa ko’paytirish.
procedure mulShort(var n : number; short : integer);
var
i, carry : integer;
begin
carry : = 0;
for i : = 1 to numlen do begin
carry := carry + n[i] * short;
n[i] := carry mod 10;
carry := carry div 10;
end;
if carry <> 0 then {to’lilib qolish diagnostikasi
halt(l);
end;
Uzun sonlarni ko’paytirish.
procedure mul(nl. n2 : number; var n3 : number):
var
il. i2. i3. lenl. len2. саггу : integer;
begin
20](/data/documents/116b57af-84a0-43f7-b050-59ec52b6d4cc/page_20.png)
![setO(n3);
lenl := len(nl);
len2 := len(n2);
for il := 1 to lenl do
for i2 := 1 to len2 do begin
i3 := il + i2 - 1;
саггу := nl[il] * n2[i2];
while саггу > 0 do begin
саггу := саггу + n3[i3]:
n3[i3] := саггу mod 10;
саггу := саггу div 10;
inc(i3);
end;
end;
end;
Prosedurani ko’rsatish vaqti keldi. Ishlatilayotgan “blokchlar”: siljishni
inobatga olgan holda solishtirish funksiyasi ( More ) va uzun sonni qisqasiga
ko’paytish ( Mul ) funksiyasi yuqorida keltirilgan.
Function FindBin(Var Ost : Tlong; Const В : TLong; Const sp : Integer) :
Longint;
Var Down, Up : Word; C : TLong;
Begin
Down := 0;Up := 0sn;
{sanoq sistemasi asosi }
While Up - l > Down Do
21](/data/documents/116b57af-84a0-43f7-b050-59ec52b6d4cc/page_21.png)


![Label3: TLabel;
GroupBox1: TGroupBox;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
RadioButton3: TRadioButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end ;
Const NMax = 2000 ;
Type Digit = 0. . 9 ; DlChislo = Array [ 1. .Nmax] Of Digit;
var
Form1: TForm1;
S : String ;
M, N, R, F : DlChislo;
I, MaxF : Word;
Logic : Boolean;
implementation
uses Unit2, Unit3;
{$R *.dfm}
{uzun sonni nolga yalantirish protsedurasi, massivni bo'shatish.}
Procedure Zero( Var A : DlChislo);
24](/data/documents/116b57af-84a0-43f7-b050-59ec52b6d4cc/page_24.png)
![Var I : Integer;
Begin
For I := 1 To NMax Do A[I] := 0 ;
End ;
{uzun sonni yozishda uning raqamlar sonini aniqlaydigan funksiya}
Function Dlina(C : DlChislo) : Integer;
Var I : Integer;
Begin
I := NMax;
While (I > 1 ) And (C[I] = 0 ) Do I := I - 1 ;
Dlina := I
End ;
17.
18. {Uzun soni chop etish protsedurasi}
Procedure Print(A : DlChislo);
Var I : Integer;
Begin
For I := Dlina(A) DownTo 1 Do Write (A[I] : 1 );
WriteLn
End ;
{Uzun sonni massivga aylantiruvchi protsedura}
Procedure Translate(S : String ; Var A : DlChislo; Var OK : Boolean);
Var I : Word;
Begin
Zero(A); I := Length(S); OK := True;
While (I >= 1 ) And OK Do
25](/data/documents/116b57af-84a0-43f7-b050-59ec52b6d4cc/page_25.png)
![Begin
If S[I] In [ '0' .. '9' ]
Then A[Length(S) - I+ 1 ] := Ord(S[I]) - 48
Else OK := False;
I := I - 1
End
End ;
Procedure Multiplication(A, B : DlChislo; Var C : DlChislo);
Var I, J : Integer; P : Digit; VspRez : 0. . 99 ;
Begin
Zero(C);
For I := 1 To Dlina(A) Do
Begin P := 0 ;
For J := 1 To Dlina(B) Do
Begin
VspRez := A[I] * B[J] + P + C[I + J - 1 ];
C[I + J - 1 ] := VspRez Mod 10 ;
P := VspRez Div 10
End ;
C[I + J] := P
End
End ;
19. procedure TForm1.Button1Click(Sender: TObject);
var
s1: string ;
begin
if RadioButton1.Checked then
begin {Radiobutton1}
26](/data/documents/116b57af-84a0-43f7-b050-59ec52b6d4cc/page_26.png)
![S:=Memo1.Text;
Translate(S, M, Logic);
S:=Memo2.Text;
Translate(S, N, Logic);
Multiplication(M, N, R);
For I := Dlina(R) DownTo 1 Do
s1:=s1+IntToStr(r[i]);
Form1.memo3.lines.add(s1);
end ; {Radiobutton1}
if RadioButton2.Checked then
begin {Radiobutton2}
S:=Memo1.Text; Translate(S, M, Logic);
S:=Memo2.Text; Translate(S, N, Logic);
Multiplication(M, N, R);
For I := Dlina(R) DownTo 1 Do
s1:=s1+IntToStr(r[i]);
Form1.memo3.lines.add(s1);
end ; {Radiobutton2}
if RadioButton3.Checked then
begin {Radiobutton3}
Form2.Show;
Form1.Hide;
Form2.Memo1.Text:=Memo1.Text;
Form2.Memo2.Text:=Memo2.Text;
end {Radiobutton3}
end ;
procedure TForm1.Button2Click(Sender: TObject);
begin
Close();
27](/data/documents/116b57af-84a0-43f7-b050-59ec52b6d4cc/page_27.png)









Mavzu: Matematik masalalarni vizuallashtirish. Silindr masalasi . Reja: I. Kirish. I.1. Axborot texnologiyalarning ta’limdagi o’rni. I.2. Vizullashtirish istiqbollari. II. Nazariy qism. II.1. Matematik masalalarni dasturlsh tillari yordamida yechish bosqichlari. II.2. Matematik masalalarni vizuallashtirish. II.3. Geometrik masalalar va ularning yechimlari. III. Amaliy qism. IV. Xulosa. V. Foydalanilgan adabiyotlar. 1
Kirish Bugungi kunda mamlakatimizda ta’lim tizimini isloh qilish, uning mazmunini yangilash, o’qituvchining kasbiy bilim va tayyorgarligini oshirish, o’quvchilarning shaxsiy tajribalarini boyitish, ularni ijtimoiy hayotga tayyorlash sohasida keng ko’lamli izlanishlar amalga oshirilmoqda. Ushbu sohadagi kamchiliklarni bartaraf etish yo’llari izlanmoqda. Bularning barchasi zamonaviy maktab ta’limining umumiy yo’nalishini belgilash, dunyo miqyosida uning rivojlanishiga ta’sir ko’rsatadigan omillarga keng yo’l ochish imkonini beradi. Buning uchun, avvalo, uzliksiz ta’lim tizimining barcha shakldagi ta’lim muassalarida ta’lim jarayoni sifatida ta’minlovchi ilg‘or ilmiy-metodik jihatdan asoslangan zamonaviy o’qitish texnologiyalarni amalda oshirish lozim. Insoniyat tarixining ko‘p asrlik tajribasi ezgu go‘yalardan va sog‘lom mafkura hamda zamonaviy bilimlardan maxrum har qanday jamiyat uzoqqa bora olmasligini ko‘rsatdi. Shuning uchun, mustaqillikka erishgan mamlakatimiz o‘z oldiga ozod va obod vatan, demokratik jamiyat barpo qilish, erkin va farovon hayot qurish, rivojlangan mamlakatlar qatoridan o‘rin olish kabi muhim vazifalarni qo‘ydi. Bu vazifalarni hal qilish asosan yosh avlod zimmasiga tushadi. Demak, yoshlardan zamonaviy komputerlar bilan ishlashni o‘rganish, xalq xo‘jaliginining turli masalalarini yechishga mo‘ljallangan dasturiy ta’minot bilan tanishish hamda dasturlash vositalari yordamida hali komputerda yechilmagan masalalar uchun yangi dasturlar yaratishni talab qilinadi. Darvoqi, har bir jamiyatning bugungi kuni va kelajagi uning ajralmas qismi va hayotiy zarurati bo‘lgan ta’lim tizimining qay darajada rivojlanganligi bilan belgilanadi. Bugungi kunda mustaqil taraqqiyot yo‘lidan borayotgan mamlakatimizning uzluksiz ta’lim tizimini isloh qilish va takomillashtirish, yangi sifat bosqichiga ko‘tarish, unga ilg‘or pedagogik va axborot texnologiyalarini joriy qilish hamda samaradorligini oshirish davlat siyosati darajasiga ko‘tarildi. “Ta’lim to‘g‘risida”gi qonun va “Kadrlar tayyorlash milliy dasturi”ning qabul qilinishi bilan uzluksiz ta’lim tizimi orqali zamonaviy kadrlar tayyorlashning 2
asosi yaratildi. Oliy o’quv yurtlarida talabalarni mustaqil bilim olish faoliyatini tashkil etishga, bilimlarni mustaqil egallashga va ularni amaliyotda 4 qo’llash malakalarini shakllantirishga qaratish o’qitishning metodlari, texnologiyalarini shunday tanlash lozimligini ko’rsatdiki, ular talabalarga nafaqat tayyor bilimlarni o’zlashtirishlarida, balki bilimlarni turli manbalardan mustaqil egallashlari, o’zlarida shaxsiy nuqtai nazarning shakllanishi, uni asoslashi va erishilgan bilimlarni yangi bilimlar olishlarida foydalanish malakalariga ega bo’lishlarini taqoza etadi. Bunday ulkan vazifani muvaffaqiyatli amalga oshirishda o’qituvchi va talabalarga davlat tilida kerakli o’quv adabiyotlarini yetkazish alohida ahamiyatga ega. Ushbu kurs ish dasturlash tillari asosida matematik masalalarni yechish bo’yicha matematika va mexanika ta’lim yo’nalishlarida bilim olayotgan o’quvchilar uchun mo’ljallangan bo’lib, uning asosiy maqsadi algoritmlash va dasturlash tillari asosida matematik masalalarni yechish imkoniyatlaridan xabardor qilib, kompyuter bilan muloqot o’rnatish usullarini o’rgatish va unda turli masalalarni yecha olish bilim va malakalarini shakllantirishdan iboratdir. Ko'pgina tadqiqotlar shuni ko'rsatadiki, vizual tizimda yangi tasvirning tug'ilishini ta'minlaydigan mexanizmlar mavjud. Ularning yordami bilan, inson dunyoni nafaqat mavjudligini, balki mavjud bo'lgan (yoki bo'lishi mumkin) holatida ham ko'rishga qodir. Bu shuni anglatadiki, vizual tasvirlar zaruriy shart, hatto undan ham ko'proq - aqliy faoliyat vositasi. Ular ramzlar va nutq bilan, odamni o'rab turgan ob'ektiv haqiqat bilan taqqoslaganda to'g'ridan-to'g'ri bog'liqdir. Tasvir nafaqat tafakkur, balki haqiqatning dam olishidir. U, bu haqiqat, ob'ekt haqiqatan ham mavjud bo'lgan shaklda (yoki unga yaqin) yaratilishi mumkin. Ammo ob'ektni, vaziyatni yo'q qilish va uning yangi versiyasi yoki variantlarini qayta tiklash ham mumkin. Haqiqat bilan taqqoslaganda o'zgartirilgan ushbu obraz asosida inson yana ob'ektiv haqiqatga murojaat qiladi va uni o'zida qayta tiklaydi amaliy faoliyat ... uning obrazli vakili, tasavvur va tafakkurini rivojlantirmasdan ijodiy fikrlaydigan mutaxassisni tayyorlash mumkin emas. 3
Ushbu masalada sezilarli foyda proektsion sxemalarning universal apparati tomonidan ta'minlanadi. Mekansal tasavvurlarni shakllantirish uchun ishlatiladigan eng muhim proektsion modellashtirish vositalaridan biri bu geometrik talqin. Tafsir ob'ekti - bu chizmalar, diagrammalar, matnlar, diagrammalar va boshqalar kombinatsiyasi ko'rinishidagi grafik modellar, grafik modellar ma'lumotlarning grafik taqdimoti vositalari to'plami ko'rinishida: grafik modellarni tuzish qoidalariga muvofiq foydalaniladigan chiziqlar, belgilar, mnemonik belgilar. Axborotni ushbu shaklda idrok etishda, matnni idrok etishdan kattaroq o'lchovli ish maydonini kiritish kerak. Axborot ob'ektini uning modeli bilan taqqoslaganda aniqlik darajasi simulyatsiya paytida sodir bo'lgan proektsiyalash apparati haqidagi ma'lumotlarning to'liqligiga bog'liq. grafik modellarning mumkin bo'lgan tasniflaridan biri ko'rsatilgan. Piktografik model - ob'ektlar, harakatlar yoki hodisalarni aks ettiruvchi shartli grafik tasvirlar (piktogrammalar) yordamida tuzilgan grafik model. Ideografik model - ideogrammalar yordamida tuzilgan grafik model - tushunchalarni bildiruvchi an'anaviy yozma belgilar. 4
Matematik masalalarni dasturlsh tillari yordamida yechish bosqichlari Har qanday masalani kompyuterga tayyorlash va uni o’tkazish quyidagi bosqichlarda amalga oshiriladi. 1. Masalani qo’yilishini aniqlash va matematik modelini ishlab chiqish. 2. Masalani yechishning sonli usulini tanlash. 3. Masalani yechish algoritmini ishlab chiqish. 4. Kompyuter uchun dastur tuzish. 5. Dasturni kompyuter xotirasiga kiritish, rostlash va tekshirish. 6. Hisoblash natijalarini qayta ishlash va tahlil qilish. 1. Masalaning qo’yilishini aniqlash va matematik modelini ishlab chiqish. Masalani yechishdan oldin uning qo’yilshi oydinlashtiriladi, ya’ni bunda uning maqsadi va yechilish shartlari aniqlanadi, boshlang’ich ma’lumotlar va natijalarning tarkibi asoslanadi. Bu ma’lumotlar asosida u matematik formulalar ko’rinishida ifoda qilinadi. 2. Masalani yechishning sonli usulini tanlash. Qo’yilgan matematik masalalar uchun ularning sonli yechish usulini tanlash kerak bo’ladi. Sonli usullar turli- tuman bo’lganligidan ularning eng samarali va qulayini tanlash kerak. Bu masala bilan matematikaning sonli usullar bo’limi shug’ullanadi. Yechish usulini tanlash masalaga qo’yilgan barcha talablarni va uni konkret kompyuterlarda hal qilish imkoniyatlarini hisobga olish kerak. 3. Masalani yechish algoritmini ishlab chiqish. Masalani yechish uchun tanlangan sonli usulning algoritmi ishlab chiqiladi, ya’ni masalani yechish uchun bajariladigan arifmetik va mantiqiy amallar ketma-ketligi yoritiladi. Masalani yechish algoritmlari ko’rgazmaliroq bo’lishi uchun, ular ko’p hollarda blok- sxema ko’rinishida ifodalanadi. 5