Processing Lernhilfe Zusammenfassung WOLF
was ist ein array, welche datentypen kann es haben
• Arrays sind Variablen, die mehrere Werte gleichen Typs gleichzeitig enthalten. Die enthaltenen Werte sind bei 0 beginnend durchnummeriert. Dieser ›Index‹ wird in eckigen Klammern angegeben. • Der Datentyp für ein Array kann selbst ein Array (eines beliebigen Datentyps) sein. Auf diese Weise kann man Arrays aus Arrays bilden, was auf mehrdimensionale Arrays hinausläuft (obwohl es technisch nicht ganz dasselbe ist: mehrdimensionale Arrays, wie sie in anderen Programmiersprachen existieren, sind immer ›rechteckig‹, in Processing muss das nicht der Fall sein).
Wie schreibt man Zeilenendkommentare?
//
was ist ein statisches Programm?
ein Programm welches einmal von oben bis unten abgearbeitet wird
In welcher Reihenfolge werden Befehle abgearbeitet?
von oben nach unten
was ist void draw () { }
ein aufrufbares Unterprogramm, eine sogenannte Methode
Was ist eine methode
Überbegriff für in einem block zusammengefassten code. An anderer stelle verwendbar. Kann selbst erstellt werden neben den standardmethoden wie void draw und setup
erklären Sie die "Kapselung"
›Kapselung‹ bedeutet, dass sich alle Codestellen, die auf eine Variable zugreifen, in derselben Datei befinden, in der die Variable deklariert ist.
was ist ein Literal?
ein Literal ist ein funktionsloser Text der DIREKT im Quelltext inkludiert wird (zum Beispiel Hello World in println ("Hello World")
ist Processing eine eigenständige Programmiersprache oder eine Erweiterung von Java?
eine Erweiterung von Java
wie schreibt man einen Blockkommentar (mehrzeilig)
/* dfsfg */
Was ist Unicode? Wie hängt er mit ascii und ansii zusammen?
Ascii hatte wenig zeichen, ansi schon mehr und im unicode belegt ein buchstabe bereits 4 byte, wodurch alle zeichen unterstützt wird
*welche kommentare gibt es und wie würden sie diese verwenden?
Blockkommentare und Zeilenendkommentare Tipp: schreiben Sie in jeder Quelldatei einen Kopfkommentar, aus dem ganz kurz Aufgabenstellung, Datum, Autor (und später noch Änderungen) hervorgehen. Tipp: schreiben Sie (außer beim Kopfkommentar) nur Zeilenendkommentare, keine Blockkommentare. Wenn man sich daran hält, kann man zu Testzwecken ganze Codeteile ›ausblenden‹. Das geht aber nur, wenn im Code keine Blockkommentare eingestreut sind, denn wie wir oben gesehen haben, lassen sich Blockkommentare nicht schachteln.
was sind die zwei arten von kommentaren?
Blockkommentare und Zeilenkommentare
wo liegt die größte Stärke von Processing
Computergraphik
wie schreibt man direkt den inhalt in ein array wenn er bekannt ist?
bsp: long position[] = new long[3]; long[] position = { 0, 0, 0 } ;
ist Groß und Kleinschreibung zu beachten?
ja
sollen Zeilenendkommentare auf eine eigene Zeile?
ja
werden Objekte immer in Klassen programmiert?
ja
Literale im Quelltext; gut, schlecht oder egal?
schlecht
Ziele von Processing
Computergraphik Prototyping Webseiten (Java) Ansteuerung eines >Arduino< -Mikrocontrollers Android programmieren
was sind Ereignismethoden?
Dass ›etwas Externes‹ passiert, wie beispielsweise der Druck auf eine Taste, erfährt das Programm, indem von Processing eine Methode eines bestimmten Namens aufgerufen wird, eine ›Ereignismethode‹. Jedes Ereignis hat seine eigene Methode (keyPressed() mouseMoved() usw.). Will man auf bestimmte Ereignisse reagieren, muss man in seinem Programm lediglich eine Methode mit dem richtigen Namen einfügen.
Variablen: wie nennt man die Wertzuweisung und Deklaration gemeinsam?
Definition
wie man den konstruktor von der superklasse übergibt und was dabei zu beachten is
Der Konstruktor der Superklasse kann mit super() als erster Befehl im Konstruktor aufgerufen werden. Wenn zwei Konstruktoren gleich heißen gilt es darauf zu achten welcher denn für die erzeugung des objekts nur herangezogen wird.
Primitive datentypen
Die ›primitiven‹ Datentypen in Processing sind byte, int, long, float, double, boolean, color und char.
wie kann man die frameRate verändern?
Durch Aufruf der Methode frameRate() kann man die Anzeigerate verändern.
was ist ein Ausdruck?
Ein Ausdruck ist etwas, das ausgewertet werden muss, wobei schlussendlich etwas heraus kommt, was einem Literal entspricht. Das kann Zeichenketten betreffen, aber auch arithmetische Operationen und dergleichen.
Was sind ausdrücke?
Ein Ausdruck ist etwas, das ausgewertet werden muss, wobei schlussendlich etwas heraus kommt, was einem Literal entspricht. Das kann Zeichenketten betreffen, aber auch arithmetische Operationen und dergleichen. Jeder Ausdruck hat also einen Datentyp und kann im Programm überall auftreten, wo ein Literal des entsprechenden Type auch stehen könnte.
Was ist eine Programmiersprache und was kann man damit machen
Eine Sprache in der man Sachverhalte zum Ausdruck bringen, Fragen stellen, Anweisungen erteilen und Gedanken jeglicher Art formulieren kann - eine Programmiersprache folgt jedoch strengen Regeln
Wie lassen sie alternativ einen von zwei codeblöcken ausführen und was sind die befehle dieser funktion?
Entscheidungen über die Ausführung alternativer Codeblöcke können mit den Befehlen if()-else oder switch() getroffen werden. Das Kriterium ist dabei irgendeine Art von Vergleich.
X++ ++x unterschied?
Es wird zuerst addiert bei ++x und bei x++ wird zuerst der z.b. punkt gezeichnet und dann addiert
Welche methoden können auch als ausdrücke funktionieren? Welche nicht?
Hat die Methode einen anderen Datentyp als void kann ihr Aufruf als ›Ausdruck‹ (Details in 3.8) benützt werden. Mit anderen Worten, eine long-Methode kann überall dort stehen, wo im Code eine ganze Zahl benötigt wird - ein Ausdruck eben. Grundsätzlich kommen alle in Table 3.1 genannten Datentypen dafür in Frage und noch weitere, wie wir später noch sehen werden.
Wie nennt man die erste Zuweisung eines Werts zu einer Variablen
Initialisierung
Was bedeutet die Abkürzung IDE?
Integrated Development Environment (Integrierte Entwicklungsumgebung) darunter versteht man Programme die für das Programmieren unerlässlich sind und daher bei den Programmierprogrammen inkludiert sind: grundlegend sind dabei ein Text Editor und ein Compiler
Muss eine Klasse den gleichen Namen wie das Objekt haben (gemeint die Datei)
JA weil in Java nur so programmiert werden kann
wird das JAVA DEVELOPMENT KIT für processing benötigt
Ja, da der compiler von Java benötigt wird um Maschinencode zu erzeugen
Was ist ein Java Package?
Packages strukturieren die Vielzahl von Klassen, aus denen eine Applikation bestehen kann.
was verstehen sie unter operatorpräzedenz?
Reihenfolge von Operationen wie punkt vor strich rechnung in der arithmetik. Bereits seit der Unterstufe wissen wir: ›Punktrechnung geht vor Strichrechnung‹. Das bedeutet, dass in einem zusammengesetzten arithmetischen Ausdruck wie zum Beispiel 3 + 4 * 5 Multiplikationen oder Divisionen zuerst durchzuführen sind, und danach Additionen und Subtraktionen. Diese Reihenfolge kann man willkürlich durch das Setzen von Klammern abändern. Beim Programmieren gibt es allerdings mehr als nur zwei Arten von Operationen, und daher auch mehr als nur zwei Vorrangregelungen. Es gibt eine genau festgelegte Reihenfolge, in der Operationen in zusammengesetzten Ausdrücken abgearbeitet werden. In der nachfolgenden Tabelle:
Was passiert mit variablen die in einem block definiert werden? Macht das sinn?
Sie verschwinden sobald der block duchgelaufen ist,. Variablen immer über setup deklarieren
wie kann man den float 3.7 in ein int umwandeln und was passiert mit der nachkommastelle?
Um Processing zu zwingen, die Operation doch durchzuführen, müssen wir das Ergebnis in den passenden Typ konvertieren. Das geht, indem man den gewünschten Datentyp in runden Klammern vor den umzuwandelnden Ausdruck schreibt. In unserem Fall also long x = (long) ( 7 + 4.8 ) ; Wie Sie sich überzeugen können, wird nicht gerundet, sondern die Nachkommastellen einfach abgeschnitten. Dasselbe passiert bei negativen Zahlen. Größte Vorsicht also bei allen Zuweisungen zu Ganzzahl-Variablen! Preisfrage: was enthält a nach int a
was ist das objekt this?
Verhindert eine lokale Variable den Zugriff auf eine globalere gleichen Namens, wie es der Fall ist, wenn ein Übergabeparameter genauso heißt wie eine außerhalb deklarierte Variable, so kann man auf die globalere mit der Objektbezeichnung this zugreifen: this.verstellteVariable.
was? oder warum? in Kommentare schreiben?
WARUM! das WAS steht ja im code selbst
was ist eine variable was ist ein konstruktor
Wie die Bezeichnung ›Variable‹ ja schon andeutet: der Inhalt einer Variablen kann verändert werden. Dazu Bedarf es einer ›Zuweisung‹.
Was bedeutet scope?
Wirkungsbereich einer variable
was versteht man im Kontext des Text Editors unter Syntax Highlighting
Wörter werden eingeärbt damit sofort klar ist welche Art von Sprachelement vorliegt
woran erkennt man am einfachsten dass sich ein Datentyp von primitiven Datentypen unterscheidet?
an der Großschreibung
aus was besteht ein klassischen processing programm?
aus 2 Funktionen: setup und draw
Was ist der unterschied zwischen ++i und i++ und wie funktionieren sie?
bei i++ wird zuerst das i benutzt und dann inkementiert und bei ++i umgekehrt herum.
was ist die "Bühne"? (Stage)
das Fenster, welches sich öffnet nachdem man auf play klickt
wie funktioniert der processing compiler?
der Processing- Compiler erzeugt nicht etwa Maschinencode, der dann ausgeführt wird, sondern übersetzt den Quellcode lediglich in Java-Quellcode, der dann seinerseits vom Java-Compiler bearbeitet werden muss. Das ist der Grund, warum das JDK installiert sein muss, damit Processing funktioniert.
was ist eine subklasse?
die klasse die alle eigenschaften einer superklasse erbt, sozusagen davon abgeleitet ist
was ist sinnvoller zu verwenden? double oder float? int oder long?
double und long, da JAVA sowieso alles in diese Datentypen umwandelt
wie erzeugt man eine konstante und wie sollte man sie deklarieren
durch final vor dem statement. man sollte sie in Großbuchstaben deklarieren
was ist ein Befehl(statement)
ein Befehl ist eine bestimmte Aktion in einem Text abgespeichert (z.B. println) die Processing bekannt ist, mit der gearbeitet werden kann
was ist ein array
eine Variable die mehr als einen Wert eines datentyps enthält
Was ist eine Systemvariable?
eine von Processing vordefinierte Variable die wir nicht bearbeiten z.B. width und height
was ist ein Datentyp?
eine von processing gespeicherte Anweisung wie die folgende Zeichenkette in maschinencode übersetzt werden soll - eine Übersetzungsanweisung
was ist ein Übergabeparametet?(Argument)
einem Befehl muss man mitteilen WAS er denn ausgeben oder bearbeiten soll, man übergiebt ihm sozusagen die zu bearbeitende Substanz innerhalb von Runden Klammern
wie oft darf eine Variable deklariert werden?
einmal. die Werte können sich nachher noch beliebig ändern aber definiert darf sie nur einmal werden
was macht ein Compiler?
er wandelt Quelltext in Maschinencode um
Wort für Ausdruck in Englisch
expression (siehe After Effects)
worauf ist Processing ausgelegt
größtmögliche Einfachheit
Erklären Sie if-Kaskaden und schreiben Sie so eine Kaskade hin.
if (key == 'o') { zeichenmodus = MODUSKREIS; } else if (key == '~') { zeichenmodus = MODUSSINUS; } else if (key == '<') { } else if (key == '>') { } else if (key == '+') {
welche verzweigungen können sie nutzen, wenn sie nicht if... else verwenden wollen und was müssen sie dabei beachten?
if() else if () whike() for() do...while()
wo werden bei netbeans javadateien gespeichert
im root ordner in sogenannten packages
Primitive Datentypen:
int - 32 bit - Ganzzahlen von ca. -2 Mrd. bis ca. +2Mrd. long - 64 bit größere Ganzzahlen float - 32 bit - Gleitkommazahl mit 8 Stellen Genauigkeit double - 8 byte (64 bit) gößere Gleitkommazahlen boolean - 1 bit - true oder false byte - 8 bit - -128 bis+127 char - 16 bit - 0 bis 65535 für einzelne Zeichen color - 32 bit - 1.6777.216 Farben
sollte jeder Befehl trotzdem eine eigene Zeile erhalten?
ja, um Übersicht zu schaffen
wie sollte man Variablen deklarieren
mit Kleinbuchstaben beginnend, aussagekräftig und OHNE Ziffern, wenn mehrere Deklarationen folgen mit Komma trennen z.B. long x, y
wieviele felder hat ein array?
n beliebig viele aber alle werte müssen eines datentyps sein (auch ein array kann ein datentyp sein) -> mehrdimensional
wie viele objekte hat ein array mit dem index n? wie kann man auf das letzte element des arrays zugreifen?
n-1; in dem man es mit dem index n-1 anspricht
können Befehle und Anweisungen nur mit Literalen arbeiten?
nein auch mit Ausdrücken!
sind Zeilen relevant für processing
nein; der Strichpunkt beendet einen Befehl und nicht ein Absatz
wie viele superklassen kann man aus einer klasse machen, begründe deine antwort
nur eine; dagegen können unendlich viele subklassen daraus abgeleitet werden
wo beginnt ein processing programm, wo ein java programm? was ist der unterschied?
processing beginnt mit einem leeren editor und benötigt die statische void setup () und die dynamische void draw () methode (nicht zwangsläufig aber meistens) java == klasse; daher beginnt es mit public static void main .. sofern die startklasse main genannt wurde
was ist ein quellcode und ein compiler
quellcode = der geschriebene code in programmiersprache und compiler wandelt diesen in durch eine maschine ausführbaren maschinencode um Der Compiliervorgang in Processing ist denkbar einfach: Man startet sein Programm, indem man den ›Play-Button‹ links oben (siehe Illustration 1.1) klickt. Das ist schon alles, alle nötigen Übersetzungen passieren automatisch. Allerdings ist es eine Erwähnung wert, was technisch passiert: der Processing- Compiler erzeugt nicht etwa Maschinencode, der dann ausgeführt wird, sondern übersetzt den Quellcode lediglich in Java-Quellcode, der dann seinerseits vom Java-Compiler bearbeitet werden muss. Das ist der Grund, warum das JDK installiert sein muss, damit Processing funktioniert.
wenn eine form im vordergrund über eine andere form soll, muss sie oben oder unten im text stehen?
unten
wie sollte der code eines blocks formatiert bzw eingerückt sein
void draw() { TABULATOR// hierher TABULATOR// Codezeilen }
was gibt frameCount an?
wieviele Frames seit dem Start ausgegeben wurden
was ist überladung?
zwei Methoden (oder auch bei Konstruktoren) mit demselben Namen z.B Das nennt man ›Überladen‹ und es ist dann zulässig, wenn sich die Liste der Übergabeparameter in Anzahl und/oder Datentypen unterscheidet. Und zwar nur dann zulässig.
was markiert einen Block? was ist ein Block?
{ } mehrere Anweisungen gemeinsam
was sind literale? was muss man beachten?
›Literale‹ sind fest in den Programmcode eingefügte Zahlen und Zeichenketten. Man sollte sie vermeiden und statt dessen Konstanten entsprechend definieren und diese im Programmcode benützen. keine Literale im Code, da es den Code extrem schwer wartbar macht!
beschreiben sie das konzept der vererbung.
›Vererbung‹ bedeutet, dass man aus bestehenden Klassen neue Klassen erzeugen kann (›Ableitung‹), in der sämtlicher Code und alle Variablen der bestehenden Klasse zur Verfügung stehen, ohne dass Code oder Variablen in der neu erzeugten Klasse wiederholt werden müssten. Die bestehende Klasse nennt man dabei ›Superklasse‹, die neu erzeugte ›Subklasse‹. Die aus der Superklasse übernommenen Methoden und Variablen sind ›vererbt‹.