add .gitignore and update image paths in Digitaltechnik; remove unused images from Lineare Algebra; add new content for Theoretische Informatik 1

This commit is contained in:
Dominik 2025-03-27 13:51:53 +01:00
parent b872f672ae
commit 6eb5b0a00f
14 changed files with 287 additions and 4 deletions

4
.gitignore vendored Normal file
View file

@ -0,0 +1,4 @@
*.*
!.gitignore
!*.tex
!*.png

View file

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 5.7 KiB

After

Width:  |  Height:  |  Size: 5.7 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 7.5 KiB

After

Width:  |  Height:  |  Size: 7.5 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 3.6 KiB

After

Width:  |  Height:  |  Size: 3.6 KiB

Before After
Before After

View file

@ -26,7 +26,7 @@ Aktiv bei steigender oder fallender Flanke.
\subsubsection{RS-Flip-Flop}
\includegraphics[width=0.2\textwidth]{TPS_RS_FF.png}
\includegraphics[width=0.2\textwidth]{images/TPS_RS_FF.png}
2 Eingänge: S (Set) und R (Reset) \\
2 Ausgänge: Q und Q* (Q negiert) \\
@ -35,7 +35,7 @@ Verbotene Zustände: S = R = 1
\subsubsection{D-Flip-Flop}
\includegraphics[width=0.2\textwidth]{D_FF.png}
\includegraphics[width=0.2\textwidth]{images/D_FF.png}
1 Eingang: D (Data) \\
2 Ausgänge: Q und Q* (Q negiert) \\
@ -44,7 +44,7 @@ Keine verbotenen Zustände
\subsubsection{JK-Flip-Flop}
\includegraphics[width=0.2\textwidth]{JK_FF.png}
\includegraphics[width=0.2\textwidth]{images/JK_FF.png}
2 Eingänge: J und K \\
2 Ausgänge: Q und Q* (Q negiert) \\
@ -53,7 +53,7 @@ Keine verbotenen Zustände (J=K=1: Togglen)
\subsubsection{T-Flip-Flop}
\includegraphics[width=0.2\textwidth]{T_FF.png}
\includegraphics[width=0.2\textwidth]{images/T_FF.png}
1 Eingang: T (Toggle) \\
2 Ausgänge: Q und Q* (Q negiert) \\

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

View file

@ -0,0 +1,63 @@
\section{Logik}
\subsection{Logische Ausdrücke}
Logische Ausdrücke aufstellen aus gegebenen Aussagen.
Wahrheitstabellen aufstellen.
Vereinfachung von logischen Ausdrücken.
\subsection{Logisches Schließen}
Logisches Schließen mit Hilfe von Regeln in Tabellarischer oder Textform.
\subsubsection{Regeln}
\begin{tabular}{l | l}
II & Induzierte Implikation \\
IE & Implikation Elimination \\
K & Konjunktion \\
KL & Konjunktion Links \\
KR & Konjunktion Rechts \\
D & Disjunktion \\
DL & Disjunktion Links \\
DR & Disjunktion Rechts \\
F & Falsch \\
TND & Tertium non datur ($A \lor \lnot A$) \\
AE & Allquantor Elimination \\
AI & Induzierter Allquantor \\
EI & Existenzquantor Implikation \\
EE & Existenzquantor Elimination
\end{tabular}
\subsection{Prädikatenlogik}
Prädikatenlogische Ausdrücke aufstellen, negieren, relationen.
\subsubsection{Relationen}
$\forall x : \forall y : P(x,y) \Leftrightarrow \forall y : \forall x : P(x,y)$
$\exists x : \exists y : P(x,y) \Leftrightarrow \exists y : \exists x : P(x,y)$
$\exists x : \forall y : P(x,y) \Rightarrow \forall y : \exists x : P(x,y)$
$\lnot \forall x : P(x) \Leftrightarrow \exists x : \lnot P(x)$
$\lnot \exists x : P(x) \Leftrightarrow \forall x : \lnot P(x)$
\subsection{Vollständige Induktion}
\[
\sum_{k=1}^n k = \frac{n\cdot(n+1)}{2}
\]
\emph{Induktionsanfang:}\\
Für $n=1$ gilt
\[ \frac{1 \cdot (1+1)}{2} = \frac{2}{2} = 1.\]
Die Behauptung ist also wahr für $n=1$.\\
\emph{Induktionsschritt:}\\
Sei die Behauptung nun wahr für ein $n \in \mathbb{N}$. Dann erhalten wir
$$\sum_{k=1}^{n+1} k = \sum_{k=1}^n k + (n+1) = \frac{n \cdot (n+1)}{2} + (n+1)$$
$$= \frac{n^2+n+2n+2}{2} = \frac{(n+1)(n+2)}{2}$$
Die Aussage gilt also auch für $n+1$.

