operators are presented by the following definition definition runs(adens _runs *import filestextstype rider record (files riderfirstintegereorboolean endprocedure openrandomseq (ffiles filelengthseedinteger)procedure set (var rridervar ffiles file)procedure copy (var sourcedestinationrider)procedure listseq (var wtexts writerffiles file)end runs few additional explanations for the choice of the procedures are necessary as we shall seethe sorting algorithms discussed here and later are based on copying elements from one file to another procedure copy therefore takes the place of separate read and write operations for convenience of testing the following exampleswe also introduce procedure listseqconverting file of integers into text also for convenience an additional procedure is includedopenrandomseq initializes file with numbers in random order these two procedures will serve to test the algorithms to be discussed below the values of the fields eof and eor are defined as results of copy in analogy to eof having been defined as result of read operation module runs(adens _runs *import filestextstype riderrecord (files riderfirstintegereorboolean endprocedure openrandomseqffiles filelengthseedinteger)var iintegerwfiles riderbegin files set(wf )for : to length- do files writeint(wseed)seed :( *seedmod endfiles close(fend openrandomseqprocedure set(var rriderffiles file)begin files set(rf )files readint (rr first) eor : eof end setprocedure copy(var srcdestrider)begin dest first :src firstfiles writeint(destdest first)files readint(srcsrc first)src eor :src eof or (src first dest firstend copyprocedure listseq(var wtexts writerffiles file;)var xyknintegerrfiles riderbegin : : files set(rf )files readint(rx)while ~ eof do texts writeint(wx )inc( )files readint(ry)