91
VB.NET Anweisungen in Abhängigkeit von Kriterien ausführen Schleifen zur Wiederholung von Anweisungen Arrays zur Speicherung von vielen Elementen gleichen Typs Exception, um Fehler abzufangen

VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

  • Upload
    hathien

  • View
    213

  • Download
    0

Embed Size (px)

Citation preview

Page 1: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

VB.NET

Anweisungen in Abhängigkeit von Kriterien ausführen

Schleifen zur Wiederholung von Anweisungen

Arrays zur Speicherung von vielen Elementen gleichen Typs

Exception, um Fehler abzufangen

Page 2: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB 19.02.09Seite 2

Anweisung ... bestehen aus VB-Schlüsselwörtern sowie aus Operatoren und

Operanden. ... beschreiben Aktionen, die der Computer ausführen soll. ... können in Abhängigkeit einer Bedingungen durchlaufen werden. ... können unter bestimmten Bedingungen wiederholt werden.

Page 3: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB 19.02.09Seite 3

Algorithmus Genau definierte Verarbeitungsvorschrift zur Lösung einer Aufgabe. Eine Folge von Arbeitsschritten zur Lösung eines Problems. Endliche Folge von Anweisungen, die nacheinander ausgeführt werden. Beispiele aus dem täglichen Leben:

Kochrezepte Steuerprogramme für technische Geräte (Waschmaschinen etc.)

Page 4: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB 19.02.09Seite 4

Beispiel: Bedienung einer Waschmaschine Tür der Waschmaschine öffnen. Max. 5 kg Wäsche (einer Farbe ) einfüllen. Tür der Waschmaschine schließen. Waschmittel passend zur Farbe der Wäsche in die kleine Schublade für

den Hauptwaschgang füllen. Wasserzulauf öffnen. Waschprogramm wählen. Starttaste drücken. Waschvorgang abwarten. Nach Programm-Ende Maschine abstellen. Wasserzulauf schließen. Tür öffnen und Wäsche entnehmen.

Page 5: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB 19.02.09Seite 5

Eigenschaften eines Algorithmus Ein Algorithmus benötigt endlich viele Arbeitsschritte. Ein Algorithmus ist beschreibbar. Jeder Arbeitsschritt ist ausführbar. Ein Algorithmus liefert unter identischen Startbedingungen immer

das gleiche Endergebnis. Der Ablauf des Verfahrens ist eindeutig definiert.

Page 6: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB 19.02.09Seite 6

Beispiel Aufgabe: Suche ein bestimmtes Wort in einen Text. Eingangsdaten:

Variable text: Zeichenfolge (String), in der ein bestimmtes Wort gesucht werden soll.

Variable wort: Zeichenfolge, die gesucht wird. Ausgangsdaten:

Ist das Wort in der Zeichenfolge text vorhanden?

Page 7: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB 19.02.09Seite 7

Grafische Darstellung .. in einem Flussdiagram:

Ein Flussdiagramm ist ein Ablaufdiagramm für Computerprogramme. Die benutzten Symbole sind in der DIN 66001 genormt.

... in einem Struktogramm: Struktogramme werden auch als Nassi-Shneidermann-Diagramme

bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt. Struktogramm-Editoren sind unter

http://de.wikipedia.org/wiki/Nassi-Shneiderman-Diagramm zu finden.

Page 8: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB 19.02.09Seite 8

Flussdiagramm: Wort-Suche

Text und Suchwort eingeben

Positionzeiger = 1. Zeichen

Suchwortlänge ermitteln

Hole Suchwortlänge Zeichen

Page 9: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB 19.02.09Seite 9

Flussdiagramm: Wort-Suche

Suchwort vorhanden

Hole Suchwortlänge Zeichen

Suchwort = Temp

Setze Positionzeiger + Länge Suchwort

Positionzeiger >= Länge Text

nein

nein

Page 10: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB 19.02.09Seite 10

Stukturgramm: Wort-SucheText eingebenZu suchendes Wort eingeben

Positionszeiger = 1. Zeichen

Suchwortlänge ermitteln

Hole Suchwortlänge Zeichen

Suchwort = Temp

Suchwort gefundenbreak

Positionzeiger + Länge SuchwortPositionzeiger >= Länge Text

break

nein

neinja

ja

Page 11: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB 19.02.09Seite 11

Vorteile von Struktogrammen Struktogramme erzwingen einen sequentiellen Programmablauf ohne

Sprünge. Im Allgemeinen führt die Verwendung von Struktogrammen dazu, dass

Programme besser strukturiert sind, als bei der Verwendung von Programmablaufplänen.

Verwenden Sie vorzugsweise (zumindest während Sie ihre erste Programmiersprache lernen) Struktogramme.

Bevor Sie mit der Codierung beginnen, machen Sie einen Programmentwurf.

Page 12: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB 19.02.09Seite 12

Kontrollanweisungen Mit Hilfe von Kontrollstrukturen kann der Programmablauf beeinflusst

werden. In Abhängigkeit vom Wert einer oder mehrerer Variablen wird der

Programmablauf gesteuert. Es gibt folgende Möglichkeiten:

Auswahlanweisungen: In Abhängigkeit eines Kriteriums werden Anweisungen ausgeführt oder nicht.

Schleifen (Iterationsanweisungen): Anweisungen werden wiederholt ausgeführt.

Page 13: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB 19.02.09Seite 13

Auswahlanweisungen if – else – Anweisungen. In Abhängigkeit einer Bedingungen werden

