\documentclass{schulein}
\usepackage[utf8]{inputenc}
\usepackage{schulinf}

% Dieses Dokument ist in der Zusammenarbeit von Informatikreferendaren und
% ehemaligen Informatikreferendaren der Studienseminare (heute ZfsL) Arnsberg,
% Hamm und Solingen entstanden.
%
% Das Dokument steht unter der Lizenz: Creative Commons by-nc-sa Version 4.0
% http://creativecommons.org/licenses/by-nc-sa/4.0/deed.de
%
% Nach dieser Lizenz darf das Dokument beliebig kopiert und bearbeitet werden,
% sofern das Folgeprodukt wiederum unter gleichen Lizenzbedingungen vertrieben
% und auf die ursprünglichen Urheber verwiesen wird.
% Eine kommerzielle Nutzung ist ausdrücklich ausgeschlossen.
%
% Die Namensnennung durch einen Verweis und die Lizenzangabe der ursprünglichen
% Urheber auf den Materialien für Schülerinnen und Schüler ist erforderlich.
%
% Die Sammlung der Dokumente steht unter
% http://ddi.uni-wuppertal.de/material/materialsammlung/
% zur Verfügung.
%
% Das LaTeX-Paket zum Setzen der Dokumente der Sammlung steht
% unter  http://www.ctan.org/pkg/schule
% zur Verfügung.

\usepackage[pdfauthor={Referendare der Informatikfachseminare Arnsberg, Hamm und Solingen}]{hyperref}
\includexmp{lizenz}
\cclizenz{byncsaeu}
\footerQRLink{materialsammlung_qr_url.pdf}

\svnid{$Id: info_primitive_pascal.tex 626 2014-05-22 21:36:50Z pieper $}

\dokName{Primitive Datentypen}
\jahrgang{11}

\begin{document}

\section*{Primitive Datentypen}

Die bisher verwendeten Attributwerte waren stets Zeichenketten bzw. ganze Zahlen oder aber Referenzen auf andere Objekte, wenn die Attribute Beziehungsattribute waren. Die Attributwerte sind in jedem Fall aber von einem ganz bestimmten Typ. So ergibt es keinen Sinn, wenn 27 der Wert des Attributs "`haarfarbe"' ist. Ebenso sollte der Wert eines Beziehungsattributs nicht eine Zeichenkette sein, wenn doch eine Referenz auf ein anderes Objekt verlangt ist.

Die Regel lautet hierbei, dass die Werte von Beziehungsattributen stets Referenzen auf ein Objekt sind. Die Werte der übrigen Attribute sind von einem grundlegenden Datentyp (ein sog. \textbf{primitiver Datentyp}). Es folgt eine Übersicht über eine Teilmenge grundlegender Datentypen. Es sind nicht alle, aber diejenigen, mit denen hier im Unterricht zumeist gearbeitet wird.\footnote{Wer eine vollständige Übersicht wünscht, möge im Internet recherchieren.}

\begin{center}
\begin{tabular}{l|l|l}
  Grundlegender Datentyp & "`Übersetzung"' & Beispiel/Wertebereich \tabularnewline
  \hline
  Boolean & Wahrheitswert &  true, false \tabularnewline

  Char & Zeichen & 0 ... 255 (z. B. "'A"') \tabularnewline

  String & Zeichenkette &  "'Anton"' \tabularnewline

  Integer & Ganze Zahl &  -2.147.483.648 \ldots 2.147.483.647 \tabularnewline

  Real & Zahl &  $\pm 4,9 \cdot 10^{-324} \ldots \pm 1,7 \cdot 10^{308} $  \tabularnewline
\end{tabular}
\end{center}


\subsection*{Konventionen zur Schreibweise}

In der folgenden Tabelle wird beschrieben, wie man welchen Bezeichner schreiben sollte. Die Schreibweisen helfen in der Implementierungsphase, den Überblick nicht zu verlieren. Eine frühe Gewöhnung an die Schreibweise ist daher ratsam.

\begin{small}
\RaggedLeft
\begin{tabularx}{\textwidth}{p{3.4cm} | X | p{5cm}}
  Bezeichner für & Schreibweise & Beispiel \tabularnewline
  \hline 
  Objekte & klein, aber darauffolgende Wörter jeweils den 1. Buchstaben groß & meinWecker, meinStift, peter, heide \tabularnewline
  Beziehungsattri\-bu\-te & 1. Wort ist \textit{kennt} bzw. \textit{hat}. Darauffolgende Wörter jeweils den 1. Buchstaben groß & kenntPeter, kenntInformationsbrett, hatWuerfel \tabularnewline
  Grundlegende Attri\-bu\-te  & mit einem \textit{g} beginnend, darauffolgende Wörter jeweils den 1. Buchstaben groß & gName, gTelefonnummer, gAlter \tabularnewline
  Attributwerte  & vom Attributbezeichner durch ein = getrennt, Zeichen(ketten) in Anführungszeichen, Wahrheitswerte und Zahlen ohne Anführungszeichen & "'Peter"', "'gelb"', true, false, 27, 28.5, "'A"'\\

  Methoden  & klein, aber darauffolgende Wörter jeweils den 1. Buchstaben groß, aus der Bezeichnung sollte ersichtlich sein, ob es eine Anfrage oder ein Auftrag ist & merkeNachfolger, alter, macheHandstand, groesse\\

  Methoden mit Parametern  & in Klammern hinter dem Bezeichner, der Bezeichner des parameters beginnt mit einem \textit{p}, darauffolgende Wörter jeweils den 1. Buchstaben groß & merkeNachfolger(pPerson), summe(pErsterSummand, pZweiterSummand)\\

\end{tabularx}
\justifying
\end{small}


\end{document}