1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
|
\documentclass[]{handout}
\usepackage[shortlabels]{enumitem}
\usepackage{tabulary}
\newcommand{\centeredtxt}[2]{
\begin{tabular}{l}
\parbox{#1}{\vspace{-50pt} \centering #2}
\end{tabular}
}
\title{Grundlagen der Algorithmik}
\begin{document}
\thispagestyle{empty}
\subsection*{\underline{\underline{Abläufe und Algorithmen}}}
\begin{defbox}{Grundbegriffe}
\begin{itemize}
\item \textbf{Anweisung} := Beschreibung eines Arbeitsschrittes
\item \textbf{Ablauf/Sequenz} := Abfolge von \textbf{Anweisungen}
\item \textbf{Algorithmus} := \textbf{Endlicher}, \textbf{ausführbarer} und \textbf{eindeutiger} Ablauf
\end{itemize}
\end{defbox}
\subsection*{\underline{Variablen}}
\textbf{Variablen} erlauben es Informationen in einem Algorithmus zu speichern und wiederzuverwenden.
\begin{center}
\includegraphics[keepaspectratio, height=4cm]{img/variables_as_boxes.png}
\end{center}
\begin{defbox}{}
\begin{itemize}
\item \textbf{Variablen} kann man sich wie Schachteln mit Namen vorstellen, in denen man einen Zettel mit der gemerkten Information aufbewahrt.
\item Die gespeicherten Informationen kann man in Klassen sogenannte \textbf{Datentypen}, wie \textit{Text}, \textit{Zahlen} oder \textit{Wahrheitswerte} gruppieren.
\item Das Erzeugen einer \textbf{Variable} nennt man \textbf{Deklarieren}.
\item Das erstmalige \textit{Zuweisen} einer Information nennt man \textbf{Initialisieren}.
\end{itemize}
\end{defbox}
\subsection*{\underline{Kontrollstrukturen}}
Mit \textbf{Kontrollstrukturen} kann die Reihenfolge von Anweisungen in einem Algorithmus flexibel gestaltet werden.
\textbf{Kontrollstrukturen} können weitere Kontrollstrukturen enthalten.
\subsubsection*{Wiederholungen (Schleifen)}
Eine \textbf{Kontrollstruktur}, die \textbf{Anweisungen} gegebenenfalls mehrmals \textit{wiederholt}, wird \textbf{Wiederholung} oder \textbf{Schleife} genannt. \vspace{0.5cm}
\begin{defbox}{Arten von Wiederholungen}
\begin{tabularx}{\textwidth}{X X X}
\textbf{Bedingte Wiederholung} & \textbf{Wiederholung mit} \newline \textbf{fester Zahl} & \textbf{Fortlaufende} \newline \textbf{Wiederholung} \\
\includegraphics[keepaspectratio, height=2cm]{img/repeat_until_block.png} & \includegraphics[keepaspectratio, height=2cm]{img/repeat_n_block.png} & \includegraphics[keepaspectratio, height=2cm]{img/repeat_block.png} \\
\textit{"Wiederhole solange bis ..."} & \textit{"Wiederhole X-mal"} & \textit{"Wiederhole ..."} \\
\end{tabularx}
\end{defbox}
\newpage
\subsubsection*{Bedingte Anweisungen}
\textbf{Bedingte Anweisungen} erlauben es \textbf{Anweisungen} nur unter gewissen Umständen auszuführen. \vspace{0.5cm}
\begin{defbox}{}
\begin{tabular}{p{2cm} m{4cm} p{1cm} p{2cm} m{5cm}}
\multicolumn{2}{l}{\textbf{Einseitige bedingte Anweisung}} & & \multicolumn{2}{l}{\textbf{Zweiseitige bedingte Anweisung}} \\
\includegraphics[keepaspectratio, height=2cm]{img/if_block.png} & \centeredtxt{3cm}{\textit{"Wenn dann ..."}} & & \includegraphics[keepaspectratio, height=2cm]{img/if_else_block.png} & \centeredtxt{5cm}{\textit{"Wenn dann ... sonst ..."}} \\
\end{tabular}
\end{defbox}
\subsection*{\underline{Logische Operatoren}}
Mit \textbf{logische Operationen} lassen sich \textit{Wahrheitswerte} zu anderen \textit{Wahrheitswerten} \textbf{umformen} oder \textbf{zusammenfassen}.
\vspace{0.5cm}
\begin{defbox}{}
\begin{tabularx}{\textwidth}{X X X}
\textbf{Und} (engl. \textbf{and}) & \textbf{Oder} (engl. \textbf{or}) & \textbf{Nicht} (engl. \textbf{not}) \\
\includegraphics[keepaspectratio, height=0.7cm]{img/and_block.png} & \includegraphics[keepaspectratio, height=0.7cm]{img/or_block.png} & \includegraphics[keepaspectratio, height=0.7cm]{img/not_block.png} \\
Das Ergebnis ist nur dann \textit{wahr}, wenn \underline{alle} Eingabewerte \textit{wahr} sind. &
Das Ergebnis ist \textit{wahr}, wenn \underline{mindestens} einer der Eingabewerte \textit{wahr} sind &
Das Ergebnis ist \textit{wahr}, wenn die Eingabe \textit{falsch} ist, und \textit{falsch}, wenn die Eingabe \textit{wahr} ist. \\
\end{tabularx}
\end{defbox}
\vspace{0.5cm}
Die Ergebnisse der \textbf{logischen Operationen} können aus der folgenden \textbf{Wahrheitstabelle} abgelesen werden.
\begin{center}
\begin{tabulary}{\textwidth}{C | C | C | C | C}
\rowcolor{gray!40}Wert1 & Wert2 & Wert1 \textbf{UND} Wert2 & Wert1 \textbf{ODER} \newline Wert2 & \textbf{NICHT} WERT1 \\
\hline
\cellcolor{green!30} Wahr & \cellcolor{green!30} Wahr & \cellcolor{green!30} Wahr & \cellcolor{green!30} Wahr & \cellcolor{orange!30} Falsch \\
\hline
\cellcolor{green!30} Wahr & \cellcolor{orange!30} Falsch & \cellcolor{orange!30} Falsch & \cellcolor{green!30} Wahr & \cellcolor{orange!30} Falsch \\
\hline
\cellcolor{orange!30} Falsch & \cellcolor{green!30} Wahr & \cellcolor{orange!30} Falsch & \cellcolor{green!30} Wahr & \cellcolor{green!30} Wahr \\
\hline
\cellcolor{orange!30} Falsch & \cellcolor{orange!30} Falsch & \cellcolor{orange!30} Falsch & \cellcolor{orange!30} Falsch & \cellcolor{green!30} Wahr \\
\end{tabulary}
\end{center}
\end{document}
|