20 lines
540 B
Text
20 lines
540 B
Text
program ordered_words;
|
|
dict := read_dict "unixdict.txt";
|
|
ordereds := {word : word in dict | ordered word};
|
|
maxlen := max/{#word : word in ordereds};
|
|
|
|
loop for word in ordereds | #word = maxlen do
|
|
print(word);
|
|
end loop;
|
|
|
|
op read_dict(file);
|
|
dictfile := open(file, "r");
|
|
dict := {getline(dictfile) : until eof(dictfile)};
|
|
close(dictfile);
|
|
return dict;
|
|
end op;
|
|
|
|
op ordered(word);
|
|
return True and/[word(i-1) <= word(i) : i in [2..#word]];
|
|
end op;
|
|
end program;
|