• 11-misol: Tarmoqlanuvchi dastur
  • 12-misol: Gototuzilmasini ishlatish
  • 11.7. Shartli Select Case operatori
  • 13-misol: Select Case tuzilmasini ishlatish
  • Takrorlanishlar soni berilgan sikl (hisoblagichli sikl) For … Next
  • 14-misol: For … Nexttuzilmasini ishlatish
  • 15-misol: For … Nexttuzilmasini ishlatish
  • Sharti oldinda va oxirida berilgan sikllar
  • 11.9.1. Sharti oldinda berilgan Do While siklining sintaksisi
  • 11.9.2. Sharti oxirida berilgan sikl
  • 11.9.4. Sharti oxirida berilgan sikl
  • 16-misol: Shartli sikltuzilmasini ishlatish
  • 11.39-rasm 17-misol: Shartli sikllarningtuzilmasini ishlatish
  • Foydalanilgan adabiyotlar ro‘yxati
  • Dasturlash asoslari




    Download 5.61 Mb.
    bet143/143
    Sana15.03.2021
    Hajmi5.61 Mb.
    #13226
    1   ...   135   136   137   138   139   140   141   142   143
    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

    1. R, A, B, C larni kiritish.

    2. A qiymati A,B,C qiymatlari ichidagi minimali ekanligini tekshirish.

    3. Agar minimal bo‘lsa, B ning C dan kichikligini tekshirish.

    4. Agar kichik bo‘lsa, A,B,C ketme-ketligini aniqlash.

    5. Agar yo‘q bo‘lsa, A,C,B ketme-ketligini aniqlash.

    6. Agar yo‘q bo‘lsa, B ning A,B,C qiymatlari ichida minimalligini tekshirish

    7. Agar minimal bo‘lsa, A ning C dan kichikligini tekshirish.

    8. Agar kichik bo‘lsa, B, A, C ketme-ketligini aniqlash.

    9. Agar yo‘q bo‘lsa, B,C,A ketme-ketligini aniqlash.

    10. Agar yo‘q bo‘lsa, A ning B dan kichikligini tekshirish.

    11. Agar kichik bo‘lsa, C, A, B ketme-ketligini aniqlash.

    12. Agar yo‘q bo‘lsa, C,B,A ketme-ketligini aniqlash.

    13. Parallelopipedning kichik diagonali illyuminatorning diametridan kichikligini tekshirish.

    14. Agar kichik bo‘lsa, “Seyfni chiqarish mumkin” degan xabarni ko‘rsatish.

    15. 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. 1 dan 6 gacha bo‘lgan R tasodif sonini olish

    2. Agar R=1 bo‘lsa, S qator o‘zgaruvchisiga «BIR» matnni yozish kerak

    3. Agar R=2 bo‘lsa, S qator o‘zgaruvchisiga «IKKI» matnni yozish kerak

    4. Agar R=3 bo‘lsa, S qator o‘zgaruvchisiga «UCH» matnni yozish kerak

    5. Agar R=4 bo‘lsa, S qator o‘zgaruvchisiga «TO‘RT» matnni yozish kerak

    6. Agar R=5 bo‘lsa, S qator o‘zgaruvchisiga «BECH» matnni yozish kerak

    7. Agar R=6 bo‘lsa, S qator o‘zgaruvchisiga «OLTI» matnni yozish kerak

    8. 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:



    1. Takrorlanishlar soni berilgan sikl (hisoblagichli sikllar)

    2. Berilgan shart bajarilguncha bajariladigan sikl. Bunda shart sikl tanasi bajarilishidan oldin tekshiriladi (Yuqoridagi qator bilan boshqariladigan sikl)

    3. 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.

        1. 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

    1. a0 va d larni kiritingiz

    2. Arifmetik progressiyaning yig‘indisi - S o‘zgaruvchisiga a0 ning qiymatini o‘zlashtiringiz

    3. 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

    1. 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

    1. M va A ni kiriting.

    2. Kublar yig‘indisi S o‘zgaruvchisiga 0 qiymatini o‘zlashtiringiz.

    3. For K = 1 To М … Next siklidagi har bir iteratsiyada K ning kubi qiymatini va quyidagi formula bo‘yicha yig‘indini hisoblangiz

    С = К3 S = S + С

    1. 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.

    2. 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



      1. 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:


    1. Sikl sharti iteratsiyaga har bir kirishidan oldin tekshiriladi (sharti oldinda berilgan sikllar)

    2. 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?

    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. К1 – aniqlanadigan nuqtalarning tartibi. Siklga kirishdan oldin unga nol qiymatini berish lozim.

    2. К2 – halqaga tushuvchi nuqtalar soni. Siklga kirishdan oldin unga nol qiymatini berish lozim.

    3. Sikl sarlavqasi. К1 ≤ 300 va К2 ≤ 50 shartlarini tekshirish.

    4. 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. К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


    1. К – urinishlar soni – siklga kirisgdan oldin unga nol qiymatini berish

    2. Sikl sarlavqasini kiritish

    3. Sikl iteratsiyasi formulasini kiritish

    К =К + 1

    А =1000*int(Rnd) tasodif sonini aniqlash



    1. Agar А ≤ 950 bo‘lsa, 3-bosqichqa o’tish

    2. А, К 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





    1. Бухер, Патрик, «Programmiersprachen» (Языки программирования), статья на сайте www.it-academy.cc, 10/2004

    2. Бухер, Патрик, «Der Bubble-Sort Algorithmus», статья на сайте www.it-academy.cc, 11/2004

    3. Бёме, д-р. P., «Programmiersprachen C/C++» (Язык прогаммирования C/C++), конспект лекций Института информатики Университета им. Мартина-Лютера, Халле-Виттенберг, 1996

    4. Блессманн, Бюттнер, Дакс, «Anwendungsentwicklung» (Программирование), Тройсдорф, 2002

    5. Бройер, Клаус Ульрих и Мюллер, Карлхайнц, «Umsetzungshilfen für neue Prüfungsstruktur der IT-Berufe» (Помощь в реализации новых экзаменационных стректур для ИКТ-профессий), заключительный отчет», Федеральное министерство образования и исследований (ответственный редактор), Бонн, 10/2000

    6. Федеральный институт образования (ответственный редактор), «Erläuterungen und Praxishilfen zur Ausbildungsordnung» (Пояснения и практическая помощь по положению об организации профессиональной подготовки), Берлин, 1998

    7. Штабенов, Хельмут и Тодт, Петер, «Informations- und Telekommunikationstechnik» (Информационная и телекоммуникационная техника), Бад Хомбург, 2001

    8. Михельман, Норберт и Хеттвер, Рольф, «Datenbankentwicklung und –anpassung mit MS Access und SQL» (Разработка баз данных и их адаптация к MS Access и SQL), Тройсдорф, 2001

    9. Михельман, Норберт и Хеттвер, Рольф, «Programmentwicklung mit C/C++ und HTML» (Программирование на C/C++ и HTML), Тройсдорф, 2001

    10. Бойт, Маркус и др., «Fachinformatiker/-in Systemintegration, IT-System-Elektroniker/-in, Prüfungsvorbereitung» (Специалист по информатике, системной интеграции, специалист по электронике ИТ-систем, подготовка к экзамену), Тройсдорф, 2004

    11. Лайтенбергер, Бернд, «Die Entwicklung der Programmiersprachen» (Разработка языков программирования), Интернет-статья, Остфилдерн, 02/2006.

    12. Clemson University, Department of Industrial Engineering, SC, USA, “Flow Charts”, Web- Tutorial, deming.eng.clemson.edu

    13. Wirth, N. (1976). Algorithms + Data Structures = Programs, Prentice-Hall, Englewood Cliffs, N.J. (Русский перевод: Вирт Н. Алгоритмы + структура данных = программы. – М.б ”Мир“ , 1985.)

    14. Федеративная Республика Германия, решение конференции министерства по делам образования, религии и культуры от 25.04.1997, положение об организации профессиональной подготовки специалистов по информатике, ИТ-элетронике и коммерсантов ИТ-систем, опубликовано в федеральном вестнике Nr. 68 от 08.04.1998

    15. Зайчик и др., «Deutsch-Russisches Wörterbuch für EDV-Terminologie» (Немецко-Русский словарь по компютерной терминологии), Гамбург, 1998

    16. Мизинина, Жильцов, Англо-русский и русско-английский словарь компьютерной лексики, Москва, 2004

    17. Брандт, Финн и др, « T@ke IT », ключевые квалификации для ИТ-профессий, Гамбург, 2003

    18. Senator für Bildung und Wissenschaft der Freien und Hansestadt Bremen (Сенатор по вопросам образования и науки свободного ганзейского города Бремен) (издатель), «Rahmenplan IT-Berufe» (Типовой план для ИТ-профессий), Бремен, 2000

    19. Thüringer Kultusministerium (Тюрингское министерство по делам образования, религии и культуры) (издатель), Umsetzung des KMK-Rahmenplans für die Ausbildung zum Fachinformatiker Anwendungsentwicklung, Bad Berka, 2000

    20. Ридлль, Альфред, «Didaktik I Grundlagen» (Дидактика I. Основы) и «Didaktik II Berufliche Bildung» (Дидактика II. Профессиональное образование), конспект лекций Мюнхенского Технического Университета, 2003

    21. Плате, Юрген, «Algorithmen und Datenstrukturen, Programmieren 1» (Алгоритмы и структуры данных, программирование 1), конспект лекций Мюнхенского высшего специальнго учебного заведения, FB 04, январь 2006-03-02

    22. Различные статьи с сайта de.wikipedia.org

    23. Думке, Р., «Algorithmen und Datenstrukturen» (Алгоритмы м структуры данных), и другие конспекту лекций Университета Otto-von-Guericke-Universität, факультет информатики, Магдебург, 06/2005







    Download 5.61 Mb.
    1   ...   135   136   137   138   139   140   141   142   143




    Download 5.61 Mb.