Anweisungen ausgeführt oder nicht. select case – Anweisungen. Der Wert eines Ausdrucks wird

ausgewertet. In Abhängigkeit des Wertes wird zu den verschiedenen Fällen verzweigt.

Page 14: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB 19.02.09Seite 14

Bedingte Anweisung .. oder Selektionsanweisungen. Wenn – Dann – Anweisung. ... beginnen mit dem If (wenn) und enden mit

dem End If. Zwischen diesen beiden Schlüsselwörtern

stehen Anweisungen. Diese Anweisungen werden nur ausgeführt,

wenn die Bedingung erfüllt ist. Die Bedingung folgt dem If und endet mit

Then (Dann). Falls die Bedingung nicht erfüllt ist, werden

die Anweisungen nach dem End If ausgeführt.

If (bedingung) Thenanweisung1;anweisung2;

End If

anweisung;

Bedingung

Anweisung 1

ja

nein

Page 15: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB 19.02.09Seite 15

Beispiel: if-Anweisung

Dim bestellpreis As Double Dim rabatt As Double Dim preis As Double = 0.99 Dim rabattpreis As Double Dim bestellmenge As Integer = 10

bestellPreis = (bestellmenge * preis) rabatt = 0

If (bestellmenge > 100) Then rabatt = 0.03 rabattPreis = bestellPreis * rabatt bestellPreis = bestellPreis - rabattPreis End If

Page 16: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB 19.02.09Seite 16

Bedingungen ... sind Ausdrücke, die einen boolschen Wert zurückliefern. Ein

boolscher Wert kennt nur zwei Zustände: true (wahr) oder false (falsch). ... vergleichen mit Hilfe von bestimmten Operatoren zwei Werte. Texte werden Zeichen für Zeichen mit Hilfe der ASCII-Codierung

verglichen. ... sind zum Beispiel:

Wenn die Bestellmenge eine gewisse Höchstmenge überschreitet... Wenn der Kontostand dem Dispo entspricht... Wenn die Strecke A doppelt so lang ist wie Strecke B... Wenn die Warenmenge eine Mindestmenge unterschreitet...

Page 17: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB ۱۹.۰۲.۰۹Seite ۱۷

Vergleichsoperatoren

Operator Beschreibung Beispiel Ergebnis= gleich 3 = 2 false

<> ungleich 3 <> 2 true

< kleiner als 3 < 2 false

<= kleiner gleich 3 <= 2 false

> größer 3 > 2 true

>= größer gleich 3 >= 2 true

Page 18: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB ۱۹.۰۲.۰۹Seite ۱۸

Logischen Operatoren nutzen

Operator Beschreibung Beispiel (wert = 5) ErgebnisAND UND (wert > 0) AND (wert < 10) trueOR ODER (wert > 0) OR (wert < 10) trueNOT NICHT NOT(wert > 0) false

Bedingung Möglichkeitena b NOT(a) a AND b a OR b

false false true false falsefalse true true false truefalse true true false truetrue false false false true

Page 19: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB ۱۹.۰۲.۰۹Seite ۱۹

Beispiel: Verknüpfung mit UND

Dim bestellpreis As Double Dim rabatt As Double Dim preis As Double = 0.99 Dim rabattpreis As Double Dim bestellmenge As Integer = 10

bestellPreis = (bestellmenge * preis) rabatt = 0

If (bestellmenge > 100) And (bestellmenge < 500) Then rabatt = 0.03 rabattpreis = bestellpreis * rabatt bestellpreis = bestellpreis - rabattpreis End If

Page 20: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB ۱۹.۰۲.۰۹Seite ۲۰

Beispiel: Verknüpfung mit UND Also

Dim bestellpreis As Double Dim rabatt As Double Dim preis As Double = 0.99 Dim rabattpreis As Double Dim bestellmenge As Integer = 10

bestellPreis = (bestellmenge * preis) rabatt = 0

If (bestellmenge > 100) AndAlso (bestellmenge < 500) Then rabatt = 0.03 rabattpreis = bestellpreis * rabatt bestellpreis = bestellpreis - rabattpreis End If

Wenn der linke Ausdruck wahr ist,

wird der rechte Ausdruck

ausgewertet. Andernfalls nicht.

Page 21: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB ۱۹.۰۲.۰۹Seite ۲۱

Beispiel: Verknüpfung mit ODER

Dim zahl As Double Dim mass As Char Dim umrechnung As Double

mass = "g"

If ((mass = "m") Or (mass = "g")) Then

umrechnung = zahl / 1000 End If

Page 22: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB ۱۹.۰۲.۰۹Seite ۲۲

Beispiel: Verknüpfung mit ODER

Dim zahl As Double Dim mass As Char Dim umrechnung As Double

mass = "g"

If ((mass = "m") OrElse (mass = "g")) Then

umrechnung = zahl / 1000 End If

Der rechte Ausdruck wird nur ausgewertet, wenn der linke Ausdruck

falsch ist.

Page 23: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB ۱۹.۰۲.۰۹Seite ۲۳

Beispiel: Nicht (Not) nutzen

Dim zahlA As Integer = 5 Dim zahlB As Integer = 6 Dim result As Integer

If Not (zahlB >= 0) Then Console.WriteLine("Division durch Null nicht erlaubt") Else result = zahlA \ zahlB End If

If (zahlB <> 0) Then result = zahlA \ zahlB Else Console.WriteLine("Division durch Null nicht erlaubt") End If

