SelectSort . , DP 3.2.1 ( 1) , :
{ F1,
F2}
Min Last, .
SelectSort SelectReverce
SelectSort SelectReverce , F1 F2 . F1 F2, F2 F1 .. , , even/odd (/).
, SelectSort. , , . , Min1, Min2, Min3, Min4, Min5 . SelectSort 5 .
, 10 , 20 , .. , 3 10 .
. , . # , . #, .
/ , . WRITELN(/) .
, - /, , . , WRITELN.
? :
REWRITE(F1);
WRITE(F1, #);
WRITELN(F1);
RESET(F1);
READ(F1, Ch1);
READ(F1, Ch2);
Ch1 #, Ch2 , .
, . , , , .
|
|
EOLN, <> READ. INPUT , EOLN TRUE, EOLN FALSE. . F1 EOLN(F1) TRUE, .
, F1 , A, . , EOLN.
F1 | EOLN(F1) | Ch1 | Ch2 | |
RESET(F1) READ(F1, Ch1) READ(F1, Ch2) | A / A / A/_ | FALSE TRUE ? | ? A A | ? ? □ |
□ . ? EOLN(F1) , , EOLN . - - , - , , EOLN , .
EOF, , - . EOF TRUE, ( ), EOF FALSE. F1 EOF(F1). , F1 , EOF :
Ch | F1 | EOF | |
READ(Ch) READ(Ch) | ? A ¨ | A / A / A/_ | FALSE FALSE TRUE |
, - . , , , , .
, -, .
SR23
<>::= <> < > <>
| NOT (<c>)
| (<c>) AND (<c>)
| (<c>) OR (<c>)
| EOF
| EOF (<>)
| EOLN
| EOLN (<>)
CR6
TEXT <> <> TEXT. TEXT < WRITE> < READ>, < > < >. TEXT, INPUT OUTPUT <>. TEXT, INPUT OUTPUT, RESET REWRITE. TEXT, RESET, <> EOF EOLN.
|
|
INPUT , READLN. READLN, . , READLN . READLN (F1) F1.
READLN(Ch1, Ch2, Ch3)
READ(Ch1);
READ(Ch2);
READ(Ch3);
READLN
SR12.
< READ>::= READ(< >)
| RESET(<>)
| READLN(< >)
EOLN EOF READ READLN , . EOF . , , :
PROGRAM CopyLines (INPUT, OUTPUT);
{ INPUT OUTPUT }
VAR
Ch: CHAR;
BEGIN {CopyLines}
WHILE NOT EOF
DO
BEGIN { }
WHILE NOT EOLN
DO
BEGIN { }
READ(Ch);
WRITE(Ch);
END;
READLN;
WRITELN
END
END. {CopyLines}
WHILE . WHILE READ . WHILE , READLN , OUTPUT WRITELN. :
Ch | INPUT | EOF | EOLN | OUTPUT | |
WHILE NOT EOF WHILE NOT EOLN READ(Ch) WRITE(Ch) WHILE NOT EOLN READLN WRITELN WHILE NOT EOF WHILE NOT EOLN READ(Ch) WRITE(Ch) WHILE NOT EOLN READLN WRITELN WHILE NOT EOF | ? A B | A /B/ A / B/ A/ B / A/B / A/B/_ | FALSE FALSE FALSE FALSE TRUE | FALSE TRUE FLASE TRUE ? | _ A_ A/_ A/B_ A/B/_ |
# :
READ(F1, Ch);
WHILE Ch <> #
DO
BEGIN
WRITE(F2, Ch);
READ(F1, Ch)
END
, :
WHILE NOT EOLN(F1)
DO
BEGIN
READ(F1, Ch)
WRITE(F2, Ch);
END
.
BubleSort
SelectSort N 2N2 READ/WRITE. ? IFSort MinSort , 2N READ/WRITE. 2N2 2N N > 1, SelectSort. EOF.
INPUT , SelectSort 2N2 READ/WRITE. , .
|
|
BEGIN { F1 }
Sorted:= Y;
RESET(F1);
IF NOT EOLN(F1)
THEN
BEGIN
READ(F1, Ch1);
WHILE NOT EOLN(F1)
DO
BEGIN
READ(F1, Ch1);
IF Ch2 < Ch1
THEN
Sorted:= N;
Ch1:= Ch2;
END
END
END
, , Sorted N. ?
F1 F2, Ch2 < Ch1, F2 . , .
BubleSort, , .
DP4
PROGRAM BubbleSort(INPUT,OUTPUT);
{ INPUT OUTPUT}
VAR
Sorted, Ch, Ch1, Ch2: CHAR;
F1, F2: TEXT;
BEGIN {BubbleSort}
{ INPUT F1}
Sorted:= 'N';
WHILE Sorted ='N'
DO
BEGIN
{ F1 F2,
}
{ F2 F1}
END;
{ F1 OUTPUT}
END.{BubbleSort}
DP 4.1
BEGIN { F1 F2,
}
Sorted:= 'Y';
RESET(F1);
REWRITE(F2);
IF NOT EOF(F1)
THEN
BEGIN
READ(F1, Ch1);
WHILE NOT EOLN(F1)
DO { Ch1,Ch2 }
BEGIN
READ(F1, Ch2);
{ min(Ch1, Ch2) F2,
}
END;
WRITELN(F2, Ch1) { F2 }
END
END
DP 4.1.1
{ min(Ch1, Ch2) F2,
}
IF Ch1 <= Ch2
THEN
BEGIN
WRITE(F2,Ch1);
Ch1:= Ch2
END
ELSE
BEGIN
WRITE(F2, Ch2);
Sorted:= 'N'
END
DP4.2
BEGIN { INPUT F1 }
REWRITE(F1);
WHILE NOT EOLN
DO
BEGIN
READ(Ch);
WRITE(F1, Ch);
END;
WRITELN(F1)
END;
DP4.4 { F2 F1 } DP4.3 { F1 OUTPUT }
DP 4.2
. N m.
m . , N . . , BubbleSort N2 ( N). INPUT . , N, N2.
BubbleSort , SelectSort? . , BubbleSort SelectSort.
CF Pascal , () , CHAR TEXT. TEXT . . REWRITE WRITELN, RESET. , .
|
|
SelectSort , . MinSort c 3 . BubbleSort, . , SelectSort, .
. , , , , , . , , . , , .
, EOLN ; READLN , WRITELN . EOF. , EOLN EOF, #.