WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   Frage zu Pascal (http://www.wcm.at/forum/showthread.php?t=226118)

HW_Junkie 10.01.2008 21:44

Frage zu Pascal
 
Hi,

ich bin ziemlicher Neuling, dürft auch ruhig lachen, wenn ihr dann meine Frage sieht;

Habe einen Sourcecode zu einem Primzahltester, der hab ich auch in Turbopascal abgeschireben. Nun wenn ich dort Run klicke (Ctrl+F9) öffnet sich das Prgie und funkt wies soll. Jetzt ne Anfängerfrage: Wenn ich (Nach compilen) die Datei als *.exe abspeichern will, kommt nur schnell die Schwarze Commandl Line und verschwindet dann auch nach ca. 1 Sekunde. Stehen tut nichts...

Wie kann ich des machen, das ich es als *.exe speichern kann und dann auch funkt?

MfG HW_Junkie

Preacher 10.01.2008 22:32

Vor dem END.:

readln;

oder

repeat until keypressed;

Du kannst aber das Programm auch auf der Kommandozeile ausführen.

HW_Junkie 11.01.2008 16:20

Dann kommte bei beiden:

Error 85: ";" expected.

Der Sourcecode:



Zitat:

PROGRAM PrimTest; {W-Dur}

VAR
eingabe: STRING;
n, t: LongInt;
c: Integer;

BEGIN
WriteLn('keine Eingabe -> Beenden');
REPEAT
Write('Testzahl: '); ReadLn(eingabe);
Val(eingabe, n, c);
IF eingabe='' THEN ELSE
IF c>0 THEN ELSE
IF n<1 THEN ELSE
IF n=1 THEN WriteLn('keine Primzahl') ELSE
IF (n=2) OR (n=3) THEN WriteLn('Primzahl') ELSE
IF n MOD 2=0 THEN WriteLN('gerade Zahl') ELSE
BEGIN {Zahl testen}
t:=1;
REPEAT
t:=t+2
UNTIL (t*t>n) OR (n MOD t=0);
IF n MOD t=0
THEN WriteLn('teilbar durch ', t)
ELSE WriteLn('Primzahl')
END
UNTIL eingabe=''
END.
Eben ohne diese beiden Commands die du mir gegeben hast funzts.

MfG HW_Junkie

delphirockz 11.01.2008 21:18

Du musst mit deinen Strichpunkten ein wenig aufpassen:

if x=1 then
machdies // kein Strichpunkt
else
machdas; // hier kommt einer

Genauso bei

repeat
machirgendwas;
until x=2;

"if eingabe='' then else machwas;" ist auch so ein Konstrukt, das zwar funktioniert, aber keinen Sinn macht.

"wenn eingabe ist nichts dann sonst mach das" sagst du ja sonst auch nicht.
eher "wenn eigabe ist nicht nichts dann machdas".

Vernünftiger wäre also:
"if eingabe<>'' then machwas;"

Unter Essential Pascal findest du ein Onlinebuch, wo alles beschrieben ist.

SerenDwyn 26.01.2008 13:06

Das muss ich nun einfach fragen: ist Pascal nicht schon längst tod? Mit dem hab ich vor ~11, 12 Jahren zum letzten mal gearbeitet. Ist Pascal später nicht in Delphi aufgegangen?

delphirockz 27.01.2008 08:10

Naja, Delphi ist Object Pascal.

Für Linux/Win64 gibt's Freepascal (grossteils Delphi-kompatibel, zumindest von der Sprache her), für .NET gibt's Delphi.NET und Chrome.

Tot ist Pascal noch lange nicht, hatte aber schon mal wesentlich bessere Zeiten.


Alle Zeitangaben in WEZ +2. Es ist jetzt 20:19 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag