home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CP/M
/
CPM_CDROM.iso
/
simtel
/
sigm
/
vols000
/
vol019
/
reverse.pas
< prev
next >
Wrap
Pascal/Delphi Source File
|
1984-04-29
|
2KB
|
71 lines
(***********************************************************
*
* Donated by Ray Penley, June 1980
*
***********************************************************)
PROGRAM REVERSE;
{----------------------------------------------}
{ Modified for Pascal/Z by Raymond E. Penley }
{----------------------------------------------}
TYPE
Links = ^Nodes;
Nodes = record
Character :CHAR;
Next :Links
end;
VAR
First, This :Links;
ix :Integer;
Ch :CHAR;
Procedure READ_LIST;
CONST prompt = '>>';
begin
First := NIL; { Make the list of characters empty }
Writeln;
Write(prompt);
READ(Ch);
While Ch <> '.' Do
begin
NEW(This); { Allocate a new space }
This^.Character := Ch; { Insert Ch at the front of the list }
This^.Next := First; { link into the list }
First := This;
READ(Ch);
end{while}
end{of Read_List};
Procedure SHOW_LIST;
(* Write all characters in the list *)
VAR count : integer;
begin
Writeln;
count := 0;
This := First;
While This <> NIL DO
With This^ do begin
Write(Character);
count := count + 1;
This := Next { Advance down the chain }
end;
Writeln;
Writeln('You entered ',count:3,' characters.');
end{of Show_list};
begin
for ix:=1 to 24 do writeln;
Writeln('Enter a line of characters after the prompt.');
Writeln('Enter a "." at the end.');
While true do {infinite loop}
begin
READ_LIST;
SHOW_LIST;
end{while}
end.