Page 24: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB ۱۹.۰۲.۰۹Seite ۲۴

Hinweise

Beispiel: (var1 != var2) && (var2 > 10) Zuerst wird die linke Bedingung (var1 != var2) ausgewertet. Anschließend wird die rechte Bedingung (var2 > 10) ausgewertet.

Ein Ausdruck wird immer von links nach rechts ausgewertet! Sie können die Operatoren beliebig oft in beliebiger Mischung in einer

Bedingung nutzen. Um die Lesbarkeit zu erhöhen, sollten die verschiedenen Elemente der

Bedingung mit runden Klammern zusammengefasst werden. Falls verschiedene Operatoren gemischt werden, muss die Bindung der

Operatoren beachtet werden.

Page 25: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB ۱۹.۰۲.۰۹Seite ۲۵

Rangfolge der Operatoren

( )^-* /\

Mod+&= <> < > <= => Like

NOTANDOR

Page 26: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB ۱۹.۰۲.۰۹Seite ۲۶

if-else-Anweisung Wenn – Dann – Andernfalls – Anweisung. Falls die Bedingung nicht erfüllt wird, werden

die Anweisungen im Else-Zweig ausgeführt. Der Else-Zweig

... kann nie ohne eine If-Anweisung existieren.

... hat die gleiche Einrücktiefe wie die dazugehörige If-Anweisung.

... benötigt keine Bedingung. ... beschreibt den Standardfall. ... fängt alle nicht behandelten Fälle ab.

If (bedingung) Thenanweisung1;anweisung2;

Elseanweisung1;anweisung2;

End If

anweisung;

Page 27: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB ۱۹.۰۲.۰۹Seite ۲۷

Aufbau der bedingten Anweisungen

Bedingung

Anweisungen Anweisungen

Bedingung erfüllt

else-Zweig

Anweisungen

Page 28: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB ۱۹.۰۲.۰۹Seite ۲۸

Beispiel: else-Anweisung

Dim bestellPreis As Double Dim bestellmenge As Integer = 10 Dim preis As Double = 0.88 Dim rabatt As Double Dim rabattpreis As Double

bestellPreis = (bestellmenge * preis)

If (bestellmenge > 100) Then rabatt = 0.03 rabattPreis = bestellPreis * rabatt bestellPreis = bestellPreis - rabattpreis

Else rabatt = 0.0 End If

Page 29: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB ۱۹.۰۲.۰۹Seite ۲۹

Verschachtelte Anweisungen Dim zahlA As Integer = 4 Dim zahlB As Integer = 3 Dim result As Integer

result = zahlA Mod zahlB

If (result = 0) Then

If (zahlA = zahlB) Then Console.WriteLine("Die Zahlen sind gleich.") Else Console.WriteLine("Division ohne Rest") End If

Else Console.WriteLine("Rest der Division: ", result) End If

Page 30: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB ۱۹.۰۲.۰۹Seite ۳۰

Hinweise Jede Ebene einer verschachtelten if-Anweisung wird mit Hilfe des

Tabulators eingerückt. Um die Übersicht zu behalten, sollten Sie nie mehr als 5 Ebenen tief

verschachteln. Vermeiden Sie unterschiedliche Datentypen auf beiden Seiten eines

Vergleichsoperators. Bei Dezimalzahlen sollte ein Test auf Gleichheit vermieden werden.

Page 31: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB ۱۹.۰۲.۰۹Seite ۳۱

Mehrstufige if-else-Anweisungen

Dim masse As Char Dim einheit As String

If (masse = "m") Then einheit = "Meter"

ElseIf (masse = "cm") Then einheit = "Zentimeter"

ElseIf (masse = "mm") Then einheit = "Milimeter"

Else einheit = "Nicht bekannt" End If

Page 32: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB ۱۹.۰۲.۰۹Seite ۳۲

Select Case-Anweisungen

Select Case masseCase "m"

einheit = "Meter"Case "cm"

einheit = "Zentimeter"Case "mm"

einheit = "Milimeter"Case Else

einheit = "Nicht bekannt"End Select

Page 33: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB 19.02.09Seite 33

Erläuterung

Select Case variableCase "fall1"

anweisung11Case "fall2"

anweisung21Case Else

anweisungEnd Select

Select Case leitet eine Fallunterscheidung ein.

Dem Schlüsselwort Select Case folgt eine Variable, die in dem Block untersucht wird.

Case leitet den einzelnen Fall ein. Entspricht der zu überprüfende Variablenwert dem angegebenen Wert, werden alle zu dem Fall gehörenden Anweisungen ausgeführt.

Eine Select Case-Anweisung überprüft standardmäßig einen Ausdruck auf Gleichheit!

Page 34: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB 19.02.09Seite 34

Standardfall Case Else

... beschreibt den Standardfall. ... wird genutzt, wenn alle anderen

beschriebenen Fälle nicht zutreffen. ... muss nicht genutzt werden.

Select Case variableCase "fall1"

anweisung11Case "fall2"

anweisung21Case Else

anweisungEnd Select

Page 35: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB 19.02.09Seite 35

Aufzählungen nutzen

Dim einkauf As String = "Bananen" Dim kategorie As String

Select Case einkauf

Case "Bananen", "Äpfel" kategorie = "Obst" Case "Möhre", "Kohlrabi" kategorie = "Gemüse" Case "Basilikum", "Schnittlauch" kategorie = "Kräuter"

