Module
Contents
Index 🔎︎

# For...Next Statement

Kordab määratud arv kordi ploki For...Next vahel olevaid lauseid.

## Süntaks:

    For counter=start To end [Step step]

    lause sisu

    [Exit For]

    lause sisu

    Next [counter]

## Muutujad:

Counter: tsüklite arvu algselt määratud väärtus võrdusmärgist paremal (algus). Tsüklite arv väheneb vastavalt muutujale Samm, kuni jõutakse lõppu.

Start: arvuline muutuja, mis määratleb algse väärtuse tsükli alguses.

End: arvuline muutuja, mis määratleb lõpliku väärtuse tsükli lõpus.

Step: seab väärtuse, mille võrra tsüklite arvu suurendada või vähendada. Kui sammu pole määratud, siis suurendatakse tsüklite arvu 1 võrra. Sel juhul peab väärtus Lõpp olema suurem kui väärtus Algus. Kui soovite arvu vähendada, siis peab väärtus Lõpp olema väiksem kui väärtus Algus ja sammu väärtus peab olema negatiivne.

Tsükkel For...Next kordab kõiki tsüklis olevaid lauseid parameetritega määratud arv kordi.

Arvu muutuja vähenemisel kontrollib rakendus LibreOffice BASIC, kas lõppväärtus on käes. Niipea, kui arv on jõudnud lõppväärtuseni, lõpetatakse tsükkel automaatselt.

Tsükli For...Next lauseid saab pesastada. Kui lausele Next järgnevat muutujat pole määratud, viitab Next automaatselt viimatisele For-lausele.

Kui määrad juurdekasvuks 0, siis korratakse lausete For ja Next vahelisi lauseid pidevalt.

Arvu muutuja väärtuse vähendamisel kontrollib LibreOffice BASIC üle- ja alatäitumist. Tsükkel lõpeb, kui arv jõuab lõppväärtuseni (sammu positiivne väärtus) või on väiksem kui lõppväärtus (sammu negatiivne väärtus).

Tsüklist tingimusteta väljumiseks kasuta lauset Välju lausest For. See lause peab olema tsüklis For...Next. Väljumistingimuse testimiseks kasuta lauset If...Then järgmiselt:

For...

laused

If condition = True Then Exit For

laused

Next

Märkus. Pesastatud tsüklitest For...Next tingimusteta väljumisel lause Välju lausest For abil, väljutakse ainult ühest tsüklist.

## Näide

Järgmises näites kasutatakse 10 elemendiga stringimassiivi sortimiseks kahte pesastatud tsüklit (sEntry() ), kuhu on algselt sisestatud erinev sisu:

    Sub ExampleSort

    Dim sEntry(9) As String

    Dim iCount As Integer

    Dim iCount2 As Integer

    Dim sTemp As String

        sEntry(0) = "Jerry"

        sEntry(1) = "Patty"

        sEntry(2) = "Kurt"

        sEntry(3) = "Thomas"

        sEntry(4) = "Michael"

        sEntry(5) = "David"

        sEntry(6) = "Cathy"

        sEntry(7) = "Susie"

        sEntry(8) = "Edward"

        sEntry(9) = "Christine"

        For iCount = 0 To 9

            For iCount2 = iCount + 1 To 9

                If sEntry(iCount) > sEntry(iCount2) Then

                    sTemp = sEntry(iCount)

                    sEntry(iCount) = sEntry(iCount2)

                    sEntry(iCount2) = sTemp

                End If

            Next iCount2

        Next iCount

        For iCount = 0 To 9

            Print sEntry(iCount)

        Next iCount

    End Sub