Add Lektion2 While Loops Tasks
This commit is contained in:
parent
0134c1c663
commit
abed847f74
41
Lektion 2/While_Loops/.vscode/tasks.json
vendored
Normal file
41
Lektion 2/While_Loops/.vscode/tasks.json
vendored
Normal file
@ -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"
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
117
Lektion 2/While_Loops/While_Loops.pde
Normal file
117
Lektion 2/While_Loops/While_Loops.pde
Normal file
@ -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++;
|
||||
}
|
||||
*/
|
||||
BIN
Lektion 2/While_Loops/out/While_Loops.class
Normal file
BIN
Lektion 2/While_Loops/out/While_Loops.class
Normal file
Binary file not shown.
147
Lektion 2/While_Loops/out/source/While_Loops.java
Normal file
147
Lektion 2/While_Loops/out/source/While_Loops.java
Normal file
@ -0,0 +1,147 @@
|
||||
/* autogenerated by Processing revision 1293 on 2023-10-05 */
|
||||
import processing.core.*;
|
||||
import processing.data.*;
|
||||
import processing.event.*;
|
||||
import processing.opengl.*;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.ArrayList;
|
||||
import java.io.File;
|
||||
import java.io.BufferedReader;
|
||||
import java.io.PrintWriter;
|
||||
import java.io.InputStream;
|
||||
import java.io.OutputStream;
|
||||
import java.io.IOException;
|
||||
|
||||
public class While_Loops extends PApplet {
|
||||
|
||||
public void setup() {
|
||||
/*
|
||||
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++;
|
||||
}
|
||||
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user