Lerntippsammlung Headergrafik
Linie
Abstandshalter

Suchbegriff:

PASCAL - Referat



Pascal

Die Programmiersprache Pascal wurde von Nikolaus Wirth 1970 in Zürich entwickelt und 1971 veröffentlicht.
Pascal ist eine Compilersprache. Das bedeutet, dass man jeweils ein ganzes Programm schreiben muss und es nicht wie ein Basic möglich ist einzelne Programmzeilen sofort ausführen zu lassen. Der Compiler – das ist ebenfalls ein Programm – überprüft das Programm auf Richtigkeit und bringt es in eine für den Rechner brauchbare Form.
Erst dann kann das Programm laufen lassen.

Aller Anfang ist leicht

Als Erstes werden anhand eines kleinen Einführungsbeispieles die grundlegenden Elemente eines richtigen Pascalprogramms vorstellt.
Beispiel 1: Eine Zahl, die von dir eingegeben wird, soll vom Computer verdoppelt werden.

PROGRAM verdopple;
USES WinCrt:
VAR zahl,ergebnis:integer;
BEGIN
write (\'Gib bitte eine Zahl ein < 1600:\')
readln (zahl);
ergebnis:=zahl*2;
writeln (\'Das Doppelte deiner Zahl ist\', ergebnis);
END.












Einige wichtige Grundregeln zum Programmieren in
Pascal

Programmaufbau

Jedes Pascalprogramm beginnt mit dem Wert Programm und endet mit End (Der Punkt am Schluss ist unablässig).
Die Wörter, die wir in Pascalprogrammen groß schreiben werden sind so genannte Schlüsselwörter. Dies sind reservierte Wörter, die eine feste Bedeutung haben und von dir nicht mit einer anderen Bedeutung belegt werden dürfen.
Nach dem Wort PROGRAM muss der Name des Programms stehen. Danach kommt ein Strichpunkt – diese Zeile heißt Kopf.

In der nächsten Zeile steht als erstes Wort VAR. Mit diesem Wort wird dem Computer signalisiert, dass im Programm Variable verwendet werden und zwar Variable mit den Namen „zahl“ und „ergebnis“.
Beide sollen ganze Zahlen sein (dies signalisiert das Wort integer)
Man teilt dies dem Rechner mit, indem man durch den Doppelpunkt getrennt den Typ integer angibt. Danach steht wieder das Semikolon (Strichpunkt). Dieser
Teil des Programms heißt Vereinbarungsteil.

Danach beginnt eigentlich das Programm.
(Hauptprogramm, main-program) mit BEGIN.
Im Hauptprogramm stehen bei uns eine Schreibanweisung, eine Leseanweisung, eine Berechnung und dann wieder die Schreibanweisung.
Den Schlüssel bildet END. Dieser Teil heißt Anweisungsteil.

Die Namen der wichtigsten Standardtypen lauten:

NAME WERTBEREICH SPEICHERBEDARF
integer -32768…+32767 2 Byte
shortint -128…+127 1 Byte
longint -2.147.483.648…2.147.483.647 4 Byte
real 2,9*10-39 …1,7*1038 12 Stellen genau
single 1,5*10-45…3,4*1038 8 Stellen genau
double 5*10-324…1,7*10308 16 Stellen genau
boolean true, false (2 Werte) 1 Byte
char Alle Zeichen des ASCII 1 Byte





Anweisungen

Als Standardnamen bezeichnet man Namen, die ohne weitere Vereinbahrung im Programm verwendet werden.
Achtung!
Anweisungen müssen immer voneinander durch einen Strichpunkt getrennt werden!

WRITE (kein Schlüsselwort) signalisiert dem Rechner, dass etwas geschrieben werden soll. Was geschrieben werden soll steht zwischen den 2 runden Klammern. Dabei werden Zeichen, die zwischen dem Einfachhochkomma stehen genau so ausgegeben, wie sie geschrieben sind.
Bei write (´Hallo!`) erscheint auf dem Bildschirm Hallo!

Will man hingegen den Wert einer Variablen ausgeben lassen, muss man den Variablennamen schreiben (ohne Hochkomma).
Bei write (ergebnis) erscheint auf dem Bildschirm der Wert vom Ergebnis (meist das Ergebnis einer Rechnung).

Soll der Cursor nach der Ausgabe am Beginn der nächsten Zeile stehen, muss man writeln (` `) schreiben. Writeln ist die Abkürzung für write – line.



Übung:
Schreibe ein Programm, das deinen Namen in eine Zeile schreiben soll.
Die nächste Zeile solle eine Leerzeile sein. Dann soll wieder in der nächsten Zeile dein Name stehen!

Program Vera Krautsack;
USES WinCrt;
BEGIN
writeln(\'Vera Krautsack\');
writeln(\' \');
writeln(\'Vera Krautsack\');
END.

READ (zahl) bewirkt, dass die eingegebene Zahl nach Drücken der RETURN – Taste der Variablen mit dem Namen Zahl zugewiesen wird. Wichtig ist, dass die Eingabe den richtigen Typ hat, da das Programm sonst mit einem so genannten Input / Output Error (I/O – Error) aussteigt.

Aufgabe:
Wir wollen die Fläche eines Quadrates berechnen!
Nach Eingabe der Seitenlänge soll das Programm die Fläche berechnen und ausgeben!

READ(zahl) bewirkt, dass die eingegebene Zahl nach Drücken der RETURN-Taste der Variablen mit dem Namen Zahl zugewiesen wird. Wichtig ist, dass die Eingabe den richtigen Typ hat, da das Programm sonst mit einem so genannten Input/Output Error (I/O-Error) aussteigt.

Rechenanweisung:
Ergebnis:=zahl*2 - diese Anweisung hat folgende Bedeutung: Der Wert der Variablen „zahl“ wird aus dem Speicher geholt und mit 2 multipliziert. Das Resultat wird der Variablen „ergebnis“ zugewiesen. Wertzuweisungen werden mit := gekennzeichnet.

Programm 2: Erstelle ein Programm mit dem Titel „Addition“, wobei der Benutzer die zwei Zahlen eingeben muss!

PROGRAM addition;
USES WinCrt;
VAR zahl1,zahl2,ergebnis:integer;
BEGIN
writeln(\'Addition\');
writeln(\'Gib die erste Zahl ein:\');
readln(zahl1);
write(\'Gib die zweite Zahl ein:\');
readln(zahl2);
ergebnis:=zahl1+zahl2(zahl2);
write(\'Das Ergebnis ist.\',ergenbis);
END.

Nun wollen wir etwas üben. Zuvor sollte man aber weitere Standartfunktionen und ihre Bedeutung erwähnen.

sgrt(x)...............................Quadratwurzel von; x muss real oder integer sein
abs(x)................................Absolutbetrag von x;
sin(x), cos(x)...............................Sinus- Cosinuswert von x;






Programm 3:
Nach Eingabe
des Radius soll der Umfang des entsprechenden Kreises berechnet werden.

PROGRAM Kreisberechnungen;
USES WinCrt;
VAR radius, umfang:real;
const pi=3.14159;
BEGIN
writeln(\'Gib den Radius an!\');
readln(radius) ;
umfang:=2*radius*pi;
writeln(\'Der Umfang ist\',umfang);
END.

Übung:
Berechne: 1. Inhalt des Kreises.
(Radius zum Quadrat * Pi)
2. Oberfläche einer Kugel mit diesem Radius.
( 4 * Radius zum Quadrat * Pi)

In das obige Programm ist
inhalt:=sqr(radius)*pi;
writeln(\'Der Inhalt des Kreises ist\',inhalt);
oberfläche:=4*sqr(radius)*pi;

Also:

PROGRAM Kreisberechnungen;
USES WinCrt;
VAR radius,umfang:real;inhalt:real;oberflaeche:real;
const pi=3.14159;
BEGIN
writeln(\'Gib den Radius an!\');
readln(radius) ;
umfang:=2*radius*pi;
writeln(\'Der Umfang ist\',umfang);
inhalt:=sqr(radius)*pi;
writeln(\'Der Inhalt des Kreises ist\',inhalt);
oberflaeche:=4*sqr(radius)*pi;
writeln(\'Die Oberflaeche des Kreises ist\',oberflaeche);
END.
Programm 4: Wir wollen eine Einladung zu einer Party verfassen, wobei jeder Teilnehmer persönlich angesprochen und über Termin und Uhrzeit informiert werden soll.
Er soll ein neuer Datentyp verwendet werden.
String
Er dient zum Verarbeiten von Zeichenketten und hat folgende allgemeine Formel: string (maxlaenge)………………………… maxlaenge von 1 255


program party;
Uses WinCrt;
Var vorname:string[10];
tag,monat,stunde,minute:integer;
begin
clrscr;
write(\'Gib bitte den Vornamen ein:\'); readln(vorname);
write(\'Tag: \'); readln(tag);
write(\'Monat: \'); readln(monat);
write(\'Stunde: \'); readln(stunde);
write(\'Minute: \'); readln(minute);
clrscr;
writeln(\'Liebe(r) \', vorname,\'!\');
writeln;
writeln(\'Hast du Lust und Zeit am \', tag,\'. \', monat,\'. bei \');
writeln(\'meiner Party dabei zu sein, dann komme \');
writeln(\'um \',stunde,\'.\',minute,\' Uhr zu mir und bring \');
writeln(\'gute Laune mit. \');
writeln(\'Adresse: Maierstr.8/8; Oberwart\');
writeln;
writeln(\' dein Freund Herbert\');
writeln;
end.
Programm 5: Wir wollen nun durch ein Programm eine in Fahrenheit angegebene Temperatur in Celsiusgrade umwandeln. 0 Grad Celsius sind gleich 32 Grad Fahrenheit. Der Umrechnungsfaktor ist eine Konstante:
ufakt= 0.55555555

Program Gradumwandlung;
Uses WinCrt;
Const ufakt=0.55555555;
Var fgr, cgr:real;
Begin
Writeln(‘Nenne die Grad F:’);
Readln(fgr);
Cgr:=(fgr-32)*ufakt;
Writeln(‚Das sind in Grad Celsius:’,cgr:7:2);
End.

Das Idealgewicht soll berechnet werden! (KG=100)*0.9

Der Durchschnittsverbrauch eines Autos soll berechnet werden. (liter/kilometer*100)


AUSWAHL

In Pascal gibt es zwei Auswahlstrukturen:
• Zweifachauswahl: Der Wert eines logischen Ausdrucks (wahr oder falsch) wird bezeichnet, und auf Grund des Ergebnisses wird eine von zwei Anweisungen durchgeführt.
(if – Anweisung)

• Mehrfachauswahl: Der Wert einer Auswahlgröße bestimmt, welche der beliebig vielen Anweisungen durchlaufen wird.
(case – Anweisung)

If – Anweisung

Darstellung der Zweifachauswahl.

Bedingung
J – N
Ja - Zweig Nein – Zweig

Beim nächsten Beispiel soll bei Temperaturwerten von kleiner oder gleich null Grad Celsius der Text „Glatteisgefahr !“ ausgegeben werden:

Program Glatteisgefahr;
Uses WinCrt;
Var zahl:real;
Begin
writeln(\'Gib eine mögliche Außentemperatur an:\');
readln(Zahl);
If zahl<=0 then writeln(\'Glatteisgefahr\');
End.

Die if – Anweisung hat folgenden Aufbau:

If Bedingung then Anweisung
Oder
If Bedingung then Anweisung else Anweisung

Nach dem Wort if folgt die Bedingung zum Beispiel ein Vergleich. Dieser liefert entweder das Ergebnis wahr oder falsch. Ist der Vergleich wahr, wird die Anweisung nach dem Wort then ausgeführt, ist sie falsch wird – falls vorhanden – die Anweisung else abgearbeitet.

Füge in dein Glatteisprogramm eine else – Anweisung ein, die bei größer 0 Grad den Text „Keine Glatteisgefahr! Gute Fahrt!“ ausgibt.


Program Glatteisgefahr;
Uses WinCrt;
Var zahl:real;
Begin
writeln(\'Gib eine mögliche Außentemperatur an:\');
readln(Zahl);
If zahl<=0 then writeln(\'Glatteisgefahr\')else writeln(\'Gute Fahrt!\')
End.







Vergleiche können auch miteinander verknüpft werden. And steht für ein logisches und or für ein logisches oder.

Beispiel: liegt die Zahl x zwischen 2 und 3? Oder anders ausgedrückt:
Ist die Zahl x größer oder gleich 2. 0 oder und ist x kleiner oder gleich 3.0?

If (2 0 < = x) and (x < = 3) then
Beide Vergleiche müssen eingeklammert werden.

Beispiel:
Im Zuge der Steuerreform 1998 werden – je nach Jahreseinkommen – folgende Steuersätze eingeführt.
Bis 5.000,- …………………………. 10 %
Bis 10.000,- ……………………….. 20 %
Bis 15.000,- ………………………….30 %
Bis 40.000,- ………………………….42 %
Bis 50.000,- ……………………………. 50 %

Ein Programm soll aus dem Jahreseinkommen den Steuersatz berechnen, Verwende folgende Variablen:

Jek – Jahreseinkommen
P – Prozentsatz

program Steuersatz;
uses WinCrt;
var jek:real;p:real;
begin
writeln(\'Was ist dein Jahreseinkommen?\');
readln(jek);
if jek <=5000.0 then p:=10
else
if jek <=10000.0 then p:=20
else
if jek <=15000.0 then p:=30
else
if jek <=40000.0 then p:=42
else p:=50;
writeln(\'Steuersatz: \',p,\'%\');
end.





Die Case – Anweisung

Das nächste Beispiel zeigt wie ineinander geschachtelte Verzweigungen behandelt werden. Wenn dagegen die Auswahl aus mehreren Varianten ähnlich einer Tabelle möglich ist, kann die case – Anweisung verwendet werden.

Wert =
1 2,3,4 5 sonst
Anweisung
Zweig 1 Anweisung
Zweig 2,3,4 Anweisung
Zweig 5 Anweisung
sonst


Beispiel: aus einem Datum kann der Wochentag errechnet werden. Hier soll der einer Zahl zwischen 0 und 6 entsprechende Wochentag ausgegeben werden.
0 = Montag……1

Program Wochentag;
Uses WinCrt;
Var wotag:integer;
Begin
Writeln(‘Wochentag berechnen: Gib eine Zahl zwischen 0 und 6 an!’);
Readln(wotag);
Case wotag of
0 writeln(‘Montag’);
1 writeln(‘Dienstag’);
2 writeln(‘Mittwoch’);
3 writeln(‘Donnerstag’);
4 writeln(‘Freitag’);
5 writeln(‘Samstag’);
6 writeln(‘Sonntag’);
End
End.


Dieses Referat wurde eingesandt vom User: vera_k



Kommentare zum Referat PASCAL: