3. Kurs-Arbeit „Informatik plus..“ 9 Fu (Di. 13. 3. 2001) Name: .............................Gr(F)

 

1.      Schreibe mit LOGO-Schlüsselworten (in Grossbuchstaben) ohne Variablen oder Parameter

a)         eine Prozedur kreis, die einen Kreis als 36-Eck mit 11 Schritten als Seitenlänge annähert

b)        eine Prozedur rosette, die punktsymmetrisch aus 12 kreisen gezeichnet wird.

 

2.a)   Untersuche, was die folgende Prozedur zeichnet mit dem Aufruf:  quadrate 40
PR quadrate :SL

            RE 90

            WH 3 [ WH 4 [VW :SL LI 90] VW :SL ]

         ENDE

  b)    Verbessere die obige Prozedur durch das Vermeiden von geschachtelten Wiederholungsschleifen.

 

c)         Vervollständige die folgenden Prozeduren derart, dass sie abwechselnd Quadrate mit 40 und 50 Schritten als Seitenlänge nebeneinander zeichnen:

 

PR anfang.quadrate

            BILD

 quadrate 40
 quadrate 50
 ...

ENDE

 

PR quadrate :SL

            RE 90

            Quadrat :SL  VW :SL
            ...

ENDE

 

PR quadrat :SL

  ...

d)        Schreibe nun eine Prozedur, die wie nebenstehend skizziert Rechtecke mit derselben Breite 20, aber unterschiedlicher Höhe :h nebeneinander zeichnet  (wie bei Stabdiagrammen).


 

3. a)  Untersuche, was in folgenden Prozeduren mit den Befehlen DRUCKEZEILE  kurz: DZ jeweils im Textfenster dargestellt wird:

PR Anfang.variablen

             BILD

            Zielscheibe 8

            (DZ "SL = " :SL)

            (DZ "radius = " :radius)

ENDE

 

         PR Zielscheibe :ez

 LOKAL "radius"

             SETZE "radius" 10

  WH 12 [kreis :ez :radius SETZE "radius" (:radius + 10)]

ENDE


 

PR kreis :ez :r

              SH VW :r RE (90 + 180 / :ez) SA

              nEck :ez :r

              SH LI (90 + 180 / :ez) RW :r SA

 ENDE

 

PR nEck :ez :r

  ;* LOKAL "SL"

              SETZE "SL" (6,28 * :r / :ez)

              WH 36 [VW :sl RE (360 / :ez)]

              (DZ "Radius = " :radius)

ENDE

 

   b)      Beschreibe, wie wir mit Zufallszahlen eine Annäherung des Kreis-Flächeninhalts
A = Pi * radius * radius = 3,14 * r^2 programmiert haben.

            PR anfang.PiNäherung

              SETZE "treffer" 0

  WH 100 [tropfen]

 (DZ "Also sind von 100 zufälligen Punkten " :treffer " innerhalb des Kreises mit dem Radius 100")

 (DZ  "Kreisfläche pro Quadratfläche = Treffer pro Anzahl = " (:treffer / 100))

             (DZ "Pi-Annäherung = 4 * Treffer pro Anzahl = " (4 * :treffer / 100))

ENDE

 

PR tropfen

  LOKAL "x" SETZE "x" ( ZUFALLSZAHL 200)

  LOKAL "y" SETZE "y" (ZUFALLSZAHL 200)

              LOKAL "abstand"

  SETZE "abstand" (QW ((100 - :x) * (100 - :x) + (100 - :y) * (100 - :y)))

  (DZ "Abstand des Zufallspunktes (" :x " ;" :y ") vom Mittelpunkt (100;100) = " :abstand)

  WENN :abstand < 100 DANN SETZE "treffer" (:treffer + 1)

ENDE

 

 4.         Schreibe
 a) in iterativer Formulierung und
 b) dann auch mit Rekursion Prozeduren,
die  gleichseitige Dreiecke zeichnen,
deren Eckpunkte folgendermaßen
jeweils auf den Mittelpunkten der vorherigen Dreieckseiten liegen:

 

                                                           Gutes Gelingen !!!