GoTo www.visual-basic5.de
Back to Startpage
zurück zu Teil 2

Teil : 3

3.1 Beschreibung Programmschleifen : Mehrfache Schleifen

3.1.1      Mehrfache Programmschleifen

Beispiel : Einlesen einer Matrix

n = . . . . .
Dim A(n,n)
A = . . . . .
oder mit einer Doppelschleife
n = . . . . .
Dim A(n,n)
For i = 1 To n
For k = 1 To n
A(i,k) = . . . . .
Next k
Next i

Beide vorangegangenen Beispiele lesen der Reihe nach ein :

a11, a12,a13, ....., a1n, a21, a22, ..... , a2n, a31, ..... ann.

Beispiel :

Erzeugen und Ausgeben einer (9,9) - Matrix A mit Aik = j * k. Ziel : Ausgabe des in der Tabelle gezeigten "Kleine Einmaleins".

* 1 2 3 4 5 6 7 8 9
1 1 2 3 4 5 6 7 8 9
2 2 4 6 8 10 12 14 16 18
3 3 6 9 12 15 18 21 24 27
4 4 8 12 16 20 24 28 32 36
5 5 10 15 20 25 30 35 40 45
6 6 12 18 24 30 36 42 48 54
7 7 14 21 28 35 42 49 56 63
8 8 16 24 32 40 48 56 64 72
9 9 18 27 36 45 54 63 72 81

Strukturansicht mit Quelltext :

Programmstruktur : Source Code : Download Beispiel 6,22 KB
Strukturansicht
Option Base 1

Private Sub sFirstLoop7()
    Dim A(9, 9)     As Variant
    
    Picture1.Print " * | "; 1; 2; 3; 4; 5; 6; 7; 8; 9
    Picture1.Print String$(40, "-")
    For i = 1 To 9
        For k = 1 To 9
            A(i, k) = i * k
        Next k
        Picture1.Print i; "|"; A(i, 1); A(i, 2); A(i, 3); A(i, 4);
        Picture1.Print A(i, 5); A(i, 6); A(i, 7); A(i, 8); A(i, 9)
    Next i
End Sub

Beispiel : Pascalsches Dreieck.

Bei der Auswertung von Binomen Auswertung Binomenspielen die Binomialkoeffizienten eine Rolle, z.B. gilt :

Binomialkoeffizenten

Sie können diese Faktoren selbst im Pascalschen Dreieck ( siehe Tabelle )

1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
. . . . . .

durch Beachtung folgender Regeln erzeugen :

Wir denken uns diese Zahlen in einer quadratischen Matrix angeordnet. Dann interessieren die Werte rechts oberhalb der "Diagonalen" nicht. Gibt n die Zeilennummer und k die Spaltennummer an, so erhält man die ersten zehn Zeilen des Pascalschen Dreiecks durch folgendes Beispiel :

Strukturansicht : Source Code : Beispiel Downloaden 6,22 KB
Strukturansicht
Option Base 1

Private Sub sFirstLoop8()
    Dim A(10, 10)     As Variant
    
    For i = 1 To 10
        A(i, 1) = 1
        A(i, i) = 1
    Next i
        For i = 3 To 10
            For k = 2 To i - 1
                A(i, k) = A(i - 1, k) + A(i - 1, k - 1)
            Next k
        Next i
        For i = 1 To 10
            For k = 1 To i
            Picture1.Print A(i, k);
        Next k
        Picture1.Print
    Next i
    
End Sub

Bei der Ausgabe interessieren die Elemente in einer Zeile nur bis zum Diagonalelement aii( siehe obrige Tabelle Pascalschen Dreieck )

Ende Teil 3.1. Laufanweisungen. Mehrfache Schleifen.





© by prelles basics - germany - heinz prelle - lenbachstrasse 42 - 30655 hannover


2893 Hits