Case Else kategorie = "" End Select

Der Wert der Variablen muss

einem Element aus der Auflistung

entsprechen. Die Auflistung kann aus beliebig viele Werte

bestehen.

Page 36: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB 19.02.09Seite 36

Unter- und Obergrenzen nutzen

Dim bestellsumme As Double = 100.5 Dim rabatt As Double

Select Case bestellsumme

Case 500 To 1000 rabatt = 0.2 Case 1000 To 1500 rabatt = 0.3 Case Is > 1500 rabatt = 0.4

Case Else rabatt = 0 End Select

Untergrenze To Obergrenze. Der

Wert der Variablen muss innerhalb der

Grenzen liegen.

Page 37: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB 19.02.09Seite 37

Vergleichsoperatoren nutzen

Dim bestellsumme As Double = 100.5 Dim rabatt As Double

Select Case bestellsumme

Case Is > 500, Is <= 1000 rabatt = 0.2 Case Is > 1000, Is <= 1500 rabatt = 0.3 Case Is > 1500 rabatt = 0.4

Case Else rabatt = 0 End Select

Is ist ein Synonym für die zu

untersuchenden Variable. Falls nicht

auf Gleichheit getestet wird, muss das

Schlüsselwort Is genutzt werden.

Vergleiche können auch durch Kommata getrennt aufgelistet

werden. Das Kommata trennt

mehrere Möglichkeiten.

Page 38: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB 19.02.09Seite 38

Vergleichsoperatoren nutzen

Dim bestellsumme As Double = 100.5 Dim rabatt As Double

Select Case bestellsumme

Case Is > 500 And bestellsumme <= 1000 rabatt = 0.2 Case Is > 1000, Is <= 1500 rabatt = 0.3 Case Is > 1500 rabatt = 0.4

Case Else rabatt = 0 End Select

Bei einer Verknüpfung mit AND muss die zu

vergleichende Variable wiederholt

werden.

Page 39: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB 19.02.09Seite 39

Schleifen (Iterationsanweisungen) ... führen Anweisungen mehrfach aus. Die Anzahl der Wiederholungen

muss nicht vorher festgelegt werden. ... können endlos laufen. Schleifen können vom Programmierer vorzeitig abgebrochen werden. Schleifen können verschachtelt werden.

Page 40: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB 19.02.09Seite 40

Schleifen-Typen Zählschleifen

Die Anzahl der Durchläufe ist bekannt. Mit Hilfe einer Variablen werden die Schleifendurchläufe gezählt und

nach einer bestimmten Anzahl abgebrochen. Kopfgesteuerte und fußgesteuerte Schleifen

... werden in Abhängigkeit einer Bedingung durchlaufen. Die Anzahl der Durchläufe ist nicht bekannt ... werden mit Hilfe einer Bedingung gesteuert, die im Kopf oder Fuß

der Schleife steht. Falls die Bedingung erfüllt ist, werden die Anweisungen

abgearbeitet. Eine fußgesteuerte Schleife wird unabhängig von der Bedingung

mindestens einmal durchlaufen.

Page 41: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB 19.02.09Seite 41

Zählschleife

Dim nMin As Integer = 1Dim nMax As Integer = 10Dim nCount As Integer = 0Dim nSumme As Integer = 0

For nCount = nMin To nMax nSumme = nSumme + nCount Console.WriteLine("+ " & nCount & "= " & nSumme)

Next nCount

Page 42: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB 19.02.09Seite 42

Schleifenaufbau Der Schleifenkopf einer Zählschleife beginnt dem Schlüsselwort For. Im Schleifenkopf wird

... der Zähler initialisiert (nCount = nMin). Die Zählvariable kann von einem beliebigen Typ sein.

... die Anzahl der Durchläufe durch die Angabe einer Unter- und Obergrenze festgelegt (nMin To nMax).

Die Schleife endet mit Next nCount. Im Schleifenfuß wird der Wert des Zähler um eins erhöht.

Page 43: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB 19.02.09Seite 43

Arbeitsweise

Bedingung

Initialisiere Zähler

Anweisungen

Zählvariable aktualisieren

ja

nein

Page 44: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB 19.02.09Seite 44

Schrittweite verändern

Dim nMin As Integer = 1Dim nMax As Integer = 10Dim nCount As Integer = 0Dim nSumme As Integer = 0

For nCount = nMin To nMax Step 2 nSumme = nSumme + nCount Console.WriteLine("+ " & nCount & "= " & nSumme)Next nCount

Page 45: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB 19.02.09Seite 45

Negative Werte nutzen

Dim nMin As Integer = 10Dim nMax As Integer = 5Dim nCount As Integer = 0Dim nSumme As Single = 0

For nCount = nMin To nMax Step -2 nSumme = nSumme + nCount Console.WriteLine("+ " & nCount & "= " & nSumme)Next nCount

Die Obergrenze muss kleiner als die

Untergrenze sein. Andernfalls wird die

Schleife nicht durchlaufen.

Page 46: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB 19.02.09Seite 46

Dezimalwerte nutzen

Dim nMin As Integer = 10Dim nMax As Integer = 5Dim nCount As Single = 0.5Dim nErgebnis As Single = 0

For nCount = nMin To nMax Step -0.5 nErgebnis = nCount Mod 2 Console.WriteLine(nCount & ": Rest = " & nErgebnis)Next nCount

Der Zähler und Schrittweite müssen den

gleichen Datentyp besitzen. Bei

