Ob’yekt
|
Xossa
|
O‘rnatilgan qiymatlari
|
Form1
|
Caption
|
Maksimal va minimal qiymatlarini aniqlash
|
Label1
|
Caption
|
A ni kiriting
|
Label2
|
Caption
|
B ni kiriting
|
Label3
|
Caption
|
C ni kiriting
|
Label4
|
Caption
|
D ni kiriting
|
Label5
|
Caption
|
MAKSIMUM
|
Label6
|
Caption
|
MINIMUM
|
Command1
|
Caption
|
Hisoblash
|
Command2
|
Caption
|
Tugatish
|
Text1, Text2
Text3, Text4
Text5, Text6
|
Text
|
Text xossasi maydonini tozalash
|
11.22-rasm
Blok-sxemasi
Dastur kodi
Option Explicit
Private Sub Command1_Click()
Dim A, B, C, D As Single
Dim R1, R2 As Single
Dim MAX, MIN As Single
A = Val(Text1.Text)
B = Val(Text2.Text)
C = Val(Text3.Text)
D = Val(Text4.Text)
If A > B Then
R1 = A
Else
R1 = B
End If
If C > D Then
R2 = C
Else
R2 = D
End If
If R1 > R2 Then
MAX = R1
Else
MAX = R2
End If
If A < B Then
R1 = A
Else
R1 = B
End If
If C < D Then
R2 = C
Else
R2 = D
End If
If R1 < R2 Then
MIN = R1
Else
MIN = R2
End If
Text5.Text = Str(MAX)
Text6.Text = Str(MIN)
End Sub
Private Sub Command2_Click()
End
End Sub
11.23-rasm
11.24-rasm
11-misol: Tarmoqlanuvchi dastur
Cho‘kayatgan kemadan seyfni chiqarib olish masalasi. Agar illyuminator R radiusli doira shakliga, seyf AxBxC o‘lchamdagi to‘g‘riburchakli parallelopiped shakliga ega bo‘lsa, seyfni chiqarib olish mumkinmi yoki yo‘g‘mi, shuni tekshirishni dasturlash.
Seyfni chiqarib olish mumkin, agar uning eng kichik yoqining diagonali illyuminator diametridan kichik bo‘lsa. Shu bois parallelopipedning yoqlari mos ravishda AxB, AxC va BxC bo‘lsa, ularning ichidan diagonali illyuminator diametridan kichik bo‘lgan minimal juftligini aniqlash yetarli. Buning uchun parallelopipedning yoqlari o‘sish tartibida joylashtiriladi.
Algoritm
R, A, B, C larni kiritish.
A qiymati A,B,C qiymatlari ichidagi minimali ekanligini tekshirish.
Agar minimal bo‘lsa, B ning C dan kichikligini tekshirish.
Agar kichik bo‘lsa, A,B,C ketme-ketligini aniqlash.
Agar yo‘q bo‘lsa, A,C,B ketme-ketligini aniqlash.
Agar yo‘q bo‘lsa, B ning A,B,C qiymatlari ichida minimalligini tekshirish
Agar minimal bo‘lsa, A ning C dan kichikligini tekshirish.
Agar kichik bo‘lsa, B, A, C ketme-ketligini aniqlash.
Agar yo‘q bo‘lsa, B,C,A ketme-ketligini aniqlash.
Agar yo‘q bo‘lsa, A ning B dan kichikligini tekshirish.
Agar kichik bo‘lsa, C, A, B ketme-ketligini aniqlash.
Agar yo‘q bo‘lsa, C,B,A ketme-ketligini aniqlash.
Parallelopipedning kichik diagonali illyuminatorning diametridan kichikligini tekshirish.
Agar kichik bo‘lsa, “Seyfni chiqarish mumkin” degan xabarni ko‘rsatish.
Agar yo‘q bo‘lsa, “Seyf illyuminatordan chiqmaydi” degan xabarni ko‘rsatish.
11.25-rasm
Ob‘yekt
|
Xossa
|
O‘rnatilgan qiymatlari
|
Form1
|
Caption
|
Seyfni chiqarib tashlash
|
Label1
|
Caption
|
Illyuminatorning radiyusini kiritingiz
|
Label2
|
Caption
|
Seyf uzunligini kiritingiz (А yo‘qi)
|
Label3
|
Caption
|
Seyf kengligini kiritingiz (B yo‘qi)
|
Label4
|
Caption
|
Seyf balandligini kiritingiz (C yo‘qi)
|
Label5
|
Caption
|
Caption xossasi maydonini tozalash
|
Command1
|
Caption
|
Tekshirish
|
Command2
|
Caption
|
Tugatish
|
Text1, Text2
Text3, Text4
|
Caption
|
Text xossasi maydonini tozalash
|
11.26-rasm
Blok-sxemasi
Dasturning kodi
Option Explicit
Private Sub Command1_Click()
Dim R, A, B, C As Single
Dim X1, X2, X3, D As Single
Dim S As String
R = Text1.Text
A = Text2.Text
B = Text3.Text
C = Text4.Text
If (A < B) And (A < C) Then
If B < C Then
X1 = A
X2 = B
X3 = C
Else
X1 = A
X2 = C
X3 = B
End If
ElseIf (B < A) And (B < C) Then
If A < C Then
X1 = B
X2 = A
X3 = C
Else
X1 = B
X2 = C
X3 = A
End If
Else
If A < B Then
X1 = C
X2 = A
X3 = B
Else
X1 = C
X2 = B
X3 = A
End If
End If
D = Sqr(X1 * X1 + X2 * X2)
If D > 2 * R Then
S = ""
Else
S = ""
End If
Label5.Caption = S
End Sub
Private Sub Command2_Click()
End
End Sub
12-misol: Gototuzilmasini ishlatish
Butun son kiritish. Uning juftligini tekshirish. Agar son juft bo‘lsa, “Juft son” jumlasini chiqarish, agar son toq bo‘lsa, “Toq son” jumlasini chiqarish.
11.27-rasm
|
Ob’yekt
|
Xossa
|
O‘rnatilgan qiymatlari
|
Form1
|
Caption
|
Shartsiz o‘tish operatori
|
Label1
|
Caption
|
Butun son kiritingiz
|
Label2
|
Caption
|
Caption xossasi maydonini tozalash
|
Command1
|
Caption
|
Tekshirish
|
Command2
|
Caption
|
Tugatish
|
Text1
|
Text
|
Text xossasi maydonini tozalash
|
Shartsiz o‘tish operatori
B
Butun son kiriting
Butun son kiriting
lok–sxema
Boshi
N ni kiritish
N Hа
juftmi?
Yo‘q
S = “ Son TOQ”
M S = “Son JUFT”
Dastur kodi
Option Explicit
Private Sub Command1_Click()
Dim N As Integer
N = Val(Text1.Text)
If (N Mod 2) = 0 Then GoTo Met1
Label2.Caption = "Toq son"
GoTo Met2
Met1: Label2.Caption = "Juft son"
Met2: End Sub
Private Sub Command2_Click()
End
End Sub
Butun son kiriting
Shartsiz o‘tish operatori
Juft son
11.28-rasm
11.7. Shartli Select Case operatori
Select Casetuzilmasi dasturda bir necha shartlarni tekshirishga imkon beradi If ...Then ... Else konstruktsiyasi blokiga mos bo‘ladi. Butuzilma tahlil qilinuvchi ifodalardan va har biri ushbu ifodaning qabul qiladigan qiymatlariga ega Case operatorlari majmuyidan tashkil topgan.
Struktura sintaksisi:
Select Case O‘zgaruvchi
CASE qiymat1
konstruktsiya1
CASE qiymat2
konstruktsiya2
. . .
CASE qiymatK
konstruktsiyaK
CASE Else
Alternativ konstruktsiya
End Select
Visual Basic ifodaning konstruktsiyasida berilgan qiymatlarni hisoblaydi. So‘ng olingan qiymat konstruktsiyadagi Case operatorlarida berilgan qiymatlari bilan solishtiriladi. Agar dastlabki qiymat topilsa, unda Case operatorida yozilgan buyruqlar bajariladi. Agar dastlabki qiymat topilmasa, unda alternativ Case Else operatorida (agar u ham bor bo‘lsa) yozilgan buyruqlar bajariladi. Konstruktsiya bajarilishi yakunlangandan so‘ng bosqarish End Select xizmatchi so‘zidan keyingi operatorga beriladi. Konstruktsiya boshida Select Case xizmatchi so‘zi joylashgan bo‘lib, undan keyin joylashgan “O‘zgaruvchi” parametri bir necha qiymatlarni tekshiradi. Davomi Case xizmatchi so‘zi bilan boshlangan buyruqlar guruhidan iborat. Agar “O‘zgaruvchi” parametri joriy Case operatorida ko‘rsatilgan qiymatga teng bo‘lsa, unda shu va keyingi Case xizmatchi so‘zlari orasidagi buyruqlar bajariladi.
13-misol: Select Case tuzilmasini ishlatish
Tasodif sonlar datchigi yordamida o‘yin zarlarini tashlashni dasturlash. Olingan natijalarni matn shaklida ko‘rsatish kerak.
Alogritmi
1 dan 6 gacha bo‘lgan R tasodif sonini olish
Agar R=1 bo‘lsa, S qator o‘zgaruvchisiga «BIR» matnni yozish kerak
Agar R=2 bo‘lsa, S qator o‘zgaruvchisiga «IKKI» matnni yozish kerak
Agar R=3 bo‘lsa, S qator o‘zgaruvchisiga «UCH» matnni yozish kerak
Agar R=4 bo‘lsa, S qator o‘zgaruvchisiga «TO‘RT» matnni yozish kerak
Agar R=5 bo‘lsa, S qator o‘zgaruvchisiga «BECH» matnni yozish kerak
Agar R=6 bo‘lsa, S qator o‘zgaruvchisiga «OLTI» matnni yozish kerak
S ni chiqarish
11.29-rasm
Ob’yekt
|
Xossa
|
O‘rnatilgan qiymatlari
|
Form1
|
Caption
|
Select Casetuzilmasi
|
Label1
|
Caption
|
1 dan 6 gacha bo‘lgan tasodif son
|
Label2
|
Caption
|
Sonli qiymati
|
Label3
|
Caption
|
So‘z bilan yoizilishi
|
Command1
|
Caption
|
Kubikni tashlash
|
Command2
|
Caption
|
Tugatish
|
Text1, Text2
|
Text
|
Text xossasi maydonini tozalash
|
Blok – sxema
Boshi
N tasofiy sonini aniqlash
N = 1 hа S = “BIR”
?
Yo‘q
N = 2 hа S = “IKKI”
?
Yo‘q
N = 3 hа S = “UCH”
?
Yo‘q
N = 4 hа S = “TO‘RT”
?
Yo‘q
N = 5 hа S = “BESH”
?
Yo‘q
S =”OLTI” S ni chiqarish
Oxiri
Dastur kodi
Option Explicit
Private Sub Command1_Click()
Dim R As Integer
Dim S As String
R = Int(6 * Rnd) + 1
Select Case R
Case 1
S = "BIR"
Case 2
S = "IKKI"
Case 3
S = "UCH"
Case 4
S = "TO‘RT"
Case 5
S = "BESH"
Case Else
S = "OLTI"
End Select
Text1.Text = Str(R)
Text2.Text = S
End Sub
Private Sub Command2_Click()
End
End Sub
Private Sub Form_Load()
Randomize
End Sub
Select Casetuzilmasida solishtirish amallarini ishlatish mumkin. Buning uchun Is yoki To xizmatchi so‘zini ifodaga qo‘shish kerak. Is xizmatchi so‘zi kompiliyatorga tekshirilayotgan o‘zgaruvchining qiymatini ifodaning qiymati bilan solishtirishga ko‘rsatmalar beradi. To xizmatchi so‘zi qiymatlar diapazonini beradi. Mayli yuqoridagi misolda tasodifiy sonlar 1 dan 10 gacha bo‘lgan intervaldan olinsin. Dastur kodini o‘zgartiringiz va Select Casetuzilmasining ishlashini nazorat qiling.
Qayta ishlangan dastur kodi:
Option Explicit
Private Sub Command1_Click()
Dim R As Integer
Dim S As String
R = Int(10 * Rnd) + 1
Select Case R
Case Is < 4
S = "KAM"
Case 4 To 6
S = "KO‘P"
Case Else
S = "BO’LISHI MUMKIN EMAS"
End Select
Text1.Text = Str(R)
Text2.Text = S
End Sub
Private Sub Command2_Click()
End
End Sub
Private Sub Form_Load()
Randomize
End Sub
11.8. Siklli tuzilmalar
Dasturlash tillarida takrorlanuvchi jarayonlarni bajarish uchun sikllituzilmalar ishlatiladi. Siklli tuzilmalarning uch xili mavjud:
Takrorlanishlar soni berilgan sikl (hisoblagichli sikllar)
Berilgan shart bajarilguncha bajariladigan sikl. Bunda shart sikl tanasi bajarilishidan oldin tekshiriladi (Yuqoridagi qator bilan boshqariladigan sikl)
Berilgan shart bajarilguncha bajariladigan sikl. Bunda shart sikl tanasi bajarilgandan so‘ng tekshiriladi (Pastdagi qator bilan boshqariladigan sikl)
Sikl tanasi bo‘yicha bir marta o‘tish “iteratsiya” deyiladi.
Takrorlanishlar soni berilgan sikl (hisoblagichli sikl) For … Next
For...Nexttuzilmasi buyruqlar ketma-ketligini bir necha marta bajaradi. Bunaqangi konstrusiyani sikl deb ataladi va u yordamida bajariladigan dastur kodilarini – sikl tanasi deb ataladi..
For.. .Nexttuzilmasining sintaksisi:
For Hisoblagich = Boshlang‘ich_qiymat То Oxirg‘i_qiymat Step Qadam
konstruktsiya
Next Hisoblagich
Strukturaning birinchi argumenti - Hisoblagich siklning bajarilishlari sonini hisoblaydigan o‘zgaruvchi nomini aniqlaydi. Boshlang‘ich_qiymat parametri siklga birinchi marta kirishdan oldin Hisoblagich ga o‘zlashtiriladigan boshlang‘ich sonli qiymat bo‘ladi. Sikl Hisoblagich ning qiymati To xizmatchi so‘zidan keyingi Oxirg‘i_qiymat ning qiymatidan oshib ketguncha bajariladi. Siklning har bir bajarilishidan so‘ng Hisoblagich ning qiymati Qadam qiymatiga oshirilib boriladi. Next xizmatchi so‘zi siklning oxirini ko‘rsatadi. Siklning har bir bajarilishida Hisoblagich ning qiymati bilan Oxirg‘i_qiymat argumentining qiymati solishtiriladi. Agar hisoblagichning qiymati Oxirg‘i_qiymat ning o‘rnatilgan qiymatidan oshib ketmasa, sikl tanasining konstruktsiyasi bajariladi. Aks holda boshqarish Next dan keyingi operatorga o‘tadi. Hisoblagich ning qiymatini o‘zgartiruvchi Qadam ning qiymati manfiy ham bo‘lishi mumkin. Bunday holatda sikl Hisoblagich ning qiymati Oxirg‘i_qiymat ning qiymatidan kichik bo‘lguncha bajariladi va hisoblagichning boshlang‘ich qiymati oxirgi qiymatidan katta bo‘lishi lozim. Step xizmatchi so‘zini ishlatmasa ham bo‘ladi. Bunday holatda esa qadamning qiymati avtomat ravishda 1 ga teng bo‘ladi. Hisoblagich, Boshlang‘ich_qiymat, Oxirg‘i_qiymat, Qadam parametrlari – o‘zgaruvchi, o’zgarmas yoki butun turdagi ifoda bo‘lishi mumkin.
Agar Bosh_qiym ning qiymati Oxir_qiym qiymatidan katta (musbat qadam da) yoki Bosh_qiym ning qiymati Oxir_qiym qiymatidan kichik (manfiy qadam da) bo‘lsa, sikl tanasi bir marta ham bajarilmaydi.
Agar Hisoblagich ning qiymati sikl ichidagi shart yakunlanish holati bajarilmaydigan qilib o‘zgartirilsa (masalan, iteratsiya oxirida sikl Hisoblagichiga Bosh_qiym qiymati o‘zlashtiriladi), unda “sikllashuv” hosil bo‘ladi, ya’ni sikl cheksiz bajariladi.
Musbat qadamli Manfiy qadamli
For … Nexttuzilmasi For … Nexttuzilmasi
14-misol: For … Nexttuzilmasini ishlatish
Arifmetik progressiyaning dastlabki 100 ta elementinining yig‘indisini hisoblash.
Arifmetik progressiya o‘zining a0 nollik elementi va d ayirmasi bilan beriladi. Arifmetik progressiyaning har bir kelasi elementi formulasi ak =ak-1 + d bilan hisoblanadi.
Arifmetik progressiyaning dastlabki 100 ta elementinining yig‘indisi quyidagicha:
S = ∑ak, bu erda k 0 dan 100 gacha bo‘lgan qiymatlarni ketma-ket qabul qiladi.
Algoritmi
a0 va d larni kiritingiz
Arifmetik progressiyaning yig‘indisi - S o‘zgaruvchisiga a0 ning qiymatini o‘zlashtiringiz
For K = 1 To 100 … Next siklida har bir iteratsiyada arifmetik progressiyaning har bir elementini va yig‘indining qiymatini quyidagi formula yordamida hisoblanadi
ak =ak-1 + d S = S + ak
S ni chiqarish
11.30-rasm
Ob’yekt
|
Xossa
|
O‘rnatilgan qiymatlari
|
Form1
|
Caption
|
For … Nexttuzilmasi
|
Label1
|
Caption
|
Arifmetik progresiyaning nolinchi elementini kiriting
|
Label2
|
Caption
|
Arifmetik progresiyaning ayirmasini kiriting
|
Label3
|
Caption
|
Arifmetik progressiyaning dastlabki 100 ta elementining yig'indisi
|
Command1
|
Caption
|
Hisoblash
|
Command2
|
Caption
|
Tugatish
|
Text1, Text2, Text3
|
Text
|
Text xossasi maydonini tozalash
|
11.31-rasm
Blok – sxemasi
Dastur kodi
Option Explicit
Private Sub Command1_Click()
Dim A0, D, S As Double
Dim K As Integer
A0 = Val(Text1.Text)
D = Val(Text2.Text)
S = A0
For K = 1 To 100
A0 = A0 + D
S = S + A0
Next
Text3.Text = Str(S)
End Sub
Private Sub Command2_Click()
End
End Sub
11.32-rasm
15-misol: For … Nexttuzilmasini ishlatish
M va A butun sonlarini kiritish. 1 dan M gacha bo‘lgan natural sonlari kublarining yig‘indisi S ni hisoblas. Agar yig‘indi A dan oshib ketsa, hisoblash to‘xtatiladi. Olingan yig‘indi S ni va natural qatorning oxirgi sonining qiymati K ni chiqarish kerak.
Algoritm
M va A ni kiriting.
Kublar yig‘indisi S o‘zgaruvchisiga 0 qiymatini o‘zlashtiringiz.
For K = 1 To М … Next siklidagi har bir iteratsiyada K ning kubi qiymatini va quyidagi formula bo‘yicha yig‘indini hisoblangiz
С = К3 S = S + С
Har bir iteratsiyada S ning qiymati A (S < A) nazorat qiymatidan oshib ketmasligini tekshirish kerak. Agar S ni qiymati A dan oshib ketsa, siklni to‘xtatish kerak, aks holda siklning keyingi iteratsiyasiga o‘tadi.
S ni chiqarish
Sikl iteratsiyasining bajarilishini tugatmasdan For … Next siklidan chiqish sikl ichiga joylashtiriladigan Exit For operatori yordamida amalgam oshiriladi
11.33-rasm
Ob’yekt
|
Xossa
|
O‘rnatilgan qiymatlari
|
Form1
|
Caption
|
For … Next sikli 2-misol
|
Label1
|
Caption
|
Yig‘indining elementlari soni M butun sonini kiriting
|
Label2
|
Caption
|
Yig‘indining yuqori chegarasi A butun sonini kiriting
|
Label3
|
Caption
|
Qo‘shiluvchilarning soni
|
Label4
|
Caption
|
Olingan yig‘indi
|
Command1
|
Caption
|
Yig‘indini hisoblash
|
Command2
|
Caption
|
Chiqish
|
Text1, Text2, Text3, Text4
|
Text
|
Text xossasi maydonini tozalash
|
11.34-rasm
Blok – sxema
Dastur kodi
Option Explicit
Private Sub Command1_Click()
Dim M, A As Long
Dim S, K, C As Long
M = Val(Text1.Text)
A = Val(Text2.Text)
S = 0
For K = 1 To M
C = K ^ 3
S = S + C
If S > A Then
K = K + 1
Exit For
End If
Next K
Text3.Text = Str(K - 1)
Text4.Text = Str(S)
End Sub
Private Sub Command2_Click()
End
End Sub
11.35-rasm
11.36-rasm
Sharti oldinda va oxirida berilgan sikllar
Bazi bir holatlarda sikl tanasining necha marta bajarilishini oldindan aniqlab bo‘lmaydi. Bunday holatlarda sikldagi shartning qiymati True bo‘lguncha bajariladi.
Bunaqangi sikllarning ikki holati mavjud:
Sikl sharti iteratsiyaga har bir kirishidan oldin tekshiriladi (sharti oldinda berilgan sikllar)
Sikl sharti har bir iteratsiyaning bajarilishidan so‘ng tekshiriladi (sharti oxirirda berilgan sikllar)
11.9.1. Sharti oldinda berilgan Do While siklining sintaksisi
Do While Shart
Konstruktsiya
Loop
Do While ... Loop konstruktsiyasida berilgan sikl operatori undagi berilgan shartning qiymati True bo‘lguncha davom etadi. Shart argumenti mantiqiy ifoda bo‘lib, siklga har bir kirishda tekshiriladi. Agar uning qiymati True bo‘lsa, Do While va Loop xizmatchi so‘zlari orasidagi buyruqlar ketma-ketligi bajariladi. Bu konstruktsiya sikl tanasini tashkil qiladi. Agar siklga kirishda shartning qiymati False bo‘lsa, sikldan chiqadi va boshqarish Loop dan keyingi konstruktsiyaga beriladi. Shunaqangi holat mavjudki, ya’ni sikl ichidagi operator bir marta ham bajarilmasligi mumkin. Bu holat sikl sharti birinchi marta tekshirilganda uning qiymati False bo‘lsa.
Yo‘q
Shart?
Hа
Sikl tanasi
konstruktsiyasi
11.9.2. Sharti oxirida berilgan sikl
Do
Konstruktsiyalar
Loop While Shart
Bu sikl strtukturasini ishlatishda shart sikl oxirida tekshiriladi. Bu holatda sikl tanasi kamida bir marta bajariladi va undan keyin shart tekshiriladi.
Sikl tanasi
konstruktsiyasi
Hа Shart? Yo‘q
Do. . .Loop sikl konstruktsiyasining yana bir ko‘rinishi bor. Ular avvalgi ko‘rilgan sikllar bilan bir xil, lekin sikl shartining qiymati False bo‘lguncha bajariladi.
11.9.3. Sharti oldinda berilgan sikl
Do Until Shart
konstruktsiya
Loop
Ha
Shart?
Yo‘q
Sikl tanasi
konstruktsiyasi
11.9.4. Sharti oxirida berilgan sikl
Do
Konstruktsiya
Loop Until Shart
Sikl tanasining
konstruktsiyasi
Yo‘q Ha
Shart?
Sikldan shartsiz chiqib ketish sharti oldinda va oxirida berilgan sikllarningtuzilmasi uchun Exit Do sintaksisiga ega. Exit buyrug‘I siklning bajarilishini yakunlaydi va boshqarishni sikldan keyinga konstruktsiyaga beradi.
16-misol: Shartli sikltuzilmasini ishlatish (shart sikl tanasi bajarilishidan oldin tekshiriladi)
Kvadrat berilgan. Kvadrat tomoni 2 ga teng. Kvadrat markazi dekart koordinatalari sistemasining (0,0) nuqtasida joylasgan. Siklda kvadrat ichidan tasodifiy nuqta olinadi. Nuqta markazlari (0,0) nuqtada va radiuslari R1=0,5; R2 =1,0 bo‘lgan ikkita konsentrik aylanadan tashkil topgan halqaga tegishliligini tekshirish kerak. Quyidagi shartalning biri bajarilsa, siklni to‘xtatiladi.
Tasodifiy olingan nuqtalarning soni 300 ga teng bo‘lsa.
Halqaga tegishli bo‘lgan nuqtalar soni 50 ga teng bo‘lsa.
Nuqtalarning umumiy soni va halqaga tegishli bo‘lgan nuqtalarning soni chop etiladi.
Algoritmi
К1 – aniqlanadigan nuqtalarning tartibi. Siklga kirishdan oldin unga nol qiymatini berish lozim.
К2 – halqaga tushuvchi nuqtalar soni. Siklga kirishdan oldin unga nol qiymatini berish lozim.
Sikl sarlavqasi. К1 ≤ 300 va К2 ≤ 50 shartlarini tekshirish.
Agar teksirish natijasi True bo‘lsa, К1 =К1 + 1 iteratsiyasini malgam oshirish
(x,y) nuxtasi koordinatalarini topish
-1.0 ≤ x ≤ +1.0, -1.0 ≤ y ≤ +1.0
Nuqtaning 0.25 ≤ x2 + y2 ≤ 1.0 halqasiga tegishliligini tekshirish
Agar К2 =К2 + 1 sharti bajarilsa, 3 punktga o‘tish
К1, К2 larni chiqarish
11.37-rasm
Ob’yekt
|
Xossasi
|
O‘rnatilgan qiymatlari
|
Form1
|
Caption
|
Sharti oldinda berilgan sikl
|
Label1
|
Caption
|
Nuqtalar soni
|
Label2
|
Caption
|
Halqaga tushishlar soni
|
Command1
|
Caption
|
Ishga tushirish
|
Command2
|
Caption
|
Dasturdan chiqish
|
Text1, Text2
|
Text
|
Text xossasi maydonini tozalash
|
11.38-rasm
Blok-sxemasi
Dastur kodi
Option Explicit
Private Sub Command1_Click()
Dim K1, K2 As Integer
Dim X, Y, D As Single
K1 = 0
K2 = 0
Do While (K1 <= 300) And (K2 <= 50)
X = 2# * Rnd - 1#
Y = 2# * Rnd - 1#
K1 = K1 + 1
D = X * X + Y * Y
If (D > 0.25) And (D < 1#) Then K2 = K2 + 1
Loop
Text1.Text = Str(K1)
Text2.Text = Str(K2)
End Sub
Private Sub Command2_Click()
End
End Sub
Private Sub Form_Load()
Randomize
End Sub
87
51
11.39-rasm
17-misol: Shartli sikllarningtuzilmasini ishlatish (sikl tanasi bajarilganidan so‘ng shartni tekshirish)
Tasodif sonlar datchigi yordamida 0 dan 1000 gacha bo‘lgan oraliqdan butun sonni olish. Urinishlar 950 dan katta bo‘lgan qiymatni olguncha davom etadi. Olingan natijani va urinishlar sonini natijaga chiqarish kerak.
Algoritmi
К – urinishlar soni – siklga kirisgdan oldin unga nol qiymatini berish
Sikl sarlavqasini kiritish
Sikl iteratsiyasi formulasini kiritish
К =К + 1
А =1000*int(Rnd) tasodif sonini aniqlash
Agar А ≤ 950 bo‘lsa, 3-bosqichqa o’tish
А, К larni chiqarish
11.40-rasm
Ob’yekt
|
Xossa
|
O‘rnatilgan qiymatlari
|
Form1
|
Caption
|
Sharti oxirida berilgan sikl
|
Label1
|
Caption
|
Tasodifiy son
|
Label2
|
Caption
|
Urinishlar soni
|
Command1
|
Caption
|
Ishga tushirish
|
Command2
|
Caption
|
Chiqish
|
Text1, Text2
|
Text
|
Text xossasi maydonini tozalash
|
11.41-rasm
Blok-sxemasi
Dastur kodi
Option Explicit
Private Sub Command1_Click()
Dim K, A As Integer
K = 0
Do
K = K + 1
A = Int(1000 * Rnd)
Loop While A <= 950
Text1.Text = Str(A)
Text2.Text = Str(K)
End Sub
Private Sub Command2_Click()
End
End Sub
Private Sub Form_Load()
Randomize
End Sub
965
11.42-rasm
11 –bobga oid savollar
1)Vizual Basicda izohlar qanday tashkil qilinadi?
2)Operatorlarni bir nechta qatorga joylashtirish qanday tashkil etiladi?
3)Bir nechta operatorlarni bir qatorga joylashtirish qanday tashkil etiladi?
4)Kodni tahrirlash nima?
5)Chiziqli algoritm va ularning dasturlari.
6)If, Go to, Select boshqaruvchi tuzilmalarni tushuntirib bering.
7)Select Case shartli operatori va uni ishatish.
8)Siklli tugmalarni tushuntirib bering.
9)For ... Next sikl operatori va uni ishlatishni tushuntirib bering.
10)Sharti oldinda berilgan sikl operatori sintaksisini va ishlatilishini tushuntirib bering.
11)Sharti oxirida berilgan sikl operatori sintaksisini va ishlatilishini tushuntirib bering.
Foydalanilgan adabiyotlar ro‘yxati
Бухер, Патрик, «Programmiersprachen» (Языки программирования), статья на сайте www.it-academy.cc, 10/2004
Бухер, Патрик, «Der Bubble-Sort Algorithmus», статья на сайте www.it-academy.cc, 11/2004
Бёме, д-р. P., «Programmiersprachen C/C++» (Язык прогаммирования C/C++), конспект лекций Института информатики Университета им. Мартина-Лютера, Халле-Виттенберг, 1996
Блессманн, Бюттнер, Дакс, «Anwendungsentwicklung» (Программирование), Тройсдорф, 2002
Бройер, Клаус Ульрих и Мюллер, Карлхайнц, «Umsetzungshilfen für neue Prüfungsstruktur der IT-Berufe» (Помощь в реализации новых экзаменационных стректур для ИКТ-профессий), заключительный отчет», Федеральное министерство образования и исследований (ответственный редактор), Бонн, 10/2000
Федеральный институт образования (ответственный редактор), «Erläuterungen und Praxishilfen zur Ausbildungsordnung» (Пояснения и практическая помощь по положению об организации профессиональной подготовки), Берлин, 1998
Штабенов, Хельмут и Тодт, Петер, «Informations- und Telekommunikationstechnik» (Информационная и телекоммуникационная техника), Бад Хомбург, 2001
Михельман, Норберт и Хеттвер, Рольф, «Datenbankentwicklung und –anpassung mit MS Access und SQL» (Разработка баз данных и их адаптация к MS Access и SQL), Тройсдорф, 2001
Михельман, Норберт и Хеттвер, Рольф, «Programmentwicklung mit C/C++ und HTML» (Программирование на C/C++ и HTML), Тройсдорф, 2001
Бойт, Маркус и др., «Fachinformatiker/-in Systemintegration, IT-System-Elektroniker/-in, Prüfungsvorbereitung» (Специалист по информатике, системной интеграции, специалист по электронике ИТ-систем, подготовка к экзамену), Тройсдорф, 2004
Лайтенбергер, Бернд, «Die Entwicklung der Programmiersprachen» (Разработка языков программирования), Интернет-статья, Остфилдерн, 02/2006.
Clemson University, Department of Industrial Engineering, SC, USA, “Flow Charts”, Web- Tutorial, deming.eng.clemson.edu
Wirth, N. (1976). Algorithms + Data Structures = Programs, Prentice-Hall, Englewood Cliffs, N.J. (Русский перевод: Вирт Н. Алгоритмы + структура данных = программы. – М.б ”Мир“ , 1985.)
Федеративная Республика Германия, решение конференции министерства по делам образования, религии и культуры от 25.04.1997, положение об организации профессиональной подготовки специалистов по информатике, ИТ-элетронике и коммерсантов ИТ-систем, опубликовано в федеральном вестнике Nr. 68 от 08.04.1998
Зайчик и др., «Deutsch-Russisches Wörterbuch für EDV-Terminologie» (Немецко-Русский словарь по компютерной терминологии), Гамбург, 1998
Мизинина, Жильцов, Англо-русский и русско-английский словарь компьютерной лексики, Москва, 2004
Брандт, Финн и др, « T@ke IT », ключевые квалификации для ИТ-профессий, Гамбург, 2003
Senator für Bildung und Wissenschaft der Freien und Hansestadt Bremen (Сенатор по вопросам образования и науки свободного ганзейского города Бремен) (издатель), «Rahmenplan IT-Berufe» (Типовой план для ИТ-профессий), Бремен, 2000
Thüringer Kultusministerium (Тюрингское министерство по делам образования, религии и культуры) (издатель), Umsetzung des KMK-Rahmenplans für die Ausbildung zum Fachinformatiker Anwendungsentwicklung, Bad Berka, 2000
Ридлль, Альфред, «Didaktik I Grundlagen» (Дидактика I. Основы) и «Didaktik II Berufliche Bildung» (Дидактика II. Профессиональное образование), конспект лекций Мюнхенского Технического Университета, 2003
Плате, Юрген, «Algorithmen und Datenstrukturen, Programmieren 1» (Алгоритмы и структуры данных, программирование 1), конспект лекций Мюнхенского высшего специальнго учебного заведения, FB 04, январь 2006-03-02
Различные статьи с сайта de.wikipedia.org
Думке, Р., «Algorithmen und Datenstrukturen» (Алгоритмы м структуры данных), и другие конспекту лекций Университета Otto-von-Guericke-Universität, факультет информатики, Магдебург, 06/2005
|