Umfrageergebnis anzeigen: Besteht Intresse an einem Programmierungstutorial?
- Teilnehmer
- 8. Diese Umfrage ist geschlossen
-
Aufsteiger/in
Tutorial: Programmieren lernen
Programmierer Tutorial: Teil 1
Hallo,
da hier immer wiedr Fragen auftreten, welche Literatur man verwenden kann, um Programmieren zu lernen, oder wie man es überhaupt lernen kann, starte ich hier den Versuch in einer Art "tutorial" ein paar Einsteigertipps. Ich werde mich auf keine Programmiersprache hier festlegen (zumindest in den ersten 5 Teilen nicht) und auch keine direkten Büche einer Programmiersprache empfehlen. Vielmehr geht es mir darum, aufzuzeigen, was Programmieren ist, was man braucht und wie man es lernen kann. In diesem teil heute, möchte ich ein paar allgemeine Dinge klären.
Zuerst sei gesagt, dass es erstmal _vollkommen_ egal ist, weche Porgrammiersprache man am Anfang lernt. Ich lese hier immer wieder, dass ein haufen Leute C++ lernen wollen ... und wenn man Sie nach den Gründen fragt, wissen sie noch nicht mal wieso. Ich will C++ keinenfalls schlecht machen, aber grundlegende Konzepte begreift man in absolut jeder Programmiersprache. Nun kommen wir zu den Vorrausetzungen. Also was brauchst du, wenn du Programmieren lernen willst:
Das wichtigste von allem, ist ein starker Willen. Du musst wirklich 100% dahinter stehen. Du musst es 100% wollen. Programmieren ist ein langwieriger prozess. Beispielsweise wie mit Modellbau. man braucht Zeit, Geduld und muss mit Niederlagen fertig werden können. Wie bei allem ist es so, dass man seine Ziele nicht zu hoch stecken darf. Fast jeder Programmiereranfang beginnt mit einem Programm welches nur Eine Konsolenausgabe hat. Das ist frustrierend, da die meisten ja Spiele und so entwickeln wollen. Aber lasst euch ermutigen ... hinter jeder Grafik steht ein komplexes Programm...
Als zweite Vorrausetzung brauchst du am Anfang etwas, später etwas mehr mathematisches Verständnis. Gleichungen lösen, Funktionsauswertung, logische umformungen sollten geläufig sein. Assosiativ, Distrubitivgesätze und Mengenleere sind ein muss. Später kommt einiges hinzu... Ohne Mathematik gehts nun mal leider nicht. Schließlich muss man dem Programm ja exakt sagen, wass es machen soll. Und das geht nunmal am besten in der Sprache der Mathematik.
Das dritte was du brauchst ist realismus. Viele in Foren schreiben "Ich brauche ein Programm zum Programmieren". Lass dir gesagt sein, dass die meisten Programmiersprachen wie folgt funktionieren: Du gibst in ein einer bestimmten Sprache einen Text ein, dieser wird durch ein Programm gejagt und raus kommt dann dein Programm. Also Programmieren hat _NICHTS_ mit Leveldesignern oder so zu tun. Viele denken, eine Programmiersprache kann man mit klicken mit der maus erlernen.
Die vierte Vorrausetzung ist ganz simple: Du brauchst diverse Computerkenntnisse. Folgende Sachen sollten beherrscht werden: Was ist ein texteditor. Wie bediehne ich ihn? Was ist eine Konsole? was sind Umgebungsvariablen. Wie gehe ich mit der Konsole um. Was für Promt Befehle hat mein Betriebsystem?
Wie du siehst ... ist das einiges was gefordert wird. Aber wenn du das mitbringst, stehen die alle Türen offen. Dernn der Grundsatz der Informatik lautet: "Alles was sich exakt beschreiben lässt, kann programmiert werden.".
Aufgabe 1: Verschaffe dir auf Wikipedia einen Überblick, welche Programmiersprachen es gibt.
Aufgabe 2: Verneine den Satz: "Ich gehe heute entweder ins Schwimmbad oder ein Eis essen". (schwer)
Lösungen im nächstem Teil.
---
Bei Intresse an weiteren Tutorial-teilen, bitte ich um Feedback --> Umfrage!
-
Aufsteiger/in
Antworten zum ersten Teil
Hallo,
ich bin überrascht, dass schon nach wenigen Minuten 4 Benutzer, das toll fanden :-) Deswegen mache ich mich gleich dran, die Antworten auf meine 2 Fragen zu schreiben.
Die Fragen erscheinen anfangs komisch, haben aber genau mit der ersten Lektion zu tun:
Antwort 1:
Die Frage soll dir eigentlich nur bestätigen, was ich am Anfang gesagt habe. Das es nicht darum geht, eine Programmiersprache zu können, sondern Programmieren zu lernen. Anhand der Liste Liste der Programmiersprachen - Wikipedia erkennst du die Vielfalt. Wir werden uns demnächst eine oder zwei Sprachen aussuchen und Anfangen zu programieren.
Antwort 2:
Auch wenn es nicht so scheint, ist diese Frage schwer zu beantworten. In der Programmierung geht es oft um folgende Sachverhalte: "Mache X genau dann, wenn Y" o.ä. Man hat also eine Aussage und muss das versuchen das dem Rechner begreiflich zu machen. Wir müssen deshalt versuchen wie ein Computer zu denken. Und das fängt damit an, dass wir dies exakt tun müssen. Wir müssen exakte Probleme formulieren, eh wir unser erstes Programm schreiben können und das soll hiermit beispielhaft beschrieben werden.
"Ich gehe heute entweder ins Schwimmbad oder ein Eis essen." ist eine Aussage. Uns interresiert erstmal, wann die Aussage wahr wird. Also wann stimmt, das was da steht? Dazu bilden wir mal 2 Teilaussagen:
a. "Ins schwimmbad gehen" und
b. "Eis essen gehen"
Außerdem bediehnen wir uns einem Mittel der Logik / Programmierung. Wir bezeichnen wahre Aussagen mit true oder 1 und falsche Aussagen mit false oder 0. Ok. Analysieren wir, was da steht. Wann wird "Ich gehe heute entweder ins Schwimmbad oder ein Eis essen." wahr? Genau dann, wenn entweder a oder b wahr wird. Das ganze schreiben wir mal sauber auf:
a | b | "Ich gehe heute entweder ins Schwimmbad oder ein Eis essen."
--------------------------------------------------------------------
0 | 0 | 0
1 | 0 | 1 (*)
0 | 1 | 1
1 | 1 | 0 (**)
Die Tabelle ist eigentlichganz einfach zu verstehen: Eine 0 steht wie oben bereits erklärt für eine falsche Aussage und eine 1 für eine wahre. Picken wir uns mal die Zeile mit dem (*) raus. Dort steht: Ich gehe ins schwimmbad (Aussage a ist wahr), gehe aber kein Eis essen (Aussage b). Das Resultat der Gessamtaussage ist also wahr (deswegen steht in der letzten Spalte auch eine 1). In der Zeile (**) ist das resultat jedoch falsch: Denn da steht: Ich gehe schwimmen und gehe eis essen ... das stimmt aber nicht mit Aussage "Ich gehe heute entweder ins Schwimmbad oder ein Eis essen." überein. Deswegen ist das Resultat (3. Spalte falsch).
So die eigentliche Aufgabe war ja aber nun, diese Aussage "Ich gehe heute entweder ins Schwimmbad oder ein Eis essen." zu verneinen. Was passiert wenn man Von einer Aussage das gegenteil meint? Richtig. In der Resultatsspalte drehen sich die Werte um: Also aus 0 wird 1 und aus 1 wird 0. Zeichen wir das nochmals auf:
a | b | Nicht "Ich gehe heute entweder ins Schwimmbad oder ein Eis essen."
--------------------------------------------------------------------------
0 | 0 | 1 (*)
1 | 0 | 0
0 | 1 | 0
1 | 1 | 1 (**)
Jetzt erkennen wir folgendes: Die Gegenteilige Aussage von "Ich gehe heute entweder ins Schwimmbad oder ein Eis essen." wird offenbar immer dann war, wenn ich nicht a und nicht b mache (die Zeile (*)) oder wenn ich a und b mache (Die Zeile (**)). Denn in diesen Zeilen steht das Resultat 1. Diese Erkenntnis müssen wir nun in einen deutschen Satz wieder umformen. Dazu lesen wir einfach ab, für was das a und b stand. Also die Lösung heißt exakt:
Die Verneinung von "Ich gehe heute entweder ins Schwimmbad oder ein Eis essen." lautet: Ich gehe heute nicht ins Schwimmbad und kein eis essen oder ich gehe heute ins schwimmbad und eis essen."
Wenn man jetzt nochmal logisch nachdenkt ist das auch ganz logisch: Bei der ersten Aussage war genau die Konstellation erlaubt, wo man genau eins von beiden gemacht hat. Und bei der Verneinung ist eben genau diese Konstellation verboten: entweder man macht garnicht oder beides ....
Puhhh... Die Aufgabe war garnicht so einfach. Ich hoffe Ihr seid mitgekommen. Wenn nicht, könnt ihr ja nohmal nachfragen... aber am besten in einem anderem Thread. Zum Abschluss noch eine Anwendung für was man das braucht:
Ihr habt beispielsweise in eurem Programm ein befehl folgender Art:
"Wenn x < 1000 dann mache das und das". (x sei eine variable) Jetzt entscheidet ihr euch um und wollt die Aussage verneinen. 99% der deutschen würden als gegenteile aussage nehmen: "wenn x > 1000 dann mache das und das". Also umganssprachlich ist das gegenteil von "kleiner" ... "größer". In der Informatik ist das anders. Das Gegenteil von kleiner ist alles, was eben NICHT kleiner ist: Also größer oder gleich. Deswegen muss die exakte Negation so lauten: "wenn x > 1000 oder x = 1000 dann mache das und das"
Ich verspreche euch, dass solche Theorievorlesungen die seltenheit bleiben. Ich will euch bloß mit auf den Weg geben, dass Ihr umbedingt nachdenken sollt. Der kleinste Befehl kann katastrophale Auswirkungen haben. Versucht die Antwort zu verstehen. Ihr müsst in Zukunft in der Lage sein normale menschliche probleme im rechner nachzubilden und dazu braucht ihr exaktheit. Ich hoffe ihr habt es verstanden. Viel spaß beim Tüfteln. Die nächste Teil kommt Ende der Woche. Da werden wir dann praktisch tätig.
lg,
Marc
-
Aufsteiger/in
Teil 2
Teil 2
-----
Wenn jemand Lust hat, kann er die ganzen rechtschreibfehler entfernen ... :-)
Hallo,
willkommen zum zweiten Teil des Programmierertutorials. In der umfrage lag Java vorn. Deswegen werden wir heute anfangen ein kleines javaprogramm zu schreiben. Aber wie bereits angekündigt, müssen wir erst etwas Theorie abhandeln, eh wir praktisch tätig werden können.
Java stellt eine besondere Programmiersprache dar. Normalerweise unterscheiden wir zwischen 2 Arten von programmiersprachen. Compilersprachen und Interpretersprachen. Bei Compilersprachen schreibt man den Quellcode in eine Textdatei und schickt diese Datei dann durch den sogenannten Compiler. Dieser generiert aus dem Quellcode in Abhänigkeit vom zielrechner ein ausführbares Programm, also Maschienencode. Dieser Maschienencode kann dann direkt vom Betriebsystem ausgeführt werden ohne dass man noch irgendwas von programmierung wissen muss. Das ist heute der Regelfall: Wenn ein unwissender meint: "schick mir mal die exe" ist genau das Compilat des Compilers gemeint, welches wiederum aus Quellcode entstanden ist. Man sollte hierbei beachten, dass im regelfall die Compilierichtung nur einseitig ist, d.h. aus Quellcode kann man ein Programm compilieren, aus einem programm kann man aber im normalfall kein Quellcode erzeugen. (normalfall deshalb weil es zwar geht, aber der quellcode kaum mehr lesbar ist). Die Vorteile von Compilersprachen liegen auf der hand: Sie sind sehr schnell. Das Compilat ist Maschienencode für eine spezielle Maschiene und deshalb sehr optimiert. Der nachteil liegt auch auf der Hand: Das fertige Programm ist sehr unflexibel. Man kann keine Windowsprogramme auf Linux oder Mac ausführen ... genauso umgekehrt. Ein weiter nachteil ist der schon oben angesprochener: wurde der Quellcode compiliert, hat man mit hilfe des quellcodes kein einfluss mehr auf das programm: jegliche änderum im ausführbaren programm zieht eine erneute compilation nach sich. Das uist nervig.
Interpretersprachen gehen einen anderen Weg. hier wird das programm auch in Textform geschrieben und gespeichert. jedoch fällt der Compilerschritt weg. Diese Textdatei wird "direkt ausgeführt". das heißt, man wirft die textdatei in ein Interpreterprogramm, dieses liest, die textdatei zeile für zeile ein, erzeugt daraus sofort Maschienencode und führt diesen sofort aus. Auch hier gibts Vorteile und Nachteile. Bei den vorteilen wär zu sagen, dass das Programm sehr flexibel ist: Die textdatei kann auf jedem Betriebsystem ausgeführt werden, wür welches ein interpreter in dieser Sprache gibt. Außerdem können Interpreterprogramme schnell im Quelltext modifiziert werden, da man nicht ständig neu compilieren muss. Zu den nachteil ist zu sagen, dass Interpretersprachen meist langsamer als ausführbare programme sind, da ja bei interpretersprachen jede Zeile für Zeile zur ausführungszeit übersetzt wird und ausgeführt wird. Ein weiterer nachteil ist, dass immer ein interpreter für das entsprechende Programm installiert werden muss.
Also nochmal zur Zusammenfassung: Im Entwicklungsyzylus entsteht bei Compilersprachen ein fertiges Programm welches für _eine_ Maschiene auszuführen geht.
Im Entwicklungszyklus bei Interpretersprachen entsteht eine Textdatei welches das Programm enthält
Zur Ausführungszeit bei Compilersprachen wird das compilat einfach byte für byte vom Betribsystem bearbeitet.
Zur Ausführungszeit bei Interpretersprachen wird zur Laufzeit Zeile für Zeile eingelesen und entsprechend übersetzt und danach ausgeführt.
Kommen wir nun zu Java: java geht als eine der wenigen Sprachen neben C# einen Mittelweg. Man schreibt ein Programm welches compiliert werden muss. Das compilat ist bei java aber nicht direkt ausführbar, sondern benötigt noch einen Interpreter. dadurch werden die Vorteile (aber auch Nachteile) von beiden vorgestellten Programmiervarianten verbunden. Kommen wir zu den Vorteilen. Java ist schneller als ein Interpreter, aber nicht ganz so schnell wie ein Maschienencompilat. Java ist universell einsetzbar durch den "end interpreter". Den java interpreter (ab jetzt kurz VM = Virtual Machine genannt) gibt es für (fast) alle betribsystem sowie für handy, chips, usw. Java ist sicher: durch das entsandene compilat wurde binärcode erstellt, welche nicht mehr zu lesen ist. Natürlich gibt es auch nachteile: Den interpreter muss man erstmal haben um Javaprogramme ausführen zu können... Noch mehr vor und Nachteile werdet ihr feststellen wenn ihr selber programmiert.
Für alle die jetzt ein wenig traurig sind, dass wir nicht c++ machen und keine "schönen schnellen ausführbare" programme erstellen, denen sei gesagt, dass java und c++ sehr ähnlich sind. Es gibt ca. 90 % Überlappung. Außerdem werdet ihr feststellen, dass es in Java fast keine einsatzgrenzen gibt. Das heißt, wenn ihr Java und c++ könnt, benötigt ihr eigentlich keine weitere Programmiersprache (sei denn für spezielle anwendungen). Java ist heute die beliebteste programmiersprache im netzwerkbereich. 80% von Server-neuentwicklungen werden in java geschrieben und betrieben. Ihr seht also, dass wir hier sachen mit zukunft lernen womit man auch was anfangen kann...
Kommen wir nun zur Vorausetzung... also was braucht man um Javaprogramme schreiben zu können. Ich habs oben schon angesprochen: Zum ersten den Compiler, welcher aus dem Quellcode dieses Compilat erzeugt und 2. den Interpreter, welches das compilat ausführt: Deswegen gibt es unterscheidet man auch generell erstmal 2 versionen des javasoftwarepaketes: die JRE (= Java runtime Envirument) Diese diehnt nur dazu Java programme auszuführen. Wenn ihr quasi ein Javaprogramm weiter gebt müsst ihr diese JRE mitgeben, damit euer compilat ausgeführt werden kann. In zeiten von schnellen Internetverbindungen und DVD's sind diese maximal (!!!!!!) 100 MB mehr, kein Problem. Man beachte, dass in den 100 MB dann aber auch alles drin ist, von netzwerk bis zur OpenGL ansteuerung. Das (JDK (=Java development kit) enthält zur JRE zusätzlich noch den Java Compiler (und ein paar weitere programme). Ihr benötigt also, dass JDK zum programmieren und zum ausführen der programme die JRE (welche ja aber im JDK drin ist). Also mal in Formeln aufgeschrieben:
JRE = Java Interpreter
JDK = JRE + Java Compiler
Wenn ihr also Java programmieren wollt, benötigt ihr nur das JDK. Dieses gibts auf der webseite von Sun, aber dazu später mehr. Ich möchte euch klar machen, dass man für das Programmieren wirklich nur die eine Sache braucht: Eine der häufigsten Anfängerfragen ist: "wo bekomme ich bspw. Visual Studio her". Das sind entwicklungsumgebungen mit Integrierten compiler und überhaupt nicht notwensig zum programmieren. Wir werden später zwar auch auf eine entwicklungsumgebung umsteigen, weil diese uns arbeit abnimmt, aber fürs eigentliche programmieren braucht ihr wirklich nur einen texteditor (um den quelltext zu schreiben) und einen compiler / Interpreter. Und das gilt für absolut jede Sprache.
Java wurde von Sun, einer amerikanischen firma entwickelt. Java wird "open source", das heißt, es gibt relativ wenig einschränkungen was ihr beachten müsst. "java", wenn man das mal so zusammenfassen will, ist erstmal grundsätlich kostenlos. Ihr könnt damit kostenlose, später auch komerzielle programme entwickeln. java macht da sehr wenig progbleme. Wer schon mal mit Microsofts Visual C++ rumgespielt hat, wird gemerkt haben, dass die Anfängerversionen Zwangsmeldungen und Lizenzprobleme in die Ausführbaren Programme compilieren. Sowas gibts bei Java nicht... Das Java JDK, was ihr braucht, ist ca. 65 MB groß. Es enthält, wie gesagt, die JRE und den Compiler.
Die wichtigste Webseite für das nächste jahr wird sein: Java Technology - das ist die offizielle Webpräsenz von sun Java. Wie zu vermuten ist, ist die Seite auf englisch. Aber ich bin mir sicher, dass ihr solche Begriffe wie download und so verstehen werden ... :-)
Besucht die Webseite Java SE Downloads und laded euch JDK 6 Update 3 hinunter. Nach dem herunterladen installiert ihr es. (Ich erkläre diese Schritte nicht ... wenn man nicht in der lage ist windows zu bediehnen, sollte man noch etwas mit dem programmieren lassen... Ich beschreibe hier Windows Schritte ... alles funktioniert natürlich simultan unter Linux. Ein Linux benutzer sollte aber in der lage sein die shell zu bediehnen und ein programm zu installieren. deswegen sei das hier auch nicht explizit erwähnt).
Merkt euch am besten mal wo ihr es hininstalliert habt. Und sucht das verzeichnis mal auf. Dort sollte es ein unterverzeichnis bin geben. Diese könnt ihr euch mal anschauen. Dort sollten ausführbare programme sein: javac.exe und java.exe und die javaw.exe. Letzte beideren sind die Interpreter, ersteres ist der Compiler. Diese Programme sind Kommandozeilen basierend (früher mal DOS Eingabeaufordeung genannt). Wir werden am Anfang ... aber auch nur am Anfang damit arbeiten, damit ihr versteht, was ein Compiler und ein interpreter ist. OK. wo wir davon mal reden, probieren wir gleich mal aus ob der Compiler sowie der Interpreter richtig installiert wurden. Öffnet die Komandozeile (MSDOS Eingabeaufforderung, shell, ...) und versucht den Befehl:
java -version
auszuführen. Sollte da sowas in der Art stehen: Java HotSpot(TM) Client VM (build 1.6.0_02-b06, mixed mode, sharing)
ist alles in Ordnung. Sollte dort erscheinen, "Datei oder Befehl nicht gefunden" oder "Der befehl ... ist entweder falsch geschreieben oder ..." dann müsst ihr noch die Umgebungsvariablen setzen. Folgender hintergrund: wenn ihr in der Komandozeile das programm java aufruft, weiß das betriebsystem ja nicht standartmäßig wo dies zu finden ist. Deswegen muss das dem betribsywstem das gesagt werden. Eigentlich geschieht das automatisch bei der installation ... aber ihr kennt ja windows....
So, das wars dann für heute: Wir werden das erste Programm schreiben, sobald bei jedem Tutorialteilnehmer Java ordentlich installiert ist.
Noch eine Anmerkung zum tutorial. Wenn das bei jemandem nicht gehen sollte, könnt ihr immer gerne im Forum fragen. Ich würde mich sehr freuen, wenn andere Turorialteilnehmer da vielleicht asogar helfen könnten. Erstens nehmt ihr mir arbeit ab, jede kleine stolperfalle genau zu erklären, zweitens erweitert ihr euer wissen, dadurch das ihr vom lernenden zum lehrenden werdet und drittens kann ich daran sehen, in wie weit ihr das verstanden habt.
Ihr könnt auch immer die Antworten auf die Fragen posten, wenn ich zeit habe schaue ich kurz drüber und kann anregungen geben.
---
Aufgabe 1. Installier Java wie oben beschrieben und teste ist mit dem Befehl!
Aufgabe 2. Welche Interpreterprogrammiersprachen gibt es? Ist PHP eine Compiler oder Interpretersprache?
Aufgabe 3. Informaiere dich (und uns) ob du auf deinem Handy (welches?) einen java Interpreter hast und schließe (nach mehreren Erfahrungen) daraus auf die universelle einsetzbarkeit eines javaprogramms.
Aufgabe 4 (Mathematik (Einfach)): Paul ist nicht älter als 8! Wie alt kann Paul sein?
Aufgabe 5 (Mathematik (Schwer)): Verneine den Satz: Ich gehe heute ins Kino und esse ein Eis.
Geändert von terra-power (08.10.2007 um 23:03:07 Uhr)
stop:
NOP
JMP stop
-
Aufsteiger/in
Antworten Teil 2
Hallo,
heute will ich schnell die Antworten des letzten Teils online stellen.
Aufgabe 1: Wie im Tutorial beschrieben sollte es keine Probleme geben.
Aufgabe 2: PHP ist eine serverseitige Interpretersprache. PHP Datein sind Textdatein die auf einem Webserver liegen. Sobald darauf zugegriffen wird, wird vom Webserver aus der PHP Interpreter gestartet. Dieser arbeitet die PHP Datei ab und schickt dessen Ausgaben zurück an den Webserver. Dieser liefert dann die Ausgabe als "Webseite" an den Benutzer bzw. dessen Browser aus, der die Seite angefordert hat.
Aufgabe 3: Also ich habe ein Nokia 6230i. dort ist ein Javainterpreter drauf. Das java welches auf Mobilen Endgeräten läuft, nennt sich Java ME (=Micro Edition). Generell (Außnahmen bestätigen die Regel), kann man ein Programm, welches man auf dem PC in Java programmiert, ohne weitere Probleme aufs handy portieren. Die meisten Datein müssen dabei nicht mal neu kompiliert werden.
Aufgabe 4: Wenn Paul nicht älter als 8 ist, ist Paul entweder jünger als 8 oder gleich alt:
NICHT(Alter(Paul) > 8 ) -> Alter(Paul) <= 8
Aufgabe 5:
a = ins Kindo gehen
b = Eis essen gehen
a | b | "Ich gehe heute ins Kino und esse ein Eis"
--------------------------------------------------------------------
0 | 0 | 0
1 | 0 | 0
0 | 1 | 0
1 | 1 | 1
Nach Verneinung:
a | b | NICHT "Ich gehe heute ins Kino und esse ein Eis"
--------------------------------------------------------------------
0 | 0 | 1
1 | 0 | 1
0 | 1 | 1
1 | 1 | 0
In mathematischer Sprache: Ich gehe nicht ins kino und kein eis essen oder ich gehe ins kino und esse kein eis oder ich gehe nicht ins Kino und esse ein eis.
In deutscher Sprache: Ich gehe nicht ins Kino oder esse kein eis.
Bemerkung: Wer als Lösung hat: Ich gehe nicht ins Kino UND esse kein Eis. Der liegt leider falsch. Denn dieser Satz würde ja heißen:
a | b | "Ich gehe nicht ins Kino UND esse kein Eis."
--------------------------------------------------------------------
0 | 0 | 1
1 | 0 | 0
0 | 1 | 0
1 | 1 | 0
Offenbar wird hier nur die Gesammtaussage wahr, wenn man beides nicht macht. Wie oben gezeigt, ist dies aber nicht die richtige Verneinung.
Wenn ihr fragen dazu habt, könnt ihr gerne im extra Thread danach fragen.
Berechtigungen
- Neue Themen erstellen: Ja
- Themen beantworten: Ja
- Anhänge hochladen: Ja
- Beiträge bearbeiten: Ja
-
Foren-Regeln