mirror of
https://github.com/MartinThoma/LaTeX-examples.git
synced 2025-04-25 06:18:05 +02:00
ASCII-Tabelle in C angefangen; Kapitel Programmiersprachen hinzugefügt; erste Definitionen
This commit is contained in:
parent
489d7edac0
commit
ff14701ccf
9 changed files with 140 additions and 0 deletions
|
@ -7,6 +7,8 @@
|
||||||
\acro{ca.}{circa}
|
\acro{ca.}{circa}
|
||||||
\acro{d. h.}{das heißt}
|
\acro{d. h.}{das heißt}
|
||||||
\acro{etc.}{et cetera}
|
\acro{etc.}{et cetera}
|
||||||
|
\acro{ggf.}{gegebenenfalls}
|
||||||
|
\acro{sog.}{sogneannte}
|
||||||
\acro{Vor.}{Voraussetzung}
|
\acro{Vor.}{Voraussetzung}
|
||||||
\acro{z. B.}{zum Beispiel}
|
\acro{z. B.}{zum Beispiel}
|
||||||
\acro{z. z.}{zu zeigen}
|
\acro{z. z.}{zu zeigen}
|
||||||
|
|
|
@ -4,4 +4,5 @@ in dem Erstellen dieses Skripts steckt:
|
||||||
|Datum | Uhrzeit | Autor | Bemerkung
|
|Datum | Uhrzeit | Autor | Bemerkung
|
||||||
|-----------|---------------|----------------------------------------
|
|-----------|---------------|----------------------------------------
|
||||||
|01.02.2014 | 13:30 - 13:45 | Thoma | Initialisierung; Grobe Struktur
|
|01.02.2014 | 13:30 - 13:45 | Thoma | Initialisierung; Grobe Struktur
|
||||||
|
|01.02.2014 | 14:00 - 14:45 | Thoma | ASCII-Tabelle in C angefangen; Kapitel "Programmiersprachen" hinzugefügt; erste Definitionen
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,75 @@
|
||||||
\chapter{C}
|
\chapter{C}
|
||||||
\index{C|(}
|
\index{C|(}
|
||||||
|
C ist eine imperative Programmiersprache.
|
||||||
|
|
||||||
|
\section{Datentypen}\xindex{Datentypen}
|
||||||
|
Die grundlegenden C-Datentypen sind
|
||||||
|
\begin{table}[htp]
|
||||||
|
\centering
|
||||||
|
\begin{tabular}{|l|l|}
|
||||||
|
\hline
|
||||||
|
\textbf{Typ} & \textbf{Größe} \\ \hline\hline
|
||||||
|
char & 1 Byte \\ \hline
|
||||||
|
int & 4 Bytes \\ \hline
|
||||||
|
float & 4 Bytes \\ \hline
|
||||||
|
double & 8 Bytes \\ \hline
|
||||||
|
void & 0 Bytes \\ \hline
|
||||||
|
\end{tabular}
|
||||||
|
\end{table}
|
||||||
|
|
||||||
|
zusätzlich kann man \texttt{char}\xindex{char} und \texttt{int}\xindex{int}
|
||||||
|
noch in \texttt{signed}\xindex{signed} und \texttt{unsigned}\xindex{unsigned}
|
||||||
|
unterscheiden.
|
||||||
|
|
||||||
|
\section{ASCII-Tabelle}
|
||||||
|
\begin{table}[htp]
|
||||||
|
\centering
|
||||||
|
\begin{tabular}{|l|l||l|l||l|l||l|l|}
|
||||||
|
\hline
|
||||||
|
\textbf{Dez.} & \textbf{Zeichen} & \textbf{Dez.} & \textbf{Zeichen} & \textbf{Dez.} & \textbf{Zeichen} & \textbf{Dez.} & \textbf{Zeichen} \\ \hline\hline
|
||||||
|
0 & ~ & 31 & ~ & 64 & @ & 96 & ' \\ \hline
|
||||||
|
1 & ~ & ~ & ~ & 65 & A & 97 & a \\ \hline
|
||||||
|
2 & ~ & ~ & ~ & 66 & B & 98 & b \\ \hline
|
||||||
|
3 & ~ & ~ & ~ & ~ & C & 99 & c \\ \hline
|
||||||
|
4 & ~ & ~ & ~ & ~ & D & 100 & d \\ \hline
|
||||||
|
5 & ~ & ~ & ~ & ~ & E & ~ & ~ \\ \hline
|
||||||
|
6 & ~ & ~ & ~ & ~ & F & ~ & ~ \\ \hline
|
||||||
|
7 & ~ & ~ & ~ & ~ & G & ~ & ~ \\ \hline
|
||||||
|
8 & ~ & ~ & ~ & ~ & H & ~ & ~ \\ \hline
|
||||||
|
9 & ~ & ~ & ~ & ~ & I & ~ & ~ \\ \hline
|
||||||
|
10 & ~ & ~ & ~ & ~ & ~ & ~ & ~ \\ \hline
|
||||||
|
11 & ~ & ~ & ~ & ~ & ~ & ~ & ~ \\ \hline
|
||||||
|
12 & ~ & ~ & ~ & ~ & ~ & ~ & ~ \\ \hline
|
||||||
|
13 & ~ & ~ & ~ & ~ & ~ & ~ & ~ \\ \hline
|
||||||
|
14 & ~ & ~ & ~ & ~ & ~ & ~ & ~ \\ \hline
|
||||||
|
15 & ~ & ~ & ~ & ~ & ~ & ~ & ~ \\ \hline
|
||||||
|
16 & ~ & ~ & ~ & ~ & ~ & ~ & ~ \\ \hline
|
||||||
|
17 & ~ & ~ & ~ & ~ & ~ & ~ & ~ \\ \hline
|
||||||
|
18 & ~ & ~ & ~ & ~ & ~ & ~ & ~ \\ \hline
|
||||||
|
19 & ~ & ~ & ~ & ~ & ~ & ~ & ~ \\ \hline
|
||||||
|
20 & ~ & ~ & ~ & ~ & ~ & ~ & ~ \\ \hline
|
||||||
|
21 & ~ & ~ & ~ & ~ & ~ & ~ & ~ \\ \hline
|
||||||
|
22 & ~ & ~ & ~ & ~ & ~ & ~ & ~ \\ \hline
|
||||||
|
23 & ~ & ~ & ~ & ~ & ~ & ~ & ~ \\ \hline
|
||||||
|
24 & ~ & ~ & ~ & ~ & ~ & ~ & ~ \\ \hline
|
||||||
|
25 & ~ & ~ & ~ & ~ & ~ & ~ & ~ \\ \hline
|
||||||
|
26 & ~ & ~ & ~ & ~ & ~ & ~ & ~ \\ \hline
|
||||||
|
27 & ~ & ~ & ~ & ~ & ~ & ~ & ~ \\ \hline
|
||||||
|
28 & ~ & ~ & ~ & ~ & ~ & ~ & ~ \\ \hline
|
||||||
|
29 & ~ & ~ & ~ & ~ & ~ & ~ & ~ \\ \hline
|
||||||
|
31 & ~ & ~ & ~ & ~ & ~ & 127 & ~ \\ \hline\hline
|
||||||
|
\end{tabular}
|
||||||
|
\end{table}
|
||||||
|
|
||||||
\section{Syntax}
|
\section{Syntax}
|
||||||
\section{Beispiele}
|
\section{Beispiele}
|
||||||
|
\subsection{Hello World}
|
||||||
|
Speichere den folgenden Text als \texttt{hello-world.c}:
|
||||||
|
|
||||||
|
\inputminted[linenos, numbersep=5pt, tabsize=4, frame=lines, label=hello-world.c]{c}{scripts/c/hello-world.c}
|
||||||
|
|
||||||
|
Compiliere ihn mit \texttt{gcc hello-world.c}. Es wird eine ausführbare
|
||||||
|
Datei namens \texttt{a.out} erzeugt.
|
||||||
|
|
||||||
\index{C|)}
|
\index{C|)}
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
\chapter{Haskell}
|
\chapter{Haskell}
|
||||||
\index{Haskell|(}
|
\index{Haskell|(}
|
||||||
|
Haskell ist eine funktionale Programmiersprache.
|
||||||
|
|
||||||
\section{Syntax}
|
\section{Syntax}
|
||||||
\section{Beispiele}
|
\section{Beispiele}
|
||||||
\inputminted[linenos, numbersep=5pt, tabsize=4, frame=lines, label=fibonacci.hs]{haskell}{scripts/haskell/fibonacci.hs}
|
\inputminted[linenos, numbersep=5pt, tabsize=4, frame=lines, label=fibonacci.hs]{haskell}{scripts/haskell/fibonacci.hs}
|
||||||
|
|
12
documents/Programmierparadigmen/MPI.tex
Normal file
12
documents/Programmierparadigmen/MPI.tex
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
\chapter{MPI}
|
||||||
|
\index{MPI|(}
|
||||||
|
|
||||||
|
Message Passing Interface (kurz: MPI) ist ein Standard,
|
||||||
|
der den Nachrichtenaustausch bei parallelen Berechnungen auf
|
||||||
|
verteilten Computersystemen beschreibt.
|
||||||
|
|
||||||
|
\section{Syntax}
|
||||||
|
\section{Beispiele}
|
||||||
|
|
||||||
|
\index{MPI|)}
|
||||||
|
|
|
@ -88,10 +88,12 @@
|
||||||
|
|
||||||
\pagenumbering{arabic}
|
\pagenumbering{arabic}
|
||||||
\setcounter{page}{1}
|
\setcounter{page}{1}
|
||||||
|
\input{Programmiersprachen}
|
||||||
\input{Haskell}
|
\input{Haskell}
|
||||||
\input{Scala}
|
\input{Scala}
|
||||||
\input{X10}
|
\input{X10}
|
||||||
\input{C}
|
\input{C}
|
||||||
|
\input{MPI}
|
||||||
|
|
||||||
\appendix
|
\appendix
|
||||||
\input{Bildquellen}
|
\input{Bildquellen}
|
||||||
|
|
42
documents/Programmierparadigmen/Programmiersprachen.tex
Normal file
42
documents/Programmierparadigmen/Programmiersprachen.tex
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
\chapter{Programmiersprachen}
|
||||||
|
Im folgenden werden einige Begriffe definiert anhand derer
|
||||||
|
Programmiersprachen unterschieden werden können.
|
||||||
|
|
||||||
|
\section{Paradigmen}
|
||||||
|
Die grundlegendste Art, wie man Programmiersprachen unterscheiden
|
||||||
|
kann ist das sog. \enquote{Programmierparadigma}, also die Art wie
|
||||||
|
man Probleme löst.
|
||||||
|
|
||||||
|
\begin{definition}[Imperatives Paradigma]\xindex{Programmierung!imperative}
|
||||||
|
In der imperativen Programmierung betrachtet man Programme als
|
||||||
|
eine folge von Anweisungen, die vorgibt auf welche Art etwas
|
||||||
|
Schritt für Schritt gemacht werden soll.
|
||||||
|
\end{definition}
|
||||||
|
|
||||||
|
\begin{definition}[Prozedurales Paradigma]\xindex{Programmierung!prozedurale}
|
||||||
|
Die prozeduralen Programmierung ist eine Erweiterung des imperativen
|
||||||
|
Programmierparadigmas, bei dem man versucht die Probleme in
|
||||||
|
kleinere Teilprobleme zu zerlegen.
|
||||||
|
\end{definition}
|
||||||
|
|
||||||
|
\begin{definition}[Funktionales Paradigma]\xindex{Programmierung!funktionale}
|
||||||
|
In der funktionalen Programmierung baut man auf Funktionen und
|
||||||
|
ggf. Funktionen höherer Ordnung, die eine Aufgabe ohne Nebeneffekte
|
||||||
|
lösen.
|
||||||
|
\end{definition}
|
||||||
|
|
||||||
|
\section{Typisierung}
|
||||||
|
Eine weitere Art, Programmiersprachen zu unterscheiden ist die stärke
|
||||||
|
ihrer Typisierung.
|
||||||
|
|
||||||
|
\begin{definition}[Dynamische Typisierung]\xindex{Typisierung!dynamische}
|
||||||
|
Bei dynamisch typisierten Sprachen kann eine Variable ihren Typ ändern.
|
||||||
|
\end{definition}
|
||||||
|
|
||||||
|
Beispiele sind Python und PHP.
|
||||||
|
|
||||||
|
\begin{definition}[Statische Typisierung]\xindex{Typisierung!statische}
|
||||||
|
Bei statisch typisierten Sprachen kann eine niemals ihren Typ ändern.
|
||||||
|
\end{definition}
|
||||||
|
|
||||||
|
Beispiele sind C, Haskell und Java.
|
|
@ -1,5 +1,9 @@
|
||||||
\chapter{Scala}
|
\chapter{Scala}
|
||||||
\index{Scala|(}
|
\index{Scala|(}
|
||||||
|
|
||||||
|
Scala ist eine funktionale Programmiersprache, die auf der JVM aufbaut
|
||||||
|
und in Java Bytecode kompiliert wird.
|
||||||
|
|
||||||
\section{Syntax}
|
\section{Syntax}
|
||||||
\section{Beispiele}
|
\section{Beispiele}
|
||||||
|
|
||||||
|
|
7
documents/Programmierparadigmen/scripts/c/hello-world.c
Normal file
7
documents/Programmierparadigmen/scripts/c/hello-world.c
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
printf("Hello, World\n");
|
||||||
|
return 0;
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue