From d4ce4015d4888dc4fa8cce90d2e6df2604c77008 Mon Sep 17 00:00:00 2001 From: fdai7487 Date: Mon, 6 Feb 2023 22:08:32 +0100 Subject: [PATCH 01/70] initial commit --- src/digital/technik/DigitalTechnik1.java | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 src/digital/technik/DigitalTechnik1.java diff --git a/src/digital/technik/DigitalTechnik1.java b/src/digital/technik/DigitalTechnik1.java new file mode 100644 index 0000000..d66f9b2 --- /dev/null +++ b/src/digital/technik/DigitalTechnik1.java @@ -0,0 +1,8 @@ +package digital.technik; + +public class DigitalTechnik1 { + + public static void main(String[] args) { + + } +} From dc3293663d798ff014975ebb5f9a5271b55480d6 Mon Sep 17 00:00:00 2001 From: fdai7487 Date: Mon, 6 Feb 2023 22:52:07 +0100 Subject: [PATCH 02/70] added first indexcard --- src/digital/technik/DigitalTechnik1.java | 50 ++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/src/digital/technik/DigitalTechnik1.java b/src/digital/technik/DigitalTechnik1.java index d66f9b2..6df8ec0 100644 --- a/src/digital/technik/DigitalTechnik1.java +++ b/src/digital/technik/DigitalTechnik1.java @@ -1,8 +1,58 @@ package digital.technik; +import java.util.Scanner; + public class DigitalTechnik1 { public static void main(String[] args) { + Scanner sc = new Scanner(System.in); + + System.out.println("Willkommen"); + System.out.println("Bitte wählen Sie ein Thema (Zahl):"); + System.out.println("1. Information"); + System.out.println("2. Bit"); + System.out.println("3. Codes"); + System.out.println("4. Huffmann-Codierung"); + + int choice = sc.nextInt(); + sc.nextLine(); + + if (choice == 1) { + System.out.println(""" + Information: Kommunizierte oder empfangene Daten, die + Ungewissheit über ein bestimmtes Fakt oder einen Sachverhalt\s + auflöst."""); + + } else if (choice == 2) { + System.out.println(""" + Bit ist die Kurzform für binary digit.\s + Lateinisch bina bedeutet doppelt oder zwei. + Ein Bit kann zwei Werte annehmen: 0 und 1. + Das Bit ist die kleinste Informationseinheit. + Beipsiele: + Spannung vorhanden, z.B. 5V (1) oder nicht (0) + Schalter geschlossen (1) oder offen (0) + Material magnetisiert (1) oder nicht (0) + """); + + } else if (choice == 3) { + System.out.println(""" + Ein Code ist eine Abbildungsvorschrift für eindeutige\s + Zuordnung (Codierung) von + Symbolen einer Urmenge zu + Symbolen einer Bildmenge. + Die Zuordnung muss nicht (eindeutig) umkehrbar sein! + """); + + } else if (choice == 4) { + System.out.println(""" + Die Huffmann Codierung ist ein Codierungsverfahren, das\s + zu einem optimalen Code mit möglichst kleiner mittlerer Codelänge führt! + """); + + } else { + System.out.println("Ungültige Eingabe!"); + } } } From d757c64a96f296eca274bd4c8a7c77155ae2e98b Mon Sep 17 00:00:00 2001 From: fdai7487 Date: Wed, 8 Feb 2023 16:07:36 +0100 Subject: [PATCH 03/70] added second indexcard --- src/digital/technik/DigitalTechnik2.java | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 src/digital/technik/DigitalTechnik2.java diff --git a/src/digital/technik/DigitalTechnik2.java b/src/digital/technik/DigitalTechnik2.java new file mode 100644 index 0000000..2f78ca4 --- /dev/null +++ b/src/digital/technik/DigitalTechnik2.java @@ -0,0 +1,8 @@ +package digital.technik; + +public class DigitalTechnik2 { + + public static void main(String[] args) { + + } +} From 22d1a85fb3954bf4e56ce035b40f7393d4ce65fb Mon Sep 17 00:00:00 2001 From: fdai7487 Date: Wed, 8 Feb 2023 16:19:03 +0100 Subject: [PATCH 04/70] added second indexcard with content 1-3 --- src/digital/technik/DigitalTechnik2.java | 51 ++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/src/digital/technik/DigitalTechnik2.java b/src/digital/technik/DigitalTechnik2.java index 2f78ca4..abd410c 100644 --- a/src/digital/technik/DigitalTechnik2.java +++ b/src/digital/technik/DigitalTechnik2.java @@ -1,8 +1,59 @@ package digital.technik; +import java.util.Scanner; + public class DigitalTechnik2 { public static void main(String[] args) { + Scanner sc = new Scanner(System.in); + + System.out.println("Willkommen"); + System.out.println("Bitte wählen Sie ein Thema (Zahl):"); + System.out.println("1. Hexadezimale Zahlen"); + System.out.println("2. Umrechnung dezimal in binär"); + System.out.println("3. Umrechnung dezimal in hexadezimal"); + + int choice = sc.nextInt(); + sc.nextLine(); + + if (choice == 1) { + + System.out.println(""" + Hexadezimale Zahlen (R = 16) werden häufig zur kompakten + Darstellung von Binärzahlen verwendet. + Es werden die Ziffern {0, 1, 2, . . . , 9,A,B,C, D,E, F} verwendet + (A bis F repräsentieren die Wertigkeit 10 bis 15) + Jedes Hexadezimale Digit kann mit genau 4 Bit dargestellt + werden"""); + + } else if (choice == 2) { + System.out.println(""" + Um eine dezimale Zahl in eine binäre Zahl umzuwandeln, kann man den folgenden Prozess verwenden: + + Die dezimale Zahl durch 2 teilen und den Quotienten notieren. + + Den Rest des Teilens notieren und ihn als die letzte Ziffer der binären Zahl betrachten. + + Wiederholen Schritt 1 und 2 mit dem Quotienten, bis der Quotient 0 ist. + + Die Restschritte in umgekehrter Reihenfolge zusammensetzen, um die binäre Zahl zu erhalten."""); + + } else if (choice == 3) { + System.out.println(""" + Um eine dezimale Zahl in eine hexadezimale Zahl umzuwandeln, kann man den folgenden Prozess verwenden: + + Die dezimale Zahl durch 16 teilen und den Quotienten notieren. + + Den Rest des Teilens notieren und ihn als die letzte Ziffer der hexadezimalen Zahl betrachten. + + Wiederholen Schritt 1 und 2 mit dem Quotienten, bis der Quotient 0 ist. + + Die Restschritte in umgekehrter Reihenfolge zusammensetzen, um die hexadezimale Zahl zu erhalten."""); + + + } else { + System.out.println("Ungültige Eingabe!"); + } } } From 4b2708b64bc8af61aa1aa1f61c1bcce124ab948f Mon Sep 17 00:00:00 2001 From: fdai7487 Date: Wed, 8 Feb 2023 17:00:07 +0100 Subject: [PATCH 05/70] added second indexcard with content 4-5 --- src/digital/technik/DigitalTechnik2.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/digital/technik/DigitalTechnik2.java b/src/digital/technik/DigitalTechnik2.java index abd410c..9791237 100644 --- a/src/digital/technik/DigitalTechnik2.java +++ b/src/digital/technik/DigitalTechnik2.java @@ -12,6 +12,8 @@ public class DigitalTechnik2 { System.out.println("1. Hexadezimale Zahlen"); System.out.println("2. Umrechnung dezimal in binär"); System.out.println("3. Umrechnung dezimal in hexadezimal"); + System.out.println("4. Einerkomplement"); + System.out.println("5. Zweierkomplement"); int choice = sc.nextInt(); sc.nextLine(); @@ -50,6 +52,18 @@ public class DigitalTechnik2 { Die Restschritte in umgekehrter Reihenfolge zusammensetzen, um die hexadezimale Zahl zu erhalten."""); + } else if (choice == 4) { + System.out.println(""" + Ein Einerkomplement ist ein Zahlensystem, das verwendet wird, um negative Werte in einem Computer darzustellen.\s + Es basiert auf der Idee, dass jede Zahl in einem binären System (bestehend aus 1en und 0en) ihre negativ vorzeichenbehaftete Entsprechung hat. + Eine negative Zahl wird durch das Invertieren aller Bits (Änderung von 1 zu 0 und von 0 zu 1) einer positiven Zahl und das Hinzufügen 1 zum Ergebnis dargestellt."""); + + } else if (choice == 5) { + System.out.println(""" + Das Zweierkomplement ist eine Methode zur Darstellung von negativen Werten in einem Computer. Es ermöglicht es, negative und positive Werte mit der gleichen Anzahl von Bits zu repräsentieren. + + In einem Zweierkomplement-System, wird die höchstwertige Bit (die sogenannte "Vorzeichenbit") verwendet, um das Vorzeichen einer Zahl anzugeben. Eine 0 bedeutet eine positive Zahl, während eine 1 eine negative Zahl darstellt. + Die übrigen Bits repräsentieren den Wert der Zahl. Um eine negative Zahl zu berechnen, werden die Bits der positiven Entsprechung invertiert und 1 hinzugefügt."""); } else { System.out.println("Ungültige Eingabe!"); From 4a00363cade76213cab8e2bd4825bddd6f6a03d4 Mon Sep 17 00:00:00 2001 From: fdai7487 Date: Thu, 9 Feb 2023 21:36:12 +0100 Subject: [PATCH 06/70] added third indexcard --- src/digital/technik/DigitalTechnik3.java | 69 ++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 src/digital/technik/DigitalTechnik3.java diff --git a/src/digital/technik/DigitalTechnik3.java b/src/digital/technik/DigitalTechnik3.java new file mode 100644 index 0000000..391c193 --- /dev/null +++ b/src/digital/technik/DigitalTechnik3.java @@ -0,0 +1,69 @@ +package digital.technik; + +import java.util.Scanner; + +public class DigitalTechnik3 { + + public static void main(String[] args) { + Scanner sc = new Scanner(System.in); + + System.out.println("Willkommen"); + System.out.println("Bitte wählen Sie ein Thema (Zahl):"); + System.out.println("1. Boolsche Algebra"); + System.out.println("2. Minterme"); + System.out.println("3. Maxterme"); + System.out.println("4. KDNF"); + System.out.println("5. KKNF"); + System.out.println("6. DNF"); + System.out.println("7. KNF"); + + int choice = sc.nextInt(); + sc.nextLine(); + + if (choice == 1) { + System.out.println(""" + In der Digitaltechnik ist die boolsche Algebra eine spezielle Form der Algebra, \n + die sich mit logischen Ausdrücken und Operationen beschäftigt. Sie wird hauptsächlich in der Schaltungstechnik und der Informatik verwendet. \n + Die Grundelemente der boolschen Algebra sind die logischen Variablen "wahr" (1) und "falsch" (0) sowie die logischen Operatoren "und" (∧), "oder" (∨), "nicht" (¬) und "gleich" (⇔). \n + Mit diesen Operatoren können komplexe logische Ausdrücke erstellt und ausgewertet werden, die in digitalen Schaltungen verwendet werden, + + wie z.B. in Computern, Mobiltelefonen und anderen elektronischen Geräten. + """); + + } else if (choice == 2) { + System.out.println(""" + In der Digitaltechnik werden Minterme verwendet, um eine bestimmte Funktion zu implementieren.\s + Minterme beziehen sich auf die kleinsten logischen Funktionen, die in einem digitalen System verwendet werden können.\s + Sie bestehen aus einer oder mehreren Eingängen und einem Ausgang und können durch eine Wahrheitstabelle oder eine Boolean-Funktion beschrieben werden."""); + + } else if (choice == 3) { + System.out.println("In der Digitaltechnik sind Maxterme die negierten Minterme. Ein Maxterm ist eine logische Funktion, die durch die Negation eines Minterms beschrieben wird. \n" + + "Maxterme haben die gleiche Anzahl an Eingängen wie Minterme, aber der Ausgang eines Maxterms ist das Gegenteil des Ausgangs eines entsprechenden Minterms."); + + } else if (choice == 4) { + System.out.println("Die kanonische disjunktive Normalform (KDNF) ist eine Darstellung einer boolschen Funktion als Summe der Produkte der Minterme."); + + } else if (choice == 5) { + System.out.println("Die kanonische konjunktive Normalform (KKNF) ist eine Darstellung einer boolschen Funktion als Produkt der Summen der Maxterme."); + + } else if (choice == 6) { + System.out.println(""" + Treten nicht alle Variablen in den Mintermen auf, + spricht man von der Disjunktiven + Normalform DNF. + """); + + } else if (choice == 7) { + System.out.println(""" + Treten nicht alle Variablen in den Maxtermen auf, + spricht man von der nicht-kanonischen Konjunktiven + Normalform KNF. + """); + + } else { + System.out.println("Ungültige Eingabe!"); + + + } + } +} \ No newline at end of file From cb8b2b36d88a6547f7d73107d6d724bc85169070 Mon Sep 17 00:00:00 2001 From: fdai7487 Date: Thu, 9 Feb 2023 21:40:36 +0100 Subject: [PATCH 07/70] added fourth indexcard --- src/digital/technik/DigitalTechnik4.java | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 src/digital/technik/DigitalTechnik4.java diff --git a/src/digital/technik/DigitalTechnik4.java b/src/digital/technik/DigitalTechnik4.java new file mode 100644 index 0000000..83cd1ea --- /dev/null +++ b/src/digital/technik/DigitalTechnik4.java @@ -0,0 +1,9 @@ +package digital.technik; + +public class DigitalTechnik4 { + + public static void main(String[] args) { + + + } +} From 543a4dd21bb18e885e1fbbf00bdf37cc72099c1f Mon Sep 17 00:00:00 2001 From: fdai7487 Date: Thu, 9 Feb 2023 21:47:30 +0100 Subject: [PATCH 08/70] added fourth indexcard content 1 --- src/digital/technik/DigitalTechnik4.java | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/digital/technik/DigitalTechnik4.java b/src/digital/technik/DigitalTechnik4.java index 83cd1ea..4ec4b48 100644 --- a/src/digital/technik/DigitalTechnik4.java +++ b/src/digital/technik/DigitalTechnik4.java @@ -1,8 +1,30 @@ package digital.technik; +import java.util.Scanner; + public class DigitalTechnik4 { public static void main(String[] args) { + Scanner sc = new Scanner(System.in); + + System.out.println("Willkommen"); + System.out.println("Bitte wählen Sie ein Thema (Zahl):"); + System.out.println("1. NOR"); + + int choice = sc.nextInt(); + sc.nextLine(); + + if (choice == 1) { + + System.out.println(""" + Der NOR-Operator ist ein logisches Schaltwerk in der Digitaltechnik, das die Funktion des "Nicht-Oder" ausführt. + Es hat zwei oder mehrere Eingänge und einen Ausgang. Der Ausgang ist "wahr" (1), wenn alle Eingänge "falsch" (0) sind. \n + Ansonsten ist der Ausgang "falsch" (0). Es ist das logische Gegenteil des OR-Operators."""); + + + } else { + System.out.println("Ungültige Eingabe!"); + } } From 8cda7b43f8a22b251ea80c4da430139ae740cbb6 Mon Sep 17 00:00:00 2001 From: fdai7487 Date: Thu, 9 Feb 2023 21:51:01 +0100 Subject: [PATCH 09/70] added fourth indexcard content 2-3 --- src/digital/technik/DigitalTechnik4.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/digital/technik/DigitalTechnik4.java b/src/digital/technik/DigitalTechnik4.java index 4ec4b48..c1a585d 100644 --- a/src/digital/technik/DigitalTechnik4.java +++ b/src/digital/technik/DigitalTechnik4.java @@ -10,6 +10,8 @@ public class DigitalTechnik4 { System.out.println("Willkommen"); System.out.println("Bitte wählen Sie ein Thema (Zahl):"); System.out.println("1. NOR"); + System.out.println("2. NAND"); + System.out.println("3. Aquivalenz"); int choice = sc.nextInt(); sc.nextLine(); @@ -21,6 +23,19 @@ public class DigitalTechnik4 { Es hat zwei oder mehrere Eingänge und einen Ausgang. Der Ausgang ist "wahr" (1), wenn alle Eingänge "falsch" (0) sind. \n Ansonsten ist der Ausgang "falsch" (0). Es ist das logische Gegenteil des OR-Operators."""); + } else if (choice == 2) { + System.out.println(""" + Der NAND-Operator ist ein logisches Schaltwerk in der Digitaltechnik, das die Funktion des "Nicht-Und" ausführt.\s + Es hat zwei oder mehrere Eingänge und einen Ausgang.\s + Der Ausgang ist "falsch" (0), wenn alle Eingänge "wahr" (1) sind. Ansonsten ist der Ausgang "wahr" (1). \n + Es ist das logische Gegenteil des AND-Operators."""); + + } else if (choice == 3) { + System.out.println(""" + Der Äquivalenzoperator ist ein logisches Schaltwerk in der Digitaltechnik, das die Funktion des "Entweder-Oder" ausführt.\s + Es hat zwei Eingänge und einen Ausgang. Der Ausgang ist "wahr" (1), wenn die beiden Eingänge gleich sind (beide 1 oder beide 0) und "falsch" (0),\s + wenn die Eingänge unterschiedlich sind (einer ist 1 und der andere ist 0). Es ist das logische Gegenteil des XOR-Operators."""); + } else { System.out.println("Ungültige Eingabe!"); From 03d7c8d4f6bcd6602b8fc753874a84fd3cb35f58 Mon Sep 17 00:00:00 2001 From: fdai7487 Date: Thu, 9 Feb 2023 21:52:44 +0100 Subject: [PATCH 10/70] added fourth indexcard content 4-5 --- src/digital/technik/DigitalTechnik4.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/digital/technik/DigitalTechnik4.java b/src/digital/technik/DigitalTechnik4.java index c1a585d..84feaaf 100644 --- a/src/digital/technik/DigitalTechnik4.java +++ b/src/digital/technik/DigitalTechnik4.java @@ -12,6 +12,8 @@ public class DigitalTechnik4 { System.out.println("1. NOR"); System.out.println("2. NAND"); System.out.println("3. Aquivalenz"); + System.out.println("4. Implikation"); + System.out.println("5. Multiplexer"); int choice = sc.nextInt(); sc.nextLine(); @@ -36,11 +38,15 @@ public class DigitalTechnik4 { Es hat zwei Eingänge und einen Ausgang. Der Ausgang ist "wahr" (1), wenn die beiden Eingänge gleich sind (beide 1 oder beide 0) und "falsch" (0),\s wenn die Eingänge unterschiedlich sind (einer ist 1 und der andere ist 0). Es ist das logische Gegenteil des XOR-Operators."""); + } else if (choice == 4) { + System.out.println("Funktionsweise: Das Ergebnis der Implikation zweier Variablen a\n" + + "und b ist genau dann 1 wenn aus Aussage ≫a folgt b≪ wahr ist."); + + } else if (choice == 5) { + System.out.println("Ein Multiplexer ist ein elektronisches Schaltwerk, das es ermöglicht, mehrere Eingangssignale auf einen einzigen Ausgang zu schalten."); } else { System.out.println("Ungültige Eingabe!"); } - - } } From 1011e02520e6f0ad906bea0816309765af6080f7 Mon Sep 17 00:00:00 2001 From: fdai7487 Date: Thu, 9 Feb 2023 21:55:22 +0100 Subject: [PATCH 11/70] added fifth indexcard --- src/digital/technik/DigitalTechnik4.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/digital/technik/DigitalTechnik4.java b/src/digital/technik/DigitalTechnik4.java index 84feaaf..75a3f36 100644 --- a/src/digital/technik/DigitalTechnik4.java +++ b/src/digital/technik/DigitalTechnik4.java @@ -36,7 +36,7 @@ public class DigitalTechnik4 { System.out.println(""" Der Äquivalenzoperator ist ein logisches Schaltwerk in der Digitaltechnik, das die Funktion des "Entweder-Oder" ausführt.\s Es hat zwei Eingänge und einen Ausgang. Der Ausgang ist "wahr" (1), wenn die beiden Eingänge gleich sind (beide 1 oder beide 0) und "falsch" (0),\s - wenn die Eingänge unterschiedlich sind (einer ist 1 und der andere ist 0). Es ist das logische Gegenteil des XOR-Operators."""); + wenn die Eingänge unterschiedlich sind (einer ist 1 und der andere ist 0). Es ist das logische Gegenteil des XOR Operators."""); } else if (choice == 4) { System.out.println("Funktionsweise: Das Ergebnis der Implikation zweier Variablen a\n" + From 0e2e806693132664adac100e5094b1a4f2e1154d Mon Sep 17 00:00:00 2001 From: fdai7487 Date: Thu, 9 Feb 2023 21:58:30 +0100 Subject: [PATCH 12/70] added fifth indexcard --- src/digital/technik/DigitalTechnik5.java | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 src/digital/technik/DigitalTechnik5.java diff --git a/src/digital/technik/DigitalTechnik5.java b/src/digital/technik/DigitalTechnik5.java new file mode 100644 index 0000000..20febf3 --- /dev/null +++ b/src/digital/technik/DigitalTechnik5.java @@ -0,0 +1,7 @@ +package digital.technik; + +public class DigitalTechnik5 { + + public static void main(String[] args) { + } +} From 562e3723480ec9b121b8867ecac30bf5c80db92d Mon Sep 17 00:00:00 2001 From: fdai7487 Date: Thu, 9 Feb 2023 22:31:06 +0100 Subject: [PATCH 13/70] added fifth indexcard content 1 --- src/digital/technik/DigitalTechnik5.java | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/digital/technik/DigitalTechnik5.java b/src/digital/technik/DigitalTechnik5.java index 20febf3..327bb14 100644 --- a/src/digital/technik/DigitalTechnik5.java +++ b/src/digital/technik/DigitalTechnik5.java @@ -1,7 +1,26 @@ package digital.technik; +import java.util.Scanner; + public class DigitalTechnik5 { public static void main(String[] args) { + Scanner sc = new Scanner(System.in); + + System.out.println("Willkommen"); + System.out.println("Bitte wählen Sie ein Thema (Zahl):"); + System.out.println("1. KV-Diagram"); + + + int choice = sc.nextInt(); + sc.nextLine(); + + if (choice == 1) { + + System.out.println("Ein KV-Diagramm ist ein Diagramm, in dem die Beziehung zwischen zwei oder mehr Variablen dargestellt wird."); + + } else { + System.out.println("Ungültige Eingabe!"); + } } } From 4f5ac368185db7f5f03b88682f30ee8d343c8e45 Mon Sep 17 00:00:00 2001 From: fdai7487 Date: Thu, 9 Feb 2023 22:33:05 +0100 Subject: [PATCH 14/70] added fifth indexcard content 2 --- src/digital/technik/DigitalTechnik5.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/digital/technik/DigitalTechnik5.java b/src/digital/technik/DigitalTechnik5.java index 327bb14..4cedd16 100644 --- a/src/digital/technik/DigitalTechnik5.java +++ b/src/digital/technik/DigitalTechnik5.java @@ -10,6 +10,7 @@ public class DigitalTechnik5 { System.out.println("Willkommen"); System.out.println("Bitte wählen Sie ein Thema (Zahl):"); System.out.println("1. KV-Diagram"); + System.out.println("2. Primimplikant"); int choice = sc.nextInt(); @@ -19,6 +20,13 @@ public class DigitalTechnik5 { System.out.println("Ein KV-Diagramm ist ein Diagramm, in dem die Beziehung zwischen zwei oder mehr Variablen dargestellt wird."); + } else if (choice == 2) { + System.out.println(""" + Primimplikant (Primterm): Term, der sich nicht weiter + vereinfachen (zusammenfassen) lässt. (Ein Term mit maximaler + Ordnung.) – Größtmögliche Zusammenfassung von 1, 2, 4, 8, etc. + 1en (0en) im KV-Diagramm."""); + } else { System.out.println("Ungültige Eingabe!"); } From 9ad0eefe57887860f451d800fccbaa87b8f706e5 Mon Sep 17 00:00:00 2001 From: fdai7487 Date: Thu, 9 Feb 2023 22:34:12 +0100 Subject: [PATCH 15/70] added fifth indexcard content 3 --- src/digital/technik/DigitalTechnik5.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/digital/technik/DigitalTechnik5.java b/src/digital/technik/DigitalTechnik5.java index 4cedd16..1e1783d 100644 --- a/src/digital/technik/DigitalTechnik5.java +++ b/src/digital/technik/DigitalTechnik5.java @@ -11,6 +11,7 @@ public class DigitalTechnik5 { System.out.println("Bitte wählen Sie ein Thema (Zahl):"); System.out.println("1. KV-Diagram"); System.out.println("2. Primimplikant"); + System.out.println("3. KPI, API, REPI"); int choice = sc.nextInt(); @@ -27,6 +28,23 @@ public class DigitalTechnik5 { Ordnung.) – Größtmögliche Zusammenfassung von 1, 2, 4, 8, etc. 1en (0en) im KV-Diagramm."""); + } else if (choice == 3) { + System.out.println(""" + Kernprimimplikant KPI (essentieller Primterm): Primimplikant, + der zur Realisierung einer Funktion unbedingt erforderlich ist. Die + Minterme aus denen er entstand, können nicht anders überdeckt + werden. Diese werden zur Minimierung zwingend benötigt! + + Absolut eliminierbarer Primimplikant API: Primimplikant, + dessen Minterme (Maxterme) alle von Kernprimimplikanten + uberdeckt werden. Diese können zur Minimierung weggelassen + werden. + + Alle weiteren Primimplikanten sind relativ eliminierbare + Primimplikanten (REPI). Hier muss zur Minimierung eine + Auszahl erfolgen! + """); + } else { System.out.println("Ungültige Eingabe!"); } From dbe686c660f1be3089d1640ed41e59e14eb3af82 Mon Sep 17 00:00:00 2001 From: fdai7487 Date: Thu, 9 Feb 2023 22:41:55 +0100 Subject: [PATCH 16/70] added 6th indexcard content 1 --- src/digital/technik/DigitalTechnik6.java | 29 ++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 src/digital/technik/DigitalTechnik6.java diff --git a/src/digital/technik/DigitalTechnik6.java b/src/digital/technik/DigitalTechnik6.java new file mode 100644 index 0000000..2d48380 --- /dev/null +++ b/src/digital/technik/DigitalTechnik6.java @@ -0,0 +1,29 @@ +package digital.technik; + +import java.util.Scanner; + +public class DigitalTechnik6 { + + public static void main(String[] args) { + + Scanner sc = new Scanner(System.in); + + System.out.println("Willkommen"); + System.out.println("Bitte wählen Sie ein Thema (Zahl):"); + System.out.println("1. Dont Cares"); + + int choice = sc.nextInt(); + sc.nextLine(); + + if (choice == 1) { + + System.out.println(""" + In der Digitaltechnik sind Dont-Cares (engl. für "nicht interessiert") bestimmte Zustände oder Eingangskombinationen,\s + die für das Verhalten einer Schaltung nicht relevant sind. Sie können in der Schaltalgebra verwendet werden,\s + um die Anzahl der benötigten Gates in einer Schaltung zu reduzieren und somit die Leistung und Effizienz der Schaltung zu verbessern."""); + + } else { + System.out.println("Invalid choice. Please try again."); + } + } +} From 07d145d40376c48f34446c767a8cff3832843146 Mon Sep 17 00:00:00 2001 From: fdai7487 Date: Thu, 9 Feb 2023 22:44:19 +0100 Subject: [PATCH 17/70] added 6th indexcard content 2-3 --- src/digital/technik/DigitalTechnik6.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/digital/technik/DigitalTechnik6.java b/src/digital/technik/DigitalTechnik6.java index 2d48380..4b08404 100644 --- a/src/digital/technik/DigitalTechnik6.java +++ b/src/digital/technik/DigitalTechnik6.java @@ -11,6 +11,8 @@ public class DigitalTechnik6 { System.out.println("Willkommen"); System.out.println("Bitte wählen Sie ein Thema (Zahl):"); System.out.println("1. Dont Cares"); + System.out.println("2. Dekoder"); + System.out.println("3. Ripple-Cary-Addierer"); int choice = sc.nextInt(); sc.nextLine(); @@ -22,6 +24,17 @@ public class DigitalTechnik6 { die für das Verhalten einer Schaltung nicht relevant sind. Sie können in der Schaltalgebra verwendet werden,\s um die Anzahl der benötigten Gates in einer Schaltung zu reduzieren und somit die Leistung und Effizienz der Schaltung zu verbessern."""); + } else if (choice == 2) { + System.out.println("In der Digitaltechnik sind Dekoder Schaltungen, die mehrere Eingangssignale in eine bestimmte Anzahl von Ausgangssignalen umwandeln. \n" + + "Sie werden verwendet, um digitale Codes zu interpretieren und bestimmte Aktionen auszuführen."); + + } else if (choice == 3) { + System.out.println(""" + Der Carry-Ripple-Addierer, auch Ripple-Carry-Addierer oder ripple-through carry, ist ein Addiernetz,\s + dient also der Addition mehrstelliger Binärzahlen. Ein n-Bit-Carry-Ripple-Addierer kann zwei n-stellige Binärzahlen addieren,\s + das Ergebnis hat n+1 Stellen. Das Schaltnetz hat damit 2n+1 Eingänge und n+1 Ausgänge."""); + + } else { System.out.println("Invalid choice. Please try again."); } From 2816526d92402a143e40a56501e81e8bedd121af Mon Sep 17 00:00:00 2001 From: fdai7487 Date: Thu, 9 Feb 2023 23:26:58 +0100 Subject: [PATCH 18/70] added 7th indexcard --- src/digital/technik/DigitalTechnik7.java | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 src/digital/technik/DigitalTechnik7.java diff --git a/src/digital/technik/DigitalTechnik7.java b/src/digital/technik/DigitalTechnik7.java new file mode 100644 index 0000000..ba9dbf2 --- /dev/null +++ b/src/digital/technik/DigitalTechnik7.java @@ -0,0 +1,8 @@ +package digital.technik; + +public class DigitalTechnik7 { + + public static void main(String[] args) { + + } +} From aea790a0361323d325d82c5e2af86d4906148866 Mon Sep 17 00:00:00 2001 From: fdai7487 Date: Thu, 9 Feb 2023 23:28:09 +0100 Subject: [PATCH 19/70] added 7th indexcard content 1 --- src/digital/technik/DigitalTechnik7.java | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/digital/technik/DigitalTechnik7.java b/src/digital/technik/DigitalTechnik7.java index ba9dbf2..453085b 100644 --- a/src/digital/technik/DigitalTechnik7.java +++ b/src/digital/technik/DigitalTechnik7.java @@ -1,8 +1,27 @@ package digital.technik; +import java.util.Scanner; + public class DigitalTechnik7 { public static void main(String[] args) { + Scanner sc = new Scanner(System.in); + + System.out.println("Willkommen"); + System.out.println("Bitte wählen Sie ein Thema (Zahl):"); + System.out.println("1. ALU"); + + int choice = sc.nextInt(); + sc.nextLine(); + + if (choice == 1) { + + System.out.println("In der Digitaltechnik ist eine ALU (Arithmetisch-Logische Einheit) ein Baustein in einem Prozessor, der die grundlegenden arithmetischen und logischen Operationen ausführt. \n" + + "Dazu gehören Operationen wie Addition, Subtraktion, Multiplikation, Division, Vergleich, Schaltungen und Bitverschiebungen."); + + } else { + System.out.println("Ungültige Eingabe!"); + } } } From 2e5a6d9654109975371c62544008cf95b610204f Mon Sep 17 00:00:00 2001 From: fdai7487 Date: Thu, 9 Feb 2023 23:30:27 +0100 Subject: [PATCH 20/70] added 7th indexcard content 2 --- src/digital/technik/DigitalTechnik7.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/digital/technik/DigitalTechnik7.java b/src/digital/technik/DigitalTechnik7.java index 453085b..7f711ce 100644 --- a/src/digital/technik/DigitalTechnik7.java +++ b/src/digital/technik/DigitalTechnik7.java @@ -10,6 +10,7 @@ public class DigitalTechnik7 { System.out.println("Willkommen"); System.out.println("Bitte wählen Sie ein Thema (Zahl):"); System.out.println("1. ALU"); + System.out.println("2. Moore und Mealy Automaten"); int choice = sc.nextInt(); sc.nextLine(); @@ -19,6 +20,12 @@ public class DigitalTechnik7 { System.out.println("In der Digitaltechnik ist eine ALU (Arithmetisch-Logische Einheit) ein Baustein in einem Prozessor, der die grundlegenden arithmetischen und logischen Operationen ausführt. \n" + "Dazu gehören Operationen wie Addition, Subtraktion, Multiplikation, Division, Vergleich, Schaltungen und Bitverschiebungen."); + } else if (choice == 2) { + System.out.println(""" + Ein Moore-Automat ist ein FA, bei dem jeder Zustand durch einen Ausgabewert (auch als "Zustandsvariable" bezeichnet) repräsentiert wird. Die Ausgabe des Automaten hängt also nur vom aktuellen Zustand ab und nicht von den Eingabezeichen. + + Ein Mealy-Automat ist ein FA, bei dem die Ausgabe von sowohl dem aktuellen Zustand als auch den Eingabezeichen abhängt."""); + } else { System.out.println("Ungültige Eingabe!"); } From 6a9939a4e7602d97071ad3520247f194842f3991 Mon Sep 17 00:00:00 2001 From: fdai7487 Date: Thu, 9 Feb 2023 23:31:51 +0100 Subject: [PATCH 21/70] added 7th indexcard content 3 --- src/digital/technik/DigitalTechnik7.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/digital/technik/DigitalTechnik7.java b/src/digital/technik/DigitalTechnik7.java index 7f711ce..45f0daf 100644 --- a/src/digital/technik/DigitalTechnik7.java +++ b/src/digital/technik/DigitalTechnik7.java @@ -11,6 +11,8 @@ public class DigitalTechnik7 { System.out.println("Bitte wählen Sie ein Thema (Zahl):"); System.out.println("1. ALU"); System.out.println("2. Moore und Mealy Automaten"); + System.out.println("3. Schaltwerke (asynchrone Automaten)"); + int choice = sc.nextInt(); sc.nextLine(); @@ -26,6 +28,11 @@ public class DigitalTechnik7 { Ein Mealy-Automat ist ein FA, bei dem die Ausgabe von sowohl dem aktuellen Zustand als auch den Eingabezeichen abhängt."""); + } else if (choice == 3) { + System.out.println("Asynchrone Schaltwerke (auch asynchrone Automaten genannt) sind Schaltungen, die unabhängig von einem gemeinsamen Takt funktionieren und sich nicht synchron im gleichen Takt ändern. \n" + + "Diese Schaltungen werden oft in digitalen Systemen verwendet, die Daten in Echtzeit verarbeiten müssen, da sie schnelle Reaktionen auf Ereignisse ermöglichen und eine hohe Flexibilität in der Datenverarbeitung bieten."); + + } else { System.out.println("Ungültige Eingabe!"); } From fa39ffacff6d929c461b54ef5c811c1030af91ec Mon Sep 17 00:00:00 2001 From: fdai7487 Date: Thu, 9 Feb 2023 23:40:26 +0100 Subject: [PATCH 22/70] added 8th indexcard --- src/digital/technik/DigitalTechnik8.java | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 src/digital/technik/DigitalTechnik8.java diff --git a/src/digital/technik/DigitalTechnik8.java b/src/digital/technik/DigitalTechnik8.java new file mode 100644 index 0000000..79b6348 --- /dev/null +++ b/src/digital/technik/DigitalTechnik8.java @@ -0,0 +1,8 @@ +package digital.technik; + +public class DigitalTechnik8 { + + public static void main(String[] args) { + + } +} From f5da7ca368424a116c173cd93e76145816f2162f Mon Sep 17 00:00:00 2001 From: fdai7487 Date: Thu, 9 Feb 2023 23:42:14 +0100 Subject: [PATCH 23/70] added 8th indexcard content 1 --- src/digital/technik/DigitalTechnik8.java | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src/digital/technik/DigitalTechnik8.java b/src/digital/technik/DigitalTechnik8.java index 79b6348..7e09f79 100644 --- a/src/digital/technik/DigitalTechnik8.java +++ b/src/digital/technik/DigitalTechnik8.java @@ -1,8 +1,32 @@ package digital.technik; +import java.util.Scanner; + public class DigitalTechnik8 { public static void main(String[] args) { + Scanner sc = new Scanner(System.in); + + System.out.println("Willkommen"); + System.out.println("Bitte wählen Sie ein Thema (Zahl):"); + System.out.println("1. JK-FlipFlop"); + System.out.println("2. T-Flipflop"); + System.out.println("3. Taktpegelgesteuertes D-Latch"); + System.out.println("4. Taktflankengesteuertes D-Flipflop"); + + + int choice = sc.nextInt(); + sc.nextLine(); + + if (choice == 1) { + + System.out.println(""" + Ein JK-Flipflop ist eine Art von Flipflop, das auf eine Kombination von Eingangssignalen J und K reagiert. Es hat zwei Eingänge (J und K) und einen Ausgang (Q).\s + Der Ausgang wird auf den Wert von J gesetzt, wenn K auf logisch 0 steht und auf den Wert von K gesetzt, wenn J auf logisch 0 steht.\s + Wenn beide J und K auf logisch 1 stehen, wird der Ausgang invertiert."""); + } else { + System.out.println("Ungültige Eingabe!"); + } } } From f63ee2cf648a813132cc4639667d6e243841a49d Mon Sep 17 00:00:00 2001 From: fdai7487 Date: Thu, 9 Feb 2023 23:44:06 +0100 Subject: [PATCH 24/70] added 8th indexcard content 2 --- src/digital/technik/DigitalTechnik8.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/digital/technik/DigitalTechnik8.java b/src/digital/technik/DigitalTechnik8.java index 7e09f79..52255f7 100644 --- a/src/digital/technik/DigitalTechnik8.java +++ b/src/digital/technik/DigitalTechnik8.java @@ -25,6 +25,16 @@ public class DigitalTechnik8 { Der Ausgang wird auf den Wert von J gesetzt, wenn K auf logisch 0 steht und auf den Wert von K gesetzt, wenn J auf logisch 0 steht.\s Wenn beide J und K auf logisch 1 stehen, wird der Ausgang invertiert."""); + + } else if (choice == 2) { + System.out.println(""" + Ein T-Flipflop ist eine Art von Flipflop, das auf ein Eingangssignal T reagiert. Es hat nur einen Eingang (T) und einen Ausgang (Q). \n + Der Ausgang wird invertiert, wenn das Eingangssignal T auf logisch 1 steht. + + Es ist ein Schaltkreis, der den Zustand des Ausgangs auf die negierte Form des Eingangs setzt. + + """); + } else { System.out.println("Ungültige Eingabe!"); } From 6dc5c4ee47b2269e79e3d0f4987b318eb6b104c0 Mon Sep 17 00:00:00 2001 From: fdai7487 Date: Thu, 9 Feb 2023 23:50:46 +0100 Subject: [PATCH 25/70] added 8th indexcard content 3 --- src/digital/technik/DigitalTechnik8.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/digital/technik/DigitalTechnik8.java b/src/digital/technik/DigitalTechnik8.java index 52255f7..3a2cced 100644 --- a/src/digital/technik/DigitalTechnik8.java +++ b/src/digital/technik/DigitalTechnik8.java @@ -35,6 +35,11 @@ public class DigitalTechnik8 { """); + } else if (choice == 3) { + System.out.println(""" + Das Taktpegelgesteuerte D-Latch ist eine digitale Schaltung, die zur Speicherung von binären Informationen verwendet wird. Es besteht aus zwei Eingängen (D und CLK), einem Taktpegel, und einem Ausgang (Q).\s + Der Wert des Eingangs "D" wird bei einem negativen Flankenwechsel des Takteingangs "CLK" gespeichert und bleibt bis zum nächsten negativen Flankenwechsel bestehen."""); + } else { System.out.println("Ungültige Eingabe!"); } From 2a8ea37fcee2a40820c58322d10c529822e471fc Mon Sep 17 00:00:00 2001 From: fdai7487 Date: Thu, 9 Feb 2023 23:51:42 +0100 Subject: [PATCH 26/70] added 8th indexcard content 4 --- src/digital/technik/DigitalTechnik8.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/digital/technik/DigitalTechnik8.java b/src/digital/technik/DigitalTechnik8.java index 3a2cced..bbbd0b5 100644 --- a/src/digital/technik/DigitalTechnik8.java +++ b/src/digital/technik/DigitalTechnik8.java @@ -40,6 +40,13 @@ public class DigitalTechnik8 { Das Taktpegelgesteuerte D-Latch ist eine digitale Schaltung, die zur Speicherung von binären Informationen verwendet wird. Es besteht aus zwei Eingängen (D und CLK), einem Taktpegel, und einem Ausgang (Q).\s Der Wert des Eingangs "D" wird bei einem negativen Flankenwechsel des Takteingangs "CLK" gespeichert und bleibt bis zum nächsten negativen Flankenwechsel bestehen."""); + } else if (choice == 4) { + System.out.println(""" + Das Taktflankengesteuerte D-Flipflop ist eine digitale Schaltung, die zur Speicherung von binären Informationen verwendet wird. Es besteht aus zwei Eingängen (D und CLK), einem Takt, und einem Ausgang (Q).\s + Der Wert des Eingangs "D" wird bei einer positiven Taktflanke des Takteingangs "CLK" gespeichert und bleibt bis zur nächsten positiven Taktflanke bestehen.\s + Dieses Flipflop ist ein sehr wichtiger Baustein in der digitalen Technik und wird oft in der Registerspeicherung, bei der Übertragung von Daten und in sequentiellen Schaltungen eingesetzt."""); + + } else { System.out.println("Ungültige Eingabe!"); } From 88055a1abb561ad87d2242349abfc311e793f9ca Mon Sep 17 00:00:00 2001 From: fdai7487 Date: Fri, 10 Feb 2023 08:59:07 +0100 Subject: [PATCH 27/70] added 9th indexcard --- src/digital/technik/DigitalTechnik9.java | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 src/digital/technik/DigitalTechnik9.java diff --git a/src/digital/technik/DigitalTechnik9.java b/src/digital/technik/DigitalTechnik9.java new file mode 100644 index 0000000..802d89d --- /dev/null +++ b/src/digital/technik/DigitalTechnik9.java @@ -0,0 +1,7 @@ +package digital.technik; + +public class DigitalTechnik9 { + + public static void main(String[] args) { + } +} From ceca46a17bc4fc210e968df2ecbe76e8eb5d29d6 Mon Sep 17 00:00:00 2001 From: fdai7487 Date: Fri, 10 Feb 2023 09:19:16 +0100 Subject: [PATCH 28/70] added 9th indexcard content 1 --- src/digital/technik/DigitalTechnik9.java | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src/digital/technik/DigitalTechnik9.java b/src/digital/technik/DigitalTechnik9.java index 802d89d..f0eff07 100644 --- a/src/digital/technik/DigitalTechnik9.java +++ b/src/digital/technik/DigitalTechnik9.java @@ -1,7 +1,30 @@ package digital.technik; +import java.util.Scanner; + public class DigitalTechnik9 { public static void main(String[] args) { + + Scanner sc = new Scanner(System.in); + + System.out.println("Willkommen"); + System.out.println("Bitte wählen Sie ein Thema (Zahl):"); + System.out.println("1. Mod-4 Zähler mit enable"); + + int choice = sc.nextInt(); + sc.nextLine(); + + if (choice == 1) { + + System.out.println(""" + Der Mod-4-Zähler mit Enable ist ein Zähler, der dazu verwendet wird, eine bestimmte Anzahl von Schritten oder Zustände durchzugehen, bevor er wieder zum Anfang zurückkehrt.\s + Der Mod-4-Zähler hat 4 Zustände: 0, 1, 2 und 3, und er wechselt zum nächsten Zustand, wenn ein Taktsignal empfangen wird.\s + Wenn der Zähler in den Zustand 3 gelangt, kehrt er zurück zum Zustand 0, und der Prozess beginnt erneut."""); + + + } else { + System.out.println("Ungültige Eingabe!"); + } } } From 8e2af6ce777245f0efd8efbeb96ef5533ecd1f1b Mon Sep 17 00:00:00 2001 From: fdai7487 Date: Fri, 10 Feb 2023 09:20:03 +0100 Subject: [PATCH 29/70] added 9th indexcard content 2 --- src/digital/technik/DigitalTechnik9.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/digital/technik/DigitalTechnik9.java b/src/digital/technik/DigitalTechnik9.java index f0eff07..1f484bf 100644 --- a/src/digital/technik/DigitalTechnik9.java +++ b/src/digital/technik/DigitalTechnik9.java @@ -11,6 +11,8 @@ public class DigitalTechnik9 { System.out.println("Willkommen"); System.out.println("Bitte wählen Sie ein Thema (Zahl):"); System.out.println("1. Mod-4 Zähler mit enable"); + System.out.println("2. Unterschied Moore/Mealy Automaten"); + int choice = sc.nextInt(); sc.nextLine(); @@ -22,7 +24,14 @@ public class DigitalTechnik9 { Der Mod-4-Zähler hat 4 Zustände: 0, 1, 2 und 3, und er wechselt zum nächsten Zustand, wenn ein Taktsignal empfangen wird.\s Wenn der Zähler in den Zustand 3 gelangt, kehrt er zurück zum Zustand 0, und der Prozess beginnt erneut."""); + } else if (choice == 2) { + System.out.println(""" + Der Unterschied zwischen den beiden besteht darin, wie sie Zustände und Übergänge definieren und wie sie Ausgänge berechnen: + + Moore-Automaten: In Moore-Automaten werden Ausgänge ausschließlich durch den aktuellen Zustand berechnet. Jeder Zustand hat einen festen Ausgangswert, der unabhängig von den Eingängen ist. + Mealy-Automaten: In Mealy-Automaten werden Ausgänge auf der Basis sowohl des aktuellen Zustands als auch der Eingänge berechnet. Jeder Übergang hat einen festen Ausgangswert, der von beiden bestimmt wird."""); + } else { System.out.println("Ungültige Eingabe!"); } From 780da0652183ec2917af46697215df1d66c09354 Mon Sep 17 00:00:00 2001 From: fdai7487 Date: Fri, 10 Feb 2023 09:22:39 +0100 Subject: [PATCH 30/70] added 10th indexcard --- src/digital/technik/DigitalTechnik10.java | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 src/digital/technik/DigitalTechnik10.java diff --git a/src/digital/technik/DigitalTechnik10.java b/src/digital/technik/DigitalTechnik10.java new file mode 100644 index 0000000..0f8508a --- /dev/null +++ b/src/digital/technik/DigitalTechnik10.java @@ -0,0 +1,8 @@ +package digital.technik; + +public class DigitalTechnik10 { + + public static void main(String[] args) { + + } +} From fc91caefb5111a9b98dc03ac9e12f60b9ff248b2 Mon Sep 17 00:00:00 2001 From: fdai7487 Date: Fri, 10 Feb 2023 09:24:35 +0100 Subject: [PATCH 31/70] added 10th indexcard content 1 --- src/digital/technik/DigitalTechnik10.java | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/digital/technik/DigitalTechnik10.java b/src/digital/technik/DigitalTechnik10.java index 0f8508a..686b03e 100644 --- a/src/digital/technik/DigitalTechnik10.java +++ b/src/digital/technik/DigitalTechnik10.java @@ -1,8 +1,30 @@ package digital.technik; +import java.util.Scanner; + public class DigitalTechnik10 { public static void main(String[] args) { + Scanner sc = new Scanner(System.in); + + System.out.println("Willkommen"); + System.out.println("Bitte wählen Sie ein Thema (Zahl):"); + System.out.println("1. Register"); + + int choice = sc.nextInt(); + sc.nextLine(); + + if (choice == 1) { + + System.out.println(""" + Ein Register aus D-Flipflops ist eine Anordnung von D-Flipflops, die verwendet wird, um digitale Daten zu speichern und zu übertragen. Jeder D-Flipflop im Register hat einen D-Eingang, einen Clock-Eingang und einen Q-Ausgang. + + Der D-Eingang jedes Flipflops empfängt ein Datensignal, das gespeichert werden soll, der Clock-Eingang steuert den Zeitpunkt, zu dem die Daten in den Flipflop geladen werden sollen, und der Q-Ausgang gibt die aktuelle Speicherung des Flipflops aus."""); + + } else { + System.out.println("Ungültige Eingabe!"); + } + } } From b24b610f13c89f9ba1ceb3d63398558fcc8688d1 Mon Sep 17 00:00:00 2001 From: fdai7487 Date: Fri, 10 Feb 2023 09:26:03 +0100 Subject: [PATCH 32/70] added 10th indexcard content 2 --- src/digital/technik/DigitalTechnik10.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/digital/technik/DigitalTechnik10.java b/src/digital/technik/DigitalTechnik10.java index 686b03e..2063038 100644 --- a/src/digital/technik/DigitalTechnik10.java +++ b/src/digital/technik/DigitalTechnik10.java @@ -11,6 +11,7 @@ public class DigitalTechnik10 { System.out.println("Willkommen"); System.out.println("Bitte wählen Sie ein Thema (Zahl):"); System.out.println("1. Register"); + System.out.println("2. Register mit Enable"); int choice = sc.nextInt(); sc.nextLine(); @@ -22,9 +23,14 @@ public class DigitalTechnik10 { Der D-Eingang jedes Flipflops empfängt ein Datensignal, das gespeichert werden soll, der Clock-Eingang steuert den Zeitpunkt, zu dem die Daten in den Flipflop geladen werden sollen, und der Q-Ausgang gibt die aktuelle Speicherung des Flipflops aus."""); + } else if (choice == 2) { + System.out.println(""" + Ein Register mit Enable ist ein Register, das über einen zusätzlichen Eingang verfügt, der als "Enable"-Eingang bezeichnet wird. Dieser Eingang ermöglicht es, das Register zu aktivieren oder zu deaktivieren. + + Wenn der Enable-Eingang auf logisch 1 steht, arbeitet das Register normal und speichert die Daten, die über die D-Eingänge empfangen werden, wenn das Clock-Signal empfangen wird. Wenn der Enable-Eingang auf logisch 0 steht, arbeitet das Register nicht und die Daten werden nicht gespeichert."""); + } else { System.out.println("Ungültige Eingabe!"); } - } } From 0a9622d14adf1167756567e8850cb11e9581ff44 Mon Sep 17 00:00:00 2001 From: fdai7487 Date: Fri, 10 Feb 2023 09:26:57 +0100 Subject: [PATCH 33/70] added 11th indexcard --- src/digital/technik/DigitalTechnik11.java | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 src/digital/technik/DigitalTechnik11.java diff --git a/src/digital/technik/DigitalTechnik11.java b/src/digital/technik/DigitalTechnik11.java new file mode 100644 index 0000000..1d3c761 --- /dev/null +++ b/src/digital/technik/DigitalTechnik11.java @@ -0,0 +1,8 @@ +package digital.technik; + +public class DigitalTechnik11 { + + public static void main(String[] args) { + + } +} From 42eaeb780458bfaae0354249335012783d1b0f03 Mon Sep 17 00:00:00 2001 From: fdai7487 Date: Fri, 10 Feb 2023 09:29:24 +0100 Subject: [PATCH 34/70] added 11th indexcard content 1 --- src/digital/technik/DigitalTechnik11.java | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/digital/technik/DigitalTechnik11.java b/src/digital/technik/DigitalTechnik11.java index 1d3c761..fd4e3b6 100644 --- a/src/digital/technik/DigitalTechnik11.java +++ b/src/digital/technik/DigitalTechnik11.java @@ -1,8 +1,29 @@ package digital.technik; +import java.util.Scanner; + public class DigitalTechnik11 { public static void main(String[] args) { + Scanner sc = new Scanner(System.in); + + System.out.println("Willkommen"); + System.out.println("Bitte wählen Sie ein Thema (Zahl):"); + System.out.println("1. 4x4-Bit-Registerfile"); + + int choice = sc.nextInt(); + sc.nextLine(); + + if (choice == 1) { + + System.out.println(""" + 4x4-Bit-Registerfile ist ein digitaler Speicherblock, + der aus vier 4-Bit-Registern besteht und verwendet wird, um mehrere Daten gleichzeitig zu speichern und zu übertragen.\s + Jedes Register im Registerfile hat einen Satz von Eingängen und Ausgängen."""); + + } else { + System.out.println("Ungültige Eingabe!"); + } } } From dbc53b024372b9b786e4220cb9c4f07bba7e0c08 Mon Sep 17 00:00:00 2001 From: fdai7487 Date: Fri, 10 Feb 2023 09:30:59 +0100 Subject: [PATCH 35/70] added 11th indexcard content 2 --- src/digital/technik/DigitalTechnik11.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/digital/technik/DigitalTechnik11.java b/src/digital/technik/DigitalTechnik11.java index fd4e3b6..5582b03 100644 --- a/src/digital/technik/DigitalTechnik11.java +++ b/src/digital/technik/DigitalTechnik11.java @@ -11,6 +11,7 @@ public class DigitalTechnik11 { System.out.println("Willkommen"); System.out.println("Bitte wählen Sie ein Thema (Zahl):"); System.out.println("1. 4x4-Bit-Registerfile"); + System.out.println("2. Minimal Prozessor"); int choice = sc.nextInt(); sc.nextLine(); @@ -22,8 +23,13 @@ public class DigitalTechnik11 { der aus vier 4-Bit-Registern besteht und verwendet wird, um mehrere Daten gleichzeitig zu speichern und zu übertragen.\s Jedes Register im Registerfile hat einen Satz von Eingängen und Ausgängen."""); + } else if (choice == 2) { + System.out.println("Ein Minimalprozessor, auch als \"Reduced Instruction Set Computer\" (RISC) bezeichnet, ist ein Prozessor, \n" + + "der nur eine begrenzte Anzahl von Befehlen (Instruktionen) unterstützt, die jedoch sehr schnell ausgeführt werden können. "); + } else { System.out.println("Ungültige Eingabe!"); + } } } From dc2c94d92a6378a28ec93f667fa6926536b1ed47 Mon Sep 17 00:00:00 2001 From: fdai7487 Date: Fri, 10 Feb 2023 09:50:54 +0100 Subject: [PATCH 36/70] refactoring: Logic is outsourced to the method --- src/digital/technik/DigitalTechnik1.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/digital/technik/DigitalTechnik1.java b/src/digital/technik/DigitalTechnik1.java index 6df8ec0..96c9652 100644 --- a/src/digital/technik/DigitalTechnik1.java +++ b/src/digital/technik/DigitalTechnik1.java @@ -4,8 +4,10 @@ import java.util.Scanner; public class DigitalTechnik1 { - public static void main(String[] args) { + public DigitalTechnik1() { + } + void start() { Scanner sc = new Scanner(System.in); System.out.println("Willkommen"); From b88e0d6e8cfe527c169edf440152a03489e7f669 Mon Sep 17 00:00:00 2001 From: fdai7487 Date: Fri, 10 Feb 2023 10:29:43 +0100 Subject: [PATCH 37/70] refactoring: Logic is outsourced to the method --- src/digital/technik/DigitalTechnik2.java | 6 ++++-- src/digital/technik/DigitalTechnik3.java | 7 ++++--- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/digital/technik/DigitalTechnik2.java b/src/digital/technik/DigitalTechnik2.java index 9791237..e366e7c 100644 --- a/src/digital/technik/DigitalTechnik2.java +++ b/src/digital/technik/DigitalTechnik2.java @@ -4,7 +4,10 @@ import java.util.Scanner; public class DigitalTechnik2 { - public static void main(String[] args) { + public DigitalTechnik2() { + } + + void start() { Scanner sc = new Scanner(System.in); System.out.println("Willkommen"); @@ -68,6 +71,5 @@ public class DigitalTechnik2 { } else { System.out.println("Ungültige Eingabe!"); } - } } diff --git a/src/digital/technik/DigitalTechnik3.java b/src/digital/technik/DigitalTechnik3.java index 391c193..bb1bb02 100644 --- a/src/digital/technik/DigitalTechnik3.java +++ b/src/digital/technik/DigitalTechnik3.java @@ -4,7 +4,10 @@ import java.util.Scanner; public class DigitalTechnik3 { - public static void main(String[] args) { + public DigitalTechnik3() { + } + + void start() { Scanner sc = new Scanner(System.in); System.out.println("Willkommen"); @@ -62,8 +65,6 @@ public class DigitalTechnik3 { } else { System.out.println("Ungültige Eingabe!"); - - } } } \ No newline at end of file From 49a79d8fd49bba291a61d128e9b4dfa4f0cfd12a Mon Sep 17 00:00:00 2001 From: fdai7487 Date: Fri, 10 Feb 2023 10:31:29 +0100 Subject: [PATCH 38/70] refactoring: Logic is outsourced to the method --- src/digital/technik/DigitalTechnik4.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/digital/technik/DigitalTechnik4.java b/src/digital/technik/DigitalTechnik4.java index 75a3f36..88cd415 100644 --- a/src/digital/technik/DigitalTechnik4.java +++ b/src/digital/technik/DigitalTechnik4.java @@ -4,7 +4,10 @@ import java.util.Scanner; public class DigitalTechnik4 { - public static void main(String[] args) { + public DigitalTechnik4() { + } + + void start() { Scanner sc = new Scanner(System.in); System.out.println("Willkommen"); From 3e94c841f7fbeb3877c77020d41dcd4f6352e503 Mon Sep 17 00:00:00 2001 From: fdai7487 Date: Fri, 10 Feb 2023 10:32:22 +0100 Subject: [PATCH 39/70] refactoring: Logic is outsourced to the method --- src/digital/technik/DigitalTechnik5.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/digital/technik/DigitalTechnik5.java b/src/digital/technik/DigitalTechnik5.java index 1e1783d..7ff2923 100644 --- a/src/digital/technik/DigitalTechnik5.java +++ b/src/digital/technik/DigitalTechnik5.java @@ -4,7 +4,10 @@ import java.util.Scanner; public class DigitalTechnik5 { - public static void main(String[] args) { + public DigitalTechnik5() { + } + + void start() { Scanner sc = new Scanner(System.in); System.out.println("Willkommen"); From 8a60d6bc637e0c5413694f2e38abb99801d42d67 Mon Sep 17 00:00:00 2001 From: fdai7487 Date: Fri, 10 Feb 2023 10:33:57 +0100 Subject: [PATCH 40/70] refactoring: Logic is outsourced to the method --- src/digital/technik/DigitalTechnik6.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/digital/technik/DigitalTechnik6.java b/src/digital/technik/DigitalTechnik6.java index 4b08404..0bca319 100644 --- a/src/digital/technik/DigitalTechnik6.java +++ b/src/digital/technik/DigitalTechnik6.java @@ -4,7 +4,10 @@ import java.util.Scanner; public class DigitalTechnik6 { - public static void main(String[] args) { + public DigitalTechnik6() { + } + + void start() { Scanner sc = new Scanner(System.in); From 77c181feed8b4c00c8313a9b53fec21140e7119f Mon Sep 17 00:00:00 2001 From: fdai7487 Date: Fri, 10 Feb 2023 10:35:00 +0100 Subject: [PATCH 41/70] refactoring: Logic is outsourced to the method --- src/digital/technik/DigitalTechnik7.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/digital/technik/DigitalTechnik7.java b/src/digital/technik/DigitalTechnik7.java index 45f0daf..f8f4012 100644 --- a/src/digital/technik/DigitalTechnik7.java +++ b/src/digital/technik/DigitalTechnik7.java @@ -4,7 +4,10 @@ import java.util.Scanner; public class DigitalTechnik7 { - public static void main(String[] args) { + public DigitalTechnik7() { + } + + void start() { Scanner sc = new Scanner(System.in); System.out.println("Willkommen"); @@ -36,6 +39,5 @@ public class DigitalTechnik7 { } else { System.out.println("Ungültige Eingabe!"); } - } } From 86e7d6d3f3f99cc4fee5e322f20c1d2551f9f7a1 Mon Sep 17 00:00:00 2001 From: fdai7487 Date: Fri, 10 Feb 2023 10:38:28 +0100 Subject: [PATCH 42/70] refactoring: Logic is outsourced to the method --- src/digital/technik/DigitalTechnik8.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/digital/technik/DigitalTechnik8.java b/src/digital/technik/DigitalTechnik8.java index bbbd0b5..af2b91f 100644 --- a/src/digital/technik/DigitalTechnik8.java +++ b/src/digital/technik/DigitalTechnik8.java @@ -4,7 +4,10 @@ import java.util.Scanner; public class DigitalTechnik8 { - public static void main(String[] args) { + public DigitalTechnik8() { + } + + void start() { Scanner sc = new Scanner(System.in); System.out.println("Willkommen"); From a0f71fb0cb75ca0d8bfe1e7a07aaa3e119581622 Mon Sep 17 00:00:00 2001 From: fdai7487 Date: Fri, 10 Feb 2023 10:46:41 +0100 Subject: [PATCH 43/70] refactoring: Logic is outsourced to the method --- src/digital/technik/DigitalTechnik9.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/digital/technik/DigitalTechnik9.java b/src/digital/technik/DigitalTechnik9.java index 1f484bf..5a6a35e 100644 --- a/src/digital/technik/DigitalTechnik9.java +++ b/src/digital/technik/DigitalTechnik9.java @@ -4,7 +4,10 @@ import java.util.Scanner; public class DigitalTechnik9 { - public static void main(String[] args) { + public DigitalTechnik9() { + } + + void start() { Scanner sc = new Scanner(System.in); From f6b907aace3351afb53639115d2ffdd9ac2dfad9 Mon Sep 17 00:00:00 2001 From: fdai7487 Date: Fri, 10 Feb 2023 10:47:02 +0100 Subject: [PATCH 44/70] refactoring: Logic is outsourced to the method --- src/digital/technik/DigitalTechnik10.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/digital/technik/DigitalTechnik10.java b/src/digital/technik/DigitalTechnik10.java index 2063038..307e678 100644 --- a/src/digital/technik/DigitalTechnik10.java +++ b/src/digital/technik/DigitalTechnik10.java @@ -3,8 +3,10 @@ package digital.technik; import java.util.Scanner; public class DigitalTechnik10 { + public DigitalTechnik10() { + } - public static void main(String[] args) { + void start() { Scanner sc = new Scanner(System.in); From a770a180a84ae71e8914d9d20d12f7d0d6ff50da Mon Sep 17 00:00:00 2001 From: fdai7487 Date: Fri, 10 Feb 2023 10:47:12 +0100 Subject: [PATCH 45/70] refactoring: Logic is outsourced to the method --- src/digital/technik/DigitalTechnik11.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/digital/technik/DigitalTechnik11.java b/src/digital/technik/DigitalTechnik11.java index 5582b03..2015b6c 100644 --- a/src/digital/technik/DigitalTechnik11.java +++ b/src/digital/technik/DigitalTechnik11.java @@ -3,8 +3,10 @@ package digital.technik; import java.util.Scanner; public class DigitalTechnik11 { + public DigitalTechnik11() { + } - public static void main(String[] args) { + void start() { Scanner sc = new Scanner(System.in); From acf3f0f2b2662f99624d8c67caa3f82f59f622b8 Mon Sep 17 00:00:00 2001 From: fdai7487 Date: Fri, 10 Feb 2023 10:50:37 +0100 Subject: [PATCH 46/70] added main Digitaltechnik --- src/digital/technik/DigitalTechnik.java | 76 +++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 src/digital/technik/DigitalTechnik.java diff --git a/src/digital/technik/DigitalTechnik.java b/src/digital/technik/DigitalTechnik.java new file mode 100644 index 0000000..2faaeb5 --- /dev/null +++ b/src/digital/technik/DigitalTechnik.java @@ -0,0 +1,76 @@ +package digital.technik; + +public class DigitalTechnik { + + public DigitalTechnik() { + } + + public static void main(String[] args) { + System.out.println("DigitalTechnik1: \n"); + final DigitalTechnik1 digitalTechnik1 = new DigitalTechnik1(); + digitalTechnik1.start(); + + System.out.println("\n"); + + System.out.println("DigitalTechnik2: \n"); + final DigitalTechnik2 digitalTechnik2 = new DigitalTechnik2(); + digitalTechnik2.start(); + + System.out.println("\n"); + + System.out.println("DigitalTechnik3: \n"); + final DigitalTechnik3 digitalTechnik3 = new DigitalTechnik3(); + digitalTechnik3.start(); + + System.out.println("\n"); + + System.out.println("DigitalTechnik4: \n"); + final DigitalTechnik4 digitalTechnik4 = new DigitalTechnik4(); + digitalTechnik4.start(); + + System.out.println("\n"); + + System.out.println("DigitalTechnik5: \n"); + final DigitalTechnik5 digitalTechnik5 = new DigitalTechnik5(); + digitalTechnik5.start(); + + System.out.println("\n"); + + System.out.println("DigitalTechnik6: \n"); + final DigitalTechnik6 digitalTechnik6 = new DigitalTechnik6(); + digitalTechnik6.start(); + + System.out.println("\n"); + + System.out.println("DigitalTechnik7: \n"); + final DigitalTechnik7 digitalTechnik7 = new DigitalTechnik7(); + digitalTechnik7.start(); + + System.out.println("\n"); + + System.out.println("DigitalTechnik8: \n"); + final DigitalTechnik8 digitalTechnik8 = new DigitalTechnik8(); + digitalTechnik8.start(); + + + System.out.println("\n"); + + System.out.println("DigitalTechnik9: \n"); + final DigitalTechnik9 digitalTechnik9 = new DigitalTechnik9(); + digitalTechnik9.start(); + + + System.out.println("\n"); + + System.out.println("DigitalTechnik10: \n"); + final DigitalTechnik10 digitalTechnik10 = new DigitalTechnik10(); + digitalTechnik10.start(); + + + System.out.println("\n"); + + System.out.println("DigitalTechnik11: \n"); + final DigitalTechnik11 digitalTechnik11 = new DigitalTechnik11(); + digitalTechnik11.start(); + } +} From 6d77e2141a3c1f793e310eb46be10c7480c2ead4 Mon Sep 17 00:00:00 2001 From: fdai7487 Date: Fri, 10 Feb 2023 16:10:25 +0100 Subject: [PATCH 47/70] refactoring: added final method DigitalTechnik 1-3 --- src/digital/technik/DigitalTechnik.java | 211 ++++++++++++++++++------ 1 file changed, 161 insertions(+), 50 deletions(-) diff --git a/src/digital/technik/DigitalTechnik.java b/src/digital/technik/DigitalTechnik.java index 2faaeb5..b89bba8 100644 --- a/src/digital/technik/DigitalTechnik.java +++ b/src/digital/technik/DigitalTechnik.java @@ -1,76 +1,187 @@ package digital.technik; -public class DigitalTechnik { +import java.util.Scanner; +public class DigitalTechnik { public DigitalTechnik() { } - public static void main(String[] args) { - System.out.println("DigitalTechnik1: \n"); - final DigitalTechnik1 digitalTechnik1 = new DigitalTechnik1(); - digitalTechnik1.start(); - - System.out.println("\n"); - - System.out.println("DigitalTechnik2: \n"); - final DigitalTechnik2 digitalTechnik2 = new DigitalTechnik2(); - digitalTechnik2.start(); - - System.out.println("\n"); + void digitalTechnik1() { + Scanner sc = new Scanner(System.in); + + System.out.println("Willkommen"); + System.out.println("Bitte wählen Sie ein Thema (Zahl):"); + System.out.println("1. Information"); + System.out.println("2. Bit"); + System.out.println("3. Codes"); + System.out.println("4. Huffmann-Codierung"); + + int choice = sc.nextInt(); + sc.nextLine(); + + if (choice == 1) { + System.out.println(""" + Information: Kommunizierte oder empfangene Daten, die + Ungewissheit über ein bestimmtes Fakt oder einen Sachverhalt\s + auflöst."""); + + } else if (choice == 2) { + System.out.println(""" + Bit ist die Kurzform für binary digit.\s + Lateinisch bina bedeutet doppelt oder zwei. + Ein Bit kann zwei Werte annehmen: 0 und 1. + Das Bit ist die kleinste Informationseinheit. + Beipsiele: + Spannung vorhanden, z.B. 5V (1) oder nicht (0) + Schalter geschlossen (1) oder offen (0) + Material magnetisiert (1) oder nicht (0) + """); + + } else if (choice == 3) { + System.out.println(""" + Ein Code ist eine Abbildungsvorschrift für eindeutige\s + Zuordnung (Codierung) von + Symbolen einer Urmenge zu + Symbolen einer Bildmenge. + Die Zuordnung muss nicht (eindeutig) umkehrbar sein! + """); + + } else if (choice == 4) { + System.out.println(""" + Die Huffmann Codierung ist ein Codierungsverfahren, das\s + zu einem optimalen Code mit möglichst kleiner mittlerer Codelänge führt! + """); + + } else { + System.out.println("Ungültige Eingabe!"); + } + } + void digitalTechnik2() { + Scanner sc = new Scanner(System.in); - System.out.println("DigitalTechnik3: \n"); - final DigitalTechnik3 digitalTechnik3 = new DigitalTechnik3(); - digitalTechnik3.start(); + System.out.println("Willkommen"); + System.out.println("Bitte wählen Sie ein Thema (Zahl):"); + System.out.println("1. Hexadezimale Zahlen"); + System.out.println("2. Umrechnung dezimal in binär"); + System.out.println("3. Umrechnung dezimal in hexadezimal"); + System.out.println("4. Einerkomplement"); + System.out.println("5. Zweierkomplement"); - System.out.println("\n"); + int choice = sc.nextInt(); + sc.nextLine(); - System.out.println("DigitalTechnik4: \n"); - final DigitalTechnik4 digitalTechnik4 = new DigitalTechnik4(); - digitalTechnik4.start(); + if (choice == 1) { - System.out.println("\n"); + System.out.println(""" + Hexadezimale Zahlen (R = 16) werden häufig zur kompakten + Darstellung von Binärzahlen verwendet. + Es werden die Ziffern {0, 1, 2, . . . , 9,A,B,C, D,E, F} verwendet + (A bis F repräsentieren die Wertigkeit 10 bis 15) + Jedes Hexadezimale Digit kann mit genau 4 Bit dargestellt + werden"""); - System.out.println("DigitalTechnik5: \n"); - final DigitalTechnik5 digitalTechnik5 = new DigitalTechnik5(); - digitalTechnik5.start(); + } else if (choice == 2) { + System.out.println(""" + Um eine dezimale Zahl in eine binäre Zahl umzuwandeln, kann man den folgenden Prozess verwenden: - System.out.println("\n"); + Die dezimale Zahl durch 2 teilen und den Quotienten notieren. - System.out.println("DigitalTechnik6: \n"); - final DigitalTechnik6 digitalTechnik6 = new DigitalTechnik6(); - digitalTechnik6.start(); + Den Rest des Teilens notieren und ihn als die letzte Ziffer der binären Zahl betrachten. - System.out.println("\n"); + Wiederholen Schritt 1 und 2 mit dem Quotienten, bis der Quotient 0 ist. - System.out.println("DigitalTechnik7: \n"); - final DigitalTechnik7 digitalTechnik7 = new DigitalTechnik7(); - digitalTechnik7.start(); + Die Restschritte in umgekehrter Reihenfolge zusammensetzen, um die binäre Zahl zu erhalten."""); - System.out.println("\n"); + } else if (choice == 3) { + System.out.println(""" + Um eine dezimale Zahl in eine hexadezimale Zahl umzuwandeln, kann man den folgenden Prozess verwenden: - System.out.println("DigitalTechnik8: \n"); - final DigitalTechnik8 digitalTechnik8 = new DigitalTechnik8(); - digitalTechnik8.start(); + Die dezimale Zahl durch 16 teilen und den Quotienten notieren. + Den Rest des Teilens notieren und ihn als die letzte Ziffer der hexadezimalen Zahl betrachten. - System.out.println("\n"); + Wiederholen Schritt 1 und 2 mit dem Quotienten, bis der Quotient 0 ist. - System.out.println("DigitalTechnik9: \n"); - final DigitalTechnik9 digitalTechnik9 = new DigitalTechnik9(); - digitalTechnik9.start(); + Die Restschritte in umgekehrter Reihenfolge zusammensetzen, um die hexadezimale Zahl zu erhalten."""); + } else if (choice == 4) { + System.out.println(""" + Ein Einerkomplement ist ein Zahlensystem, das verwendet wird, um negative Werte in einem Computer darzustellen.\s + Es basiert auf der Idee, dass jede Zahl in einem binären System (bestehend aus 1en und 0en) ihre negativ vorzeichenbehaftete Entsprechung hat. + Eine negative Zahl wird durch das Invertieren aller Bits (Änderung von 1 zu 0 und von 0 zu 1) einer positiven Zahl und das Hinzufügen 1 zum Ergebnis dargestellt."""); - System.out.println("\n"); + } else if (choice == 5) { + System.out.println(""" + Das Zweierkomplement ist eine Methode zur Darstellung von negativen Werten in einem Computer. Es ermöglicht es, negative und positive Werte mit der gleichen Anzahl von Bits zu repräsentieren. - System.out.println("DigitalTechnik10: \n"); - final DigitalTechnik10 digitalTechnik10 = new DigitalTechnik10(); - digitalTechnik10.start(); + In einem Zweierkomplement-System, wird die höchstwertige Bit (die sogenannte "Vorzeichenbit") verwendet, um das Vorzeichen einer Zahl anzugeben. Eine 0 bedeutet eine positive Zahl, während eine 1 eine negative Zahl darstellt. + Die übrigen Bits repräsentieren den Wert der Zahl. Um eine negative Zahl zu berechnen, werden die Bits der positiven Entsprechung invertiert und 1 hinzugefügt."""); + } else { + System.out.println("Ungültige Eingabe!"); + } + } + void digitalTechnik3() { + Scanner sc = new Scanner(System.in); + + System.out.println("Willkommen"); + System.out.println("Bitte wählen Sie ein Thema (Zahl):"); + System.out.println("1. Boolsche Algebra"); + System.out.println("2. Minterme"); + System.out.println("3. Maxterme"); + System.out.println("4. KDNF"); + System.out.println("5. KKNF"); + System.out.println("6. DNF"); + System.out.println("7. KNF"); + + + int choice = sc.nextInt(); + sc.nextLine(); + + if (choice == 1) { + System.out.println(""" + In der Digitaltechnik ist die boolsche Algebra eine spezielle Form der Algebra, \n + die sich mit logischen Ausdrücken und Operationen beschäftigt. Sie wird hauptsächlich in der Schaltungstechnik und der Informatik verwendet. \n + Die Grundelemente der boolschen Algebra sind die logischen Variablen "wahr" (1) und "falsch" (0) sowie die logischen Operatoren "und" (∧), "oder" (∨), "nicht" (¬) und "gleich" (⇔). \n + Mit diesen Operatoren können komplexe logische Ausdrücke erstellt und ausgewertet werden, die in digitalen Schaltungen verwendet werden, + + wie z.B. in Computern, Mobiltelefonen und anderen elektronischen Geräten. + """); + + } else if (choice == 2) { + System.out.println(""" + In der Digitaltechnik werden Minterme verwendet, um eine bestimmte Funktion zu implementieren.\s + Minterme beziehen sich auf die kleinsten logischen Funktionen, die in einem digitalen System verwendet werden können.\s + Sie bestehen aus einer oder mehreren Eingängen und einem Ausgang und können durch eine Wahrheitstabelle oder eine Boolean-Funktion beschrieben werden."""); + + } else if (choice == 3) { + System.out.println("In der Digitaltechnik sind Maxterme die negierten Minterme. Ein Maxterm ist eine logische Funktion, die durch die Negation eines Minterms beschrieben wird. \n" + + "Maxterme haben die gleiche Anzahl an Eingängen wie Minterme, aber der Ausgang eines Maxterms ist das Gegenteil des Ausgangs eines entsprechenden Minterms."); + + } else if (choice == 4) { + System.out.println("Die kanonische disjunktive Normalform (KDNF) ist eine Darstellung einer boolschen Funktion als Summe der Produkte der Minterme."); + + } else if (choice == 5) { + System.out.println("Die kanonische konjunktive Normalform (KKNF) ist eine Darstellung einer boolschen Funktion als Produkt der Summen der Maxterme."); + + } else if (choice == 6) { + System.out.println(""" + Treten nicht alle Variablen in den Mintermen auf, + spricht man von der Disjunktiven + Normalform DNF. + """); + + } else if (choice == 7) { + System.out.println(""" + Treten nicht alle Variablen in den Maxtermen auf, + spricht man von der nicht-kanonischen Konjunktiven + Normalform KNF. + """); + + } else { + System.out.println("Ungültige Eingabe!"); + } + } - System.out.println("\n"); - System.out.println("DigitalTechnik11: \n"); - final DigitalTechnik11 digitalTechnik11 = new DigitalTechnik11(); - digitalTechnik11.start(); - } -} +} \ No newline at end of file From 6a640f44142a96a7d1062b7ef2118477d35d14d1 Mon Sep 17 00:00:00 2001 From: fdai7487 Date: Fri, 10 Feb 2023 16:13:50 +0100 Subject: [PATCH 48/70] refactoring: added final method DigitalTechnik 4-5 --- src/digital/technik/DigitalTechnik.java | 93 +++++++++++++++++++++++++ 1 file changed, 93 insertions(+) diff --git a/src/digital/technik/DigitalTechnik.java b/src/digital/technik/DigitalTechnik.java index b89bba8..794e263 100644 --- a/src/digital/technik/DigitalTechnik.java +++ b/src/digital/technik/DigitalTechnik.java @@ -182,6 +182,99 @@ public class DigitalTechnik { System.out.println("Ungültige Eingabe!"); } } + void digitalTechnik4() { + Scanner sc = new Scanner(System.in); + + System.out.println("Willkommen"); + System.out.println("Bitte wählen Sie ein Thema (Zahl):"); + System.out.println("1. NOR"); + System.out.println("2. NAND"); + System.out.println("3. Aquivalenz"); + System.out.println("4. Implikation"); + System.out.println("5. Multiplexer"); + + int choice = sc.nextInt(); + sc.nextLine(); + + if (choice == 1) { + + System.out.println(""" + Der NOR-Operator ist ein logisches Schaltwerk in der Digitaltechnik, das die Funktion des "Nicht-Oder" ausführt. + Es hat zwei oder mehrere Eingänge und einen Ausgang. Der Ausgang ist "wahr" (1), wenn alle Eingänge "falsch" (0) sind. \n + Ansonsten ist der Ausgang "falsch" (0). Es ist das logische Gegenteil des OR-Operators."""); + + } else if (choice == 2) { + System.out.println(""" + Der NAND-Operator ist ein logisches Schaltwerk in der Digitaltechnik, das die Funktion des "Nicht-Und" ausführt.\s + Es hat zwei oder mehrere Eingänge und einen Ausgang.\s + Der Ausgang ist "falsch" (0), wenn alle Eingänge "wahr" (1) sind. Ansonsten ist der Ausgang "wahr" (1). \n + Es ist das logische Gegenteil des AND-Operators."""); + + } else if (choice == 3) { + System.out.println(""" + Der Äquivalenzoperator ist ein logisches Schaltwerk in der Digitaltechnik, das die Funktion des "Entweder-Oder" ausführt.\s + Es hat zwei Eingänge und einen Ausgang. Der Ausgang ist "wahr" (1), wenn die beiden Eingänge gleich sind (beide 1 oder beide 0) und "falsch" (0),\s + wenn die Eingänge unterschiedlich sind (einer ist 1 und der andere ist 0). Es ist das logische Gegenteil des XOR Operators."""); + + } else if (choice == 4) { + System.out.println("Funktionsweise: Das Ergebnis der Implikation zweier Variablen a\n" + + "und b ist genau dann 1 wenn aus Aussage ≫a folgt b≪ wahr ist."); + + } else if (choice == 5) { + System.out.println("Ein Multiplexer ist ein elektronisches Schaltwerk, das es ermöglicht, mehrere Eingangssignale auf einen einzigen Ausgang zu schalten."); + + } else { + System.out.println("Ungültige Eingabe!"); + } + } + + void digitalTechnik5() { + Scanner sc = new Scanner(System.in); + + System.out.println("Willkommen"); + System.out.println("Bitte wählen Sie ein Thema (Zahl):"); + System.out.println("1. KV-Diagram"); + System.out.println("2. Primimplikant"); + System.out.println("3. KPI, API, REPI"); + + + int choice = sc.nextInt(); + sc.nextLine(); + + if (choice == 1) { + + System.out.println("Ein KV-Diagramm ist ein Diagramm, in dem die Beziehung zwischen zwei oder mehr Variablen dargestellt wird."); + + } else if (choice == 2) { + System.out.println(""" + Primimplikant (Primterm): Term, der sich nicht weiter + vereinfachen (zusammenfassen) lässt. (Ein Term mit maximaler + Ordnung.) – Größtmögliche Zusammenfassung von 1, 2, 4, 8, etc. + 1en (0en) im KV-Diagramm."""); + + } else if (choice == 3) { + System.out.println(""" + Kernprimimplikant KPI (essentieller Primterm): Primimplikant, + der zur Realisierung einer Funktion unbedingt erforderlich ist. Die + Minterme aus denen er entstand, können nicht anders überdeckt + werden. Diese werden zur Minimierung zwingend benötigt! + + Absolut eliminierbarer Primimplikant API: Primimplikant, + dessen Minterme (Maxterme) alle von Kernprimimplikanten + uberdeckt werden. Diese können zur Minimierung weggelassen + werden. + + Alle weiteren Primimplikanten sind relativ eliminierbare + Primimplikanten (REPI). Hier muss zur Minimierung eine + Auszahl erfolgen! + """); + + } else { + System.out.println("Ungültige Eingabe!"); + } + } + + } \ No newline at end of file From 439471f815ed5bca37420ccf36bd3777aec99c3b Mon Sep 17 00:00:00 2001 From: fdai7487 Date: Fri, 10 Feb 2023 16:16:29 +0100 Subject: [PATCH 49/70] refactoring: added final method DigitalTechnik 6-7 --- src/digital/technik/DigitalTechnik.java | 70 +++++++++++++++++++++++++ 1 file changed, 70 insertions(+) diff --git a/src/digital/technik/DigitalTechnik.java b/src/digital/technik/DigitalTechnik.java index 794e263..c81ddd1 100644 --- a/src/digital/technik/DigitalTechnik.java +++ b/src/digital/technik/DigitalTechnik.java @@ -273,6 +273,76 @@ public class DigitalTechnik { System.out.println("Ungültige Eingabe!"); } } + void digitalTechnik6() { + Scanner sc = new Scanner(System.in); + + System.out.println("Willkommen"); + System.out.println("Bitte wählen Sie ein Thema (Zahl):"); + System.out.println("1. Dont Cares"); + System.out.println("2. Dekoder"); + System.out.println("3. Ripple-Cary-Addierer"); + + int choice = sc.nextInt(); + sc.nextLine(); + + if (choice == 1) { + + System.out.println(""" + In der Digitaltechnik sind Dont-Cares (engl. für "nicht interessiert") bestimmte Zustände oder Eingangskombinationen,\s + die für das Verhalten einer Schaltung nicht relevant sind. Sie können in der Schaltalgebra verwendet werden,\s + um die Anzahl der benötigten Gates in einer Schaltung zu reduzieren und somit die Leistung und Effizienz der Schaltung zu verbessern."""); + + } else if (choice == 2) { + System.out.println("In der Digitaltechnik sind Dekoder Schaltungen, die mehrere Eingangssignale in eine bestimmte Anzahl von Ausgangssignalen umwandeln. \n" + + "Sie werden verwendet, um digitale Codes zu interpretieren und bestimmte Aktionen auszuführen."); + + } else if (choice == 3) { + System.out.println(""" + Der Carry-Ripple-Addierer, auch Ripple-Carry-Addierer oder ripple-through carry, ist ein Addiernetz,\s + dient also der Addition mehrstelliger Binärzahlen. Ein n-Bit-Carry-Ripple-Addierer kann zwei n-stellige Binärzahlen addieren,\s + das Ergebnis hat n+1 Stellen. Das Schaltnetz hat damit 2n+1 Eingänge und n+1 Ausgänge."""); + + + } else { + System.out.println("Invalid choice. Please try again."); + } + } + + void digitalTechnik7() { + Scanner sc = new Scanner(System.in); + + System.out.println("Willkommen"); + System.out.println("Bitte wählen Sie ein Thema (Zahl):"); + System.out.println("1. ALU"); + System.out.println("2. Moore und Mealy Automaten"); + System.out.println("3. Schaltwerke (asynchrone Automaten)"); + + + int choice = sc.nextInt(); + sc.nextLine(); + + if (choice == 1) { + + System.out.println("In der Digitaltechnik ist eine ALU (Arithmetisch-Logische Einheit) ein Baustein in einem Prozessor, der die grundlegenden arithmetischen und logischen Operationen ausführt. \n" + + "Dazu gehören Operationen wie Addition, Subtraktion, Multiplikation, Division, Vergleich, Schaltungen und Bitverschiebungen."); + + } else if (choice == 2) { + System.out.println(""" + Ein Moore-Automat ist ein FA, bei dem jeder Zustand durch einen Ausgabewert (auch als "Zustandsvariable" bezeichnet) repräsentiert wird. Die Ausgabe des Automaten hängt also nur vom aktuellen Zustand ab und nicht von den Eingabezeichen. + + Ein Mealy-Automat ist ein FA, bei dem die Ausgabe von sowohl dem aktuellen Zustand als auch den Eingabezeichen abhängt."""); + + } else if (choice == 3) { + System.out.println("Asynchrone Schaltwerke (auch asynchrone Automaten genannt) sind Schaltungen, die unabhängig von einem gemeinsamen Takt funktionieren und sich nicht synchron im gleichen Takt ändern. \n" + + "Diese Schaltungen werden oft in digitalen Systemen verwendet, die Daten in Echtzeit verarbeiten müssen, da sie schnelle Reaktionen auf Ereignisse ermöglichen und eine hohe Flexibilität in der Datenverarbeitung bieten."); + + + } else { + System.out.println("Ungültige Eingabe!"); + } + } + + From b92c15bb917ad6f0c56560cf14a9f924cd27cae3 Mon Sep 17 00:00:00 2001 From: fdai7487 Date: Fri, 10 Feb 2023 16:17:26 +0100 Subject: [PATCH 50/70] refactoring: added final method DigitalTechnik 8-9 --- src/digital/technik/DigitalTechnik.java | 77 +++++++++++++++++++++++++ 1 file changed, 77 insertions(+) diff --git a/src/digital/technik/DigitalTechnik.java b/src/digital/technik/DigitalTechnik.java index c81ddd1..d912fc8 100644 --- a/src/digital/technik/DigitalTechnik.java +++ b/src/digital/technik/DigitalTechnik.java @@ -341,7 +341,84 @@ public class DigitalTechnik { System.out.println("Ungültige Eingabe!"); } } + void digitalTechnik8() { + Scanner sc = new Scanner(System.in); + + System.out.println("Willkommen"); + System.out.println("Bitte wählen Sie ein Thema (Zahl):"); + System.out.println("1. JK-FlipFlop"); + System.out.println("2. T-Flipflop"); + System.out.println("3. Taktpegelgesteuertes D-Latch"); + System.out.println("4. Taktflankengesteuertes D-Flipflop"); + + + int choice = sc.nextInt(); + sc.nextLine(); + + if (choice == 1) { + + System.out.println(""" + Ein JK-Flipflop ist eine Art von Flipflop, das auf eine Kombination von Eingangssignalen J und K reagiert. Es hat zwei Eingänge (J und K) und einen Ausgang (Q).\s + Der Ausgang wird auf den Wert von J gesetzt, wenn K auf logisch 0 steht und auf den Wert von K gesetzt, wenn J auf logisch 0 steht.\s + Wenn beide J und K auf logisch 1 stehen, wird der Ausgang invertiert."""); + + + } else if (choice == 2) { + System.out.println(""" + Ein T-Flipflop ist eine Art von Flipflop, das auf ein Eingangssignal T reagiert. Es hat nur einen Eingang (T) und einen Ausgang (Q). \n + Der Ausgang wird invertiert, wenn das Eingangssignal T auf logisch 1 steht. + + Es ist ein Schaltkreis, der den Zustand des Ausgangs auf die negierte Form des Eingangs setzt. + + """); + + } else if (choice == 3) { + System.out.println(""" + Das Taktpegelgesteuerte D-Latch ist eine digitale Schaltung, die zur Speicherung von binären Informationen verwendet wird. Es besteht aus zwei Eingängen (D und CLK), einem Taktpegel, und einem Ausgang (Q).\s + Der Wert des Eingangs "D" wird bei einem negativen Flankenwechsel des Takteingangs "CLK" gespeichert und bleibt bis zum nächsten negativen Flankenwechsel bestehen."""); + + } else if (choice == 4) { + System.out.println(""" + Das Taktflankengesteuerte D-Flipflop ist eine digitale Schaltung, die zur Speicherung von binären Informationen verwendet wird. Es besteht aus zwei Eingängen (D und CLK), einem Takt, und einem Ausgang (Q).\s + Der Wert des Eingangs "D" wird bei einer positiven Taktflanke des Takteingangs "CLK" gespeichert und bleibt bis zur nächsten positiven Taktflanke bestehen.\s + Dieses Flipflop ist ein sehr wichtiger Baustein in der digitalen Technik und wird oft in der Registerspeicherung, bei der Übertragung von Daten und in sequentiellen Schaltungen eingesetzt."""); + + } else { + System.out.println("Ungültige Eingabe!"); + } + } + + void digitalTechnik9() { + Scanner sc = new Scanner(System.in); + + System.out.println("Willkommen"); + System.out.println("Bitte wählen Sie ein Thema (Zahl):"); + System.out.println("1. Mod-4 Zähler mit enable"); + System.out.println("2. Unterschied Moore/Mealy Automaten"); + + int choice = sc.nextInt(); + sc.nextLine(); + + if (choice == 1) { + + System.out.println(""" + Der Mod-4-Zähler mit Enable ist ein Zähler, der dazu verwendet wird, eine bestimmte Anzahl von Schritten oder Zustände durchzugehen, bevor er wieder zum Anfang zurückkehrt.\s + Der Mod-4-Zähler hat 4 Zustände: 0, 1, 2 und 3, und er wechselt zum nächsten Zustand, wenn ein Taktsignal empfangen wird.\s + Wenn der Zähler in den Zustand 3 gelangt, kehrt er zurück zum Zustand 0, und der Prozess beginnt erneut."""); + + } else if (choice == 2) { + System.out.println(""" + Der Unterschied zwischen den beiden besteht darin, wie sie Zustände und Übergänge definieren und wie sie Ausgänge berechnen: + + Moore-Automaten: In Moore-Automaten werden Ausgänge ausschließlich durch den aktuellen Zustand berechnet. Jeder Zustand hat einen festen Ausgangswert, der unabhängig von den Eingängen ist. + + Mealy-Automaten: In Mealy-Automaten werden Ausgänge auf der Basis sowohl des aktuellen Zustands als auch der Eingänge berechnet. Jeder Übergang hat einen festen Ausgangswert, der von beiden bestimmt wird."""); + + } else { + System.out.println("Ungültige Eingabe!"); + } + } From e24920aafceb52ac958a2cc9044a960bca55ce39 Mon Sep 17 00:00:00 2001 From: fdai7487 Date: Fri, 10 Feb 2023 16:50:39 +0100 Subject: [PATCH 51/70] refactoring: added final method DigitalTechnik 10-11 --- src/digital/technik/DigitalTechnik.java | 54 +++++++++++++++++++++++-- 1 file changed, 50 insertions(+), 4 deletions(-) diff --git a/src/digital/technik/DigitalTechnik.java b/src/digital/technik/DigitalTechnik.java index d912fc8..1034182 100644 --- a/src/digital/technik/DigitalTechnik.java +++ b/src/digital/technik/DigitalTechnik.java @@ -5,7 +5,6 @@ import java.util.Scanner; public class DigitalTechnik { public DigitalTechnik() { } - void digitalTechnik1() { Scanner sc = new Scanner(System.in); @@ -227,7 +226,6 @@ public class DigitalTechnik { System.out.println("Ungültige Eingabe!"); } } - void digitalTechnik5() { Scanner sc = new Scanner(System.in); @@ -307,7 +305,6 @@ public class DigitalTechnik { System.out.println("Invalid choice. Please try again."); } } - void digitalTechnik7() { Scanner sc = new Scanner(System.in); @@ -388,7 +385,6 @@ public class DigitalTechnik { System.out.println("Ungültige Eingabe!"); } } - void digitalTechnik9() { Scanner sc = new Scanner(System.in); @@ -419,9 +415,59 @@ public class DigitalTechnik { System.out.println("Ungültige Eingabe!"); } } + void digitalTechnik10() { + Scanner sc = new Scanner(System.in); + + System.out.println("Willkommen"); + System.out.println("Bitte wählen Sie ein Thema (Zahl):"); + System.out.println("1. Register"); + System.out.println("2. Register mit Enable"); + + int choice = sc.nextInt(); + sc.nextLine(); + if (choice == 1) { + System.out.println(""" + Ein Register aus D-Flipflops ist eine Anordnung von D-Flipflops, die verwendet wird, um digitale Daten zu speichern und zu übertragen. Jeder D-Flipflop im Register hat einen D-Eingang, einen Clock-Eingang und einen Q-Ausgang. + Der D-Eingang jedes Flipflops empfängt ein Datensignal, das gespeichert werden soll, der Clock-Eingang steuert den Zeitpunkt, zu dem die Daten in den Flipflop geladen werden sollen, und der Q-Ausgang gibt die aktuelle Speicherung des Flipflops aus."""); + + } else if (choice == 2) { + System.out.println(""" + Ein Register mit Enable ist ein Register, das über einen zusätzlichen Eingang verfügt, der als "Enable"-Eingang bezeichnet wird. Dieser Eingang ermöglicht es, das Register zu aktivieren oder zu deaktivieren. + Wenn der Enable-Eingang auf logisch 1 steht, arbeitet das Register normal und speichert die Daten, die über die D-Eingänge empfangen werden, wenn das Clock-Signal empfangen wird. Wenn der Enable-Eingang auf logisch 0 steht, arbeitet das Register nicht und die Daten werden nicht gespeichert."""); + } else { + System.out.println("Ungültige Eingabe!"); + } + } + void digitalTechnik11() { + Scanner sc = new Scanner(System.in); + + System.out.println("Willkommen"); + System.out.println("Bitte wählen Sie ein Thema (Zahl):"); + System.out.println("1. 4x4-Bit-Registerfile"); + System.out.println("2. Minimal Prozessor"); + + int choice = sc.nextInt(); + sc.nextLine(); + + if (choice == 1) { + + System.out.println(""" + 4x4-Bit-Registerfile ist ein digitaler Speicherblock, + der aus vier 4-Bit-Registern besteht und verwendet wird, um mehrere Daten gleichzeitig zu speichern und zu übertragen.\s + Jedes Register im Registerfile hat einen Satz von Eingängen und Ausgängen."""); + + } else if (choice == 2) { + System.out.println("Ein Minimalprozessor, auch als \"Reduced Instruction Set Computer\" (RISC) bezeichnet, ist ein Prozessor, \n" + + "der nur eine begrenzte Anzahl von Befehlen (Instruktionen) unterstützt, die jedoch sehr schnell ausgeführt werden können. "); + + } else { + System.out.println("Ungültige Eingabe!"); + + } + } } \ No newline at end of file From 7770f79b91cb45c4b23ceb136792f3c2764eef5b Mon Sep 17 00:00:00 2001 From: fdai7487 Date: Fri, 10 Feb 2023 17:42:36 +0100 Subject: [PATCH 52/70] =?UTF-8?q?unrelevante=20Java=20Dateien=20gel=C3=B6s?= =?UTF-8?q?cht?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/vcs.xml | 6 + .idea/workspace.xml | 154 ++++++++++++++++++++++ src/digital/technik/DigitalTechnik1.java | 60 --------- src/digital/technik/DigitalTechnik10.java | 38 ------ src/digital/technik/DigitalTechnik11.java | 37 ------ src/digital/technik/DigitalTechnik2.java | 75 ----------- src/digital/technik/DigitalTechnik3.java | 70 ---------- src/digital/technik/DigitalTechnik4.java | 55 -------- src/digital/technik/DigitalTechnik5.java | 55 -------- src/digital/technik/DigitalTechnik6.java | 45 ------- src/digital/technik/DigitalTechnik7.java | 43 ------ src/digital/technik/DigitalTechnik8.java | 57 -------- src/digital/technik/DigitalTechnik9.java | 42 ------ 13 files changed, 160 insertions(+), 577 deletions(-) create mode 100644 .idea/vcs.xml create mode 100644 .idea/workspace.xml delete mode 100644 src/digital/technik/DigitalTechnik1.java delete mode 100644 src/digital/technik/DigitalTechnik10.java delete mode 100644 src/digital/technik/DigitalTechnik11.java delete mode 100644 src/digital/technik/DigitalTechnik2.java delete mode 100644 src/digital/technik/DigitalTechnik3.java delete mode 100644 src/digital/technik/DigitalTechnik4.java delete mode 100644 src/digital/technik/DigitalTechnik5.java delete mode 100644 src/digital/technik/DigitalTechnik6.java delete mode 100644 src/digital/technik/DigitalTechnik7.java delete mode 100644 src/digital/technik/DigitalTechnik8.java delete mode 100644 src/digital/technik/DigitalTechnik9.java diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/workspace.xml b/.idea/workspace.xml new file mode 100644 index 0000000..a98a21f --- /dev/null +++ b/.idea/workspace.xml @@ -0,0 +1,154 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1676024252628 + + + 1676041825247 + + + 1676042030326 + + + 1676042189363 + + + 1676042246877 + + + 1676044239470 + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/digital/technik/DigitalTechnik1.java b/src/digital/technik/DigitalTechnik1.java deleted file mode 100644 index 96c9652..0000000 --- a/src/digital/technik/DigitalTechnik1.java +++ /dev/null @@ -1,60 +0,0 @@ -package digital.technik; - -import java.util.Scanner; - -public class DigitalTechnik1 { - - public DigitalTechnik1() { - } - - void start() { - Scanner sc = new Scanner(System.in); - - System.out.println("Willkommen"); - System.out.println("Bitte wählen Sie ein Thema (Zahl):"); - System.out.println("1. Information"); - System.out.println("2. Bit"); - System.out.println("3. Codes"); - System.out.println("4. Huffmann-Codierung"); - - int choice = sc.nextInt(); - sc.nextLine(); - - if (choice == 1) { - System.out.println(""" - Information: Kommunizierte oder empfangene Daten, die - Ungewissheit über ein bestimmtes Fakt oder einen Sachverhalt\s - auflöst."""); - - } else if (choice == 2) { - System.out.println(""" - Bit ist die Kurzform für binary digit.\s - Lateinisch bina bedeutet doppelt oder zwei. - Ein Bit kann zwei Werte annehmen: 0 und 1. - Das Bit ist die kleinste Informationseinheit. - Beipsiele: - Spannung vorhanden, z.B. 5V (1) oder nicht (0) - Schalter geschlossen (1) oder offen (0) - Material magnetisiert (1) oder nicht (0) - """); - - } else if (choice == 3) { - System.out.println(""" - Ein Code ist eine Abbildungsvorschrift für eindeutige\s - Zuordnung (Codierung) von - Symbolen einer Urmenge zu - Symbolen einer Bildmenge. - Die Zuordnung muss nicht (eindeutig) umkehrbar sein! - """); - - } else if (choice == 4) { - System.out.println(""" - Die Huffmann Codierung ist ein Codierungsverfahren, das\s - zu einem optimalen Code mit möglichst kleiner mittlerer Codelänge führt! - """); - - } else { - System.out.println("Ungültige Eingabe!"); - } - } -} diff --git a/src/digital/technik/DigitalTechnik10.java b/src/digital/technik/DigitalTechnik10.java deleted file mode 100644 index 307e678..0000000 --- a/src/digital/technik/DigitalTechnik10.java +++ /dev/null @@ -1,38 +0,0 @@ -package digital.technik; - -import java.util.Scanner; - -public class DigitalTechnik10 { - public DigitalTechnik10() { - } - - void start() { - - Scanner sc = new Scanner(System.in); - - System.out.println("Willkommen"); - System.out.println("Bitte wählen Sie ein Thema (Zahl):"); - System.out.println("1. Register"); - System.out.println("2. Register mit Enable"); - - int choice = sc.nextInt(); - sc.nextLine(); - - if (choice == 1) { - - System.out.println(""" - Ein Register aus D-Flipflops ist eine Anordnung von D-Flipflops, die verwendet wird, um digitale Daten zu speichern und zu übertragen. Jeder D-Flipflop im Register hat einen D-Eingang, einen Clock-Eingang und einen Q-Ausgang. - - Der D-Eingang jedes Flipflops empfängt ein Datensignal, das gespeichert werden soll, der Clock-Eingang steuert den Zeitpunkt, zu dem die Daten in den Flipflop geladen werden sollen, und der Q-Ausgang gibt die aktuelle Speicherung des Flipflops aus."""); - - } else if (choice == 2) { - System.out.println(""" - Ein Register mit Enable ist ein Register, das über einen zusätzlichen Eingang verfügt, der als "Enable"-Eingang bezeichnet wird. Dieser Eingang ermöglicht es, das Register zu aktivieren oder zu deaktivieren. - - Wenn der Enable-Eingang auf logisch 1 steht, arbeitet das Register normal und speichert die Daten, die über die D-Eingänge empfangen werden, wenn das Clock-Signal empfangen wird. Wenn der Enable-Eingang auf logisch 0 steht, arbeitet das Register nicht und die Daten werden nicht gespeichert."""); - - } else { - System.out.println("Ungültige Eingabe!"); - } - } -} diff --git a/src/digital/technik/DigitalTechnik11.java b/src/digital/technik/DigitalTechnik11.java deleted file mode 100644 index 2015b6c..0000000 --- a/src/digital/technik/DigitalTechnik11.java +++ /dev/null @@ -1,37 +0,0 @@ -package digital.technik; - -import java.util.Scanner; - -public class DigitalTechnik11 { - public DigitalTechnik11() { - } - - void start() { - - Scanner sc = new Scanner(System.in); - - System.out.println("Willkommen"); - System.out.println("Bitte wählen Sie ein Thema (Zahl):"); - System.out.println("1. 4x4-Bit-Registerfile"); - System.out.println("2. Minimal Prozessor"); - - int choice = sc.nextInt(); - sc.nextLine(); - - if (choice == 1) { - - System.out.println(""" - 4x4-Bit-Registerfile ist ein digitaler Speicherblock, - der aus vier 4-Bit-Registern besteht und verwendet wird, um mehrere Daten gleichzeitig zu speichern und zu übertragen.\s - Jedes Register im Registerfile hat einen Satz von Eingängen und Ausgängen."""); - - } else if (choice == 2) { - System.out.println("Ein Minimalprozessor, auch als \"Reduced Instruction Set Computer\" (RISC) bezeichnet, ist ein Prozessor, \n" + - "der nur eine begrenzte Anzahl von Befehlen (Instruktionen) unterstützt, die jedoch sehr schnell ausgeführt werden können. "); - - } else { - System.out.println("Ungültige Eingabe!"); - - } - } -} diff --git a/src/digital/technik/DigitalTechnik2.java b/src/digital/technik/DigitalTechnik2.java deleted file mode 100644 index e366e7c..0000000 --- a/src/digital/technik/DigitalTechnik2.java +++ /dev/null @@ -1,75 +0,0 @@ -package digital.technik; - -import java.util.Scanner; - -public class DigitalTechnik2 { - - public DigitalTechnik2() { - } - - void start() { - Scanner sc = new Scanner(System.in); - - System.out.println("Willkommen"); - System.out.println("Bitte wählen Sie ein Thema (Zahl):"); - System.out.println("1. Hexadezimale Zahlen"); - System.out.println("2. Umrechnung dezimal in binär"); - System.out.println("3. Umrechnung dezimal in hexadezimal"); - System.out.println("4. Einerkomplement"); - System.out.println("5. Zweierkomplement"); - - int choice = sc.nextInt(); - sc.nextLine(); - - if (choice == 1) { - - System.out.println(""" - Hexadezimale Zahlen (R = 16) werden häufig zur kompakten - Darstellung von Binärzahlen verwendet. - Es werden die Ziffern {0, 1, 2, . . . , 9,A,B,C, D,E, F} verwendet - (A bis F repräsentieren die Wertigkeit 10 bis 15) - Jedes Hexadezimale Digit kann mit genau 4 Bit dargestellt - werden"""); - - } else if (choice == 2) { - System.out.println(""" - Um eine dezimale Zahl in eine binäre Zahl umzuwandeln, kann man den folgenden Prozess verwenden: - - Die dezimale Zahl durch 2 teilen und den Quotienten notieren. - - Den Rest des Teilens notieren und ihn als die letzte Ziffer der binären Zahl betrachten. - - Wiederholen Schritt 1 und 2 mit dem Quotienten, bis der Quotient 0 ist. - - Die Restschritte in umgekehrter Reihenfolge zusammensetzen, um die binäre Zahl zu erhalten."""); - - } else if (choice == 3) { - System.out.println(""" - Um eine dezimale Zahl in eine hexadezimale Zahl umzuwandeln, kann man den folgenden Prozess verwenden: - - Die dezimale Zahl durch 16 teilen und den Quotienten notieren. - - Den Rest des Teilens notieren und ihn als die letzte Ziffer der hexadezimalen Zahl betrachten. - - Wiederholen Schritt 1 und 2 mit dem Quotienten, bis der Quotient 0 ist. - - Die Restschritte in umgekehrter Reihenfolge zusammensetzen, um die hexadezimale Zahl zu erhalten."""); - - } else if (choice == 4) { - System.out.println(""" - Ein Einerkomplement ist ein Zahlensystem, das verwendet wird, um negative Werte in einem Computer darzustellen.\s - Es basiert auf der Idee, dass jede Zahl in einem binären System (bestehend aus 1en und 0en) ihre negativ vorzeichenbehaftete Entsprechung hat. - Eine negative Zahl wird durch das Invertieren aller Bits (Änderung von 1 zu 0 und von 0 zu 1) einer positiven Zahl und das Hinzufügen 1 zum Ergebnis dargestellt."""); - - } else if (choice == 5) { - System.out.println(""" - Das Zweierkomplement ist eine Methode zur Darstellung von negativen Werten in einem Computer. Es ermöglicht es, negative und positive Werte mit der gleichen Anzahl von Bits zu repräsentieren. - - In einem Zweierkomplement-System, wird die höchstwertige Bit (die sogenannte "Vorzeichenbit") verwendet, um das Vorzeichen einer Zahl anzugeben. Eine 0 bedeutet eine positive Zahl, während eine 1 eine negative Zahl darstellt. - Die übrigen Bits repräsentieren den Wert der Zahl. Um eine negative Zahl zu berechnen, werden die Bits der positiven Entsprechung invertiert und 1 hinzugefügt."""); - - } else { - System.out.println("Ungültige Eingabe!"); - } - } -} diff --git a/src/digital/technik/DigitalTechnik3.java b/src/digital/technik/DigitalTechnik3.java deleted file mode 100644 index bb1bb02..0000000 --- a/src/digital/technik/DigitalTechnik3.java +++ /dev/null @@ -1,70 +0,0 @@ -package digital.technik; - -import java.util.Scanner; - -public class DigitalTechnik3 { - - public DigitalTechnik3() { - } - - void start() { - Scanner sc = new Scanner(System.in); - - System.out.println("Willkommen"); - System.out.println("Bitte wählen Sie ein Thema (Zahl):"); - System.out.println("1. Boolsche Algebra"); - System.out.println("2. Minterme"); - System.out.println("3. Maxterme"); - System.out.println("4. KDNF"); - System.out.println("5. KKNF"); - System.out.println("6. DNF"); - System.out.println("7. KNF"); - - int choice = sc.nextInt(); - sc.nextLine(); - - if (choice == 1) { - System.out.println(""" - In der Digitaltechnik ist die boolsche Algebra eine spezielle Form der Algebra, \n - die sich mit logischen Ausdrücken und Operationen beschäftigt. Sie wird hauptsächlich in der Schaltungstechnik und der Informatik verwendet. \n - Die Grundelemente der boolschen Algebra sind die logischen Variablen "wahr" (1) und "falsch" (0) sowie die logischen Operatoren "und" (∧), "oder" (∨), "nicht" (¬) und "gleich" (⇔). \n - Mit diesen Operatoren können komplexe logische Ausdrücke erstellt und ausgewertet werden, die in digitalen Schaltungen verwendet werden, - - wie z.B. in Computern, Mobiltelefonen und anderen elektronischen Geräten. - """); - - } else if (choice == 2) { - System.out.println(""" - In der Digitaltechnik werden Minterme verwendet, um eine bestimmte Funktion zu implementieren.\s - Minterme beziehen sich auf die kleinsten logischen Funktionen, die in einem digitalen System verwendet werden können.\s - Sie bestehen aus einer oder mehreren Eingängen und einem Ausgang und können durch eine Wahrheitstabelle oder eine Boolean-Funktion beschrieben werden."""); - - } else if (choice == 3) { - System.out.println("In der Digitaltechnik sind Maxterme die negierten Minterme. Ein Maxterm ist eine logische Funktion, die durch die Negation eines Minterms beschrieben wird. \n" + - "Maxterme haben die gleiche Anzahl an Eingängen wie Minterme, aber der Ausgang eines Maxterms ist das Gegenteil des Ausgangs eines entsprechenden Minterms."); - - } else if (choice == 4) { - System.out.println("Die kanonische disjunktive Normalform (KDNF) ist eine Darstellung einer boolschen Funktion als Summe der Produkte der Minterme."); - - } else if (choice == 5) { - System.out.println("Die kanonische konjunktive Normalform (KKNF) ist eine Darstellung einer boolschen Funktion als Produkt der Summen der Maxterme."); - - } else if (choice == 6) { - System.out.println(""" - Treten nicht alle Variablen in den Mintermen auf, - spricht man von der Disjunktiven - Normalform DNF. - """); - - } else if (choice == 7) { - System.out.println(""" - Treten nicht alle Variablen in den Maxtermen auf, - spricht man von der nicht-kanonischen Konjunktiven - Normalform KNF. - """); - - } else { - System.out.println("Ungültige Eingabe!"); - } - } -} \ No newline at end of file diff --git a/src/digital/technik/DigitalTechnik4.java b/src/digital/technik/DigitalTechnik4.java deleted file mode 100644 index 88cd415..0000000 --- a/src/digital/technik/DigitalTechnik4.java +++ /dev/null @@ -1,55 +0,0 @@ -package digital.technik; - -import java.util.Scanner; - -public class DigitalTechnik4 { - - public DigitalTechnik4() { - } - - void start() { - Scanner sc = new Scanner(System.in); - - System.out.println("Willkommen"); - System.out.println("Bitte wählen Sie ein Thema (Zahl):"); - System.out.println("1. NOR"); - System.out.println("2. NAND"); - System.out.println("3. Aquivalenz"); - System.out.println("4. Implikation"); - System.out.println("5. Multiplexer"); - - int choice = sc.nextInt(); - sc.nextLine(); - - if (choice == 1) { - - System.out.println(""" - Der NOR-Operator ist ein logisches Schaltwerk in der Digitaltechnik, das die Funktion des "Nicht-Oder" ausführt. - Es hat zwei oder mehrere Eingänge und einen Ausgang. Der Ausgang ist "wahr" (1), wenn alle Eingänge "falsch" (0) sind. \n - Ansonsten ist der Ausgang "falsch" (0). Es ist das logische Gegenteil des OR-Operators."""); - - } else if (choice == 2) { - System.out.println(""" - Der NAND-Operator ist ein logisches Schaltwerk in der Digitaltechnik, das die Funktion des "Nicht-Und" ausführt.\s - Es hat zwei oder mehrere Eingänge und einen Ausgang.\s - Der Ausgang ist "falsch" (0), wenn alle Eingänge "wahr" (1) sind. Ansonsten ist der Ausgang "wahr" (1). \n - Es ist das logische Gegenteil des AND-Operators."""); - - } else if (choice == 3) { - System.out.println(""" - Der Äquivalenzoperator ist ein logisches Schaltwerk in der Digitaltechnik, das die Funktion des "Entweder-Oder" ausführt.\s - Es hat zwei Eingänge und einen Ausgang. Der Ausgang ist "wahr" (1), wenn die beiden Eingänge gleich sind (beide 1 oder beide 0) und "falsch" (0),\s - wenn die Eingänge unterschiedlich sind (einer ist 1 und der andere ist 0). Es ist das logische Gegenteil des XOR Operators."""); - - } else if (choice == 4) { - System.out.println("Funktionsweise: Das Ergebnis der Implikation zweier Variablen a\n" + - "und b ist genau dann 1 wenn aus Aussage ≫a folgt b≪ wahr ist."); - - } else if (choice == 5) { - System.out.println("Ein Multiplexer ist ein elektronisches Schaltwerk, das es ermöglicht, mehrere Eingangssignale auf einen einzigen Ausgang zu schalten."); - - } else { - System.out.println("Ungültige Eingabe!"); - } - } -} diff --git a/src/digital/technik/DigitalTechnik5.java b/src/digital/technik/DigitalTechnik5.java deleted file mode 100644 index 7ff2923..0000000 --- a/src/digital/technik/DigitalTechnik5.java +++ /dev/null @@ -1,55 +0,0 @@ -package digital.technik; - -import java.util.Scanner; - -public class DigitalTechnik5 { - - public DigitalTechnik5() { - } - - void start() { - Scanner sc = new Scanner(System.in); - - System.out.println("Willkommen"); - System.out.println("Bitte wählen Sie ein Thema (Zahl):"); - System.out.println("1. KV-Diagram"); - System.out.println("2. Primimplikant"); - System.out.println("3. KPI, API, REPI"); - - - int choice = sc.nextInt(); - sc.nextLine(); - - if (choice == 1) { - - System.out.println("Ein KV-Diagramm ist ein Diagramm, in dem die Beziehung zwischen zwei oder mehr Variablen dargestellt wird."); - - } else if (choice == 2) { - System.out.println(""" - Primimplikant (Primterm): Term, der sich nicht weiter - vereinfachen (zusammenfassen) lässt. (Ein Term mit maximaler - Ordnung.) – Größtmögliche Zusammenfassung von 1, 2, 4, 8, etc. - 1en (0en) im KV-Diagramm."""); - - } else if (choice == 3) { - System.out.println(""" - Kernprimimplikant KPI (essentieller Primterm): Primimplikant, - der zur Realisierung einer Funktion unbedingt erforderlich ist. Die - Minterme aus denen er entstand, können nicht anders überdeckt - werden. Diese werden zur Minimierung zwingend benötigt! - - Absolut eliminierbarer Primimplikant API: Primimplikant, - dessen Minterme (Maxterme) alle von Kernprimimplikanten - uberdeckt werden. Diese können zur Minimierung weggelassen - werden. - - Alle weiteren Primimplikanten sind relativ eliminierbare - Primimplikanten (REPI). Hier muss zur Minimierung eine - Auszahl erfolgen! - """); - - } else { - System.out.println("Ungültige Eingabe!"); - } - } -} diff --git a/src/digital/technik/DigitalTechnik6.java b/src/digital/technik/DigitalTechnik6.java deleted file mode 100644 index 0bca319..0000000 --- a/src/digital/technik/DigitalTechnik6.java +++ /dev/null @@ -1,45 +0,0 @@ -package digital.technik; - -import java.util.Scanner; - -public class DigitalTechnik6 { - - public DigitalTechnik6() { - } - - void start() { - - Scanner sc = new Scanner(System.in); - - System.out.println("Willkommen"); - System.out.println("Bitte wählen Sie ein Thema (Zahl):"); - System.out.println("1. Dont Cares"); - System.out.println("2. Dekoder"); - System.out.println("3. Ripple-Cary-Addierer"); - - int choice = sc.nextInt(); - sc.nextLine(); - - if (choice == 1) { - - System.out.println(""" - In der Digitaltechnik sind Dont-Cares (engl. für "nicht interessiert") bestimmte Zustände oder Eingangskombinationen,\s - die für das Verhalten einer Schaltung nicht relevant sind. Sie können in der Schaltalgebra verwendet werden,\s - um die Anzahl der benötigten Gates in einer Schaltung zu reduzieren und somit die Leistung und Effizienz der Schaltung zu verbessern."""); - - } else if (choice == 2) { - System.out.println("In der Digitaltechnik sind Dekoder Schaltungen, die mehrere Eingangssignale in eine bestimmte Anzahl von Ausgangssignalen umwandeln. \n" + - "Sie werden verwendet, um digitale Codes zu interpretieren und bestimmte Aktionen auszuführen."); - - } else if (choice == 3) { - System.out.println(""" - Der Carry-Ripple-Addierer, auch Ripple-Carry-Addierer oder ripple-through carry, ist ein Addiernetz,\s - dient also der Addition mehrstelliger Binärzahlen. Ein n-Bit-Carry-Ripple-Addierer kann zwei n-stellige Binärzahlen addieren,\s - das Ergebnis hat n+1 Stellen. Das Schaltnetz hat damit 2n+1 Eingänge und n+1 Ausgänge."""); - - - } else { - System.out.println("Invalid choice. Please try again."); - } - } -} diff --git a/src/digital/technik/DigitalTechnik7.java b/src/digital/technik/DigitalTechnik7.java deleted file mode 100644 index f8f4012..0000000 --- a/src/digital/technik/DigitalTechnik7.java +++ /dev/null @@ -1,43 +0,0 @@ -package digital.technik; - -import java.util.Scanner; - -public class DigitalTechnik7 { - - public DigitalTechnik7() { - } - - void start() { - Scanner sc = new Scanner(System.in); - - System.out.println("Willkommen"); - System.out.println("Bitte wählen Sie ein Thema (Zahl):"); - System.out.println("1. ALU"); - System.out.println("2. Moore und Mealy Automaten"); - System.out.println("3. Schaltwerke (asynchrone Automaten)"); - - - int choice = sc.nextInt(); - sc.nextLine(); - - if (choice == 1) { - - System.out.println("In der Digitaltechnik ist eine ALU (Arithmetisch-Logische Einheit) ein Baustein in einem Prozessor, der die grundlegenden arithmetischen und logischen Operationen ausführt. \n" + - "Dazu gehören Operationen wie Addition, Subtraktion, Multiplikation, Division, Vergleich, Schaltungen und Bitverschiebungen."); - - } else if (choice == 2) { - System.out.println(""" - Ein Moore-Automat ist ein FA, bei dem jeder Zustand durch einen Ausgabewert (auch als "Zustandsvariable" bezeichnet) repräsentiert wird. Die Ausgabe des Automaten hängt also nur vom aktuellen Zustand ab und nicht von den Eingabezeichen. - - Ein Mealy-Automat ist ein FA, bei dem die Ausgabe von sowohl dem aktuellen Zustand als auch den Eingabezeichen abhängt."""); - - } else if (choice == 3) { - System.out.println("Asynchrone Schaltwerke (auch asynchrone Automaten genannt) sind Schaltungen, die unabhängig von einem gemeinsamen Takt funktionieren und sich nicht synchron im gleichen Takt ändern. \n" + - "Diese Schaltungen werden oft in digitalen Systemen verwendet, die Daten in Echtzeit verarbeiten müssen, da sie schnelle Reaktionen auf Ereignisse ermöglichen und eine hohe Flexibilität in der Datenverarbeitung bieten."); - - - } else { - System.out.println("Ungültige Eingabe!"); - } - } -} diff --git a/src/digital/technik/DigitalTechnik8.java b/src/digital/technik/DigitalTechnik8.java deleted file mode 100644 index af2b91f..0000000 --- a/src/digital/technik/DigitalTechnik8.java +++ /dev/null @@ -1,57 +0,0 @@ -package digital.technik; - -import java.util.Scanner; - -public class DigitalTechnik8 { - - public DigitalTechnik8() { - } - - void start() { - Scanner sc = new Scanner(System.in); - - System.out.println("Willkommen"); - System.out.println("Bitte wählen Sie ein Thema (Zahl):"); - System.out.println("1. JK-FlipFlop"); - System.out.println("2. T-Flipflop"); - System.out.println("3. Taktpegelgesteuertes D-Latch"); - System.out.println("4. Taktflankengesteuertes D-Flipflop"); - - - int choice = sc.nextInt(); - sc.nextLine(); - - if (choice == 1) { - - System.out.println(""" - Ein JK-Flipflop ist eine Art von Flipflop, das auf eine Kombination von Eingangssignalen J und K reagiert. Es hat zwei Eingänge (J und K) und einen Ausgang (Q).\s - Der Ausgang wird auf den Wert von J gesetzt, wenn K auf logisch 0 steht und auf den Wert von K gesetzt, wenn J auf logisch 0 steht.\s - Wenn beide J und K auf logisch 1 stehen, wird der Ausgang invertiert."""); - - - } else if (choice == 2) { - System.out.println(""" - Ein T-Flipflop ist eine Art von Flipflop, das auf ein Eingangssignal T reagiert. Es hat nur einen Eingang (T) und einen Ausgang (Q). \n - Der Ausgang wird invertiert, wenn das Eingangssignal T auf logisch 1 steht. - - Es ist ein Schaltkreis, der den Zustand des Ausgangs auf die negierte Form des Eingangs setzt. - - """); - - } else if (choice == 3) { - System.out.println(""" - Das Taktpegelgesteuerte D-Latch ist eine digitale Schaltung, die zur Speicherung von binären Informationen verwendet wird. Es besteht aus zwei Eingängen (D und CLK), einem Taktpegel, und einem Ausgang (Q).\s - Der Wert des Eingangs "D" wird bei einem negativen Flankenwechsel des Takteingangs "CLK" gespeichert und bleibt bis zum nächsten negativen Flankenwechsel bestehen."""); - - } else if (choice == 4) { - System.out.println(""" - Das Taktflankengesteuerte D-Flipflop ist eine digitale Schaltung, die zur Speicherung von binären Informationen verwendet wird. Es besteht aus zwei Eingängen (D und CLK), einem Takt, und einem Ausgang (Q).\s - Der Wert des Eingangs "D" wird bei einer positiven Taktflanke des Takteingangs "CLK" gespeichert und bleibt bis zur nächsten positiven Taktflanke bestehen.\s - Dieses Flipflop ist ein sehr wichtiger Baustein in der digitalen Technik und wird oft in der Registerspeicherung, bei der Übertragung von Daten und in sequentiellen Schaltungen eingesetzt."""); - - - } else { - System.out.println("Ungültige Eingabe!"); - } - } -} diff --git a/src/digital/technik/DigitalTechnik9.java b/src/digital/technik/DigitalTechnik9.java deleted file mode 100644 index 5a6a35e..0000000 --- a/src/digital/technik/DigitalTechnik9.java +++ /dev/null @@ -1,42 +0,0 @@ -package digital.technik; - -import java.util.Scanner; - -public class DigitalTechnik9 { - - public DigitalTechnik9() { - } - - void start() { - - Scanner sc = new Scanner(System.in); - - System.out.println("Willkommen"); - System.out.println("Bitte wählen Sie ein Thema (Zahl):"); - System.out.println("1. Mod-4 Zähler mit enable"); - System.out.println("2. Unterschied Moore/Mealy Automaten"); - - - int choice = sc.nextInt(); - sc.nextLine(); - - if (choice == 1) { - - System.out.println(""" - Der Mod-4-Zähler mit Enable ist ein Zähler, der dazu verwendet wird, eine bestimmte Anzahl von Schritten oder Zustände durchzugehen, bevor er wieder zum Anfang zurückkehrt.\s - Der Mod-4-Zähler hat 4 Zustände: 0, 1, 2 und 3, und er wechselt zum nächsten Zustand, wenn ein Taktsignal empfangen wird.\s - Wenn der Zähler in den Zustand 3 gelangt, kehrt er zurück zum Zustand 0, und der Prozess beginnt erneut."""); - - } else if (choice == 2) { - System.out.println(""" - Der Unterschied zwischen den beiden besteht darin, wie sie Zustände und Übergänge definieren und wie sie Ausgänge berechnen: - - Moore-Automaten: In Moore-Automaten werden Ausgänge ausschließlich durch den aktuellen Zustand berechnet. Jeder Zustand hat einen festen Ausgangswert, der unabhängig von den Eingängen ist. - - Mealy-Automaten: In Mealy-Automaten werden Ausgänge auf der Basis sowohl des aktuellen Zustands als auch der Eingänge berechnet. Jeder Übergang hat einen festen Ausgangswert, der von beiden bestimmt wird."""); - - } else { - System.out.println("Ungültige Eingabe!"); - } - } -} From 18ec6d3332bc6e4cbb0cc3a9df3b4003830c338b Mon Sep 17 00:00:00 2001 From: fdai7487 Date: Fri, 10 Feb 2023 17:51:43 +0100 Subject: [PATCH 53/70] =?UTF-8?q?workspace.xml=20hinzugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/workspace.xml | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/.idea/workspace.xml b/.idea/workspace.xml index a98a21f..432eaa8 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -1,19 +1,7 @@ - - - - - - - - - - - - - +