unterschiedlichen Datentypen wird die

Schleife nicht durchlaufen.

Page 47: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB 19.02.09Seite 47

Schleifen verschachtelnDim wert As Integer Dim faktor As DoubleDim ergebnis As Double

For wert = 1 To 5 ergebnis = 0

For faktor = 0.5 To 2 Step 0.5ergebnis = faktor * wert If (faktor > 1.5) AND (wert = 2) Then

Exit ForEnd If

Next faktor

Console.WriteLine(ergebnis) Next wert

Die innere Schleife wird vollständig abgearbeitet. Anschließend wird der

nächste Schleifendurchlauf der äußeren Schleife

gestartet.

Page 48: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB 19.02.09Seite 48

Do... Loop -SchleifenDo

AnweisungLoop ... beginnen mit Do und endet mit Loop. Die Schleife hat keine Bedingung. Die Schleife läuft endlos.

Page 49: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB 19.02.09Seite 49

Fußgesteuerte Schleifen Die Abbruchbedingung steht im Fuß der Schleife. Die Anweisungen der Schleife werden einmal abgearbeitet.

Anschließend wird die Bedingung überprüft. Bedingung mit Hilfe von Until (bis ):

Die Schleife läuft solange bis die Bedingung erfüllt ist. Sobald die Bedingung erfüllt ist, wird die Schleife abgebrochen.

Bedingung mit Hilfe von While (während, so lange): Die Schleife läuft solange wie die Bedingung erfüllt ist. Sobald die Bedingung nicht erfüllt ist, wird die Schleife abgebrochen.

Page 50: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB 19.02.09Seite 50

Do-Loop UntilDim count As Integer = 0

Do count = count + 1Console.WriteLine(count)

Loop Until count > 5

count = 0 + 1count = 1 + 1count = 2 + 1count = 3 + 1count = 4 + 1count = 5 + 1

⇒ Abbruchcount + 1

wiederhole bis count > 5

Console.WriteLine

Page 51: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB 19.02.09Seite 51

Do-Loop WhileDim count As Integer = 0

Do count = count + 1Console.WriteLine(count)

Loop While count > 5

count = 0 + 1⇒ Abbruch

count + 1

wiederhole so lange count > 5

Console.WriteLine

Page 52: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB 19.02.09Seite 52

Kopfgesteuerte Schleifen Die Abbruchbedingung steht im Kopf der Schleife. Die Bedingung wird überprüft. Falls die Bedingung wahr ist, werden die

dazugehörigen Anweisungen ausgeführt. Bedingung mit Hilfe von Until (bis ):

Die Schleife läuft solange bis die Bedingung erfüllt ist. Sobald die Bedingung erfüllt ist, wird die Schleife abgebrochen.

Bedingung mit Hilfe von While (während, so lange): Die Schleife läuft solange wie die Bedingung erfüllt ist. Sobald die Bedingung nicht erfüllt ist, wird die Schleife abgebrochen.

Page 53: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB 19.02.09Seite 53

Do-Loop UntilDim count As Integer = 0

Do Until count > 5count = count + 1Console.WriteLine(count)

Loop

count = 0 + 1count = 1 + 1count = 2 + 1count = 3 + 1count = 4 + 1count = 5 + 1

⇒ Abbruch

count + 1

wiederhole bis count > 5

Console.WriteLine

Page 54: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB 19.02.09Seite 54

Do-Loop UntilDim count As Integer = 0

Do While count > 5count = count + 1Console.WriteLine(count)

Loop ⇒ Abbruch

count + 1

wiederhole solange count > 5

Console.WriteLine

Page 55: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB 19.02.09Seite 55

Schleife vorzeitig abbrechen Exit For verlässt eine For-Schleife und führt alle nachfolgenden

Anweisungen aus. Exit Do verlässt eine Do-Loop-Schleife und führt alle nachfolgenden

Anweisungen aus.

Page 56: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB 19.02.09Seite 56

Array (Feld) ... sind zusammengesetzte Datentypen. ... bestehen aus mehreren Elementen, die vom gleichen Datentyp sind. Eine Gruppe von Variablen wird gemeinsam verwaltet. Die Variablen

innerhalb der Gruppe haben den gleichen Datentyp. ... sind aufeinander gestapelte Behälter gleicher Größe, aber

unterschiedlichen Inhalts. ... können bis zu 32 Dimensionen besitzen. In Feldern werden zum Beispiel

... die Namen der Monate eines Jahres gespeichert. ... Temperaturwerte eines Jahres gespeichert. ... möglichen Größen von Schrauben abgelegt.

Page 57: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB 19.02.09Seite 57

Graphische Darstellung

1

Dim zahl As Integer = 1

1

Dim zahl() As Integer = {1, 2, 3, 4, 5}

2

3

4

5

[0]

[1]

[2]

[3]

[4]

Page 58: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB 19.02.09Seite 58

Variablen deklarieren

Dim faktor(4) As Single

Wer hat Zugriffauf die Variable? Nur der Block, in

dem sie deklariert ist,hat Zugriff. Der Name der

Variablen istfrei wählbar. In den

runden Klammern wird höchste Index angegeben.

Der Datentyp legt die Art der

zu speicherndenWerte und deren Speicherbedarf

fest.

Page 59: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB 19.02.09Seite 59

Arrays deklarieren und initialisierenDim zahlen() As Integer = {1, 2, 3, 4, 5} Die runden Klammern bleiben leer. Die Anzahl der Elemente wird durch die Initialisierung bestimmt. Dem Array wird mit Hilfe des Gleichheitszeichens eine Liste von Werten

