September 2017 Update
This commit is contained in:
parent
bba7bfd280
commit
ba8067c3b7
14570 changed files with 153136 additions and 63871 deletions
54
Task/Ordered-words/Simula/ordered-words.simula
Normal file
54
Task/Ordered-words/Simula/ordered-words.simula
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
BEGIN
|
||||
|
||||
BOOLEAN PROCEDURE ISORDERED(W); TEXT W;
|
||||
BEGIN
|
||||
BOOLEAN B;
|
||||
B := TRUE;
|
||||
W.SETPOS(1);
|
||||
IF W.MORE THEN
|
||||
BEGIN
|
||||
CHARACTER CURR, LAST;
|
||||
CURR := W.GETCHAR;
|
||||
WHILE W.MORE AND B DO
|
||||
BEGIN
|
||||
LAST := CURR;
|
||||
CURR := W.GETCHAR;
|
||||
B := LAST <= CURR;
|
||||
END;
|
||||
END;
|
||||
ISORDERED := B;
|
||||
END;
|
||||
|
||||
REF (INFILE) INF;
|
||||
INTEGER LONGEST;
|
||||
TEXT W;
|
||||
|
||||
COMMENT FIND LONGEST LENGTH;
|
||||
INF :- NEW INFILE("unixdict.txt");
|
||||
INF.OPEN(BLANKS(132));
|
||||
WHILE NOT INF.LASTITEM DO
|
||||
BEGIN
|
||||
W :- COPY(INF.IMAGE).STRIP;
|
||||
IF ISORDERED(W) THEN
|
||||
IF W.LENGTH > LONGEST THEN
|
||||
LONGEST := W.LENGTH;
|
||||
INF.INIMAGE;
|
||||
END;
|
||||
INF.CLOSE;
|
||||
|
||||
COMMENT OUTPUT ORDRERED WORDS OF LONGEST LENGTH;
|
||||
INF :- NEW INFILE("unixdict.txt");
|
||||
INF.OPEN(BLANKS(132));
|
||||
WHILE NOT INF.LASTITEM DO
|
||||
BEGIN
|
||||
W :- COPY(INF.IMAGE).STRIP;
|
||||
IF W.LENGTH = LONGEST AND THEN ISORDERED(W) THEN
|
||||
BEGIN
|
||||
OUTTEXT(W);
|
||||
OUTIMAGE;
|
||||
END;
|
||||
INF.INIMAGE;
|
||||
END;
|
||||
INF.CLOSE;
|
||||
|
||||
END.
|
||||
Loading…
Add table
Add a link
Reference in a new issue