home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
BBS 1
/
BBS#1.iso
/
document
/
pas60pg.lzh
/
PG07.MY
< prev
next >
Wrap
Text File
|
1991-01-28
|
24KB
|
671 lines
âïÇéÇ 7.
ÄÅàÉÇÆÄÉ¢.
Ä»ÑαáΓ«αδ «»¿ßδóáεΓ ΓÑ á½ú«α¿Γ¼¿τÑ߬¿Ñ ñÑ⌐ßΓó¿∩, ¬«Γ«αδÑ
ñ«½ª¡δ óδ»«½¡∩Γ∞ß∩. Ä»ÑαáΓ«αá¼ ¼«úπΓ »αÑñΦÑßΓó«óáΓ∞ ¼ÑΓ¬¿, ¬«Γ«αδÑ
¼«ª¡« ¿ß»«½∞º«óáΓ∞ ñ½∩ ßß佫¬ ó «»ÑαáΓ«αáσ goto.
«»ÑαáΓ«α ───┬────────────────────┬──────────────────────────÷
│ ┌─────┐ ┌─┐ ° │ ┌────────────────┐ °
└─÷│¼ÑΓ¬á├──÷│:├─┘ ├──÷│»α«ßΓ«⌐ «»ÑαáΓ«α├──┤
└─────┘ └─┘ │ └────────────────┘ │
│ ┌────────────────┐ │
└──÷│ ßΓαπ¬Γπα¡δ⌐ ├──┘
│ «»ÑαáΓ«α │
└────────────────┘
èᬠ»«¬áºá¡« ó ú½áóÑ 1, ¼ÑΓ¬á ¼«ªÑΓ íδΓ∞ »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ε
µ¿Σα «Γ 0 ñ« 9999 ¿½¿ ¿ñÑ¡Γ¿Σ¿¬áΓ«α«¼.
æπΘÑßΓóπεΓ 2 ú½áó¡δσ Γ¿»á «»ÑαáΓ«α«ó: »α«ßΓ«⌐ «»ÑαáΓ«α ¿
ßΓαπ¬Γπα¡δ⌐ «»ÑαáΓ«α.
Åα«ßΓδÑ «»ÑαáΓ«αδ.
Åα«ßΓδ¼ «»ÑαáΓ«α«¼ ∩ó½∩ÑΓß∩ Γᬫ⌐ «»ÑαáΓ«α, ¬«Γ«αδ⌐ ¡Ñ
ß«ñÑαª¿Γ ó ßÑíÑ ñαπú¿σ «»ÑαáΓ«α«ó.
┌─────────────────────┐
»α«ßΓ«⌐ «»ÑαáΓ«α ────┬───÷│«»ÑαáΓ«α »α¿ßóá¿óá¡¿∩├───────÷
│ └─────────────────────┘ °
│ ┌─────────────────────┐ │
├───÷│ «»ÑαáΓ«α »α«µÑñπαδ ├───┤
│ └─────────────────────┘ │
│ ┌─────────────────────┐ │
└───÷│ «»ÑαáΓ«α »ÑαÑσ«ñá ├───┘
└─────────────────────┘
Ä»ÑαáΓ«αδ »α¿ßóá¿óá¡¿∩.
Ä»ÑαáΓ«α »α¿ßóá¿óá¡¿∩ ºá¼Ñ¡∩ÑΓ ΓѬπΘÑÑ º¡áτÑ¡¿Ñ »ÑαѼѡ¡«⌐
¡«óδ¼ º¡áτÑ¡¿Ñ¼, ¬«Γ«α«Ñ «»αÑñѽ∩ÑΓß∩ óδαáªÑ¡¿Ñ¼, ¿½¿ «»αÑñѽ∩ÑΓ
óδαáªÑ¡¿Ñ, º¡áτÑ¡¿Ñ ¬«Γ«α«ú« ñ«½ª¡« ó«ºóαáΘáΓ∞ß∩ Σπ¡¬µ¿Ñ⌐.
┌───────────┐ ┌──┐ ┌─────────┐
«»ÑαáΓ«α ──┬──÷│ßßδ½¬á ¡á ├──────÷│:=├──÷│óδαáªÑ¡¿Ñ├──÷
»α¿ßóá¿óá¡¿∩ │ │»ÑαѼѡ¡πε │ ° └──┘ └─────────┘
│ └───────────┘ │
│ ┌─────────────┐ │
└──÷│¿ñÑ¡Γ¿Σ¿¬áΓ«α├─┘
│ Σπ¡¬µ¿¿ │
└─────────────┘
éδαáªÑ¡¿Ñ ñ«½ª¡« íδΓ∞ ß«ó¼ÑßΓ¿¼« »« »α¿ßóá¿óá¡¿ε ß Γ¿»«¼
»ÑαѼѡ¡«⌐ ¿½¿ Γ¿»«¼ º¡áτÑ¡¿∩, ó«ºóαáΘáѼ«ú« Σπ¡¬µ¿Ñ⌐ ó ¬áτÑßΓóÑ
αѺπ½∞ΓáΓá (ß¼. αáºñѽ "æ«ó¼ÑßΓ¿¼«ßΓ∞ Γ¿»«ó" ó ú½áóÑ 3).
Åα¿óÑñѼ ¡Ñ¬«Γ«αδÑ »α¿¼Ñαδ «»ÑαáΓ«αá »α¿ßóá¿óá¡¿∩:
X : = Y + Z;
Done : = (I >= 1) and (I < 100);
HuÑ1 : = (Blue, Sucß(C));
I : = Sgr(J) - I * K;
Åα¿ßóá¿óá¡¿Ñ «íΩÑ¬Γ«ó.
Åαáó¿½á ß«ó¼ÑßΓ¿¼«ßΓ¿ Γ¿»«ó «íΩÑ¬Γ«ó »« »α¿ßóá¿óá¡¿ε »«ºó«½∩εΓ
φ¬ºÑ¼»½∩απ «íΩÑ¬Γ¡«ú« Γ¿»á »α¿ßó«¿Γ∞ φ¬ºÑ¼»½∩α ½εí«ú« ¿º Ñú«
»«α«ªñÑ¡¡δσ Γ¿»«ó. Æá¬«Ñ »α¿ßóá¿óá¡¿Ñ »α¿ó«ñ¿Γ ¬ »α«Ñ¬µ¿¿
»«α«ªñÑ¡¡«ú« «íΩѬΓá ¡á »α«ßΓαá¡ßΓó« »αÑñ¬á. ìá»α¿¼Ñα, »πßΓ∞ ñá¡δ
φ¬ºÑ¼»½∩α F Γ¿»á Field ¿ φ¬ºÑ¼»½∩α Z Γ¿»á ZipField, Γ« Γ«úñá
»α¿ßóá¿óá¡¿Ñ F := Z íπñÑΓ ¬«»¿α«óáΓ∞ Γ«½∞¬« »«½∩ X, Y, Len ¿ Name.
(Æ¿»δ «íΩÑ¬Γ«ó «íßπªñÑ¡δ ó ú½áóÑ 5.)
Åα¿ßóá¿óá¡¿Ñ φ¬ºÑ¼»½∩απ «íΩÑ¬Γ¡«ú« Γ¿»á ¡Ñ ó¬½ετáÑΓ
¿¡¿µ¿á½¿ºáµ¿¿ φ¬ºÑ¼»½∩αá. Æá¬, »α¿ßóá¿óá¡¿Ñ F := Z ¡Ñ «º¡áτáÑΓ, τΓ«
óδº«ó ¬«¡ßΓαá¬Γ«αá ñ½∩ F ¼«ªÑΓ íδΓ∞ «»πΘÑ¡.
Ä»ÑαáΓ«α »α«µÑñπαδ.
Ä»ÑαáΓ«α procedure «»αÑñѽ∩ÑΓ á¬Γ¿ó¿ºáµ¿ε »α«µÑñπαδ,
«í«º¡áτÑ¡¡πε ß »«¼«Θ∞ε ¿ñÑ¡Γ¿Σ¿¬áΓ«αá »α«µÑñπαδ. àß½¿
ß««ΓóÑΓßΓóπεΘÑÑ «íΩ∩ó½Ñ¡¿Ñ »α«µÑñπαδ ß«ñÑαª¿Γ ß»¿ß«¬ Σ«α¼á½∞¡δσ
»áαá¼ÑΓα«ó, Γ« «»ÑαáΓ«α »α«µÑñπαδ ñ«½ªÑ¡ ß«ñÑαªáΓ∞ ó ßÑíÑ
ß««ΓóÑΓßΓóπεΘ¿⌐ Ѽπ ß»¿ß«¬ Σá¬Γ¿τÑ߬¿σ »áαá¼ÑΓα«ó (»áαá¼ÑΓαδ,
ß»¿ß«¬ ¬«Γ«αδσ »α¿ó«ñ¿Γß∩ ó «»αÑñѽѡ¿¿, ∩ó½∩εΓß∩ Σ«α¼á½∞¡δ¼¿
»áαá¼ÑΓαἿ, á ó «»ÑαáΓ«αÑ ó맮óá »α«µÑñπαδ «¡¿ ∩ó½∩εΓß∩
Σá¬Γ¿τÑ߬¿¼¿ »áαá¼ÑΓαἿ). Åα¿ ó맮óÑ »α«¿ßσ«ñ¿Γ »ÑαÑñáτá
Σá¬Γ¿τÑ߬¿σ »áαá¼ÑΓα«ó Σ«α¼á½∞¡δ¼ »áαá¼ÑΓαá¼.
┌─────────────┐
«»ÑαáΓ«α ────÷│¿ñÑ¡Γ¿Σ¿¬áΓ«α├──┬──────────────────────────÷
»α«µÑñπαδ │ »α«µÑñπαδ │ │ ┌──────────────────┐ °
└─────────────┘ └─÷│ß»¿ß«¬ Σá¬Γ¿τÑ߬¿σ├─┘
│ »áαá¼ÑΓα«ó │
└──────────────────┘
Åα¿óÑñѼ ¡Ñ¬«Γ«αδÑ »α¿¼Ñαδ «»ÑαáΓ«α«ó »α«µÑñπα:
PrintHeading;
Transpose(A, N, M);
Find(Name, Address);
Åα¿¼Ñτá¡¿Ñ: Åα«µÑñπαπ ¼«ª¡« Γá¬ªÑ óδºóáΓ∞ τÑαѺ »ÑαѼѡ¡πε
Γ¿»á »α«µÑñπαá. ä½∩ »«½πτÑ¡¿∩ í«½ÑÑ »«ñα«í¡«⌐ ¿¡Σ«α¼áµ¿¿
«íαáΓ¿ΓÑß∞ ¬ αáºñѽπ "Åα«µÑñπα¡δÑ Γ¿»δ" ó ú½áóÑ 8.
é맮óδ ¼ÑΓ«ñ«ó, ¬«¡ßΓαá¬Γ«α«ó ¿ ñÑßΓαá¬Γ«α«ó.
æ¿¡Γá¬ß¿ß «»ÑαáΓ«αá »α«µÑñπαδ íδ½ αáßΦ¿αÑ¡ ñ½∩ Γ«ú«, τΓ«íδ
αáºαÑΦ¿Γ∞ π¬áºá¡¿∩ ¬óá½¿Σ¿¬áΓ«αá ¼ÑΓ«ñá, «º¡áτáεΘ¿⌐ ºá¼Ñ¡π
¿ñÑ¡Γ¿Σ¿¬áΓ«αá »α«µÑñπαδ, ¡Ñ«íσ«ñ¿¼«⌐ »α«µÑñπα«⌐, ¬«¡ßΓαá¬Γ«α«¼ ¿½¿
ñÑßΓαá¬Γ«α«¼.
èóá½¿Σ¿¬áΓ«α ¼ÑΓ«ñá ¿ß»«½∞ºπÑΓß∩ ñ½∩ ñóπσ µÑ½Ñ⌐ :
é«-»Ñαóδσ: ó ß½πτáÑ ó¿αΓπá½∞¡«ú« ¼ÑΓ«ñá á¬Γπá½∞¡δ⌐ (óαѼѡ¿
óδ»«½¡Ñ¡¿∩) Γ¿» φ¬ºÑ¼»½∩αá «»αÑñѽ∩ÑΓ, ¬á¬πε αÑ὿ºáµ¿ε ¼ÑΓ«ñá
á¬Γ¿ó¿º¿α«óáΓ∞.
é«-óΓ«αδσ: φ¬ºÑ¼»½∩α ßá¼ ßΓá¡«ó¿Γß∩ ¡Ñ∩ó¡δ¼ ñÑ⌐ßΓó¿Γѽ∞¡δ¼
»áαá¼ÑΓα«¼ ¼ÑΓ«ñá. Ä¡ ß««ΓóÑΓßΓóπÑΓ Σ«α¼á½∞¡«¼π »áαá¼ÑΓαπ Self,
¬«Γ«αδ⌐ ¿¼ÑÑΓ Γ¿», ß««ΓóÑΓßΓóπεΘ¿⌐ á¬Γ¿ó¿α«óá¡¡«¼π ¼ÑΓ«ñπ.
é¡πΓα¿ ¼ÑΓ«ñá «»ÑαáΓ«α »α«µÑñπαδ »«ºó«½∩ÑΓ ¬óá½¿Σ¿µ¿α«óáΓ∞
¿ñÑ¡Γ¿Σ¿¬áΓ«α ¼ÑΓ«ñá ñ½∩ á¬Γ¿óᵿ¿ π¬áºá¡¡«ú« ¼ÑΓ«ñá. ÄíΩÑ¬Γ¡δ⌐
Γ¿», ¿ß»«½∞ºπѼδ⌐ »α¿ ¬óá½¿Σ¿¬áµ¿¿ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá ñ«½ªÑ¡ íδΓ∞ ΓѼ
ªÑ ßá¼δ¼, τΓ« ¿ «íΩÑ¬Γ¡δ⌐ Γ¿» ¼ÑΓ«ñá ¿½¿ Ñú« »αÑñ¬á. ¥Γ«Γ Γ¿»
á¬Γ¿óᵿ¿ ¡áºδóáÑΓß∩ ¬óá½¿Σ¿µ¿α«óá¡¡«⌐ á¬Γ¿óᵿÑ⌐.
èóá½¿Σ¿µ¿α«óá¡¡á∩ á¬Γ¿óᵿ∩ ¡¿¬«úñá ¡Ñ ¿ß»«½∞ºπÑΓ ¼Ñσá¡¿º¼
óδí«αá ó¿αΓπá½∞¡«ú« ¼ÑΓ«ñá - ó맮ó óßÑúñá ßΓáΓ¿τÑ߬¿⌐ ¿ óßÑúñá
óδºδóáÑΓ ºáñá¡¡δ⌐ ¼ÑΓ«ñ.
ìÑ∩ó¡δ⌐ »áαá¼ÑΓα Self ¬óá½¿Σ¿µ¿α«óá¡¡«⌐ á¬Γ¿óᵿ¿ ßΓá¡«ó¿Γß∩
ó¼ÑßΓ« Self ¼ÑΓ«ñá, ß«ñÑαªáΘÑú« ó맮ó. èóá½¿Σ¿µ¿α«óá¡¡á∩ á¬Γ¿óᵿ∩
¿ß»«½∞ºπÑΓß∩ ó¡πΓα¿ »ÑαѬαδóáεΘÑú« ¼ÑΓ«ñá ñ½∩ á¬Γ¿óᵿ¿ »ÑαѬαδΓ«ú«
¼ÑΓ«ñá. êß»«½∞ºπ∩ Γ¿»δ, «íΩ∩ó½Ñ¡¡δÑ αá¡∞ΦÑ, »α¿óÑñѼ »α¿¼Ñα
¬óá½¿Σ¿µ¿α«óá¡¡«⌐ á¬Γ¿óᵿ¿:
constructor NumField.Init(FX, FY, FLen: Integer;
FName: String; FMin, FMax: Longint);
begin
Field.Init(FX, FY, FLen, FName);
Value := 0;
Min := FMin;
Max := FMax;
end;
function ZipField.PutStr(S: String): Boolean;
begin
PutStr := (Length(S) = 5) and NumField.PutStr(S);
end;
èᬠñѼ«¡ßΓα¿απεΓ φΓ¿ »α¿¼Ñαδ, ¬óá½¿Σ¿µ¿α«óá¡¡á∩ á¬Γ¿óᵿ∩
¿ß»«½∞ºπÑΓß∩ »ÑαѬαδóáεΘ¿¼ ¼ÑΓ«ñ«¼ ñ½∩ ¿ß»«½∞º«óá¡¿∩ ¬«ñá ¼ÑΓ«ñá,
¬«Γ«αδ⌐ «¡ »ÑαѬαδ½.
Ä»ÑαáΓ«αδ »ÑαÑσ«ñá (goto).
Ä»ÑαáΓ«α goto óδºδóáÑΓ »ÑαÑñáτπ π»αáó½Ñ¡¿∩ «»ÑαáΓ«απ, ¬«Γ«α«¼π
»αÑñΦÑßΓóπÑΓ ¼ÑΓ¬á, π¬áºá¡¡á∩ ó ñá¡¡«¼ «»ÑαáΓ«αÑ goto.
æ¿¡Γá¬ß¿τÑ߬á∩ ßσÑ¼á «»ÑαáΓ«αá goto ¿¼ÑÑΓ ß½ÑñπεΘ¿⌐ ó¿ñ:
┌────┐ ┌─────┐
«»ÑαáΓ«α »ÑαÑσ«ñá ───÷│goto├───÷│¼ÑΓ¬á├───÷
└────┘ └─────┘
Åα¿ ¿ß»«½∞º«óá¡¿¿ «»ÑαáΓ«αá »ÑαÑσ«ñá ñ«½ª¡δ ß«í½εñáΓ∞ß∩
ß½ÑñπεΘ¿Ñ »αáó¿½á:
- îÑΓ¬á, ¬«Γ«αá∩ π¬áºδóáÑΓß∩ ó «»ÑαáΓ«αÑ »ÑαÑσ«ñá, ñ«½ª¡á
¡áσ«ñ¿Γ∞ß∩ ó Γ«¼ ªÑ í½«¬Ñ ¿½¿ ¼«ñπ½Ñ, τΓ« ¿ ßá¼ «»ÑαáΓ«α »ÑαÑσ«ñá.
äαπú¿¼¿ ß½«óἿ, ¡Ñ ñ«»π߬áεΓß∩ »ÑαÑσ«ñδ ¿º »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿
¿½¿ ó¡πΓα∞ ¡ÑÑ.
- ÅÑαÑσ«ñ ¿ºó¡Ñ ó¡πΓα∞ ßΓαπ¬Γπα¡«ú« «»ÑαáΓ«αá (Γ« ÑßΓ∞ »ÑαÑσ«ñ
¡á í«½ÑÑ ú½πí«¬¿⌐ πα«óÑ¡∞ 󽫪ѡ¡«ßΓ¿) ¼«ªÑΓ óδºóáΓ∞
¡Ñ»αÑñ߬áºπѼδÑ φΣΣѬΓδ, σ«Γ∩ ¬«¼»¿½∩Γ«α ¡Ñ óδñáÑΓ ß««íΘÑ¡¿∩ «í
«Φ¿í¬Ñ.
æΓαπ¬Γπα¡δÑ «»ÑαáΓ«αδ.
æΓαπ¬Γπα¡δÑ «»ÑαáΓ«αδ «»ÑαáΓ«α«ó, »«α∩ñ«¬ óδ»«½¡Ñ¡¿∩ ¬«Γ«αδσ
ñ«½ªÑ¡ íδΓ∞ »«ß½Ññ«óáΓѽ∞¡δ¼ (ß«ßΓáó¡δÑ «»ÑαáΓ«αδ ¿ «»ÑαáΓ«αδ ¡áñ
ºá»¿ß∩¼¿ (with)), «»αÑñѽ∩Ñ¼δ¼ πß½«ó¡«⌐ »ÑαÑñáτÑ⌐ π»αáó½Ñ¡¿∩
(πß½«ó¡δÑ «»ÑαáΓ«αδ) ¿½¿ »«óΓ«α∩εΘ¿¼ß∩ («»ÑαáΓ«αδ µ¿¬½á).
┌───────────────────────┐
ßΓαπ¬Γπα¡δ⌐ ────┬────÷│ ß«ßΓáó¡«⌐ «»ÑαáΓ«α ├───────÷
«»ÑαáΓ«α │ └───────────────────────┘ °
│ ┌───────────────────────┐ │
├────÷│ πß½«ó¡δ⌐ «»ÑαáΓ«α ├───┤
│ └───────────────────────┘ │
│ ┌───────────────────────┐ │
├────÷│ «»ÑαáΓ«α µ¿¬½á ├───┤
│ └───────────────────────┘ │
│ ┌───────────────────────┐ │
└────÷│ «»ÑαáΓ«α ¡áñ ºá»¿ß∩¼¿ ├───┘
└───────────────────────┘
æ«ßΓáó¡δÑ «»ÑαáΓ«αδ.
æ«ßΓáó¡δÑ «»ÑαáΓ«αδ ºáñáεΓ »«α∩ñ«¬ óδ»«½¡Ñ¡¿∩ «»ÑαáΓ«α«ó,
∩ó½∩εΘ¿σß∩ ¿σ φ½Ñ¼Ñ¡ΓἿ. Ä¡¿ ñ«½ª¡δ óδ»«½¡∩Γ∞ß∩ ó Γ«¼ »«α∩ñ¬Ñ, ó
¬«Γ«α«¼ «¡¿ ºá»¿ßá¡δ.
æ«ßΓáó¡δÑ «»ÑαáΓ«αδ «íαáíáΓδóáεΓß∩, ¬á¬ «ñ¿¡ «»ÑαáΓ«α, τΓ«
¿¼ÑÑΓ αÑΦáεΘÑÑ º¡áτÑ¡¿Ñ Γá¼, úñÑ ß¿¡Γá¬ß¿ß Åá߬á½∩ ñ«»π߬áÑΓ
¿ß»«½∞º«óá¡¿Ñ Γ«½∞¬« «ñ¡«ú« «»ÑαáΓ«αá. Ä»ÑαáΓ«αδ ºá¬½ετáεΓß∩ ó
«úαá¡¿τ¿Γѽ¿ begin ¿ end ¿ «Γñѽ∩εΓß∩ ñαπú «Γ ñαπúá Γ«τ¬á¼¿ ß
ºá»∩Γ«⌐.
┌─────┐ ┌────────┐ ┌───┐
ß«ßΓáó¡«⌐ ────÷│begin├──────÷│«»ÑαáΓ«α├────┬──÷│end├──÷
«»ÑαáΓ«α └─────┘ ° └────────┘ │ └───┘
│ ┌───┐ │
└─────┤ ; │≈──────┘
└───┘
Åα¿óÑñѼ »α¿¼Ñα ß«ßΓáó¡«ú« «»ÑαáΓ«αá:
begin
Z : = X;
X : = Y;
Y : = Z;
end;
ôß½«ó¡δÑ «»ÑαáΓ«αδ.
ôß½«ó¡δÑ «»ÑαáΓ«αδ »«ºó«½∩εΓ óδíαáΓ∞ ñ½∩ óδ»«½¡Ñ¡¿∩ «ñ¿¡ ¿º
ß«ßΓáó¡δσ «»ÑαáΓ«α«ó (¿½¿ ¡Ñ óδíαáΓ∞ ¡¿ «ñ¡«ú«).
┌───────────────┐
πß½«ó¡δ⌐ «»ÑαáΓ«α ──┬──÷│ «»ÑαáΓ«α if ├───────÷
│ └───────────────┘ °
│ ┌───────────────┐ │
└──÷│ «»ÑαáΓ«α case ├───┘
└───────────────┘
Ä»ÑαáΓ«α if.
æ¿¡Γá¬ß¿ß «»ÑαáΓ«αá if ¼«ª¡« »αÑñßΓáó¿Γ∞ ß½ÑñπεΘ¿¼ «íαẫ¼:
┌──┐ ┌─────────┐ ┌────┐ ┌────────┐
«»ÑαáΓ«α if ──÷│if├──÷│óδαáªÑ¡¿Ñ├──÷│then├──÷│«»ÑαáΓ«α├──┬──┐
└──┘ └─────────┘ └────┘ └────────┘ │ │
┌────────────────────────┘ │
│ ┌────┐ ┌────────┐ ∙
└──÷│else├──÷│«»ÑαáΓ«α├─────────÷
└────┘ └────────┘
é óδαáªÑ¡¿¿ ñ«½ªÑ¡ »«½πτáΓ∞ß∩ αѺπ½∞ΓáΓ, ¿¼ÑεΘ¿⌐ ßΓá¡ñáαΓ¡δ⌐
Γ¿» Boolean. àß½¿ αѺπ½∞ΓáΓ«¼ óδαáªÑ¡¿∩ ∩ó½∩ÑΓß∩ ¿ßΓ¿¡¡«Ñ º¡áτÑ¡¿Ñ
(True), Γ« óδ»«½¡∩ÑΓß∩ «»ÑαáΓ«α, ß½ÑñπεΘ¿⌐ ºá ¬½ετÑóδ¼ ß½«ó«¼ then.
àß½¿ αѺπ½∞ΓáΓ«¼ óδαáªÑ¡¿∩ ∩ó½∩ÑΓß∩ º¡áτÑ¡¿Ñ False ¿
»α¿ßπΓßΓóπÑΓ ¬½ετÑó«Ñ ß½«ó« else, Γ« óδ»«½¡∩ÑΓß∩ «»ÑαáΓ«α,
ß½ÑñπεΘ¿⌐ ºá ¬½ετÑóδ¼ ß½«ó«¼ else. àß½¿ ¬½ετÑó«Ñ ß½«ó« else
«ΓßπΓßΓóπÑΓ, Γ« ¡Ñ óδ»«½¡∩ÑΓß∩ ¡¿¬á¬«⌐ «»ÑαáΓ«α.
æ¿¡Γá¬ß¿τÑ߬á∩ ¡Ñ«ñ¡«º¡áτ¡«ßΓ∞, 󫺡¿¬áεΘá∩ ó ¬«¡ßΓαπ¬µ¿¿:
if e1 then if e2 then s1 else s2
αáºαÑΦáÑΓß∩ »πΓѼ ß½ÑñπεΘÑ⌐ ¿¡ΓÑα»αÑΓᵿ¿ φΓ«⌐ ¬«¡ßΓαπ¬µ¿¿:
if e1 then
begin
if e2 then
s1
else
s2
end;
é «íΘѼ ß½πτáÑ ¬½ετÑó«Ñ ß½«ó« else ßó∩ºδóáÑΓß∩ ß í½¿ªá⌐Φ¿¼
¬½ετÑóδ¼ ß½«ó«¼ if, ß ¬«Γ«αδ¼ ÑΘÑ ¡Ñ áßß«µ¿¿α«óá¡« else.
Åα¿óÑñѼ ñóá »α¿¼Ñαá «»ÑαáΓ«αá if:
if ò < 1.5 then
X : = X + Y
else
Z : = 1.5;
if P1 <> nil then
P1 : = P1^. Father;
Ä»ÑαáΓ«α case.
Ä»ÑαáΓ«α case ß«ßΓ«¿Γ ¿º óδαáªÑ¡¿∩ (ßÑ½Ñ¬Γ«αá) ¿ ß»¿ß¬á
«»ÑαáΓ«α«ó, ¬áªñ«¼π ¿º ¬«Γ«αδσ »αÑñΦÑßΓóπÑΓ «ñ¡á ¿½¿ í«½ÑÑ ¬«¡ßΓá¡Γ
(«¡¿ ¡áºδóáεΓß∩ ¬«¡ßΓá¡ΓἿ óδí«αá) ¿½¿ ¬½ετÑó«Ñ ß½«ó« else.
æÑ½Ñ¬Γ«α ñ«½ªÑ¡ ¿¼ÑΓ∞ »«α∩ñ¬«óδ⌐ Γ¿» αẼÑαá íá⌐Γ ¿½¿ ß½«ó«. Æᬿ¼
«íαẫ¼, ßΓ᫬«óδ⌐ Γ¿» ¿ Γ¿» LongInt ∩ó½∩εΓß∩ ¡Ññ«»πßΓ¿¼δ¼¿ Γ¿»á¼¿
ßÑ½Ñ¬Γ«αá. éßÑ ¬«¡ßΓá¡Γδ óδí«αá ñ«½ª¡δ íδΓ∞ π¡¿¬á½∞¡δ¼¿ ¿ ¿¼ÑΓ∞
»«α∩ñ¬«óδ⌐ Γ¿», ß«ó¼ÑßΓ¿¼δ⌐ ß Γ¿»«¼ ßÑ½Ñ¬Γ«αá.
┌────┐ ┌─────────┐ ┌──┐ ┌────┐
«»ÑαáΓ«α case ──÷│case├──÷│óδαáªÑ¡¿Ñ├──÷│of├─────÷│case├──┬──┐
└────┘ └─────────┘ └──┘ ° └────┘ │ │
│ ┌────┐ │ │
└───┤ ; │≈─┘ │
└────┘ │
┌───────────────────────────────────────┘
│ ┌───┐
└─┬────────────────────┬──────────÷│end├──÷
│ ┌──────────┐ ° │ ┌─┐ ° └───┘
└──÷│óÑΓó∞ else├──┘ └─÷│;├──┘
└──────────┘ └─┘
┌────────────────────┐
┌─────────┐ │ ┌──┐ ┌─────────┐ ∙ ┌─┐ ┌────────┐
case ───÷│¬«¡ßΓá¡Γá├─┴─÷│..├─÷│¬«¡ßΓá¡Γá├───┬──÷│:├─÷│«»ÑαáΓ«α├──÷
° └─────────┘ └──┘ └─────────┘ │ └─┘ └────────┘
│ ┌──┐ │
└─────────────────┤, │≈───────────────┘
└──┘
┌────┐ ┌────────┐
óÑΓó∞ else ────÷│else├───÷│«»ÑαáΓ«α├───÷
└────┘ └────────┘
Ä»ÑαáΓ«α case »α¿ó«ñ¿Γ ¬ óδ»«½¡Ñ¡¿ε «»ÑαáΓ«αá, ¬«Γ«α«¼π
»αÑñΦÑßΓóπÑΓ ¬«¡ßΓá¡Γá óδí«αá, αáó¡á∩ º¡áτÑ¡¿ε ßÑ½Ñ¬Γ«αá ¿½¿
ñ¿á»áº«¡π óδí«αá, ó ¬«Γ«α«¼ ¡áσ«ñ¿Γß∩ º¡áτÑ¡¿Ñ ßÑ½Ñ¬Γ«αá. àß½¿
Γᬫ⌐ ¬«¡ßΓá¡Γδ óδí«αá ¿½¿ Γᬫú« ñ¿á»áº«¡á óδí«αá ¡Ñ ßπΘÑßΓóπÑΓ,
Γ« óδ»«½¡∩ÑΓß∩ «»ÑαáΓ«α, ß½ÑñπεΘ¿⌐ ºá ¬½ετÑóδ¼ ß½«ó«¼ else. àß½¿
óÑΓó∞ else «ΓßπΓßΓóπÑΓ, Γ« ¡Ñ óδ»«½¡∩ÑΓß∩ ¡¿¬á¬«⌐ «»ÑαáΓ«α.
Åα¿óÑñѼ ¡Ñ¬«Γ«αδÑ »α¿¼Ñαδ «»ÑαáΓ«αá case:
case Operator of
Plus : X := X + Y;
Minus: X := X - Y;
Times: X := X * Y;
end;
case I of
0, 2, 4, 6, 8: Writeln('Even digit');
1, 3, 5, 7, 9: Writeln('Odd digit');
10..100 : Writeln('Between 10 and 100');
else
Writeln('Negative or greater than 100');
end;
Ä»ÑαáΓ«αδ µ¿¬½á.
Ä»ÑαáΓ«αδ µ¿¬½á ºáñáεΓ »«óΓ«α¡«Ñ óδ»«½¡Ñ¡¿Ñ «»αÑñѽѡ¡δσ
«»ÑαáΓ«α«ó.
┌─────────────────┐
«»ÑαáΓ«α µ¿¬½á ───┬──÷│ «»ÑαáΓ«α repeat ├──────÷
│ └─────────────────┘ °
│ ┌─────────────────┐ │
├──÷│ «»ÑαáΓ«α while ├──┤
│ └─────────────────┘ │
│ ┌─────────────────┐ │
└──÷│ «»ÑαáΓ«α for ├──┘
└─────────────────┘
àß½¿ τ¿ß½« »«óΓ«αÑ¡¿⌐ ºáαá¡ÑÑ ¿ºóÑßΓ¡«, Γ« »«ñσ«ñ∩ΘÑ⌐
¬«¡ßΓαπ¬µ¿Ñ⌐ ∩ó½∩ÑΓß∩ «»ÑαáΓ«α for. é »α«Γ¿ó¡«¼ ß½πτáÑ ß½ÑñπÑΓ
¿ß»«½∞º«óáΓ∞ «»ÑαáΓ«αδ while ¿½¿ repeat.
Ä»ÑαáΓ«αδ µ¿¬½á repeat.
é «»ÑαáΓ«αÑ µ¿¬½á repeat óδαáªÑ¡¿Ñ, ¬«Γ«α«Ñ π»αáó½∩ÑΓ
»«óΓ«α¡δ¼ óδ»«½¡Ñ¡¿Ñ¼ »«ß½Ññ«óáΓѽ∞¡«ßΓ¿ «»ÑαáΓ«α«ó, ß«ñÑনΓß∩
ó¡πΓα¿ «»ÑαáΓ«αá repeat.
┌──────┐ ┌────────┐ ┌─────┐ ┌─────────┐
«»ÑαáΓ«α ──÷│repeat├────÷│«»ÑαáΓ«α├──┬─÷│until├──÷│óδαáªÑ¡¿Ñ├──÷
repeat └──────┘ ° └────────┘ │ └─────┘ └─────────┘
│ ┌───┐ │
└────┤ ; │≈────┘
└───┘
ÉѺπ½∞ΓáΓ«¼ óδαáªÑ¡¿∩ ñ«½ªÑ¡ íδΓ∞ αѺπ½∞ΓáΓ íπ½Ñó߬«ú« Γ¿»á.
Ä»ÑαáΓ«αδ, ºá¬½ετÑ¡¡δÑ ¼Ñªñ𠬽ετÑó묨 ß½«óἿ repeat ¿ until,
óδ»«½¡∩εΓß∩ »«ß½Ññ«óáΓѽ∞¡« ñ« ΓÑσ »«α, »«¬á αѺπ½∞ΓáΓ óδαáªÑ¡¿∩ ¡Ñ
»α¿¼ÑΓ º¡áτÑ¡¿∩ True. Å«ß½Ññ«óáΓѽ∞¡«ßΓ∞ «»ÑαáΓ«α«ó óδ»«½¡∩ÑΓß∩ »«
¬αá⌐¡Ñ⌐ ¼ÑαÑ «ñ¿¡ αáº, »«ß¬«½∞¬π óδτ¿ß½Ñ¡¿Ñ óδαáªÑ¡¿∩ »α«¿ºó«ñ¿Γß∩
»«ß½Ñ ¬áªñ«ú« óδ»«½¡Ñ¡¿∩ »«ß½Ññ«óáΓѽ∞¡«ßΓ¿ «»ÑαáΓ«α«ó.
Åα¿óÑñѼ »α¿¼Ñαδ «»ÑαáΓ«αá repeat:
repeat
K := I mod J;
I := J;
J := K;
until J = O;
repeat
Write ('Enter Value(0..9):');
Readln (I);
until (I >= 0) and (I <= 9);
Ä»ÑαáΓ«αδ µ¿¬½á while.
Ä»ÑαáΓ«α µ¿¬½á while ß«ñÑαª¿Γ ó ßÑíÑ óδαáªÑ¡¿Ñ, ¬«Γ«α«Ñ
π»αáó½∩ÑΓ »«óΓ«α¡δ¼ óδ»«½¡Ñ¡¿Ñ¼ «»ÑαáΓ«αá (¬«Γ«αδ⌐ ¼«ªÑΓ íδΓ∞
ß«ßΓáó¡δ¼ «»ÑαáΓ«α«¼).
┌─────┐ ┌─────────┐ ┌──┐ ┌────────┐
«»ÑαáΓ«α ───÷│while├──÷│óδαáªÑ¡¿Ñ├──÷│do├──÷│«»ÑαáΓ«α├──÷
while └─────┘ └─────────┘ └──┘ └────────┘
éδαáªÑ¡¿Ñ, ß »«¼«Θ∞ε ¬«Γ«α«ú« »α«¿ºó«ñ¿Γß∩ π»αáó½Ñ¡¿Ñ
»«óΓ«αÑ¡¿Ñ¼ «»ÑαáΓ«αá, ñ«½ª¡« ¿¼ÑΓ∞ íπ½Ñó߬¿⌐ Γ¿». éδτ¿ß½Ñ¡¿Ñ Ñú«
»α«¿ºó«ñ¿Γß∩ ñ« Γ«ú«, ¬á¬ ó¡πΓαÑ¡¡¿⌐ «»ÑαáΓ«α íπñÑΓ óδ»«½¡Ñ¡.
é¡πΓαÑ¡¡¿⌐ «»ÑαáΓ«α óδ»«½¡∩ÑΓß∩ »«óΓ«α¡« ñ« ΓÑσ »«α, »«¬á óδαáªÑ¡¿Ñ
»α¿¡¿¼áÑΓ º¡áτÑ¡¿Ñ True. àß½¿ óδαáªÑ¡¿Ñ ß ßἫú« ¡áτá½á »α¿¡¿¼áÑΓ
º¡áτÑ¡¿Ñ False, Γ« «»ÑαáΓ«α, ß«ñÑαªáΘ¿⌐ß∩ ó¡πΓα¿ «»ÑαáΓ«αá µ¿¬½á
while, ¡Ñ óδ»«½¡∩ÑΓß∩ ¡¿ αáºπ.
Åα¿¼ÑαἿ «»ÑαáΓ«αá µ¿¬½á while ¼«úπΓ ß½πª¿Γ∞:
while Data[I] <> X do I := I + 1;
while I > 0 do
begin
if Odd(I) then Z := Z * X;
I := I div 2;
X := Sqr(X);
end;
while not Eof(InFile) do
begin
Readln (InFile, Line);
Process (Line);
end;
Ä»ÑαáΓ«αδ µ¿¬½á for.
Ä»ÑαáΓ«α µ¿¬½á for óδºδóáÑΓ »«óΓ«α∩εΘÑÑß∩ óδ»«½¡Ñ¡¿Ñ «»ÑαáΓ«αá
(¬«Γ«αδ⌐ ¼«ªÑΓ íδΓ∞ ß«ßΓáó¡δ¼ «»ÑαáΓ«α«¼), »«¬á π»αáó½∩εΘÑ⌐
»ÑαѼѡ¡«⌐ »α¿ßóá¿óáÑΓß∩ ó«ºαáßΓáεΘá∩ »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ º¡áτÑ¡¿⌐.
┌───┐ ┌───────────┐ ┌──┐ ┌────────┐
«»ÑαáΓ«α ───÷│for├──÷│π»αáó½∩εΘá∩├──÷│:=├──÷│¿ßσ«ñ¡«Ñ├───┐
for └───┘ │»ÑαѼѡ¡á∩ │ └──┘ │º¡áτÑ¡¿Ñ│ │
└───────────┘ └────────┘ │
┌────────────────────────────────────────────────┘
│ ┌──┐
│ ┌─÷│to├─────┐ ┌────────┐ ┌──┐ ┌────────┐
└──÷│ └──┘ ├──÷│¬«¡Ñτ¡«Ñ├──÷│do├──÷│«»ÑαáΓ«α├───÷
│ ┌──────┐ │ │º¡áτÑ¡¿Ñ│ └──┘ └────────┘
└─÷│downto├─┘ └────────┘
└──────┘
┌────────────────────────┐
π»αáó½∩εΘá∩ »ÑαѼѡ¡á∩ ───÷│¿ñÑ¡Γ¿Σ¿¬áΓ«α »ÑαѼѡ¡«⌐├───÷
└────────────────────────┘
┌─────────┐
¿ßσ«ñ¡«Ñ º¡áτÑ¡¿Ñ ────÷│óδαáªÑ¡¿Ñ├───÷
└─────────┘
┌─────────┐
¬«¡Ñτ¡«Ñ º¡áτÑ¡¿Ñ ────÷│óδαáªÑ¡¿Ñ├───÷
└─────────┘
é ¬áτÑßΓóÑ π»αáó½∩εΘÑ⌐ »ÑαѼѡ¡«⌐ ñ«½ªÑ¡ ¿ß»«½∞º«óáΓ∞ß∩
¿ñÑ¡Γ¿Σ¿¬áΓ«α »ÑαѼѡ¡«⌐ (íѺ ¬á¬«ú«-½¿í« ¬óá½¿Σ¿¬áΓ«αá), ¬«Γ«αδ⌐
«í«º¡áτáÑΓ »ÑαѼѡ¡πε, «í∞∩ó½Ñ¡¡πε ½«¬á½∞¡«⌐ ó í½«¬Ñ, ó ¬«Γ«α«¼
ß«ñÑনΓß∩ «»ÑαáΓ«α for. ô»αáó½∩εΘá∩ »ÑαѼѡ¡á∩ ñ«½ª¡á ¿¼ÑΓ∞
»«α∩ñ¬«óδ⌐ Γ¿». ìáτá½∞¡«Ñ ¿ ¬«¡Ñτ¡«Ñ º¡áτÑ¡¿∩ ñ«½ª¡δ ¿¼ÑΓ∞ Γ¿»,
ß«ó¼ÑßΓ¿¼δ⌐ »« »α¿ßóá¿óá¡¿ε ß φΓ¿¼ »«α∩ñ¬«óδ¼ Γ¿»«¼.
è«úñá ¡áτ¿¡áÑΓ óδ»«½¡∩Γ∞ß∩ «»ÑαáΓ«α for, ¡áτá½∞¡«Ñ ¿ ¬«¡Ñτ¡«Ñ
º¡áτÑ¡¿∩ «»αÑñѽ∩εΓß∩ «ñ¿¡ αáº, ¿ φΓ¿ º¡áτÑ¡¿∩ ß«σαá¡∩εΓß∩ ¡á
»α«Γ∩ªÑ¡¿¿ óßÑú« óδ»«½¡Ñ¡¿∩ «»ÑαáΓ«αá for.
Ä»ÑαáΓ«α, ¬«Γ«αδ⌐ ß«ñÑনΓß∩ ó ΓÑ½Ñ «»ÑαáΓ«αá for, óδ»«½¡∩ÑΓß∩
«ñ¿¡ αẠñ½∩ ¬áªñ«ú« º¡áτÑ¡¿∩ ó ñ¿á»áº«¡Ñ ¼Ñªñπ ¡áτá½∞¡δ¼ ¿
¬«¡Ñτ¡δ¼ º¡áτÑ¡¿Ñ¼. ô»αáó½∩εΘá∩ »ÑαѼѡ¡á∩ óßÑúñá ¿¡¿µ¿á½¿º¿απÑΓß∩
¡áτá½∞¡δ¼ º¡áτÑ¡¿Ñ¼. è«úñá «»ÑαáΓ«α for ¿ß»«½∞ºπÑΓ ¬½ετÑó«Ñ ß½«ó«
to, º¡áτÑ¡¿Ñ π»αáó½∩εΘÑ⌐ »ÑαѼѡ¡«⌐ πóѽ¿τ¿óáÑΓß∩ »α¿ ¬áªñ«¼
»«óΓ«αÑ¡¿¿ ¡á Ññ¿¡¿µπ. àß½¿ ¡áτá½∞¡«Ñ º¡áτÑ¡¿Ñ »αÑóδΦáÑΓ ¬«¡Ñτ¡«Ñ
º¡áτÑ¡¿Ñ, Γ« ß«ñÑαªáΘ¿⌐ß∩ ó ΓÑ½Ñ «»ÑαáΓ«αá for «»ÑαáΓ«α ¡Ñ
óδ»«½¡∩ÑΓß∩.
è«úñá ó «»ÑαáΓ«αÑ µ¿¬½á ¿ß»«½∞ºπÑΓß∩ ¬½ετÑó«Ñ ß½«ó« downto,
º¡áτÑ¡¿Ñ π»αáó½∩εΘÑ⌐ »ÑαѼѡ¡«⌐ π¼Ñ¡∞ΦáÑΓß∩ »α¿ ¬áªñ«¼ »«óΓ«αÑ¡¿¿
¡á Ññ¿¡¿µπ. àß½¿ ¡áτá½∞¡«Ñ º¡áτÑ¡¿Ñ ó Γᬫ¼ «»ÑαáΓ«αÑ ¼Ñ¡∞ΦÑ, τѼ
¬«¡Ñτ¡«Ñ º¡áτÑ¡¿Ñ, Γ« ß«ñÑαªáΘ¿⌐ß∩ ó ΓÑ½Ñ «»ÑαáΓ«αá µ¿¬½á «»ÑαáΓ«α
¡Ñ óδ»«½¡∩ÑΓß∩.
àß½¿ «»ÑαáΓ«α, ß«ñÑαªáΘ¿⌐ß∩ ó ΓÑ½Ñ «»ÑαáΓ«αá for, ¿º¼Ñ¡∩ÑΓ
º¡áτÑ¡¿Ñ π»αáó½∩εΘÑ⌐ »ÑαѼѡ¡«⌐, Γ« φΓ« ∩ó½∩ÑΓß∩ «Φ¿í¬«⌐. Å«ß½Ñ
óδ»«½¡Ñ¡¿∩ «»ÑαáΓ«αá for º¡áτÑ¡¿Ñ π»αáó½∩εΘÑ⌐ »ÑαѼѡ¡«⌐ ßΓá¡«ó¿Γß∩
¡Ñ«»αÑñѽѡ¡δ¼, Ñß½¿ Γ«½∞¬« óδ»«½¡Ñ¡¿Ñ «»ÑαáΓ«αá for ¡Ñ í佫
»αÑαóá¡« ß »«¼«Θ∞ε «»ÑαáΓ«αá »ÑαÑσ«ñá.
àß½¿ »α¿¡∩Γ∞ ó« ó¡¿¼á¡¿Ñ φΓ¿ «úαá¡¿τÑ¡¿∩, Γ« «»ÑαáΓ«α
for V := Expr1 to Expr2 do Body;
φ¬ó¿óá½Ñ¡ΓÑ¡ «»ÑαáΓ«απ
begin
Temp1 := Expr1;
Temp2 := Expr2;
if Temp1 <= Temp2 then
begin
V := Temp1;
Body;
while V <> Temp2 do
begin
V := Succ(V);
Body;
end;
end;
end;
¿ «»ÑαáΓ«α µ¿¬½á for
for V := Expr1 downto Expr2 do Body;
φ¬ó¿óá½Ñ¡ΓÑ¡ «»ÑαáΓ«απ
begin
Temp1 := Expr1;
Temp2 := Expr2;
if Temp1 >= Temp2 then
begin
V := Temp1;
Body;
while V <> Temp2 do
begin
V := Pred(V);
Body;
end;
end;
end;
úñÑ Temp1 ¿ Temp2 - óß»«¼«úáΓѽ∞¡δÑ »ÑαѼѡ¡δÑ, Γ¿» ¬«Γ«αδσ
ß«ó»áñáÑΓ ß «ß¡«ó¡δ¼ Γ¿»«¼ »ÑαѼѡ¡«⌐ V ¿ ¬«Γ«αδÑ ¡Ñ óßΓαÑτáεΓß∩ ó
ñαπú«¼ ¼ÑßΓÑ »α«úαá¼¼δ.
Åα¿óÑñѼ »α¿¼Ñαδ «»ÑαáΓ«αá µ¿¬½á for:
for I := 2 to 63 do
if Data[I] > Max then
Max := Data[I];
for I := 1 to 10 do
for J := 1 to 10 do
begin
X := 0;
for K := 1 to 10 do
X := X + Mat1[I, K] * Mat2[K, J];
Mat [I, J] := X;
end;
for C := Red to Blue do Check(C);
Ä»ÑαáΓ«α ¡áñ ºá»¿ß∩¼¿ with.
é «»Ñαᵿ∩σ ¡áñ ºá»¿ß∩¼¿ «»ÑαáΓ«α with πñ«í¡« ¿ß»«½∞º«óáΓ∞ ñ½∩
¬αáΓ¬«ú« «íαáΘÑ¡¿∩ ¬ »«½∩¼ ºá»¿ß¿ ¿ ¬ »«½∩¼, ¼ÑΓ«ñá¼, ¬«¡ßΓαá¬Γ«απ
¿ ñÑßΓαá¬Γ«απ «íΩѬΓá. é «»ÑαáΓ«αÑ with ¬ »«½∩¼ «ñ¡«⌐ ¿½¿ í«½ÑÑ
¬«¡¬αÑΓ¡δσ »ÑαѼѡ¡δσ Γ¿»á ºá»¿ß∞ ¼«ª¡« «íαáΘáΓ∞ß∩, ¿ß»«½∞ºπ∩
Γ«½∞¬« ¿ñÑ¡Γ¿Σ¿¬áΓ«αδ »«½Ñ⌐. Ä»ÑαáΓ«α with ¿¼ÑÑΓ ß½ÑñπεΘ¿⌐
ß¿¡Γá¬ß¿ß:
┌────┐ ┌───────────────┐ ┌──┐ ┌────────┐
«»ÑαáΓ«α ──÷│with├─────÷│ßßδ½¬á ¡á »ÑαÑ-├──┬─÷│do├──÷│«»ÑαáΓ«α├──÷
with └────┘ ° │¼Ñ¡¡πε Γ¿»á │ │ └──┘ └────────┘
│ │ºá»¿ß∞ │ │
│ │¿½¿ «íΩÑ¬Γ │ │
│ └───────────────┘ │
│ ┌───┐ │
└────────┤ , │≈────────┘
└───┘
ßßδ½¬á ¡á »ÑαѼѡ¡πε ┌────────────────────┐
Γ¿»á ºá»¿ß∞ ¿½¿ «íΩÑ¬Γ ───÷│ßßδ½¬á ¡á »ÑαѼѡ¡πε├──÷
└────────────────────┘
Åα¿óÑñѼ »α¿¼Ñα «»ÑαáΓ«αá with:
with Data do
if Month = 12 then
begin
Month := 1;
Year := Year + 1;
end
else
Month := Month + 1;
¥Γ« φ¬ó¿óá½Ñ¡Γ¡« ß½ÑñπεΘѼπ:
if Date.Month = 12 then
begin
Date.Month := 1;
Date.Year := Date.Year + 1;
end
else
Date.Month := Date.Month + 1;
é «»ÑαáΓ«αÑ with ß¡áτá½á »α«¿ºó«ñ¿Γß∩ »α«óÑα¬á ¬áªñ«⌐ ßß佬¿
¡á »ÑαѼѡ¡πε, á ¿¼Ñ¡¡«: ¼«ª¡« ½¿ ÑÑ ¿¡ΓÑα»αÑΓ¿α«óáΓ∞, ¬á¬ »«½Ñ
ºá»¿ß¿. àß½¿ ¼«ª¡«, Γ« «¡á óßÑúñá ¿¡ΓÑα»αÑΓ¿απÑΓß∩ ¿¼Ñ¡¡« Γᬿ¼
«íαẫ¼, ñáªÑ Ñß½¿ ¿¼ÑÑΓß∩ ñ«ßΓπ» ¬ »ÑαѼѡ¡«⌐ ß ΓѼ ªÑ ¿¼Ñ¡Ñ¼.
ä«»πßΓ¿¼, «í∞∩ó½Ñ¡δ ß½ÑñπεΘ¿Ñ »ÑαѼѡ¡δÑ:
type
Point = record
X, Y: Integer;
end;
var
X : Point;
Y : Integer;
é φΓ«¼ ß½πτáÑ ¿ ¬ X, ¿ ¬ Y ¼«ª¡« «íαáΘáΓ∞ß∩, ¬á¬ ¬ »ÑαѼѡ¡«⌐
¿½¿ ¬á¬ ¬ »«½ε ºá»¿ß¿. é «»ÑαáΓ«αÑ:
with X do
begin
X := 10;
Y := 25;
end;
X ¼Ñªñ𠬽ετÑó묨 ß½«óἿ with ¿ do «Γ¡«ß¿Γß∩ ¬ »ÑαѼѡ¡«⌐
Γ¿»á point, á ó ß«ßΓáó¡«¼ «»ÑαáΓ«αÑ X ¿ Y ßßδ½áεΓß∩ ¡á X.X ¿ X.Y.
Ä»ÑαáΓ«α
with V1, V2, ... Vn do S;
φ¬ó¿óá½Ñ¡ΓÑ¡ «»ÑαáΓ«αá¼:
with V1 do
with V2 do
....
with Vn do
S;
é «í«¿σ ß½πτá∩σ, Ñß½¿ Vn ∩ó½∩ÑΓß∩ »«½Ñ¼ ¿ V1, ¿ V2, Γ« «¡á
¿¡ΓÑα»αÑΓ¿απÑΓß∩ ¬á¬ V2.Vn, á ¡Ñ ¬á¬ V1.Vn.
àß½¿ óδí«α¬á »ÑαѼѡ¡«⌐ Γ¿»á ºá»¿ß∞ ßó∩ºá¡á ß ¿¡ñѬ߿α«ó᡿Ѽ
¼áßß¿óá ¿½¿ óδτ¿ß½Ñ¡¿Ñ¼ π¬áºáΓѽ∩, Γ« φΓ¿ ñÑ⌐ßΓó¿∩ »α«¿ºó«ñ∩Γß∩ ñ«
Γ«ú«, ¬á¬ íπñÑΓ óδ»«½¡∩Γ∞ß∩ ß«ßΓáó¡«⌐ «»ÑαáΓ«α.