From abed847f742bb3fc4ab23d366374dcf74c01d226 Mon Sep 17 00:00:00 2001 From: Tarek Dafay Date: Thu, 5 Oct 2023 09:38:00 +0200 Subject: [PATCH] Add Lektion2 While Loops Tasks --- Lektion 2/While_Loops/.vscode/tasks.json | 41 +++++ Lektion 2/While_Loops/While_Loops.pde | 117 ++++++++++++++ Lektion 2/While_Loops/out/While_Loops.class | Bin 0 -> 811 bytes .../While_Loops/out/source/While_Loops.java | 147 ++++++++++++++++++ 4 files changed, 305 insertions(+) create mode 100644 Lektion 2/While_Loops/.vscode/tasks.json create mode 100644 Lektion 2/While_Loops/While_Loops.pde create mode 100644 Lektion 2/While_Loops/out/While_Loops.class create mode 100644 Lektion 2/While_Loops/out/source/While_Loops.java diff --git a/Lektion 2/While_Loops/.vscode/tasks.json b/Lektion 2/While_Loops/.vscode/tasks.json new file mode 100644 index 0000000..b2fd501 --- /dev/null +++ b/Lektion 2/While_Loops/.vscode/tasks.json @@ -0,0 +1,41 @@ +{ + "version": "2.0.0", + "tasks": [ + { + "label": "Run Sketch", + "type": "shell", + "group": { + "kind": "build", + "isDefault": true + }, + "command": "/home/borsi/Documents/Uni/1_Semester/Prg/processing-4.3/processing-java", + "presentation": { + "echo": true, + "reveal": "always", + "focus": false, + "panel": "dedicated" + }, + "args": [ + "--force", + "--sketch=${workspaceRoot}", + "--output=${workspaceRoot}/out", + "--run" + ], + "windows": { + "type": "process", + "args": [ + "--force", + { + "value": "--sketch=${workspaceRoot}", + "quoting": "strong" + }, + { + "value": "--output=${workspaceRoot}\\out", + "quoting": "strong" + }, + "--run" + ] + } + } + ] +} diff --git a/Lektion 2/While_Loops/While_Loops.pde b/Lektion 2/While_Loops/While_Loops.pde new file mode 100644 index 0000000..9733fa8 --- /dev/null +++ b/Lektion 2/While_Loops/While_Loops.pde @@ -0,0 +1,117 @@ +/* +1. Wozu benötigt einen Schleife eine Schleifenbedingung? +Wenn es keine Schleifenbedingung gibt, läuft die Schleife nicht. + +2. Warum ist die Schleifenaktion wichtig? Was passiert, wenn es keine Schleifenaktion gibt? +Nichts?????? + +3. Was bedeutet kopfgesteuert und fußgesteuert in Bezug auf Schleifen? +Bei einer kopfgesteuerten Schleife, wird die Abbruchbedingung vor dem Durchlauf geprüft, bei einer fußgesteuerten nach dem Durchlauf. +Dh. eine Fußgesteuerte Schleife läuft immer min. 1x, eine Kopfgegesteuerte >= 0x + +4. Ist dieser Code korrekt? Ist er sinnvoll? Begründe.int zaehler = 0; + while(true) { + println("Hi"); + zaehler++; + } + + Syntaktisch ist der Code Korrekt. Er enthält allerding eine Endlosschleife. + die Variable Zähler ist eine Laufvariable, welche die Durchläufe zählt. + + + +----------------------------------------Aufgaben----------------------------- +*/ + +/* +1. 2er-Schritte + Schreibe eine While-Schleife, + die eine Variable zaehler in 2er-Schritten von 0 bis 10 hochzählt. + In jeder Runde gibst du den Wert auf der Konsole aus. + + +int zaehler = 0; + +while (zaehler <= 10) { + println(zaehler); + zaehler+=2; +} +*/ + +/* +2. 2er-Schritte rückwärts +Schreibe eine While-Schleife, die eine Variable zaehler in 2er-Schritten von 10 bis 0 runterzählt. +In jeder Runde gibst du den Wert auf der Konsole aus. + +int zaehler = 10; + +while (zaehler >= 0) { + println(zaehler); + zaehler-=2; +} +*/ + + +/* +3. Hash-Zeichen +Schreibe eine While-Schleife, die eine vorgegebene Anzahl von #-Zeichen (engl. hash) auf der Konsole ausgibt. Die Anzahl wird durch +eine Variable festgelegen. + +int anzahl = 3; + +// jetzt dein Code... +In dem Code oben sollen also 3 Hashes ausgegeben werden. Wenn man die Variable anzahl auf 7 setzt, sollen 7 Hashes ausgegeben werden. + +Hinweis: Veränder die Variable anzahl nicht. Führe stattdessen eine zweite Variable i ein, um deine While-Schleife zu steuern. + +Auf der Konsole sollte nach Start dies stehen: + +### + +int i = 0; +int anzahl = 3; +while (i < anzahl) { + i++; + print("#"); +} +*/ + +/* +4. Viele Quadrate +Zeichne drei Quadrate nebeneinander. +Das erste liegt bei (10, 40) und ist 20x20 Pixel groß. Das nächste liegt mit 10 Pixeln Abstand rechts daneben, +das dritte wieder 10 Pixel rechts davon. Verwende eine While-Schleife, +sodass du mit einer kleinen Änderung auch 5 oder 2 Quadrate zeichnen kannst. + + + + +size(1000,1000); +int anzahl = 5; +int i = 0; +int x = 0; +int size = 20; +while (i < anzahl) { + i++; + rect(x, 0, size, size); + x+=10 + size; +} +*/ + +/* +5. Teiler +Schreibe alle Zahlen im Bereich {1, ..., 49} auf die Konsole, die durch 7 teilbar sind, und alle, die durch 13 teilbar sind. +Verwende eine While-Schleife. +*/ + +/* +int i = 1; + +while(i < 50) { + if(i%7==0) + { + println(i); + } + i++; +} +*/ diff --git a/Lektion 2/While_Loops/out/While_Loops.class b/Lektion 2/While_Loops/out/While_Loops.class new file mode 100644 index 0000000000000000000000000000000000000000..fefa6a881c680f1b5fe1a9b5a60e864cdf7298ae GIT binary patch literal 811 zcmX^0Z`VEs1_pBmEp`SbMh5QijLe+Wc%S_If?{?C7Dfi~f};H7)Z*gIymbBK{GwF- z0LOxYoYWFV1~!|_yv!0iMh0dL%`ip=7U%qwR4xW)22LIZRt7dk27aH+yi~u^+@#c^ zki?{%R7M6NpZw&+oUp{AOb{O`$WoG#Sw{#oH6sISacW6v0T%-!g8&bMAcGJi z1A9SHW?o579wP&bhNos2NJ@lY&Q()EK&iZb)ktu@2g8Dtn41kfco7??nI$n!8LFeoxIuqEf` zB`20JGFW3X1e>{7#6aPr%)=nbAjQbQRghR*oSNcTlwQopAdE#ZBLi0=IIKZR*cntA z8MuP;ON)|I-7-O;DS#AUdLYL$C^9fIFf)JvGXo_A*FEG7HHD`)D0w;M3OH!63JTL1{SyyY>zSC4@_)7}yvX7= 0x + +4. Ist dieser Code korrekt? Ist er sinnvoll? Begründe.int zaehler = 0; + while(true) { + println("Hi"); + zaehler++; + } + + Syntaktisch ist der Code Korrekt. Er enthält allerding eine Endlosschleife. + die Variable Zähler ist eine Laufvariable, welche die Durchläufe zählt. + + + +----------------------------------------Aufgaben----------------------------- +*/ + +/* +1. 2er-Schritte + Schreibe eine While-Schleife, + die eine Variable zaehler in 2er-Schritten von 0 bis 10 hochzählt. + In jeder Runde gibst du den Wert auf der Konsole aus. + + +int zaehler = 0; + +while (zaehler <= 10) { + println(zaehler); + zaehler+=2; +} +*/ + +/* +2. 2er-Schritte rückwärts +Schreibe eine While-Schleife, die eine Variable zaehler in 2er-Schritten von 10 bis 0 runterzählt. +In jeder Runde gibst du den Wert auf der Konsole aus. + +int zaehler = 10; + +while (zaehler >= 0) { + println(zaehler); + zaehler-=2; +} +*/ + + +/* +3. Hash-Zeichen +Schreibe eine While-Schleife, die eine vorgegebene Anzahl von #-Zeichen (engl. hash) auf der Konsole ausgibt. Die Anzahl wird durch +eine Variable festgelegen. + +int anzahl = 3; + +// jetzt dein Code... +In dem Code oben sollen also 3 Hashes ausgegeben werden. Wenn man die Variable anzahl auf 7 setzt, sollen 7 Hashes ausgegeben werden. + +Hinweis: Veränder die Variable anzahl nicht. Führe stattdessen eine zweite Variable i ein, um deine While-Schleife zu steuern. + +Auf der Konsole sollte nach Start dies stehen: + +### + +int i = 0; +int anzahl = 3; +while (i < anzahl) { + i++; + print("#"); +} +*/ + +/* +4. Viele Quadrate +Zeichne drei Quadrate nebeneinander. +Das erste liegt bei (10, 40) und ist 20x20 Pixel groß. Das nächste liegt mit 10 Pixeln Abstand rechts daneben, +das dritte wieder 10 Pixel rechts davon. Verwende eine While-Schleife, +sodass du mit einer kleinen Änderung auch 5 oder 2 Quadrate zeichnen kannst. + + + + +size(1000,1000); +int anzahl = 5; +int i = 0; +int x = 0; +int size = 20; +while (i < anzahl) { + i++; + rect(x, 0, size, size); + x+=10 + size; +} +*/ + +/* +5. Teiler +Schreibe alle Zahlen im Bereich {1, ..., 49} auf die Konsole, die durch 7 teilbar sind, und alle, die durch 13 teilbar sind. +Verwende eine While-Schleife. +*/ +/* +*/ +int i = 1; + +while(i < 50) { + if(i%7==0) + { + println(i); + } + i++; +} + + noLoop(); + } + + static public void main(String[] passedArgs) { + String[] appletArgs = new String[] { "While_Loops" }; + if (passedArgs != null) { + PApplet.main(concat(appletArgs, passedArgs)); + } else { + PApplet.main(appletArgs); + } + } +}