Programmiergrundlagen in Pascal Flashcards
Aus welchen Basis-Bausteinen besteht ein Pascal-Programm?
program heading [Programmkopf]
block -> declaration part [Deklarations-/Vereinbarungsteil]; statement part [Anweisungsteil]
Wie ist der Deklarationsteil gegliedert?
constant definition part
type definition part
variable declaration part
procedure and function declaration part
Wie ist der Anwendungsteil aufgebaut?
“begin” am Anfang, “end;” am Ende. Dazwischen statements [Anweisungen], getrennt durch “;”
Welche Spezialsymbole kennt Pascal?
\+ - * / . , : ; = <> < >= \:= .. ^ ' ( ) [ ] { }
Wie lautet die Erstazdarstellung für [ ] ?
(. .)
Wie lautet die Ersatzdarstellung für { } ?
(* *)
Welches Symbol ersetzt ^ ?
Einen Pfeil nach oben. Kann auch @ geschrieben werden.
Welche Schlüsselwörter kennt Pascal? Warum muss ich das wissen?
program begin end const type var array of record function procedure and not or div mod if then else for to downto do while repeat until nil (case file goto label packed set with) Werden im handgeschriebenen Programm unterstrichen.
Welche Zeichengruppen unterscheidet Pascal?
Buchstaben (letters), Ziffern (digits), Spezialsymbole (special symbols), Schlüsselwörter (reserved words)
Wie ist ein zulässiger Bezeichner (identifier) aufgebaut? Wie sollte er gewählt werden.
- beginnt mit einem Buchstaben; kann von weiteren Buchstaben oder Ziffern gefolgt werden
- wenn möglich “sprechende” Bezeichner wählen
- verschiedene Bezeichner sollten sich innerhalb der ersten 8 Zeichen unterscheiden
- bei Bezeichnern unterscheidet Pascal nicht zwischen Groß- und Kleinbuchstaben
Wie sieht der Programmkopf im geschriebenen Program aus?
program identifier;
ODER
program identifier (identifier);
ODER
program identifier (identifier, identifier);
…
identifier in der Klammer i.d.R. input und/oder output (Standardein- und -ausgabe)
Was gilt als Trennsmbol?
- Leerzeichen (blank)
- Zeilenende (eol)
- Spezialsymbole
- Kommentar
Was ist ein Standardbezeichner?
Ein in der Programmiersprache vordefinierter Bezeichner für Standardfunktionen, Standardtypen, etc.
Beispiele: writeln, output, char, integer,…
Welche Zahlenarten kennt Pascal?
- integer (ganze Zahl)
- real (kann jeden integer-Wert, Werte außerhalb der Integergrenzen (maxint) sowie Zahlen mit Fraktionsanteil darstellen)
Wie werden real-Zahlen dargestellt?
- Festpunktdarstellung (0.0; 0.873; -74.1; 73.36789)
- nicht Normalisierte Gleitpunktdarstellung (0E0; 8.73E+02; 741E-1; 0.7336789E2)
Wie werden Konstanten definiert und benannt?
const IDENTIFIER = value (integer, real, 'char', 'string'); ODER IDENTIFIER = (+-) [anderer constant identifier];
Bezeichner von Konstanten werden komplett groß geschrieben.
Wie werden Variablen deklariert?
var
identifier : type;
ODER
identifier, identifier : type;
Was wird im Vereinbarungsteil definiert? Was deklariert? Was ist der Unterschied?
Konstanten und Typen werden definiert, d.h. sie werden benannt.
Variablen und Prozeduren werden deklariert. Neben der Benennung wird ihnen z.B. bereits Speicherplatz reserviert etc.
Welche Standarddatentypen kennt Pascal?
- integer- und
- real-Zahlen,
- char,
- boolean;
string kann als vordefiniert angenommen werden, ist es aber eigentlich in Standardpascal nicht.
Welche Standardoperationen und Standardfunktionen können auf integer angewendet werden?
Operationen:
+, -, *
div (ganzzahlige Division), mod (Restbildung)
Funktionen:
abs(x) (Absolutbetrag), sqr(x) (Quadrat)
succ(x) (=x+1), pred(x) (=x-1)
Welche Standardoperationen und Standardfunktionen können auf real angewendet werden?
Operationen:
+, -, *, /
Funktionen:
abs(x) (Absolutbetrag), sqr(x) (Quadrat), sqrt(x) (Wurzel),
sin(x) (Sinus), cos(x) (Cosinus), arctan(x) (Arcustangens),
exp(x) (Exponentialfunktion e^x), ln(x) (nat. Logarithmus)
Welche Standardfunktionen können auf char angewendet werden?
ord(c) (Ordinalzahl des Zeichens c)
chr(i) (Zeichen mit der Ordinalzahl i)
chr(ord(c)) = c; ord(chr(i)) = i;
pred(c) (Vorgänger), succ(c) (Nachfolger)
Welche Standardoperationen und Standardfunktionen welrden als boolean ausgewertet?
boolesche Operatoren:
and, or, not
Vergleichsoperatoren:
=, <>, , >=
Funktion:
odd(x) (true für x : integer ungerade)
Prioritäten von Operationen
Klasse 1: not Klasse 2 (Punktoperatoren): * / div mod and Klasse 3 (Strichoperatoren): \+ - or Klasse 4 (Vergleichsoperatoren): = <> < >=
Was ist ein string? Wie wird er definiert?
ein array von char
string[integer constant]
-> integer constant gibt maximale Länge des string an
Datentyp?
definiert eine Menge von Werten mit auf diese Menge ausführbaren Operationen
Was ist eine typisierte Programmierspreche?
- jede Konstante / Variable (Datenobjekt) wird eindeutig einem Datentyp zugeordnet
- der Datentyp bestimmt die Werte, die ein Objekt annehmen und die Operationen, die auf es angewendet werden können
- jede Operation fordert Operanden eines bestimmten Typs und erzeut Ergebnisse eines bestimmten Typs
Was ist der Unterschied zwischen einer Konstante und einer Variable?
Konstante: bekommt bei der Definition einen Wert zugewiesen, der sich in der Programmausführung nicht ändert
Variable: bekommt erst während der Programmausführung einen Wert zugewiesen, der sich im weiteren Programmverlauf ändern kann