2
0
Fork 0
mirror of https://github.com/MartinThoma/LaTeX-examples.git synced 2025-04-24 22:08:04 +02:00

ASCII-Tabelle in C angefangen; Kapitel Programmiersprachen hinzugefügt; erste Definitionen

This commit is contained in:
Martin Thoma 2014-02-01 14:39:16 +01:00
parent 489d7edac0
commit ff14701ccf
9 changed files with 140 additions and 0 deletions

View file

@ -7,6 +7,8 @@
\acro{ca.}{circa}
\acro{d. h.}{das heißt}
\acro{etc.}{et cetera}
\acro{ggf.}{gegebenenfalls}
\acro{sog.}{sogneannte}
\acro{Vor.}{Voraussetzung}
\acro{z. B.}{zum Beispiel}
\acro{z. z.}{zu zeigen}

View file

@ -4,4 +4,5 @@ in dem Erstellen dieses Skripts steckt:
|Datum | Uhrzeit | Autor | Bemerkung
|-----------|---------------|----------------------------------------
|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

View file

@ -1,7 +1,75 @@
\chapter{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{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|)}

View file

@ -1,5 +1,7 @@
\chapter{Haskell}
\index{Haskell|(}
Haskell ist eine funktionale Programmiersprache.
\section{Syntax}
\section{Beispiele}
\inputminted[linenos, numbersep=5pt, tabsize=4, frame=lines, label=fibonacci.hs]{haskell}{scripts/haskell/fibonacci.hs}

View 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|)}

View file

@ -88,10 +88,12 @@
\pagenumbering{arabic}
\setcounter{page}{1}
\input{Programmiersprachen}
\input{Haskell}
\input{Scala}
\input{X10}
\input{C}
\input{MPI}
\appendix
\input{Bildquellen}

View 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.

View file

@ -1,5 +1,9 @@
\chapter{Scala}
\index{Scala|(}
Scala ist eine funktionale Programmiersprache, die auf der JVM aufbaut
und in Java Bytecode kompiliert wird.
\section{Syntax}
\section{Beispiele}

View file

@ -0,0 +1,7 @@
#include <stdio.h>
int main(void)
{
printf("Hello, World\n");
return 0;
}