zugewiesen. Die Liste wird mit Hilfe der geschweiften Klammern begrenzt. Die

Elemente der Liste werden durch Kommata getrennt.

Page 60: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB 19.02.09Seite 60

Indizes eines Array-Elements zahl(0) bezeichnet das erste Element in einem Array. zahl(3) bezeichnet das vierte Element in einem Array. zahl(anzahl – 1) bezeichnet das letzte Element in einem Array. Der Index folgt dem Variablennamen in runden Klammern ohne

Leerzeichen. Der Index wird bei der Deklaration oder durch die Initialisierung

automatisch festgelegt. Ein Index außerhalb des Bereichs liefert den Fehler Index Out Of Range.

Page 61: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB 19.02.09Seite 61

Zugriff mit Hilfe einer for-Schleife

Dim nMin As Integer = 0 Dim nMax As Integer = 5 Dim nCount As Integer

Dim nFeld(5) As Integer

For nCount = nMin To nMax

nFeld(nCount) = nCount * 2

Next nCount

Page 62: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB 19.02.09Seite 62

Zugriff mit Hilfe einer for Each-Schleife

Dim nFeld() As Integer = {1, 2, 3, 4, 5} Dim nElement As Integer

For Each nElement In nFeld

Console.WriteLine(nElement)

Next nElement

Es werden alle Elemente nach und nach durchlaufen.Der Durchlauf beginnt immer

beim ersten Element.

Page 63: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB 19.02.09Seite 63

Elemente kopieren

1

2

3

4

5

[0]

[1]

[2]

[3]

[4]

Dim nZahl(4) As Integer

0

0

0

0

0

[0]

[1]

[2]

[3]

[4]

Dim nFeld(4) As Integer

nFeld(3) = nZahl(3)

4

Page 64: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB 19.02.09Seite 64

Array kopieren

1

2

3

4

5

[0]

[1]

[2]

[3]

[4]

Dim nZahl(4) As Integer

Dim nFeld(4) As Integer

nFeld = nZahl

0

0

0

0

0

[0]

[1]

[2]

[3]

[4]

Page 65: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB 19.02.09Seite 65

Array kopieren

1

2

3

4

5

[0]

[1]

[2]

[3]

[4]

Dim nZahl(4) As Integer

Dim nFeld(4) As Integer

nFeld = nZahlClone

0

0

0

0

0

[0]

[1]

[2]

[3]

[4]

1

2

3

4

5

Page 66: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB 19.02.09Seite 66

Kopieren und an einer bestimmten Position einfügen

1

2

3

4

5

[0]

[1]

[2]

[3]

[4]

Dim nZahl(4) As Integer

Dim nFeld(5) As Integer

nZahl.CopyTo(nFeld, 1)

0

0

0

0

0

[0]

[1]

[2]

[3]

[4]

1

2

3

4

5

0[5]

1

2

3

4

5

Page 67: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB 19.02.09Seite 67

Anzahl der Elemente

Dim nMin As Integer = 0 Dim nCount As Integer Dim nFeld(5) As Integer Dim nAnzahlFeld As Integer

nAnzahlFeld = nFeld.Length

For nCount = nMin To nAnzahlFeld - 1

nFeld(nCount) = nCount * 2

Next nCount

Page 68: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB 19.02.09Seite 68

Maximalen Index ermitteln

Dim nMin As Integer = 0 Dim nCount As Integer Dim nFeld(5) As Integer

' GetUpperBound(Dimension) For nCount = nMin To nFeld.GetUpperBound(0)

nFeld(nCount) = nCount * 2

Next nCount

Page 69: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB 19.02.09Seite 69

Array sortieren

Dim nMin As Integer = 0 Dim nCount As Integer Dim nFeld(5) As Integer

For nCount = = nMin To nFeld.GetUpperBound(0)

nFeld(nCount) = nCount * 2

Next nCount

'Objekt Array stellte Methoden für die Bearbeitung zur VerfügungArray.Sort(nFeld)

Page 70: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB 19.02.09Seite 70

Darstellung von Dimensionen

3-Dimension (Matrizen etc.):Ein Quader (Körper) wird durch seine Breite, Länge und Höhe beschrieben.Es werden x-, y- und z-Koordinaten benötigt.

2-Dimension (Tabellen etc.):Ein Rechteck (Fläche) wird durch seine Breite und Länge beschrieben.Es werden x-, und y-Koordinaten benötigt.

1-Dimension:Ein Linie wird durch einen Startpunkt beschrieben und den Abstand von diesem Startpunkt.Es werden unendlich viele Punkte benötigt.

0-Dimension:Ein Punkt beschreibt eine Koordinate.

Page 71: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB 19.02.09Seite 71

Zweidimensionales Array

Dim nMin As Integer = 0 Dim nMax As Integer = 5 Dim nZeile As Integer

Dim nSpalte As Integer Dim nFeld(5, 5) As Integer

For nZeile = nMin To nMax

For nSpalte= nMin To nMax

nFeld(nZeile, nSpalte) = nZeile * nSpalte

Next nSpalte

Next nZeile

Page 72: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB 19.02.09Seite 72

Dynamische Arrays initialisierenDim nFeld() As Single. In den Klammern darf kein maximaler Index angegeben werden. Es kann jeder Datentyp genutzt werden. Die Größe wird dynamisch im Programm je nach Wunsch festgelegt.