View file

@ -0,0 +1,37 @@
\section{Relationen}
\subsection{Äquivlanzrelationen}
\begin{itemize}
\item \textbf{Reflexivität}: $x \sim x$ für alle $x \in R$
\item \textbf{Symmetrie}: $x \sim y \in R \Rightarrow y \sim x \in R$
\item \textbf{Transitivität}: $x \sim y \in R \land y \sim z \in R \Rightarrow x \sim z \in R$
\end{itemize}
\subsection{Ordnungsrelationen}
\begin{itemize}
\item \textbf{Antisymmetrie}: $x \sim y \in R \land y \sim x \in R \Rightarrow x = y$
\item \textbf{Reflexivität}
\item \textbf{Transitivität}
\end{itemize}
\subsection{strikte Ordnungsrelationen}
\begin{itemize}
\item \textbf{Asymmetrie}: $x \sim y \in R \land y \sim x \notin R$
\item \textbf{Transitivität}
\end{itemize}
\subsection{Kleinste und Größte Elemente}
\textbf{Kleinstes Element}: $x \in M$ ist kleinstes Element, wenn $\forall y \in M : x \leq y$ (Ein Element, das nur links in den Tupeln auftaucht) \\
\textbf{Minimale Elemente}: $x \in M$ ist minimal, wenn $\nexists y \in M : y < x$ (Alle Elemente, die nur links in den Tupeln auftauchen) \\
\textbf{Größtes Element}: $x \in M$ ist größtes Element, wenn $\forall y \in M : x \geq y$ (Ein Element, das nur rechts in den Tupeln auftaucht) \\
\textbf{Maximale Elemente}: $x \in M$ ist maximal, wenn $\nexists y \in M : y > x$ (Alle Elemente, die nur rechts in den Tupeln auftauchen)
\subsection{Äquivalenzklassen}
\textbf{Äquivalenzklasse}: $[x] = \{y \in M | x \sim y\}$ (Alle elemente, die $x$ links im Tupel stehen haben) \\
\textbf{Äquivalenzrelation}: $x \sim y \Leftrightarrow [x] = [y]$ \\
\textbf{Menge der Äquivalenzklassen}: $R / M = \{[x] | x \in M\}$ (Keine Duplikate)

View file

@ -0,0 +1,84 @@
\section{Algorithmen}
\subsection{Teilsummenproblem}
Ist ein NP-vollständiges Problem.
Jede Zahl darf nur einmal verwendet werden.
In der Summe muss eine bestimmte Zahl erreicht werden.
\subsection{3-SAT Problem}
Ist ein NP-vollständiges Problem.
Finden einer Belegung an Variablen, sodass eine Formel erfüllt wird.
Die Formel hat die Form:
\[
(x_1 \lor x_2 \lor x_3) \land (x_4 \lor x_5 \lor x_6) \land \ldots
\]
\subsubsection{Umwandlung in Teilsummenproblem}
Zielzahl:
\[
1 \dots 1 \ 4 \dots 4
\]
mit $1$ für jede Variable und $4$ für jede Klausel (Klammer).
Zahlen aus denen die Summe gebildet wird:
\textbf{1. Teil}: 1 an der Stelle der Variable, 0 ansonsten
\textbf{2. Teil}: 1 an der Stelle an der Die Variable in der Klausen positiv/negativ vorkommt, 0 ansonsten
\begin{tabular}{c | l | l}
Variable & positive Belegung & negative Belegung \\
& (1er wenn positiv) & (1er wenn negativ) \\
\hline
$x_1$ & $0 \dots 001 \ pos_1 \dots pos_n$ & $0 \dots 001 \ neg_1 \dots neg_n$ \\
$x_2$ & $0 \dots 010 \ pos_1 \dots pos_n$ & $0 \dots 010 \ neg_1 \dots neg_n$ \\
$x_3$ & $0 \dots 100 \ pos_1 \dots pos_n$ & $0 \dots 100 \ neg_1 \dots neg_n$ \\
\dots & \dots & \dots
\end{tabular}
\subsection{Programmablaufplan}
\subsubsection{Allgemeinheit}
Löst eine Klasse von Problemen.
\subsubsection{Ausführbarkeit}
Jeder Schritt ist ausführbar.
\subsubsection{Determinismus}
Jeder Schritt ist eindeutig, unabängig von Ein und Ausgaben.
\subsubsection{Determiniertheit}
Bei gleichen Eingaben, gleiche Ausgaben.
\subsubsection{Finitheit}
Beschreibung besitzt endliche Länge.
\subsubsection{Terminierung}
Die Ausführung endet bei einer endlichen Eingabe
\subsubsection{Dynamische Finitheit}
Beschränkter Resourcenverbrauch bei endlicher Eingabe.
\subsubsection{Komplexität}
Die Laufzeit / Resourcenverbrauch ist abschätzbar.
\subsection{Hoare-Kalkül}
\subsubsection{Vorbedingung}
Bedingung die vor der Ausführung der Zeile gelten muss.
\subsubsection{Nachbedingung}
Bedingung die nach der Ausführung der Zeile gelten muss.
\subsubsection{Schleifenbedingung}
Bedingung die vor jedem Schleifendurchlauf gelten muss.
\subsubsection{Schleifeninvariante}
Bedingung die vor und nach jedem Schleifendurchlauf gelten muss.

