mehrfachausführungen schleifen in vb 2010 ee. programmidee: der anwender gibt eine zahl ein, und...
TRANSCRIPT
![Page 1: Mehrfachausführungen Schleifen in VB 2010 ee. Programmidee: Der Anwender gibt eine Zahl ein, und das Programm gibt die Mehrfachen dieser Zahl aus (das](https://reader035.vdocuments.net/reader035/viewer/2022081518/55204d8449795902118d8d5d/html5/thumbnails/1.jpg)
Mehrfachausführungen
Schleifen in
VB 2010 ee
![Page 2: Mehrfachausführungen Schleifen in VB 2010 ee. Programmidee: Der Anwender gibt eine Zahl ein, und das Programm gibt die Mehrfachen dieser Zahl aus (das](https://reader035.vdocuments.net/reader035/viewer/2022081518/55204d8449795902118d8d5d/html5/thumbnails/2.jpg)
Programmidee:
Der Anwender gibt eine Zahl ein, und das Programm gibt die Mehrfachen dieser Zahl aus (das 1x1).
Das könnte so aussehen:
![Page 3: Mehrfachausführungen Schleifen in VB 2010 ee. Programmidee: Der Anwender gibt eine Zahl ein, und das Programm gibt die Mehrfachen dieser Zahl aus (das](https://reader035.vdocuments.net/reader035/viewer/2022081518/55204d8449795902118d8d5d/html5/thumbnails/3.jpg)
Mögliches Formular:
Textbox
Listbox
Label
Buttons
![Page 4: Mehrfachausführungen Schleifen in VB 2010 ee. Programmidee: Der Anwender gibt eine Zahl ein, und das Programm gibt die Mehrfachen dieser Zahl aus (das](https://reader035.vdocuments.net/reader035/viewer/2022081518/55204d8449795902118d8d5d/html5/thumbnails/4.jpg)
Was soll das Programm können?
• Einen Wert aus der Textbox einlesen
• Diesen Wert mit 1 bis 10 multiplizieren
• Das 1x1 in der Liste ausgeben
• sich schließen können
• die Eingabefelder leeren
![Page 5: Mehrfachausführungen Schleifen in VB 2010 ee. Programmidee: Der Anwender gibt eine Zahl ein, und das Programm gibt die Mehrfachen dieser Zahl aus (das](https://reader035.vdocuments.net/reader035/viewer/2022081518/55204d8449795902118d8d5d/html5/thumbnails/5.jpg)
Syntax Listbox
• Objekt.Methode
• lst_Listbox.Items.Add(was reinsoll)
![Page 6: Mehrfachausführungen Schleifen in VB 2010 ee. Programmidee: Der Anwender gibt eine Zahl ein, und das Programm gibt die Mehrfachen dieser Zahl aus (das](https://reader035.vdocuments.net/reader035/viewer/2022081518/55204d8449795902118d8d5d/html5/thumbnails/6.jpg)
Syntax Multiplikation
Ergebnis = Faktor1 * Faktor2
![Page 7: Mehrfachausführungen Schleifen in VB 2010 ee. Programmidee: Der Anwender gibt eine Zahl ein, und das Programm gibt die Mehrfachen dieser Zahl aus (das](https://reader035.vdocuments.net/reader035/viewer/2022081518/55204d8449795902118d8d5d/html5/thumbnails/7.jpg)
Für die Ganze Prozedur:
• Deklaration der Grundzahl:dim Grundzahl As Single
• Einlesen der Grundzahl:Grundzahl = txt_Grundzahl.text
• Multiplikation:Ergebnis = Grundzahl * 1
• Ausgabe:lst_Ergebnis.items.add(Ergebnis)
![Page 8: Mehrfachausführungen Schleifen in VB 2010 ee. Programmidee: Der Anwender gibt eine Zahl ein, und das Programm gibt die Mehrfachen dieser Zahl aus (das](https://reader035.vdocuments.net/reader035/viewer/2022081518/55204d8449795902118d8d5d/html5/thumbnails/8.jpg)
Das ganze 1x1:
Die Multiplikation und die Ausgabe muss natürlich für die Zahlen von 1 bis 10 wiederholt werden. Ergebnis = Grundzahl * 2 lst_Ergebnis.items.add(Ergebnis) Ergebnis = Grundzahl * 3 lst_Ergebnis.items.add(Ergebnis)
Ergebnis = Grundzahl * 10 lst_Ergebnis.items.add(Ergebnis)
![Page 9: Mehrfachausführungen Schleifen in VB 2010 ee. Programmidee: Der Anwender gibt eine Zahl ein, und das Programm gibt die Mehrfachen dieser Zahl aus (das](https://reader035.vdocuments.net/reader035/viewer/2022081518/55204d8449795902118d8d5d/html5/thumbnails/9.jpg)
Problem:
• Ein ziemlich langer Code für ein ziemlich kleines Progrämmchen,
Oder???
![Page 10: Mehrfachausführungen Schleifen in VB 2010 ee. Programmidee: Der Anwender gibt eine Zahl ein, und das Programm gibt die Mehrfachen dieser Zahl aus (das](https://reader035.vdocuments.net/reader035/viewer/2022081518/55204d8449795902118d8d5d/html5/thumbnails/10.jpg)
Lösung
Wir sagen dem Computer, er solle denselben Vorgang mit verschiedenen Zahlen wiederholen.
Die Schleife
![Page 11: Mehrfachausführungen Schleifen in VB 2010 ee. Programmidee: Der Anwender gibt eine Zahl ein, und das Programm gibt die Mehrfachen dieser Zahl aus (das](https://reader035.vdocuments.net/reader035/viewer/2022081518/55204d8449795902118d8d5d/html5/thumbnails/11.jpg)
For-Next-Schleife
Pseudo-Code:
Mache von i = 1 bis 10 folgendes:
Ergebnis = Grundzahl * i
Schreibe das Ergebnis ins Label
Nimm das nächste i
![Page 12: Mehrfachausführungen Schleifen in VB 2010 ee. Programmidee: Der Anwender gibt eine Zahl ein, und das Programm gibt die Mehrfachen dieser Zahl aus (das](https://reader035.vdocuments.net/reader035/viewer/2022081518/55204d8449795902118d8d5d/html5/thumbnails/12.jpg)
Syntax: For-Next-Schleife
• For i = Startzahl to Endzahl
Anweisungsblock
Next
![Page 13: Mehrfachausführungen Schleifen in VB 2010 ee. Programmidee: Der Anwender gibt eine Zahl ein, und das Programm gibt die Mehrfachen dieser Zahl aus (das](https://reader035.vdocuments.net/reader035/viewer/2022081518/55204d8449795902118d8d5d/html5/thumbnails/13.jpg)
VB-Code
Das heißt für uns:
For i = 1 to 10
Ergebnis = Grundzahl * i
lst_Ergebnis.Items.Add(Ergebnis)
Next i
![Page 14: Mehrfachausführungen Schleifen in VB 2010 ee. Programmidee: Der Anwender gibt eine Zahl ein, und das Programm gibt die Mehrfachen dieser Zahl aus (das](https://reader035.vdocuments.net/reader035/viewer/2022081518/55204d8449795902118d8d5d/html5/thumbnails/14.jpg)
Ein Versuch…
… das Programm macht dasselbe wie vorher, es wurde aber wesentlich weniger Code benötigt.
![Page 15: Mehrfachausführungen Schleifen in VB 2010 ee. Programmidee: Der Anwender gibt eine Zahl ein, und das Programm gibt die Mehrfachen dieser Zahl aus (das](https://reader035.vdocuments.net/reader035/viewer/2022081518/55204d8449795902118d8d5d/html5/thumbnails/15.jpg)
Großer Vorteil:
Wenn wir das Programm erweitern wollen, dass es bis zum 20-, 30-, 200- fachen der Grundzahl oder sonst wie weit rechnet, müssen wir nur einen Wert in der Schleife ändern:
For i = 1 To Obergrenze
![Page 16: Mehrfachausführungen Schleifen in VB 2010 ee. Programmidee: Der Anwender gibt eine Zahl ein, und das Programm gibt die Mehrfachen dieser Zahl aus (das](https://reader035.vdocuments.net/reader035/viewer/2022081518/55204d8449795902118d8d5d/html5/thumbnails/16.jpg)
Freie Wahl der Obergrenze
Dann kann die Obergrenze doch aber bestimmt auch frei gewählt werden, sprich:
Vom Anwender festgelegt werden:
Los Geht‘s
![Page 17: Mehrfachausführungen Schleifen in VB 2010 ee. Programmidee: Der Anwender gibt eine Zahl ein, und das Programm gibt die Mehrfachen dieser Zahl aus (das](https://reader035.vdocuments.net/reader035/viewer/2022081518/55204d8449795902118d8d5d/html5/thumbnails/17.jpg)
Code für großes 1x1:
Private Sub cmd_Rechne…
Dim Grundzahl As Single
Dim Faktor As Integer, Dim Ergebnis As Single
Dim i As Integer
Grundzahl = txt_Grundzahl.text
Faktor = txt_Faktor.text
For i = 1 To Faktor
Ergebnis = Grundzahl * i
lst_Ergebnis.items.add(ergebnis)
Next
End Sub
![Page 18: Mehrfachausführungen Schleifen in VB 2010 ee. Programmidee: Der Anwender gibt eine Zahl ein, und das Programm gibt die Mehrfachen dieser Zahl aus (das](https://reader035.vdocuments.net/reader035/viewer/2022081518/55204d8449795902118d8d5d/html5/thumbnails/18.jpg)
Operatoren
• Bekannte Operatoren sind:
+ für Addition
- für Subtraktion
/ für Division
* für Multiplikation
![Page 19: Mehrfachausführungen Schleifen in VB 2010 ee. Programmidee: Der Anwender gibt eine Zahl ein, und das Programm gibt die Mehrfachen dieser Zahl aus (das](https://reader035.vdocuments.net/reader035/viewer/2022081518/55204d8449795902118d8d5d/html5/thumbnails/19.jpg)
Ein neuer Operator:
Modulo-Rechnung:
Entspricht der aus der Grundschule bekannten Division mit Rest.
38 : 7 = 5 Rest 3
79 : 2 = 39 Rest 1
80 : 2 = 40 Rest 0
![Page 20: Mehrfachausführungen Schleifen in VB 2010 ee. Programmidee: Der Anwender gibt eine Zahl ein, und das Programm gibt die Mehrfachen dieser Zahl aus (das](https://reader035.vdocuments.net/reader035/viewer/2022081518/55204d8449795902118d8d5d/html5/thumbnails/20.jpg)
Als Modulo:
38 : 7 = 5 Rest 3
79 : 2 = 39 Rest 1
80 : 2 = 40 Rest 0
38 mod 7 = 3
79 mod 2 = 1
80 mod 2 = 0
![Page 21: Mehrfachausführungen Schleifen in VB 2010 ee. Programmidee: Der Anwender gibt eine Zahl ein, und das Programm gibt die Mehrfachen dieser Zahl aus (das](https://reader035.vdocuments.net/reader035/viewer/2022081518/55204d8449795902118d8d5d/html5/thumbnails/21.jpg)
Ein Übungsprogramm
• Erstelle ein Programm, in das zwei Zahlen eingegeben werden, die dann „modulo“ gerechnet werden.
Der Rest dieser Division soll dann ausgegeben werden.
![Page 22: Mehrfachausführungen Schleifen in VB 2010 ee. Programmidee: Der Anwender gibt eine Zahl ein, und das Programm gibt die Mehrfachen dieser Zahl aus (das](https://reader035.vdocuments.net/reader035/viewer/2022081518/55204d8449795902118d8d5d/html5/thumbnails/22.jpg)
Mögliches Formular:
![Page 23: Mehrfachausführungen Schleifen in VB 2010 ee. Programmidee: Der Anwender gibt eine Zahl ein, und das Programm gibt die Mehrfachen dieser Zahl aus (das](https://reader035.vdocuments.net/reader035/viewer/2022081518/55204d8449795902118d8d5d/html5/thumbnails/23.jpg)
Woran müsst ihr denken?
• Deklaration der nötigen Variablen
(Zahl1, Zahl2, Ergebnis)
• Einlesen der Zahlen
• Eigentliche Rechnung
• Ausgabe
![Page 24: Mehrfachausführungen Schleifen in VB 2010 ee. Programmidee: Der Anwender gibt eine Zahl ein, und das Programm gibt die Mehrfachen dieser Zahl aus (das](https://reader035.vdocuments.net/reader035/viewer/2022081518/55204d8449795902118d8d5d/html5/thumbnails/24.jpg)
Programmcode:
Dim Zahl1 As Integer
Dim Zahl2 As Integer
Dim Ergebnis As Integer
Zahl1 = txt_Zahl1.Text
Zahl2 = txt_Zahl2.Text
Ergebnis = Zahl1 Mod Zahl2
Lbl_Ergebnis.Text = "Bei Division von " & Zahl1 &
" durch " & Zahl2 & " bleibt der Rest " &
Ergebnis & "."
![Page 25: Mehrfachausführungen Schleifen in VB 2010 ee. Programmidee: Der Anwender gibt eine Zahl ein, und das Programm gibt die Mehrfachen dieser Zahl aus (das](https://reader035.vdocuments.net/reader035/viewer/2022081518/55204d8449795902118d8d5d/html5/thumbnails/25.jpg)
Zweites Modulo-Programm:
• Schreiben Sie ein Programm, dass entscheidet, ob eine Zahl durch eine andere Zahl teilbar ist und eine entsprechende Meldung ausgibt.
![Page 26: Mehrfachausführungen Schleifen in VB 2010 ee. Programmidee: Der Anwender gibt eine Zahl ein, und das Programm gibt die Mehrfachen dieser Zahl aus (das](https://reader035.vdocuments.net/reader035/viewer/2022081518/55204d8449795902118d8d5d/html5/thumbnails/26.jpg)
Voraus-Überlegungen:
• Wie muss das Formular aussehen?• Welche Schritte muss das Programm
ausführen? (Algorithmus)• Welche Variablen benötige ich?• Wie müssen die Variablen deklariert sein?• Wie sieht der Programmcode aus
Dann mal los, ihr seid dran!
![Page 27: Mehrfachausführungen Schleifen in VB 2010 ee. Programmidee: Der Anwender gibt eine Zahl ein, und das Programm gibt die Mehrfachen dieser Zahl aus (das](https://reader035.vdocuments.net/reader035/viewer/2022081518/55204d8449795902118d8d5d/html5/thumbnails/27.jpg)
Mögliches Formular:
![Page 28: Mehrfachausführungen Schleifen in VB 2010 ee. Programmidee: Der Anwender gibt eine Zahl ein, und das Programm gibt die Mehrfachen dieser Zahl aus (das](https://reader035.vdocuments.net/reader035/viewer/2022081518/55204d8449795902118d8d5d/html5/thumbnails/28.jpg)
Benötigte Schritte
• Modulo Rechnung
• If-Entscheidung
Wenn Ergebnis = 0, dann Teiler
Wenn Ergebnis ≠ 0, dann kein Teiler
• Ausgabe in einem Label
![Page 29: Mehrfachausführungen Schleifen in VB 2010 ee. Programmidee: Der Anwender gibt eine Zahl ein, und das Programm gibt die Mehrfachen dieser Zahl aus (das](https://reader035.vdocuments.net/reader035/viewer/2022081518/55204d8449795902118d8d5d/html5/thumbnails/29.jpg)
Benötigte Variablen und ihre Deklariation
Benötigt werden große ganze Zahlen
Dim Zahl1 As Long
Dim Zahl2 As Long
Dim Ergebnis As Long
![Page 30: Mehrfachausführungen Schleifen in VB 2010 ee. Programmidee: Der Anwender gibt eine Zahl ein, und das Programm gibt die Mehrfachen dieser Zahl aus (das](https://reader035.vdocuments.net/reader035/viewer/2022081518/55204d8449795902118d8d5d/html5/thumbnails/30.jpg)
Programmcode
Private Sub cmd_teilt_Click…
Zahl1 = txt_Zahl1.Text
Zahl2 = txt_Zahl2.Text
Ergebnis = Zahl2 mod Zahl1
If Ergebnis = 0 Then
lb_lErgebnis.Text = Zahl1 & " ist ein Teiler von " & Zahl2 & "."
Else
lbl_Ergebnis.Text = Zahl1 & " ist nicht Teiler von " & Zahl2 & "."
End If
End Sub
![Page 31: Mehrfachausführungen Schleifen in VB 2010 ee. Programmidee: Der Anwender gibt eine Zahl ein, und das Programm gibt die Mehrfachen dieser Zahl aus (das](https://reader035.vdocuments.net/reader035/viewer/2022081518/55204d8449795902118d8d5d/html5/thumbnails/31.jpg)
Aufgabenstellung
Jetzt seid ihr soweit, in euren Taschenrechner eine Funktion einzubauen, die überprüft, ob einen eingegebene Zahl eine Primzahl ist.
Viel Erfolg!