Page 73: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB 19.02.09Seite 73

Dynamische Arrays vergrößern oder verkleinernReDim nFeld(10). Der maximale Index wird in den Klammern angegeben. Die Werte der Felder werden automatisch gelöscht. Es wird ein neues Feld mit dem angegebenen maximalen Index erstellt.

In diesem Beispiel hat das Feld 11 Elemente.

ReDim Preserve nFeld(10). Der maximale Index wird in den Klammern angegeben. Falls der angegebene maximale Index größer ist als der maximale

Ursprungsindex, bleiben alle Werte der vorhandenen Felder erhalten. Es werden nur neue Felder ergänzt.

Falls der angegebene maximale Index kleiner ist als der maximale Ursprungsindex, werden Felder gelöscht. Der Inhalt der Felder geht verloren.

Page 74: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB 19.02.09Seite 74

Fehler (Bugs) Syntaxfehler entstehen beim Schreiben des Programmcodes. Logische Fehler treten auf, wenn der Entwickler ein Denkfehler bei der

Umsetzung der Aufgabe in ein Programm macht. Das Programm wird fehlerfrei ausgeführt, aber das Ergebnis ist nicht korrekt.

Laufzeitfehler treten während der Ausführung des Programms auf. Zum Beispiel eine CD, von der Daten gelesen werden sollen, befindet sich nicht im Laufwerk.

Page 75: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB 19.02.09Seite 75

Syntaxfehler Die Syntax einer Programmiersprache ist die Gesamtheit der Regeln für

die Bildung von Anweisungen aus Operatoren und Operanden sowie die Nutzung von Funktionen.

... verhindern die Kompilierung eines Programms. ... sind zum Beispiel:

Tippfehler bei der Eingabe von Variablennamen oder Schlüsselwörtern.

Mischung von numerischen und nicht-numerischen Operatoren. Falsche Parameterübergabe an Funktionen. Syntaxfehler in Schleifen oder bedingten Anweisungen.

Page 76: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB 19.02.09Seite 76

Syntaxfehler vermeiden Öffnen Sie das Menü Extras – Optionen. Voraussetzung: Es werden nicht alle Optionen angezeigt. Öffnen Sie den Ordner Projekte und Projektmappen und den

Unterordner VB-Standard. Stellen Sie für Option Explicit und Option Strict den Wert On ein.

Wechseln Sie in den Ordner Text-Editor Basic und den Unterordner VB-spezifisch. Wählen Sie die Option Vorschläge für Fehlerkorrektur aktivieren aus.

Page 77: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB 19.02.09Seite 77

Anzeige von Syntaxfehler Syntaxfehler werden im Codefenster durch eine Schlangenlinie

gekennzeichnet. Wenn die Maus über den Fehler liegt, wird ein ToolTip zur Erläuterung eingeblendet.

Mit Hilfe von Ansicht – Fehlerliste werden alle Syntaxfehler in einem gesonderten Fenster aufgelistet.

Page 78: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB 19.02.09Seite 78

Laufzeitfehler ... sind Bugs, die nach dem Start eines Programms auftreten können. ... betreffen immer die Programmlogik. ... können Programme zu einem unerwünschten Verhalten oder einen

Programmabsturz zwingen. ... entstehen, wenn Ausdrücke oder Anweisungen vom Programm nicht

korrekt ausgewertet werden.

Page 79: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB 19.02.09Seite 79

Beispiele Division durch Null. Überlauf (zu großer oder zu kleiner Wert für den angegebenen

Datentyp). Falsche Abbruchbedingung für eine Schleife. Verwendung von ungültigen Operatoren. Ein- und Ausgabefehler. Tippfehler wie "1o" statt 10.

Page 80: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB 19.02.09Seite 80

Ausnahmen abfangen

Dim nZahl As Byte Dim nErgebnis As Byte

Try nZahl = Console.ReadLine() nErgebnis = nZahl \ 0

Catch ex As DivideByZeroException Console.WriteLine("Division durch Null ist nicht erlaubt")

Catch ex As OverflowException Console.WriteLine(ex.Message)

End Try

Page 81: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB 19.02.09Seite 81

Ablauf Es wird kein Fehler ausgelöst.

Es werden alle Anweisungen im try-Block ausgeführt. Anschließend werden alle Anweisungen, die dem try-Block folgen,

ausgeführt. Es wird eine Exception (Ausnahme) ausgelöst.

Alle nachfolgenden Anweisungen im try-Block werden nicht ausgeführt.

Es werden die catch-Anweisungen durchlaufen. Falls eine passende Ausnahme vorhanden ist, werden die dazugehörigen Anweisungen ausgeführt. Falls keine passende Ausnahme vorhanden ist, wird der Fehler an die nächst höhere Ebene weitergereicht.

Page 82: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB 19.02.09Seite 82

Exception-Klasse System.SystemException

ArithmeticException (Ausnahmen für arithmetische Operationen) DivideByZeroException (Divsion durch Null) OverflowException (Überlauf)

IndexOutOfRangeException (Index eines Array außerhalb der Höchstgrenze)

InvalidCastException (Fehler bei der Typ-Umwandlung) FormatException (Typen unverträglich)

... und viele mehr.

Page 83: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB 19.02.09Seite 83

... aufräumen

Dim filename As String = "test.txt" Dim objReader As System.IO.StreamReader Dim strText As String

