Browse Source

refactoring: added final method DigitalTechnik 1-3

remotes/origin/A.Morlang/gruppenprojekt
fdai7487 2 years ago
parent
commit
6d77e2141a
  1. 209
      src/digital/technik/DigitalTechnik.java

209
src/digital/technik/DigitalTechnik.java

@ -1,76 +1,187 @@
package digital.technik; package digital.technik;
public class DigitalTechnik {
import java.util.Scanner;
public class DigitalTechnik {
public 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();
}
} }
Loading…
Cancel
Save