• 18.07.2025, 13:36
  • Registrieren
  • Anmelden
  • Sie sind nicht angemeldet.

 

Lieber Besucher, herzlich willkommen bei: Aqua Computer Forum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

wacs601

Full Member

Pascal Hilfe beim Programmieren

Montag, 28. Juni 2004, 19:37

HI
Ich muss bzw. soll in Pascal ein Programm programmieren, welches einen mathematischen Term in sogenannte Token teilt.
D.h. folgender Term wird dann so zerhackt:
12*x^3+-45*x^2+5*x+123
Token:
12
*
x
^
3
+
-45
*
x
^
2
+
5
*
x
+
123
Nur hat mein Programm ein paar Probleme bei den letzten Stellen
D.h. bei diesem Term z.B.: 12*x+-1234 heißt das letzte Token
nicht -1234 sondern 4 !
Was kann ich da machen ?
Der Quellcode sieht so aus:
[tt] PROGRAM token;
USES CRT;
VAR zk, zahl,operator : STRING;
anzop, i, y : INTEGER;
stelle: array[0..1000] OF INTEGER;
fertig:boolean;
FUNCTION min (zk:STRING) : INTEGER;
VAR a : INTEGER;
BEGIN
a:=1;
For i:= 2 to length(zk) DO
BEGIN
IF zk IN ['+','-','*','/','^'] THEN
BEGIN
stelle[a]:=i;
a:=a+1;
END;
END;
min:=stelle[1];

END;

BEGIN
clrscr;
write('Bitte geben Sie den Term ein:');
readln(zk);
anzop:= 0 ;
FOR i:= 2 TO length(zk) DO
BEGIN
IF zk[i] IN ['+','-','*','/','^'] THEN anzop:= anzop+1;
END;
fertig:=false;
FOR y:= 1 TO anzop+1 DO
BEGIN;
if(fertig=false) then
begin
zahl:=copy(zk,1,min(zk)-1);
operator:=zk[min(zk)];
zk:=copy(zk,min(zk)+1,length(zk));
writeln('Token =',zahl);
writeln('Token =',operator);
if ( length(zk)<=2) THEN
BEGIN writeln('Token =',zk);
writeln('FERTIG');
fertig:=true;
END;
end;
END;
readln;
END.[/tt]
Ich hoffe es kennt sich jemand damit aus .

wacs601

Full Member

Re: Pascal Hilfe beim Programmieren

Montag, 28. Juni 2004, 22:00

*schieb*
Kennt sich denn keiner mit Pascal aus, wäre sehr dankbar für jede Hilfe.

Ingoing

Full Member

Re: Pascal Hilfe beim Programmieren

Montag, 28. Juni 2004, 23:34

Ich glaube es liegt daran das du dein Token nicht bis zur nächsten Unterbrechung erweiterst.
Sprich die Bedingung die das Token 'schließt' ist einfach die, eines 'Steuerzeichens' (*+:- usw)