Webplain.de Infosite
Aufbau eines Pascal-Programms
Grundsätzliches

Die im folgenden rot dargestellten Begriffe sind variabel, das heißt Sie können statt Name jede beliebige Zeichenkette verwenden (z. B. muhkuh, Dickmilch oder Hunde_Halsband). Jeder Name darf dabei nur einmal vergeben werden. Umlaute und Sonderzeichen sollten hierbei vermieden werden.
Kommentare werden in TP entweder durch geschweifte Klammern ( { } ) oder durch Klammern mit Sternchen ( (* *) ) eingeschlossen und sind hier grün dargestellt.
Um die Lesbarkeit des Quelltextes zu verbessern, werden die Anweisungen (Befehle) zwischen begin und end in der Regel mit zwei Leerzeichen eingerückt. Man könnte aber auch alles hintereinander in eine Reihe schreiben.
Groß-/Kleinschreibung ist in Pascal übrigens nicht relevant.
program Name; { Programmkopf (Header) }
uses Unit; { verwendet eine Unit (Bibliothek), z. B. Crt }
const Konstante = Wert; { legt einen konstanten Wert fest }
var Variable : Variablentyp; { deklariert Variablen }
procedure Prozedurname (_Parameter : Variablentyp);
begin
Anweisungen;
end;
function Funktionsname (_Parameter : Variablentyp) : Uebergabetyp;
begin
Anweisungen;
Funktionsname := Wert;
end;
begin { hier beginnt das Hauptprogramm (Main) }
Anweisungen;
Prozedurname(Parameter1);
Variable := Funktionsname(Parameter1);
end. { das Ende des Hauptprogramms ist am Punkt erkennbar }
Erläuterungen
Prozeduren
Prozeduren beinhalten einen Befehlsblock. Sie werden dann, z. B. aus dem Hauptprogramm, mit ihrem Namen aufgerufen. Eine Prozedur muss daher immer vor ihrem Aufruf stehen. Umgehen können Sie diesen Zwang mit der forward-Deklaration:
procedure Proc1; forward;
procedure Proc2;
begin
Anweisungen;
Proc1;
end;
procedure Proc1;
begin
Anweisungen;
end;
Beim Aufruf kann der Prozedur auch ein Wert mit übergeben werden. Dieser Wert ist unter dem verwendeten Variablennamen nur lokal in der Prozedur verfügbar. Um das kenntlich zu machen, ist es empfehlenswert, dem Namen einen Unterstrich ( _ ) voranzustellen. Es gibt drei Möglichkeiten, Parameterübergaben zu definieren:
Liste von Werten mit festgelegtem Variablentyp:procedure Prozedurname(Parameter1, Parameter2 : Variablentyp)
Liste von Variablen mit festgelegtem Typ:procedure Prozedurname(var Parameter1, Parameter2 : Variablentyp)
Liste von untypisierten Variablen:procedure Prozedurname(var Parameter1, Parameter2)
Funktionen
Für Funktionen gilt das selbe wie für Prozeduren. Der Unterschied liegt darin, dass Funktionen nach der Verarbeitung eines übergebenen Wertes immer ein Ergebnis zurückliefern (siehe »Rechenprogramm 2« unter Beispiel-Programme).
Einen Sonderfall stellen rekursive Funktionen dar. Diese rufen sich bis zum Eintreten eines Abbruchkriteriums immer wieder selbst auf (siehe »Fakultät« unter Beispiel-Programme).
Aufbau einer Unit
Häufig genutzte Programmteile (Prozeduren oder Funktionen) können in Units ausgelagert werden und nach deren Kompilierung (dabei entsteht aus der Name.pas eine Name.tpu) mit der uses-Anweisung in vielen Programmen verwendet werden. Units sind etwas anders aufgebaut als normale Programme.
unit Name;
{ Diese Ressourcen werden exportiert, können also aus externen Programmen verwendet werden. }
interface
uses AndereUnit;
var Variable : Variablentyp;
procedure Prozedurname (Parameter : Variablentyp);
{ Im implementation-Teil stehen die kompletten Prozeduren und Funktionen aus dem öffentlichen interface-Teil und nur lokal verfügbare Ressourcen. }
implementation
uses Unit;
procedure Lokal;
begin
Anweisungen;
end;
procedure Prozedurname (Parameter : Variablentyp);
begin
Anweisungen;
end;
{ Der Initialisierungsteil wird beim Start des Programms ausgeführt, das die Unit eingebunden hat. }
begin
Anweisungen;
end.
Definieren Sie einen Prozedurnamen, der schon in einer anderen eingebundenen Unit definiert ist, können Sie dem Prozedurnamen den Unitnamen mit einem Punkt voranstellen:
Unit1.Prozedurname;
Unit2.Prozedurname;
Nach oben
© 2000-2012 Clemens Weiß | Webplain.de
Link zu dieser Seite | Letzte Änderung: 26. Okt. 2008
Kommentare
Es gibt 41 Kommentare zu »Aufbau eines Pascal-Programms«.
Neuen Kommentar posten...
1 Am 31. Aug. 2004 schrieb kwol:
gut erklärt
2 Am 15. Sep. 2004 schrieb Thomas:
Das ist mal wirklich die richtige Richtung für eine Anschauliche Erklärung!
:-)) jetzt kann ich beruhigt ins Bett gehen und morgen alles in Ruhe "betrachten"!
Vielen Dank
3 Am 25. Nov. 2004 schrieb Blackrainbow:
Ich kann den vorausgehenden Kommentaren nur zustimmen. Mein Programmier-Lehrer an der FOS antwortet auf Fragen zu TP meißt: "Das ist halt so!"---
Darauf kann ich verzichten.
Deswegen ist diese Seite eine große Stütze. Danke!
4 Am 18. Dez. 2004 schrieb Trunk$:
Sehr gute site, Sehr verständlich erklärt. Selbst für mich und ich bin erst 17 *gggg
Kompliment!!!! weiter so...
5 Am 13. Jan. 2005 schrieb munch:
vielen dank für die erklärungen, die schieb ich meinem lehrer mal unter die nase.
seine ausrede wenn es nicht funktionieren will: müsste eigentlich stimme, oder der server ist abgekackt ...
6 Am 25. Jan. 2005 schrieb Danone:
kann mich allen anschließen ich leide auch unter einem prog lehrer der erklärungen mit "das ist halt so" abschließt!
erklärt immer schön weiter ;)
lg
7 Am 05. Mär. 2005 schrieb Christoph:
danke!
p.s.: für ein crt unter win muss man
uses wincrt;
benutzen(sag ich jetzt mal für andere anfänger)
8 Am 08. Mär. 2005 schrieb MrMister:
sehr gut erklärt alles,ich gehe jetzt in die 5.Klasse HTL und wir haben bis jetzt nie pascal gelernt aber dafür c und c++ und ich finde dass pascal eine ähnlichkeit wie c hat.Deswegen habe ich mich nicht schwer getan auf dieser seite pascal zu lernen :).
ich würde diese seite an alle empfehlen,
have fun mit pascal :).
9 Am 30. Mär. 2005 schrieb foradox:
Hoi !
Mache jetzt Abi und hab Info als 4. Fach (mündliche Durchlöcher-Prüfung)
Wiederhole gerade 3 Jahre Pascal. Diese Site ist echt ne super Hilfe.
DANKE !
10 Am 18. Mai. 2005 schrieb eine anfägliche Schülerin:
wollte nur sagen, dass man bei win für ein crt teilweise auch nur uses crt eingeben muss!!
naja, ich lerne pascal zwar nur, weil ich es in info können muss, aber irgendwie macht es spaß....
gute site!! alles super erklärt! kompliment an euch!!
lg
11 Am 01. Jun. 2005 schrieb Julia:
... aber ich hab es in der 11 klasse nun gewählt und komme nicht mehr drum rum! allerdings steh ich auf ~4 punkten, also ne 4- =) hehe! ich raff das fach einfach net! und wir schreiben morgen eine info kursarbeit und ich werde mal wieder absolut ablosen! aber ich hab ja noch eure site und hier is alles schön erklärt! danke danke! klasse site! LG
12 Am 03. Jul. 2005 schrieb Jenny:
Gut erklärt und aufführlich hat mir sehr geholfen für die schule Danke!
13 Am 19. Aug. 2005 schrieb Dominik:
EINFACH NUR SUPER
Ist bei mir zwar schon über 15 Jahre her, dass ich TP in der Schule programmiert habe und muss es jetzt wieder fürs Studium lernen. Eigentlich völlig paradox.
Sehr gut erklärt und auf das Wesentliche reduziert.
Wünschte mir so etwas auch für andere Sprachen.
:-D WEITER SO.
14 Am 23. Aug. 2005 schrieb Julia:
nicht schlecht die site, bin wirklich begeistert!!!
Endlich versteh ich mal was mein Lehrer mir versucht einzubleuen...
*ggg*
15 Am 20. Okt. 2005 schrieb Sebastian:
Stimme echt zu geile page top.
Ich habe auch so nen lehrer der von nichts ahnung hat und immer die gloreiche antwort "das ist halt so" benutzt.^^
Also leutz druckt es euch aus und zeigt eurem lehrer ma wie Turbo Pascal richtig funzt...
MfG Seb
16 Am 29. Okt. 2005 schrieb chicken:
Gute Site, gut erklärt, aber es fehlen ein paar Sachen, die ich wichtig finde.
17 Am 14. Nov. 2005 schrieb Mister Prog.:
Also, ich studiere Informatik und mein Prof hat uns komplett das gleiche erzählt, was auf dieser seite wiedergegeben wird. respekt. top seite
18 Am 15. Nov. 2005 schrieb Markus:
das ist nich schlecht aber wir schreiben morgen eine Arbeit und ich verstehe das immer noch nich so richtig das liegt bestimmt aber nich and der seite sondern an mir bin erst 15 :-(
19 Am 24. Nov. 2005 schrieb Rike:
Also die Art und Weise des Erklärens ist ja ganz gut, aber die Prozeduren sind ja gering beleuchtet, was ist mit der Definition und Erläuterung von Werte- und Referenzparametern und wo ist der Unterschied, wann verwende ich was? Als Zusammenfassung oder Einstieg ganz gut, aber in die Tiefe könnte man das hier noch ausbauen!
20 Am 12. Jan. 2006 schrieb anne:
eure seite ist echt gut hier alles super einfach erklärt immer wenn ich schwierigkeiten im info unterricht habe(11,klasse)schau ich auf eure seite macht weiter so
21 Am 12. Jan. 2006 schrieb Maria:
Hi! Sagmal könnt ihr mir sagen warum nach jeden geschreibenen ein ; kommt? Würdet mir echt helfen. Danke schon mal im Vorraus. SBZ
22 Am 12. Jan. 2006 schrieb Konstantin Glaser:
Bin mir nicht hundertprozentig sicher, weil ich darüber noch nie was gelesen habe ^^ (=> "das ist halt so!").
Ich denke, dass der Comp einfach merken soll, dass hier der eine Befehl zu Ende ist und also als näxtes ein neuer Befehl kommt.
23 Am 05. Feb. 2006 schrieb Tob:
Gute Site! langsam kommt bei mir licht ins dunkel... wir mussten jetzt erst oberon lernen und nun fängt die lehrerin einfach an uns Turbo Pascal unterzujubeln... folge sind shclehcte noten aber mit der site lerne ich das schon noch :D
24 Am 07. Feb. 2006 schrieb Jilani:
Turbo Pascal ist echt ne feine Sache. Man kann damit schnell kleine Programme zusammenbasteln. Und vor allem sind die Befehle nicht schwer :-) => Übrigends...ne
"Repeat" Aweisung, damit das Hauptprogram, Funktion oder Procedure neu gestartet werden kann ohne das gesamte Programm zu beenden:
{...Anweisungen...} Repeat; {->Am besten in der nähe von BEGIN, weil nur der Block ausgeführt wird} {...Programm ablauf...} {...Frage: Programm Neustart?...} {...Einlesen...} until(wdh='n'); {-> Wenn 'n', dann wird der Block wiederholt, wenn irgendeine Taste : Programmabbruch} ... => WICHTIG! Variable wdl als Char anlegen<= VIEL SPAß an alle Pascalfreaks :-P
25 Am 20. Feb. 2006 schrieb DOS_FRIEK:
gut erklärt,
konnte am Anfang nur 5 bis 10 befehle vom colegen, BIN jetzt 16 Jahre (jung) und habe mein ganzes wissen von WebPlain.de
DANKE, DANKE, DANKE !!!
Bin mit WebPlain schon weit gekommen...
Brauchte noch keine andere Page..
26 Am 30. Mär. 2006 schrieb mädel:
ganz toll danke das hat mir echt bei meiner info arbeit morgen geholfen, jetz hab ichs endlich kapiert!! weiter so, echt gut gemacht und ich finds überhaupt super das sich jemand die zeit dafür mal nimmt und so anderen weiter hilft!!!!!!!
27 Am 01. Jun. 2006 schrieb Freda:
joah, schöne erklärung, auch für dumme Menschen ;)
Meine Frageist zwar nicht beantwortet, war aber dennoch interessant und hilfreich das hier zu lesen
LG
Freda
28 Am 06. Sep. 2006 schrieb Hagen:
Super Page! Sehr hilfreich!!!!!!!!
29 Am 16. Nov. 2006 schrieb Charly:
Oooh , sehr schön erklärt. Endlich verstehe ich wenigstens ETWAS von dieser Sprache ;) Ich hoffe das hilft mir morgen bei der Kursarbeit weiter.. ich werde zwar total abkacken.. 5-6 .. aber vielleicht wirds mit eurer Hilfe jah noch neh 5+ ;)
Klasse Seite, weiter so :)
30 Am 11. Dez. 2006 schrieb Chris:
Die seite ist absolut super, da stimme ich den anderen zu.
Allerdings bringt mir das nicht viel, da wir für die arbeit morgen noch nicht mal unterprogramme brauchen, aber der rest ist auch schon so schwer genug.
(Und wenn ich jetzt schon keine ahnung habe. was dann, wenn wir mal weiter kommen...)
Trotzdem gut gemacht. Jetzt weiß ich, dass man mit pascal mehr machen kann, als bloß schüler nerven^^
mfg
Chris
31 Am 11. Feb. 2007 schrieb isbowhten:
wirklich gute seite....aber ich sag nur eins: die komplizierteste und genaueste erläterung kann durch ein simples (und sinnvolles) beispiel ersetzt werden!
das wäre ein verbesserungsvorschlag von mir. einfach ein konkretes beispiel
32 Am 14. Jul. 2007 schrieb Dark K@in:
Ist wirklich alles gut erklärt jedoch muss ich einigen Kritikpunkten zustimmen.
1.) expliziet mal an einen Beispiel erklären hilft zumindestens Anfängern im Turbo Pascal mehr als die allg. Formulierungen weiter.
2.) der Unterschied zwischen Call by Value und Call by Reference hätte hir gut mit reingepasst.
Tipp: bei den Thema Proceduren/Funktionen doch gleich Rekursion und Iteration erleutern --> find ich zumindestens Wichtig
MFG
Dark K@in
33 Am 18. Feb. 2008 schrieb Duff:
jo also das is ganz gut erklärt ;)^^
34 Am 26. Feb. 2008 schrieb sexy girl:
sehr gut.ich habe sehr lange informatik und hier verstehe alles.danke
35 Am 24. Mär. 2008 schrieb Silver:
Naja ich kann auch keine schlechte Kritik abwerfen!
Nur Leider Kann ich nur HTML und sonst eig gar nix!
Aber es wird immer und immmer wieder stück für stück leichter!
Sehr gut erklärt!
Nur ein paar begriffen wollen noch ned in mein Kopf aber es wird schon^^!
Danke;D
36 Am 01. Sep. 2008 schrieb Chriss:
Also ich muß ja mal Sagen das das eine richig geile Site ist. Schaue hier immer wieder nach..
Danke, macht weiter so..!!
37 Am 16. Mär. 2009 schrieb PaPa JoE:
Hey, danke schon für die präzisen Erklärungen, ist echt super zum Wiederholen von Unterrichtsinhalten :)
38 Am 18. Jan. 2010 schrieb Túxedo:
Für mich auch eine super seite!
und ich bin grad erst 13 geworden :D
39 Am 26. Sep. 2010 schrieb datkleine:
sehr gute seite, vor allem wenn man einen lehrer der zu einem sagt: das sit die aufgabe,nun macht mal...wenn ihr das nicht könnt seid ihr hier falsch und meldet euch ab....
40 Am 20. Nov. 2010 schrieb Johannes:
Hi ich bin in der 10. Klasse und habe als Wahlpflichtkurs Informatik, dreimal die Woche. Derzeit programmieren wir ein Sudokuäuflöseprogramm mit Turbo Pascal. Wir arbeiten auch ausschließlich mit Turbo Pascal. Manchmal macht es mir echt Spaß zu programmieren aber wenn man nicht weiterkommt ist es deprimierend.
41 Am 31. Jul. 2011 schrieb Dim:
Hallo an alle!
Wo kann ich kostenlose Download (Pascal Programmierumgebung) finden? Fon Webplain funktioniert nicht - kommt ein Fehlermeldung.
Danke im voraus.