View file

@ -0,0 +1,19 @@
\section{Deklarative Programmierung}
\subsection{Ausdrucksbäume}
Umwandlung von Ausdrücken in Bäume.
\subsection{Unifizierung}
Wahl von Variablen, sodass zwei Ausdrücke gleich sind.
\subsection{Prolog}
Umsetzen von Problemen in Prolog.
\subsection{Haskell}
Umsetzen von Problemen in Haskell.
Typen eines Ausdrucks angeben.

View file

@ -0,0 +1,76 @@
\documentclass[10pt,landscape,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
%\usepackage[LY1,T1]{fontenc}
%\usepackage{frutigernext}
%\usepackage[lf,minionint]{MinionPro}
\usepackage{tikz}
\usetikzlibrary{shapes,positioning,arrows,fit,calc,graphs,graphs.standard}
\usepackage[nosf]{kpfonts}
\usepackage[t1]{sourcesanspro}
\usepackage{multicol}
\usepackage{wrapfig}
\usepackage[top=4mm,bottom=4mm,left=4mm,right=4mm]{geometry}
\usepackage[framemethod=tikz]{mdframed}
\usepackage{microtype}
\usepackage{pdfpages}
\let\bar\overline
\definecolor{myblue}{cmyk}{1,.72,0,.38}
\def\firstcircle{(0,0) circle (1.5cm)}
\def\secondcircle{(0:2cm) circle (1.5cm)}
\colorlet{circle edge}{myblue}
\colorlet{circle area}{myblue!5}
\tikzset{filled/.style={fill=circle area, draw=circle edge, thick},
outline/.style={draw=circle edge, thick}}
\pgfdeclarelayer{background}
\pgfsetlayers{background,main}
\everymath\expandafter{\the\everymath \color{myblue}}
\everydisplay\expandafter{\the\everydisplay \color{myblue}}
\renewcommand{\baselinestretch}{.8}
\pagestyle{empty}
\global\mdfdefinestyle{header}{%
linecolor=gray,linewidth=1pt,%
leftmargin=4mm,rightmargin=4mm,skipbelow=4mm,skipabove=4mm,
}
\newcommand{\header}{
\begin{mdframed}[style=header]
\footnotesize
\sffamily
Cheat sheet\\
by~Your~Name,~page~\thepage~of~2
\end{mdframed}
}
\makeatletter
\renewcommand{\section}{\@startsection{section}{1}{0mm}%
{.2ex}%
{.2ex}%x
{\color{myblue}\sffamily\small\bfseries}}
\renewcommand{\subsection}{\@startsection{subsection}{1}{0mm}%
{.2ex}%
{.2ex}%x
{\sffamily\bfseries}}
\makeatother
\setlength{\parindent}{0pt}
\begin{document}
\small
\begin{multicols*}{3}
\input{inhalt/01_Logik}
\input{inhalt/02_Relationen}
\input{inhalt/03_Algorithmen}
\input{inhalt/04_Deklarative_Programmierung}
\end{multicols*}
\end{document}