Curriculum Elementare Programmierung ◦ ?

Übungen fett, Kurzaufgaben normal

1. Makro und Unterprogramm (Hexagon)
2. Zuweisung
3. Wiederholungs- und Entscheidungsanweisung
4. Objektterminologie
5. Objektterminologie und VBA
6. Punktnotation
7. Funktion (WortExperiment)
8. Boolsche Operatoren
9. Benutzerschnittstelle (HexagonDialog)
10. Fallbeispiel (Gewinnverteilung)
11. Zählschleife
12. Geometrische Folge
13. Datenfeld (Maximum)
14. Binärsuche (sucheIterativBinär)

####
Zuweisung

a) Geben Sie der folgenden Subroutine einen sinnvollen Namen:

>     Sub .............................()
>       Dim Alpha As String
>       Dim Omega As String
>       Dim Tmp As String

>       Alpha = “Alpha”
>       Omega = “Omega”
>       Tmp = Alpha
>       Alpha = Omega
>       Omega = Tmp
>     End Sub

b) Welche Werte haben Alpha und Omega nach Verlassen der Subroutine?

c) Was bedeutet Tmp?

#### Wiederholungs- und Entscheidungsanweisung

Das folgende Programmstück soll aus den abgerechneten Stunden mehrerer Arbeiter die Lohnsumme berechnen. Der Stundenlohn ist für die ersten 44 Stunden 30.-. Überstunden werden mit 40.- entlöhnt. Die Eingabe von 0 oder einer negativen Zahl führt zum Programmabbruch.

>     Lohnsumme = .......................................
>     Stunden = InputBox(“Stundenzahl (0 bricht ab): ”)
>     Do While Stunden > 0
>       Lohnsumme = Lohnsumme + Stunden * 30
>       If Stunden > 44 Then
>         Lohnsumme := ..................................
>       End If
>       .................................................
>     Loop

a) Ergänzen Sie das Skelett.
b) Suchen Sie nach alternativen Lösungen.

#### Objektterminologie

Ordnen Sie den Beispielen a bis f die passende Klasse 1 bis 6 zu

1. MS Word

2. Tabellenblatt

3. Tabellenblatt “Gewinnverteilung“

4. Tabellenblatt schliessen

5. Grösse eines Tabellenblatts

6. ERdreistufig.xls

1. Anwendungspaket (application)
2. Anwendung
3. Objektklasse
4. Objekt
5. Eigenschaft (property)
6. Methode.

#### Objektterminologie und VBA

1. Was tut der folgende Code? (Die Listenschleife For Each ... Next geht durch alle Elemente einer Liste, zum Beispiel alle Zellen eines Bereichs oder alle Tabellenblätter einer Arbeitsmappe)

>     Dim Zelle As Range
>     Dim leer As Integer

>     leer = 0
>     For Each Zelle In Range(“Bereich”)
>       If Zelle.Value = “” Then
>         leer = leer + 1
>       End If
>     Next Zelle

>     MsgBox “Leere Zellen: ” & leer

1. Suchen Sie für jeden der folgenden Begriffe den passenden Codeteil (Wählen Sie den ersten Buchstaben als Abkürzung):

- Listenschleife
- Auswahlanweisung
- Objekte
- Eigenschaften
- Methoden
- Variablen
- Konstanten

#### Punktnotation

a) Interpretieren Sie die folgende Anweisung:

>     Workbooks(“XY.xls”)
>         .Worksheets(“YZ")
>             .Range(”A1:C20“)
>                 .Sort ...

b) Welcher Befehl löscht das erste Tabellenblatt von XY.xls (vgl. Online-Hilfe).

#### Boolsche Operatoren

Stellen Sie fest, ob die Entscheidungsanweisungen 1 bis 4 unter den Voraussetzungen a und b betreten werden.

1. If X < 10 Or X > 20 Then ...

2. If X < 10 And X > 20 Then ...

3. If Not (X < 10 And X > 20) Then ...

4. If Not (X < 10 Or X > 20) Then ...

1. X sei 100

2. X sei 15

#### Zählschleife

Transformieren Sie die folgende Zählschleife in eine gleichwertige While-Schleife:

>     Dim Läufer(1 To 5) As String
>     Dim i As Integer

>     For i = 1 To 5
>       Läufer(i) = “Fritz”
>     Next i

#### Geometrische Folge

Speichern Sie ein Datenfeld F, das eine geometrische Folge mit den folgenden Merkmalen enthält:

Anfangsglied | 2
Quotient | 1/2
untere Grenze | 1
obere Grenze | 10

F(1) | F(2) | F(3) | F(4) | F(5) | F(6) | F(7) | F(8) | F(9) | F(10)
2 | 1 | 1/2 | 1/4 | 1/8 | 1/16 | 1/32 | 1/64 | 1/128 | 1/256

>     Sub Geometrische_Folge;
>       Dim F(1 To 10) As Double
>       Dim i As Integer
>       ....................................................
>       ....................................................
>       ....................................................
>       ....................................................
>     Sub End