Try objReader = New System.IO.StreamReader(filename) strText = objReader.ReadToEnd ' Datei einlesen objReader.Close()

Catch ex As IO.FileNotFoundException Console.WriteLine("Datei nicht vorhanden") Catch ex As Exception Console.WriteLine(ex.Message)

Finally objReader = Nothing End Try

Page 84: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB 19.02.09Seite 84

Logische Fehler ... entstehen

... beim Design eines Programms oder ... bei der Definition von Anforderungen an das Programm.

... können ... durch fehlendes Fachwissen oder ... Missverständnissen zwischen Nutzern und Entwicklern entstehen.

werden hervorgerufen durch ... eine falsche Anzahl von Schleifendurchläufen. ... durch das Erzeugen von Endlosschleifen. ... falsch formulierte Bedingungen in Anweisungen und Schleifen. ... eine falsche oder nicht vorhandene Klammerung von komplexen

Ausdrücken. ... falsch initialisierte Variablen.

Page 85: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB 19.02.09Seite 85

Einzelschritt Das Programm wird Zeile für Zeile durchlaufen. Die momentan auszuführende Zeile wird farbig unterlegt und mit einem

Pfeil am Rand gekennzeichnet. Der Pfeil kann mit Hilfe der gedrückt gehaltenen Maustaste verschoben. Das Programm führt ab dort das Programm neu aus.

Legen Sie den Mauszeiger auf einen Bezeichner oder Ausdruck. Der aktuelle Wert wird in einem ToolTip angezeigt.

Page 86: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB 19.02.09Seite 86

Einzelschritt starten Debuggen – Einzelschritt oder <F8>. Jede Zeile muss mit <F8> quittiert werden. Andere Möglichkeit:

Mit Hilfe des linken Icons wird der Einzelschritt-Modus eingeschaltet. Mit Hilfe des mittleren Icons werden alle Einzelschritte ausgeführt.

Aufgerufene Prozeduren oder Funktionen werden in einem Block abgearbeitet.

Mit Hilfe des rechten Icons wird die gerade ausgeführte Prozedur oder Funktion in einem Block abgearbeitet. Anschließend wird das Programm angehalten.

Page 87: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB 19.02.09Seite 87

Haltepunkte ... werden durch einen farbigen Punkt am linken Rand des

Codefensters dargestellt. Die dazugehörige Zeile wird in der gleichen Farbe gekennzeichnet.

... können nicht auf Deklarationsanweisungen, leeren Zeilen, Sprunganweisungen oder Kommentaren gesetzt werden!

Das Programm wird mit <F5> gestartet. Das Programm wird an einem Haltepunkt automatisch unterbrochen. Ab dem Haltepunkt kann das Programm im Einzelschritt durchlaufen werden.

Page 88: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB 19.02.09Seite 88

Haltepunkte setzen und löschen Debuggen – Haltepunkt umschalten oder <F9> setzt einen Haltepunkt

in der aktuellen Zeile oder entfernt einen vorhanden Haltepunkt. Debuggen – Alle Haltepunkte löschen entfernt alle Haltepunkte aus

dem aktuellen Projekt. Debuggen – Haltepunkte deaktivieren. Das Programm wird nicht an den

gesetzten Haltepunkten angehalten, sondern vollständig durchlaufen. Die Haltepunkte werden nicht gelöscht.

Page 89: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB 19.02.09Seite 89

Verschiedene Fenster nutzen Voraussetzung: Das Programm wird im Einzelschritt durchlaufen. Debuggen – Fenster –

Direkt. Geben Sie den gewünschten Befehl ein. Schließen Sie die Zeile mit <RETURN> ab. Der Befehl wird direkt ausgeführt und das Ergebnis angezeigt.

Lokal. Alle im aktuellen Block, gültigen Variablen werden angezeigt. Aufrufliste. In welcher Zeile wird eine Prozedur aufgerufen? Überwachen. Kontrolle von Variablen, Audrücken, etc.

Page 90: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB 19.02.09Seite 90

Arbeiten mit dem Direktfenster Werte aus dem Code in das Direktfenster schreiben:

Die Anweisung Debug.Print ausdruck schreibt einen Wert in das Direktfenster.

Anweisungen direkt in das Fenster eingeben: Klicken Sie mit den Mauszeiger auf eine freie Stelle im Direktfenster. Geben Sie die Anweisung ?Variable ein. Schließen Sie die

Anweisung mit <ENTER> ab. Der Wert der Variablen wird in der nächsten Zeile angezeigt.

Die Anweisung variable = wert verändert den Wert der Variablen. Die Anweisung ?Funktion(para, para, ...) führt eine bestimmte

Funktion aus. Das Resultat der Funktion wird in der nachfolgenden Zeile angezeigt. Vordefinierte Funktionen können getestet werden.

Page 91: VB.NET Anweisungen in Abhängigkeit von Kriterien … · Struktogramme werden auch als Nassi-Shneidermann-Diagramme bezeichnet. Die benutzten Symbole sind in der DIN 66261 genormt

Einführung in VB 19.02.09Seite 91

Überwachungsfenster Markieren Sie die Variable oder den Ausdruck, den Sie überwachen

möchten. Öffnen Sie mit der rechten Maustaste das dazugehörige Kontextmenü.

Wählen Sie den Befehl Überwachung hinzufügen im Kontextmenü aus. Der markierte Code wird in das Überwachungsfenster übernommen.

Passend zum Code wird der Wert und der dazugehörige Datentyp angezeigt.