home *** CD-ROM | disk | FTP | other *** search
/ BBS 1 / BBS#1.iso / document / pas60pg.lzh / PG03.MY < prev    next >
Text File  |  1991-02-04  |  52KB  |  1,229 lines

  1.  
  2.                               âïÇéÇ 3
  3.  
  4.                                ÆêÅ¢.
  5.  
  6.      Åα¿ «íΩ∩ó½Ñ¡¿¿  »ÑαѼѡ¡«⌐  ¡Ñ«íσ«ñ¿¼«  π¬áºáΓ∞  ÑÑ  Γ¿».  Æ¿»
  7. »ÑαѼѡ¡«⌐ «»¿ßδóáÑΓ ¡áí«α º¡áτÑ¡¿⌐, ¬«Γ«αδÑ «¡á ¼«ªÑΓ »α¿¡¿¼áΓ∞, ¿
  8. ñÑ⌐ßΓó¿∩,  ¬«Γ«αδÑ  ¼«úπΓ  íδΓ∞ ¡áñ ¡Ñ⌐ óδ»«½¡Ñ¡δ.  ÄíΩ∩ó½Ñ¡¿Ñ Γ¿»á
  9. «»αÑñѽ∩ÑΓ ¿ñÑ¡Γ¿Σ¿¬áΓ«α, ¬«Γ«αδ⌐ «í«º¡áτáÑΓ Γ¿».
  10.  
  11.               ┌───────────┐   ┌───┐   ┌─────┐   ┌───┐
  12. «íΩ∩ó½Ñ¡¿Ñ ──÷│ ¿ñÑ¡Γ¿Σ¿- ├──÷│ = ├──÷│ Γ¿» ├──÷│ ; ├──÷
  13.     Γ¿»á      │   ¬áΓ«α   │   └───┘   └─────┘   └───┘
  14.               └───────────┘
  15.                     ┌────────────────────┐
  16. Γ¿»   ────────┬────÷│   »α«ßΓ«⌐    Γ¿»   │─────────÷
  17.               │     └────────────────────┘    °
  18.               │     ┌────────────────────┐    │
  19.               ├────÷│  Γ¿»    π¬áºáΓѽ∩  ├────┤
  20.               │     └────────────────────┘    │
  21.               │     ┌────────────────────┐    │
  22.               ├────÷│ ßΓαπ¬Γπα¡δ⌐   Γ¿»  ├────┤
  23.               │     └────────────────────┘    │
  24.               │     ┌────────────────────┐    │
  25.               ├────÷│  ßΓ᫬«óδ⌐    Γ¿»  ├────┤
  26.               │     └────────────────────┘    │
  27.               │     ┌────────────────────┐    │
  28.               └────÷│ êñÑ¡Γ¿Σ¿¬áΓ«α Γ¿»á ├────┘
  29.                     └────────────────────┘
  30.  
  31.  
  32.      ô¬áºá¡¿Ñ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá   ó   ½Ñó«⌐   τáßΓ¿   «íΩ∩ó½Ñ¡¿∩  Γ¿»á
  33. «º¡áτáÑΓ,τΓ« «¡ «»αÑñѽѡ  ¬á¬  ¿ñÑ¡Γ¿Σ¿¬áΓ«α  Γ¿»á  ñ½∩  í½«¬á,  ó
  34. ¬«Γ«α«¼   óßΓαÑτáÑΓß∩   φΓ«   «íΩ∩ó½Ñ¡¿Ñ   Γ¿»á.  Äí½áßΓ∞  ñÑ⌐ßΓó¿∩
  35. ¿ñÑ¡Γ¿Σ¿¬áΓ«αá Γ¿»á ¡Ñ ó¬½ετáÑΓ Ñú«  ßἫú«,  ºá  ¿ß¬½ετÑ¡¿Ñ¼  Γ¿»á
  36. π¬áºáΓѽ∞.
  37.      ê¼ÑÑΓß∩ 6 í«½∞Φ¿σ ¬½áßß«ó Γ¿»«ó:
  38.    - »α«ßΓδÑ Γ¿»δ;
  39.    - ßΓ᫬«óδÑ Γ¿»δ;
  40.    - ßΓαπ¬Γπα¡δÑ Γ¿»δ;
  41.    - Γ¿» π¬áºáΓѽ∞;
  42.    - »α«µÑñπα¡δÑ Γ¿»δ;
  43.    - «íΩÑ¬Γ¡δÑ Γ¿»δ.
  44.      é »«ß½ÑñπεΘ¿σ αáºñѽáσ íπñÑΓ «»¿ßá¡ ¬áªñδ⌐ ¿º φΓ¿σ ¬½áßß«ó.
  45.  
  46.  
  47.                            Åα«ßΓδÑ Γ¿»δ
  48.  
  49.      Åα«ßΓδÑ Γ¿»δ «»αÑñѽ∩εΓ π»«α∩ñ«τÑ¡¡δÑ ¼¡«ªÑßΓóá º¡áτÑ¡¿⌐.
  50.  
  51.                        ┌────────────────────┐
  52. »α«ßΓ«⌐ Γ¿» ─────┬────÷│ »«α∩ñ¬«óδ⌐    Γ¿»  ├─────────÷
  53.                  │     └────────────────────┘     °
  54.                  │     ┌────────────────────┐     │
  55.                  └────÷│ óÑΘÑßΓóÑ¡¡δ⌐  Γ¿»  ├─────┘
  56.                        └────────────────────┘
  57.                        ┌────────────────────┐
  58. óÑΘÑßΓóÑ¡¡δ⌐ Γ¿» ─────÷│ ¿ñÑ¡Γ¿Σ¿¬áΓ«α      ├─────÷
  59.                        │ óÑΘÑßΓóÑ¡¡«ú« Γ¿»á │
  60.                        └────────────────────┘
  61.  
  62.      êñÑ¡Γ¿Σ¿¬áΓ«α óÑΘÑßΓóÑ¡¡«ú« Γ¿»á «Γ¡«ß¿Γß∩ ¬ τ¿ß½π ßΓá¡ñáαΓ¡δσ
  63. ¿ñÑ¡Γ¿Σ¿¬áΓ«α«ó,  ¬«Γ«αδÑ ¼«úπΓ íδΓ∞ Real, Single, Double, Extended
  64. ¿½¿  Comp.  é ú½áóÑ 1 ¼«ª¡« ¡á⌐Γ¿ «»¿ßá¡¿Ñ,  ¬á¬ ºáñáóáΓ∞ ¬«¡ßΓá¡Γδ
  65. µÑ½«ú« ¿ óÑΘÑßΓóÑ¡¡«ú« Γ¿»«ó.
  66.  
  67.  
  68.                          Å«α∩ñ¬«óδÑ Γ¿»δ.
  69.  
  70.      Å«α∩ñ¬«óδÑ Γ¿»δ »αÑñßΓáó½∩εΓ ß«í«⌐ »«ñ¼¡«ªÑßΓó« »α«ßΓδσ Γ¿»«ó.
  71. éßÑ  »α«ßΓδÑ  Γ¿»δ,  «Γ½¿τ¡δÑ  «Γ  óÑΘÑßΓóÑ¡¡δσ   Γ¿»«ó,   ∩ó½∩εΓß∩
  72. »«α∩ñ¬«ó묨 ¿ óδñѽ∩εΓß∩ »« ß½ÑñπεΘ¿¼ τÑΓδαѼ σáαá¬ΓÑα¿ßΓ¿¬á¼.
  73.  
  74.      - éßѠ󫺼«ª¡δÑ º¡áτÑ¡¿∩ ñá¡¡«ú« »«α∩ñ¬«ó«ú« Γ¿»á »αÑñßΓáó½∩εΓ
  75. ß«í«⌐ π»«α∩ñ«τÑ¡¡«Ñ ¼¡«ªÑßΓó«,  ¿ ¬áªñ«Ñ ó«º¼«ª¡«Ñ º¡áτÑ¡¿Ñ ßó∩ºá¡«
  76. ß  »«α∩ñ¬«óδ¼  ¡«¼Ñα«¼,  ¬«Γ«αδ⌐  »αÑñßΓáó½∩ÑΓ  ß«í«⌐ µÑ½«τ¿ß½Ñ¡¡«Ñ
  77. º¡áτÑ¡¿Ñ.  çᠿ߬½ετÑ¡¿Ñ¼ º¡áτÑ¡¿⌐ Γ¿»á  Integer,  »Ñαó«Ñ  º¡áτÑ¡¿Ñ
  78. ½εí«ú«   »«α∩ñ¬«ó«ú«  Γ¿»á  ¿¼ÑÑΓ  »«α∩ñ¬«óδ⌐  ¡«¼Ñα  0,  ß½ÑñπεΘÑÑ
  79. º¡áτÑ¡¿Ñ ¿¼ÑÑΓ »«α∩ñ¬«óδ⌐ ¡«¼Ñα 1 ¿ Γᬠñá½ÑÑ ñ½∩  ¬áªñ«ú« º¡áτÑ¡¿∩
  80. ó φΓ«¼  »«α∩ñ¬«ó«¼  Γ¿»Ñ.  Å«α∩ñ¬«óδ¼ ¡«¼Ñα«¼ º¡áτÑ¡¿∩ Γ¿»á Integer
  81. ∩ó½∩ÑΓß∩  ßἫ  φΓ«  º¡áτÑ¡¿Ñ.  é  ½εí«¼  »«α∩ñ¬«ó«¼  Γ¿»Ñ  ¬áªñ«¼π
  82. º¡áτÑ¡¿ε,  ¬α«¼Ñ  »Ñαó«ú«,  »αÑñΦÑßΓóπÑΓ  ñαπú«Ñ º¡áτÑ¡¿Ñ,  ¿ »«ß½Ñ
  83. ¬áªñ«ú« º¡áτÑ¡¿∩,  ¬α«¼Ñ  »«ß½Ññ¡Ñú«,  ß½ÑñπÑΓ  ñαπú«Ñ  º¡áτÑ¡¿Ñ  ó
  84. ß««ΓóÑΓßΓó¿¿ ß π»«α∩ñ«τÑ¡¡«ßΓ∞ε Γ¿»á.
  85.  
  86.      - è   ½εí«¼π   º¡áτÑ¡¿ε   »«α∩ñ¬«ó«ú«   Γ¿»á  ¼«ª¡«  »α¿¼Ñ¡¿Γ∞
  87. ßΓá¡ñáαΓ¡πε  Σπ¡¬µ¿ε  Ord,  ó«ºóαáΘáεΘπε  »«α∩ñ¬«óδ⌐  ¡«¼Ñα   φΓ«ú«
  88. º¡áτÑ¡¿∩.
  89.  
  90.      - è   ½εí«¼π   º¡áτÑ¡¿ε   »«α∩ñ¬«ó«ú«   Γ¿»á  ¼«ª¡«  »α¿¼Ñ¡¿Γ∞
  91. ßΓá¡ñáαΓ¡πε Σπ¡¬µ¿ε  Pred,  ó«ºóαáΘáεΘπε  º¡áτÑ¡¿Ñ,  »αÑñΦÑßΓóπεΘÑÑ
  92. φΓ«¼π  º¡áτÑ¡¿ε.  àß½¿ φΓá Σπ¡¬µ¿∩ »α¿¼Ñ¡∩ÑΓß∩ ¬ »Ñαó«¼π º¡áτÑ¡¿ε ó
  93. φΓ«¼ »«α∩ñ¬«ó«¼ Γ¿»Ñ, Γ« óδñáÑΓß∩ ß««íΘÑ¡¿Ñ «í «Φ¿í¬Ñ.
  94.  
  95.      - è  ½εí«¼π  º¡áτÑ¡¿ε   »«α∩ñ¬«ó«ú«   Γ¿»á   ¼«ª¡«   »α¿¼Ñ¡¿Γ∞
  96. ßΓá¡ñáαΓ¡πε Σπ¡¬µ¿ε Succ, ó«ºóαáΘáεΘπε º¡áτÑ¡¿Ñ, ß½ÑñπεΘÑÑ ºá φΓ¿¼.
  97. àß½¿  φΓá  Σπ¡¬µ¿∩  »α¿¼Ñ¡∩ÑΓß∩  ¬  »«ß½Ññ¡Ñ¼π  º¡áτÑ¡¿ε   ó   φΓ«¼
  98. »«α∩ñ¬«ó«¼ Γ¿»Ñ, Γ« óδñáÑΓß∩ ß««íΘÑ¡¿Ñ «í «Φ¿í¬Ñ.
  99.  
  100.      æ¿¡Γá¬ß¿ß »«α∩ñ¬«ó«ú« Γ¿»á ¿¼ÑÑΓ ß½ÑñπεΘ¿⌐ ó¿ñ:
  101.  
  102.                        ┌────────────────────┐
  103. »«α∩ñ¬«óδ⌐  ─────┬────÷│ Γ¿» »«ññ¿á»áº«¡á   ├─────────÷
  104.   Γ¿»            │     └────────────────────┘     °
  105.                  │     ┌────────────────────┐     │
  106.                  ├────÷│ »ÑαÑτ¿ß½¿¼δ⌐  Γ¿»  ├─────┘
  107.                  │     └────────────────────┘     │
  108.                  │     ┌────────────────────┐     │
  109.                  └────÷│ ¿ñÑ¡Γ¿Σ¿¬áΓ«α      │     │
  110.                        │ »«α∩ñ¬«ó«ú«  Γ¿»á  ├─────┘
  111.                        └────────────────────┘
  112.  
  113.      Turbo Pascal ¿¼ÑÑΓ ßѼ∞ óßΓα«Ñ¡¡δσ »«α∩ñ¬«óδσ  Γ¿»«ó:  Integer
  114. (µÑ½δ⌐),  Shortint (¬«α«Γ¬¿⌐ µÑ½δ⌐),  Longint (ñ½¿¡¡δ⌐ µÑ½δ⌐), Byte
  115. (ñ½¿¡«⌐ ó íá⌐Γ), Word (ñ½¿¡«⌐ ó ß½«ó«), Boolean (½«ú¿τÑ߬¿⌐) ¿ Char
  116. (ß¿¼ó«½∞¡δ⌐).  èα«¼Ñ  Γ«ú«,  ¿¼ÑÑΓß∩  ñóá  ñαπú¿σ ¬½áßßá »«α∩ñ¬«óδσ
  117. Γ¿»«ó,  «»αÑñѽ∩Ѽδσ  »«½∞º«óáΓѽѼ:  »ÑαÑτ¿ß½¿¼δÑ  Γ¿»δ   ¿   Γ¿»δ
  118. »«ññ¿á»áº«¡á.
  119.  
  120.                            ûѽ«τ¿ß½Ñ¡¡δ⌐ Γ¿»
  121.  
  122.      é Turbo  Pascal  ¿¼ÑÑΓß∩  »∩Γ∞ óßΓα«Ñ¡¡δσ µÑ½«τ¿ß½Ñ¡¡δσ Γ¿»«ó:
  123. Shortint  (¬«α«Γ¬«Ñ  µÑ½«Ñ),  Integer  (µÑ½«Ñ),  Longint   (ñ½¿¡¡«Ñ
  124. µÑ½«Ñ),  Byte  (ñ½¿¡«⌐ ó íá⌐Γ) ¿ Word (ñ½¿¡«⌐ ó ß½«ó«).  èáªñδ⌐ Γ¿»
  125. «í«º¡áτáÑΓ «»αÑñѽѡ¡«Ñ »«ñ¼¡«ªÑßΓ󫠵ѽδσ τ¿ßѽ,  ¬á¬ φΓ« »«¬áºá¡«
  126. ó ß½ÑñπεΘÑ⌐ Γáí½¿µÑ.
  127.  
  128.  
  129.           Æáí½¿µá 3.1: éßΓα«Ñ¡¡δÑ µÑ½«τ¿ß½Ñ¡¡δÑ Γ¿»δ
  130. ───────────────────────────────────────────────────────────────────
  131.   Æ¿»               ä¿á»áº«¡                 ö«α¼áΓ
  132. ───────────────────────────────────────────────────────────────────
  133.  Shortint          -128 .. 127            8 í¿Γ«ó ß« º¡á¬«¼
  134.  
  135.  Integer         -32768 .. 32767         16 í¿Γ«ó ß« º¡á¬«¼
  136.  
  137.  Longint    -2147483648 .. 2147483647    32 í¿Γá ß« º¡á¬«¼
  138.  
  139.  Byte                 0 .. 255            8 í¿Γ«ó íѺ º¡á¬á
  140.  
  141.  Word                 0 .. 65535         16 í¿Γ«ó íѺ º¡á¬á
  142. ───────────────────────────────────────────────────────────────────
  143.  
  144.      Çα¿Σ¼ÑΓ¿τÑ߬¿Ñ ñÑ⌐ßΓó¿∩    ¡áñ    «»Ñαá¡ñἿ    µÑ½«ú«    Γ¿»á
  145. »αÑñ»«½áúáεΓ 8-,  16-  ¿  32-í¿Γ«óπε  Γ«τ¡«ßΓ∞  ó  ß««ΓóÑΓßΓó¿¿  ß«
  146. ß½ÑñπεΘ¿¼¿ »αáó¿½á¼¿:
  147.  
  148.      - Æ¿»    µÑ½«⌐   ¬«¡ßΓá¡Γδ   »αÑñßΓáó½∩ÑΓ   ß«í«⌐   óßΓα«Ñ¡¡δ⌐
  149. µÑ½«τ¿ß½Ñ¡¡δ⌐ Γ¿» ß ¡á¿¼Ñ¡∞Φ¿¼ ñ¿á»áº«¡«¼, ó¬½ετáεΘ¿¼ º¡áτÑ¡¿Ñ φΓ«⌐
  150. µÑ½«⌐ ¬«¡ßΓá¡Γδ;
  151.  
  152.      - é ß½πτáÑ í¿¡áα¡«⌐ «»Ñαᵿ¿,  «íá «»Ñαá¡ñá »αÑ«íαáºπεΓß∩ ¬ ¿σ
  153. «íΘѼπ Γ¿»π »ÑαÑñ ΓѼ,  ¬á¬ ¡áñ ¡¿¼¿ »α«¿ºó«ñ¿Γß∩  «»Ñαᵿ∩.  ÄíΘ¿¼
  154. Γ¿»«¼   ∩ó½∩ÑΓß∩   óßΓα«Ñ¡¡δ⌐   µÑ½«τ¿ß½Ñ¡¡δ⌐   Γ¿»   ß  ¡á¿¼Ñ¡∞Φ¿¼
  155. ñ¿á»áº«¡«¼,  ó¬½ετáεΘ¿¼  óßÑ  ó«º¼«ª¡δÑ   º¡áτÑ¡¿∩   «í«¿σ   Γ¿»«ó.
  156. ìá»α¿¼Ñα, «íΘ¿¼  Γ¿»«¼  ñ½∩ Integer ¿ Byte ∩ó½∩ÑΓß∩ Γ¿» Integer,  á
  157. «íΘ¿¼ Γ¿»«¼  ñ½∩  Integer  ¿  Word   ∩ó½∩ÑΓß∩   LongInt.   äÑ⌐ßΓó¿Ñ
  158. óδ»«½¡∩ÑΓß∩   ó  ß««ΓóÑΓßΓó¿¿  ß  Γ«τ¡«ßΓ∞ε  «íΘÑú«  Γ¿»á  ¿  Γ¿»«¼
  159. αѺπ½∞ΓáΓá ∩ó½∩ÑΓß∩ «íΘ¿⌐ Γ¿».
  160.  
  161.      - éδαáªÑ¡¿Ñ  ß»αáóá  ó  «»ÑαáΓ«αÑ   »α¿ßóá¿óá¡¿∩   óδτ¿ß½∩ÑΓß∩
  162. ¡Ñºáó¿ß¿¼« «Γ αẼÑαá ¿½¿ Γ¿»á »ÑαѼѡ¡«⌐ ó ½Ñó«⌐ τáßΓ¿.
  163.  
  164.      - ÅÑαÑñ  óδ»«½¡Ñ¡¿Ñ¼  ½εí«⌐  áα¿Σ¼ÑΓ¿τÑ߬«⌐  «»Ñαᵿ¿  «»Ñαá¡ñ
  165. αẼÑα«¼ ó íá⌐Γ »αÑ«íαáºπÑΓß∩ ó »α«¼ÑªπΓ«τ¡δ⌐  «»Ñαá¡ñ  αẼÑα«¼  ó
  166. ß½«ó«, τΓ«  ß«ó¼ÑßΓ¿¼«  ¬á¬  ß  Γ¿»«¼ Integer,  Γᬠ¿ ß Γ¿»«¼ Word.
  167.      ç¡áτÑ¡¿Ñ «ñ¡«ú« µÑ½«τ¿ß½Ñ¡¡«ú« Γ¿»á ¼«ªÑΓ íδΓ∞  ∩ó¡δ¼  «íαẫ¼
  168. »αÑ«íαẫóá¡«  ¬  ñαπú«¼π  µÑ½«τ¿ß½Ñ¡¡«¼π Γ¿»π ß »«¼«Θ∞ε »α¿óÑñÑ¡¿∩
  169. Γ¿»«ó (Åα¿óÑñÑ¡¿Ñ Γ¿»«ó «»¿ßδóáεΓß∩ ó ú½áóáσ 4 ¿ 6).
  170.  
  171.  
  172.                           ï«ú¿τÑ߬¿⌐ Γ¿»
  173.  
  174.      ç¡áτÑ¡¿∩ ½«ú¿τÑ߬«ú«     Γ¿»á     «í«º¡áτáεΓß∩     óßΓα«Ñ¡¡δ¼¿
  175. ¿ñÑ¡Γ¿Σ¿¬áΓ«αἿ ¬«¡ßΓá¡Γ False ¿ True.  Å«ß¬«½∞¬π  ½«ú¿τÑ߬¿⌐  Γ¿»
  176. ∩ó½∩ÑΓß∩ »ÑαÑτ¿ß½¿¼δ¼, ¼Ñªñπ φΓ¿¼¿ º¡áτÑ¡¿∩¼¿ ¿¼ÑεΓ ¼ÑßΓ« ß½ÑñπεΘ¿Ñ
  177. «Γ¡«ΦÑ¡¿∩:
  178.  
  179.      -  False < True
  180.      -  Ord(False) = 0
  181.      -  Ord(True) = 1
  182.      -  Succ(False) = True
  183.      -  Pred(True) = False
  184.  
  185.  
  186.                           æ¿¼ó«½∞¡δ⌐ Γ¿»
  187.  
  188.      î¡«ªÑßΓó«¼ º¡áτÑ¡¿⌐ φΓ«ú« Γ¿»á ∩ó½∩εΓß∩ ß¿¼ó«½δ, π»«α∩ñ«τÑ¡¡δÑ
  189. ó  ß««ΓóÑΓßΓó¿¿  ß  αáßΦ¿αÑ¡¡δ¼   ¡áí«α«¼   ß¿¼ó«½«ó   ¬«ñá   ASCII
  190. (Åα¿½«ªÑ¡¿Ñ  é).  Åα¿  ó맮óÑ  Σπ¡¬µ¿¿  Ord(Ch),  úñÑ Ch - º¡áτÑ¡¿Ñ
  191. Γ¿»á Char, ó«ºóαáΘáÑΓß∩ »«α∩ñ¬«óδ⌐ ¡«¼Ñα Ch.
  192.      æΓ᫬«óá∩ ¬«¡ßΓá¡Γá  ß  ñ½¿¡«⌐  1  ¼«ªÑΓ  «í«º¡áτáΓ∞  º¡áτÑ¡¿Ñ
  193. ¬«¡ßΓá¡Γδ ß¿¼ó«½∞¡«ú« Γ¿»á.  ïεí«Ñ º¡áτÑ¡¿Ñ ß¿¼ó«½∞¡«ú« Γ¿»á  ¼«ª¡«
  194. »«½πτ¿Γ∞ ß »«¼«Θ∞ε ßΓá¡ñáαΓ¡«⌐ Σπ¡¬µ¿¿ Chr.
  195.  
  196.  
  197.                          ÅÑαÑτ¿ß½¿¼δÑ Γ¿»δ
  198.  
  199.      ÅÑαÑτ¿ß½¿¼δÑ Γ¿»δ  «»αÑñѽ∩εΓ  π»«α∩ñ«τÑ¡¡δÑ  ¡áí«αδ  º¡áτÑ¡¿⌐
  200. τÑαѺ   »ÑαÑτ¿ß½Ñ¡¿Ñ   ¿ñÑ¡Γ¿Σ¿¬áΓ«α«ó,   ¬«Γ«αδÑ   «í«º¡áτáεΓ  φΓ¿
  201. º¡áτÑ¡¿∩. ô»«α∩ñ«τÑ¡¿Ñ  ¡áí«α«ó  óδ»«½¡∩ÑΓß∩   ó   ß««ΓóÑΓßΓó¿¿   ß
  202. »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ε, ó ¬«Γ«α«⌐ »ÑαÑτ¿ß½∩εΓß∩ ¿ñÑ¡Γ¿Σ¿¬áΓ«αδ.
  203.  
  204.                 ┌───┐    ┌───────────────┐    ┌───┐
  205. »ÑαÑτ¿ß½¿¼δ⌐ ──÷│ ( ├───÷│   ß»¿ß«¬      ├───÷│ ) ├───÷
  206. Γ¿»             └───┘    │¿ñÑ¡Γ¿Σ¿¬áΓ«α«ó│    └───┘
  207.                          └───────────────┘
  208.  
  209.  
  210. ß»¿ß«¬                   ┌─────────────┐
  211. ¿ñÑ¡Γ¿Σ¿¬áΓ«α«ó ────────÷│¿ñÑ¡Γ¿Σ¿¬áΓ«α├───┬────÷
  212.                    °     └─────────────┘   │
  213.                    │      ┌───┐            │
  214.                    └──────┤ , │≈───────────┘
  215.                           └───┘
  216.  
  217.  
  218.      Åα¿ π¬áºá¡¿¿    ¿ñÑ¡Γ¿Σ¿¬áΓ«αá    ó   ß»¿ß¬Ñ   ¿ñÑ¡Γ¿Σ¿¬áΓ«α«ó
  219. »ÑαÑτ¿ß½¿¼«ú« Γ¿»á  «¡  «íΩ∩ó½∩ÑΓß∩  ¬á¬  ¬«¡ßΓá¡Γá  ñ½∩  í½«¬á,  ó
  220. ¬«Γ«α«¼ «íΩ∩ó½∩ÑΓß∩ »ÑαÑτ¿ß½¿¼δ⌐ Γ¿». Æ¿»«¼ φΓ«⌐ ¬«¡ßΓá¡Γδ ∩ó½∩ÑΓß∩
  221. «íΩ∩ó½Ñ¡¡δ⌐ »ÑαÑτ¿ß½¿¼δ⌐ Γ¿».
  222.      Å«α∩ñ¬«óδ⌐ ¡«¼Ñα   »ÑαÑτ¿ß½¿¼«⌐   ¬«¡ßΓá¡Γδ   «»αÑñѽ∩ÑΓß∩  ÑÑ
  223. »«º¿µ¿Ñ⌐ ó ß»¿ß¬Ñ ¿ñÑ¡Γ¿Σ¿¬áΓ«α«ó »α¿ «íΩ∩ó½Ñ¡¿¿. ÅÑαÑτ¿ß½¿¼δ⌐ Γ¿»,
  224. ó  ¬«Γ«α«¼  «»¿ßδóáÑΓß∩  ¬«¡ßΓá¡Γá,  ßΓá¡«ó¿Γß∩  ÑÑ  Γ¿»«¼.  ÅÑαóá∩
  225. »ÑαÑτ¿ß½¿¼á∩ ¬«¡ßΓá¡Γá ó ß»¿ß¬Ñ ¿¼ÑÑΓ »«α∩ñ¬«óδ⌐ ¡«¼Ñα  0.
  226.  
  227. Åα¿óÑñѼ »α¿¼Ñαδ »ÑαÑτ¿ß½¿¼«ú« Γ¿»á:
  228.  
  229.      type
  230.         Suit = (Club, Diamond, Heart, Spade);
  231.  
  232.      æ«ú½áß¡« φΓ¿¼  «íΩ∩ó½Ñ¡¿∩¼  diamond  ∩ó½∩ÑΓß∩  ¬«¡ßΓá¡Γ«⌐ Γ¿»á
  233. Suit.
  234.  
  235.      Åα¿ »α¿¼Ñ¡Ñ¡¿¿ Σπ¡¬µ¿¿ Ord ¬ º¡áτÑ¡¿ε »ÑαÑτ¿ß½¿¼«ú«  Γ¿»á  «¡á
  236. ó«ºóαáΘáÑΓ   µÑ½«Ñ   τ¿ß½«,  ¬«Γ«α«Ñ  »«¬áºδóáÑΓ,  ¬á¬«Ñ  »«½«ªÑ¡¿Ñ
  237. ºá¡¿¼áÑΓ  φΓ«  º¡áτÑ¡¿Ñ  »«  «Γ¡«ΦÑ¡¿ε  ¬  ñαπú¿¼  º¡áτÑ¡¿∩¼  φΓ«ú«
  238. »ÑαÑτ¿ß½¿¼«ú« Γ¿»á.  æ«ú½áß¡« »αÑñΦÑßΓóπεΘ¿¼ «íΩ∩ó½Ñ¡¿∩¼, Ord(Club)
  239. ó«ºóαáΘáÑΓ 0, Ord(Diamond) ó«ºóαáΘáÑΓ 1 ¿ Γᬠñá½ÑÑ.
  240.  
  241.  
  242.                          Æ¿» »«ññ¿á»áº«¡á
  243.  
  244.      Æ¿» »«ññ¿á»áº«¡á   »αÑñßΓáó½∩ÑΓ  ß«í«⌐  ñ¿á»áº«¡  º¡áτÑ¡¿⌐  ¿º
  245. »«α∩ñ¬«ó«ú«  Γ¿»á,  ¡áºδóáѼ«ú«  ú½áó¡δ¼  Γ¿»«¼.  Ä»αÑñѽѡ¿Ñ  Γ¿»á
  246. »«ññ¿á»áº«¡á   ó¬½ετáÑΓ   ¡á¿¼Ñ¡∞ΦÑÑ   ¿   ¡á¿í«½∞ΦÑÑ   º¡áτÑ¡¿∩  ó
  247. »«ññ¿á»áº«¡Ñ; «¡« ¿¼ÑÑΓ ß½ÑñπεΘ¿⌐ ß¿¡Γá¬ß¿ß:
  248.  
  249.  
  250. Γ¿»              ┌───────────┐    ┌────┐    ┌───────────┐
  251. »«ññ¿á»áº«¡á ───÷│ ¬«¡ßΓá¡Γá ├───÷│ .. ├───÷│ ¬«¡ßΓá¡Γá ├───÷
  252.                  └───────────┘    └────┘    └───────────┘
  253.  
  254.  
  255.      ÄíÑ ¬«¡ßΓá¡Γδ  ñ«½ª¡δ  íδΓ∞  «ñ¡«ú«  »«α∩ñ¬«ó«ú«  Γ¿»á.   Æ¿»δ
  256. »«ññ¿á»áº«¡á, ¿¼ÑεΘ¿Ñ ó¿ñ á ..  b,  ΓαÑíπεΓ, τΓ«íδ á íδ½ ¼Ñ¡∞ΦÑ ¿½¿
  257. αáóÑ¡ b.
  258.      Åα¿óÑñѼ »α¿¼Ñαδ Γ¿»«ó »«ññ¿á»áº«¡á:
  259.  
  260.         0 .. 99
  261.      -128 .. 127
  262.      Club .. Heart
  263.  
  264.      ÅÑαѼѡ¡á∩ Γ¿»á  »«ññ¿á»áº«¡á  ¿¼ÑÑΓ  óßÑ  ßó«⌐ßΓóá »ÑαѼѡ¡δσ
  265. ú½áó¡«ú« Γ¿»á,  «ñ¡á¬«  ÑÑ  º¡áτÑ¡¿Ñ  ¡á  φΓá»Ñ  óδ»«½¡Ñ¡¿∩  ñ«½ª¡«
  266. »α¿¡áñ½ÑªáΓ∞ π¬áºá¡¡«¼π ¿¡ΓÑαóá½π.
  267.      êº-ºá ñ«»πΘÑ¡¿∩ ¬«¡ßΓá¡Γ¡δσ óδαáªÑ¡¿⌐ ó«º¡¿¬áÑΓ ß¿¡Γá¬ß¿τÑ߬á∩
  268. ¡Ñ«»αÑñѽѡ¡«ßΓ∞ Γá¼,  úñÑ  ßΓá¡ñáαΓ¡δ⌐  Åá߬á½∞  ñ«»π߬áÑΓ  Γ«½∞¬«
  269. »α«ßΓδÑ ¬«¡ßΓá¡Γδ. Éácß¼«Γα¿¼ ß½ÑñπεΘ¿Ñ «íΩ∩ó½Ñ¡¿∩:
  270.  
  271.      const
  272.         X = 50;
  273.         Y = 10;
  274.      type
  275.         Color = (Red, Green, Blue);
  276.         Scale = (X - Y) * 2  ..  (X + Y) * 2;
  277.  
  278.      æ¿¡Γá¬ß¿ß ßΓá¡ñáαΓ¡«ú« Åá߬á½∩ ßΓáó¿Γ ¡Ñ»αѼѡ¡δ¼ πß½«ó¿Ñ¼,τΓ«
  279. Ñß½¿  «»αÑñѽѡ¿Ñ  Γ¿»á  ¡áτὫß∞  ß   ¬απú½«⌐   ß¬«í¬¿,   Γ«   φΓ«
  280. »ÑαÑτ¿ß½¿¼δ⌐ Γ¿»,  »«ñ«í¡« Γ¿»π Color,  «»αÑñѽѡ¡«¼π óδΦÑ.  Äñ¡á¬«
  281. µÑ½∞ε «íΩ∩ó½Ñ¡¿∩ Scale ∩ó½∩ÑΓß∩ ºáñá¡¿Ñ Γ¿»á »«ññ¿á»áº«¡á. ÉÑΦÑ¡¿Ñ¼
  282. φΓ«⌐   »α«í½Ñ¼δ   ∩ó½∩ÑΓß∩   ½¿í«   »ÑαÑñѽ¬á   »Ñαó«ú«   óδαáªÑ¡¿∩
  283. »«ññ¿á»áº«¡á Γá¬,  τΓ«íδ «¡« ¡Ñ ¡áτ¿¡á½«ß∞ ß  ¬απú½«⌐  ß¬«í¬¿,  ¿½¿
  284. ºáñá¡¿Ñ ñαπú«⌐ ¬«¡ßΓá¡Γδ,  αáó¡«⌐ º¡áτÑ¡¿ε φΓ«ú« óδαáªÑ¡¿∩, ¿ ºáΓѼ
  285. ¿ß»«½∞º«óá¡¿Ñ φΓ«⌐ ¬«¡ßΓá¡Γδ ó «»αÑñѽѡ¿¿ Γ¿»á:
  286.  
  287.      type
  288.         Scale = 2 * (X - Y)  ..  (X + Y) * 2;
  289.  
  290.  
  291.                          éÑΘÑßΓóÑ¡¡δÑ Γ¿»δ
  292.  
  293.      è óÑΘÑßΓóÑ¡¡«¼π  Γ¿»π  «Γ¡«ß¿Γß∩   »«ñ¼¡«ªÑßΓó«   óÑΘÑßΓóÑ¡¡δσ
  294. τ¿ßѽ, ¬«Γ«αδÑ ¼«úπΓ íδΓ∞ »αÑñßΓáó½Ñ¡δ ó Σ«α¼áΓÑ ß »½áóáεΘÑ⌐ Γ«τ¬«⌐
  295. ß Σ¿¬ß¿α«óá¡¡δ¼ τ¿ß½«¼ µ¿Σα.  çỿß∞ º¡áτÑ¡¿∩ ó Σ«α¼áΓÑ ß »½áóáεΘÑ⌐
  296. Γ«τ¬«⌐ «íδτ¡« ó¬½ετáÑΓ Γα¿ º¡áτÑ¡¿∩ - m,  b, e - Γᬿ¼ «íαẫ¼, τΓ«
  297. (m * b) ó ßΓѻѡ¿ e = n,  úñÑ b óßÑúñá αáóÑ¡ 2,  á m ¿  e  ∩ó½∩εΓß∩
  298. µÑ½«τ¿ß½Ñ¡¡δ¼¿  º¡áτÑ¡¿∩¼¿  ó  ñ¿á»áº«¡Ñ  óÑΘÑßΓóÑ¡¡«ú«  Γ¿»á.  ¥Γ¿
  299. º¡áτÑ¡¿∩ m ¿ e ñá½ÑÑ «»αÑñѽ∩εΓ ñ¿á»áº«¡ ¿  Γ«τ¡«ßΓ∞  óÑΘÑßΓóÑ¡¡«ú«
  300. Γ¿»á.
  301.      ê¼ÑεΓß∩ »∩Γ∞ ó¿ñ«ó óÑΘÑßΓóÑ¡¡δσ Γ¿»«ó:  Real,  Single, Double,
  302. Extended ¿ Comp.
  303.      éÑΘÑßΓóÑ¡¡δÑ Γ¿»δ αẽ¿τáεΓß∩ ñ¿á»áº«¡«¼ ¿ Γ«τ¡«ßΓ∞ε ßó∩ºá¡¡δσ
  304. ß ¡¿¼¿ º¡áτÑ¡¿⌐ (ß¼. Γáí½¿µπ 3.2)
  305.  
  306.                Æáí½¿µá 3.2  éÑΘÑßΓóÑ¡¡δÑ Γ¿»δ ñá¡¡δσ
  307.  
  308. ───────────────────────────────────────────────────────────────────
  309.   Æ¿»                  ä¿á»áº«¡             ç¡áτáΘ¿Ñ   ÉẼÑα ó
  310.                                              µ¿Σαδ     íá⌐Γáσ
  311. ───────────────────────────────────────────────────────────────────
  312.  Real         2.9x10**-39 .. 1.7x10**38       11-12       6
  313.  Single       1.5x10**-45 .. 3.4x10**38        7-8        4
  314.  Double      5.0x10**-324 .. 1.7x10**308      15-16       8
  315.  Extended   3.4x10**-4932 .. 1.1x10**4932     19-20      10
  316.  Comp         -2**63 + 1  .. 2**63 - 1        19-20       8
  317. ───────────────────────────────────────────────────────────────────
  318.  
  319.      Åα¿¼Ñτá¡¿Ñ :  æ½«ª¡δ⌐  Γ¿»   ß«ñÑαª¿Γ   Γ«½∞¬«   µÑ½«τ¿ß½Ñ¡¡δÑ
  320. º¡áτÑ¡¿∩ ó ñ¿á»áº«¡Ñ «Γ -2**63 + 1 ñ« 2**63 - 1, τΓ« »α¿í½¿º¿Γѽ∞¡«
  321. αáó¡« -9.2x10**18 ¿ 9.2x10**18.
  322.  
  323.      Turbo Pascal  »«ññÑনóáÑΓ  ñóÑ  ¼«ñѽ¿  úÑ¡Ñαᵿ¿  ¬«ñá   ñ½∩
  324. óδ»«½¡Ñ¡¿∩ ñÑ⌐ßΓó¿⌐ ¡áñ óÑΘÑßΓóÑ¡¡δ¼¿ Γ¿»á¼¿: »α«úαá¼¼¡πε ñ½∩ τ¿ßѽ
  325. ß »½áóáεΘÑ⌐ Γ«τ¬«⌐ ¿ á»»áαáΓ¡πε ñ½∩ τ¿ßѽ ß »½áóáεΘÑ⌐ Γ«τ¬«⌐. éδí«α
  326. ß««ΓóÑΓßΓóπεΘÑ⌐   ¼«ñѽ¿   «ßπΘÑßΓó½∩ÑΓß∩   ß   »«¼«Θ∞ε   ñ¿αÑ¬Γ¿óδ
  327. ¬«¼»¿½∩Γ«αá  $N.  Åα¿  «ΓßπΓßΓó¿¿   τ¿ß½«ó«ú«   ß«»α«µÑßß«αá   8087
  328. ñ¿αÑ¬Γ¿óá ¬«¼»¿½∩Γ«αá   $E   «íÑß»Ñτ¿Γ  »«½¡πε  φ¼π½∩µ¿ε  τ¿ß½«ó«ú«
  329. ß«»α«µÑßß«αá 8087.
  330.  
  331.  
  332.           Åα«úαá¼¼¡á∩ »«ññÑ᪬á τ¿ßѽ ß »½áóáεΘÑ⌐ Γ«τ¬«⌐.
  333.  
  334.      é ß«ßΓ«∩¡¿¿  {$N-}  ,  ¬«Γ«α«Ñ  πßΓá¡áó½¿óáÑΓß∩  »« π¼«½τá¡¿ε,
  335. úÑ¡Ñα¿απѼδ⌐ ¬«ñ óδ»«½¡∩ÑΓ óßÑ óδτ¿ß½Ñ¡¿∩  ß  óÑΘÑßΓóÑ¡¡δ¼¿  Γ¿»á¼¿
  336. »α«úαá¼¼¡«, τÑαѺ  óδº«ó »«ñ»α«úαá¼¼ í¿í½¿«ΓѬ¿ óαѼѡ¿ óδ»«½¡Ñ¡¿∩.
  337. êº-ºá ß««íαáªÑ¡¿∩  ß¬«α«ßΓ¿  ¿  αẼÑαá  ¬«ñá  ó   φΓ«¼   ß«ßΓ«∩¡¿¿
  338. ñ«»π߬áεΓß∩    Γ«½∞¬«    ñÑ⌐ßΓó¿∩   ¡áñ   »ÑαѼѡ¡δ¼¿   Γ¿»á   Real
  339. (óÑΘÑßΓóÑ¡¡δ⌐). ïεíá∩    »«»δΓ¬á     «ΓΓαá¡ß½¿α«óáΓ∞     «»ÑαáΓ«αδ,
  340. óδ»«½¡∩εΘ¿Ñ  ñÑ⌐ßΓó¿∩  ¡áñ Γ¿»á¼¿ Single,  Double,  Extended,  Comp
  341. óδºδóáÑΓ ß««íΘÑ¡¿Ñ «í «Φ¿í¬Ñ.
  342.  
  343.  
  344.           Ç»»áαáΓ¡á∩ »«ññÑ᪬á τ¿ßѽ ß »½áóáεΘÑ⌐ Γ«τ¬«⌐.
  345.  
  346.      é ß«ßΓ«∩¡¿¿  {$N+}  úÑ¡Ñα¿απѼδ⌐  ¬«ñ óδ»«½¡∩ÑΓ óßÑ óδτ¿ß½Ñ¡¿∩
  347. ¡áñ óÑΘÑßΓóÑ¡¡δ¼¿ Γ¿»á¼¿ ß »«¼«Θ∞ε τ¿ß½«ó«ú« ß«»α«µÑßß«αá 8087. ¥Γ«
  348. ß«ßΓ«∩¡¿Ñ »«ºó«½∩ÑΓ ¿ß»«½∞º«óáΓ∞ óßÑ »∩Γ∞ óÑΘÑßΓóÑ¡¡δσ Γ¿»«ó.
  349.      Turbo Pascal »«ñ¬½ετáÑΓ í¿í½¿«ΓѬπ óαѼѡ¿ óδ»«½¡Ñ¡¿∩, ¬«Γ«αá∩
  350. áóΓ«¼áΓ¿τÑ߬¿ φ¼π½¿απÑΓ   τ¿ß½«ó«⌐   ß«»α«µÑßß«α   8087,   Ñß½¿  «¡
  351. «ΓßπΓßΓóπÑΓ; ñ½∩ «»αÑñѽѡ¿∩ Γ«ú« íπñÑΓ ¿½¿ ¡ÑΓ ó¬½ετÑ¡  φ¼π½∩Γ«α ó
  352. »α«úαá¼¼π, ¿ß»«½∞ºπÑΓß∩ ñ¿αÑ¬Γ¿óá ¬«¼»¿½∩Γ«αá $E.
  353.      ü«½ÑÑ ñÑΓá½∞¡«Ñ  «»¿ßá¡¿Ñ  úÑ¡Ñαᵿ¿   ¬«ñá   »α¿   á»»áαáΓ¡«⌐
  354. »«ññÑαª¬Ñ   τ¿ßѽ   ß   »½áóáεΘÑ⌐   Γ«τ¬«⌐   ¿  φ¼π½∩µ¿¿  τ¿ß½«ó«ú«
  355. ß«»α«µÑßß«αá  8087  óδ  ¼«ªÑΓÑ  ¡á⌐Γ¿  ó  ú½áóÑ  14  "êß»«½∞º«óá¡¿Ñ
  356. 8087".
  357.  
  358.                           æΓ᫬«óδÑ Γ¿»δ
  359.  
  360.      ç¡áτÑ¡¿Ñ¼ ßΓ᫬«ó«ú« Γ¿»á ∩ó½∩ÑΓß∩ »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ ß¿¼ó«½«ó
  361. ß ñ¿¡á¼¿τÑ߬¿¼ áΓα¿íπΓ«¼ ñ½¿¡δ (ó  ºáó¿ß¿¼«ßΓ¿  «Γ  ñÑ⌐ßΓó¿Γѽ∞¡«ú«
  362. τ¿ß½á ß¿¼ó«½«ó   »α¿ óδ»«½¡Ñ¡¿¿ »α«úαá¼¼δ)  ¿ ¬«¡ßΓá¡Γ¡δ¼ áΓα¿íπΓ«¼
  363. αẼÑαá ó ñ¿á»áº«¡Ñ «Γ 1 ñ« 255.
  364.      æΓ᫬«óδ⌐ Γ¿»,   «íΩ∩ó½Ñ¡¡δ⌐   íѺ   áΓα¿íπΓá  αẼÑαá,  ¿¼ÑÑΓ
  365. πßΓá¡«ó½Ñ¡¡δ⌐ »« π¼«½τá¡¿ε áΓα¿íπΓ  αẼÑαá,  αáó¡δ⌐  255.  ÆѬπΘÑÑ
  366. º¡áτÑ¡¿Ñ  áΓα¿íπΓá  ñ½¿¡δ  ¼«ª¡«  »«½πτ¿Γ∞  ß  »«¼«Θ∞ε  ßΓá¡ñáαΓ¡«⌐
  367. Σπ¡¬µ¿¿ Length.
  368.  
  369.                   ┌──────┐
  370. ßΓ᫬«óδ⌐ Γ¿» ───÷│string├──┬──────────────────────────────÷
  371.                   └──────┘  │                          °
  372.                             │  ┌───┐   ┌─────┐   ┌───┐ │
  373.                             └─÷│ [ ├──÷│µÑ½«Ñ├──÷│ ] ├─┘
  374.                                └───┘   │íѺ  │   └───┘
  375.                                        │º¡á¬á│
  376.                                        └─────┘
  377.  
  378.  
  379.      ÄΓ¡«ΦÑ¡¿Ñ ¼Ñªñπ    ½εí묨    ñóπ¼∩    ßΓ᫬«ó묨    º¡áτÑ¡¿∩¼¿
  380. πßΓá¡áó½¿óáÑΓß∩   ß«ú½áß¡«   «Γ¡«ΦÑ¡¿ε   »«α∩ñ¬á  ¼Ñªñπ  º¡áτÑ¡¿∩¼¿
  381. ß¿¼ó«½«ó ó ß««ΓóÑΓßΓóπεΘ¿σ »«º¿µ¿∩σ.  é ñóπσ ßΓ᫬áσ  αạ«⌐  ñ½¿¡δ
  382. ¬áªñδ⌐  ß¿¼ó«½  í«½ÑÑ ñ½¿¡¡«⌐ ßΓ᫬¿ íѺ ß««ΓóÑΓßΓóπεΘÑú« ß¿¼ó«½á ó
  383. í«½ÑÑ ¬«α«Γ¬«⌐ ßΓα«¬Ñ »α¿¡¿¼áÑΓ º¡áτÑ¡¿Ñ "í«½∞ΦÑ";  ¡á»α¿¼Ñα,  'xs'
  384. í«½∞ΦÑ, τѼ  'x'.  ÅπßΓδÑ  ßΓ᫬¿  ¼«úπΓ  íδΓ∞  αáó¡δ Γ«½∞¬« ñαπú¿¼
  385. »πßΓδ¼ ßΓ᫬á¼,  ¿ «¡¿ ∩ó½∩εΓß∩ ßΓα«¬á¼¿ ß ¡á¿¼Ñ¡∞Φ¿¼ º¡áτÑ¡¿Ñ¼.
  386.      è ß¿¼ó«½á¼  ó  ßΓα«¬Ñ  ¼«ª¡«  ¿¼ÑΓ∞  ñ«ßΓπ»  ¬á¬ ¬ ¬«¼»«¡Ñ¡Γá¼
  387. ¼áßß¿óá, τΓ« «»¿ßδóáÑΓß∩ ó  αáºñѽѠ "îáßß¿óδ,  ßΓ᫬¿  ¿  ¿¡ñѬßδ"
  388. ú½áóδ  4.  Ä»ÑαáΓ«αδ  αáí«Γδ  ß«  ßΓ᫬«ó묨  Γ¿»á¼¿  «»¿ßδóáεΓß∩ ó
  389. αáºñѽáσ "æΓ᫬«óδÑ «»ÑαáΓ«αδ" ¿  "Ä»ÑαáΓ«αδ  «Γ¡«ΦÑ¡¿⌐"  ú½áóδ  6.
  390. æΓá¡ñáαΓ¡δÑ  »α«µÑñπαδ  ¿  Σπ¡¬µ¿¿  ñ½∩ αáí«Γδ ß« ßΓ᫬«ó묨 Γ¿»á¼¿
  391. «»¿ßá¡δ ó αáºñѽѠ"æΓ᫬«óδÑ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿" ú½áóδ 10.
  392.  
  393.  
  394.                          æΓαπ¬Γπα¡δÑ Γ¿»δ
  395.  
  396.      æΓαπ¬Γπα¡δ⌐ Γ¿»,  σáαá¬ΓÑਧπѼδ⌐  ¼ÑΓ«ñ«¼  ßΓαπ¬Γπα¿α«óá¡¿∩ ¿
  397. Γ¿»á¼¿ ßó«¿σ ¬«¼»«¡Ñ¡Γ,  ¿¼ÑÑΓ  í«½ÑÑ  «ñ¡«ú«  º¡áτÑ¡¿∩.  àß½¿  Γ¿»
  398. ¬«¼»«¡Ñ¡Γ   ∩ó½∩ÑΓß∩   ßΓαπ¬Γπα¡δ¼,   Γ«  »«½πτáѼδ⌐  ó  αѺπ½∞ΓáΓÑ
  399. ßΓαπ¬Γπα¡δ⌐  Γ¿»  ¿¼ÑÑΓ  í«½ÑÑ  «ñ¡«ú«   πα«ó¡∩   ßΓαπ¬Γπα¿α«óá¡¿∩.
  400. æΓαπ¬Γπα¡δ⌐ Γ¿» ¼«ªÑΓ ¿¼ÑΓ∞ ¡Ñ«úαá¡¿τÑ¡¡δÑ πα«ó¡¿ ßΓαπ¬Γπα¿α«óá¡¿∩.
  401.  
  402.                                    ┌───────────────┐
  403. ßΓαπ¬Γπα¡δ⌐ ──┬────────────────┬──÷│ Γ¿»  ¼áßß¿ó   ├─────÷
  404.     Γ¿»       │  ┌────────┐ °  │   └───────────────┘  °
  405.               └─÷│ packed ├─┘  │   ┌───────────────┐  │
  406.                  └────────┘    ├──÷│ ¼¡«ªÑßΓóÑ¡¡δ⌐ ├──┤
  407.                                │   │     Γ¿»       │  │
  408.                                │   └───────────────┘  │
  409.                                │   ┌───────────────┐  │
  410.                                ├──÷│ Σá⌐½«óδ⌐ Γ¿»  ├──┤
  411.                                │   └───────────────┘  │
  412.                                │   ┌───────────────┐  │
  413.                                ├──÷│ Γ¿»  ºá»¿ß∞   ├──┤
  414.                                │   └───────────────┘  │
  415.                                │   ┌───────────────┐  │
  416.                                └──÷│ «íΩÑ¬Γ¡δ⌐ Γ¿» ├──┘
  417.                                    └───────────────┘
  418.  
  419.  
  420.      æ½«ó« packed   ó   «íΩ∩ó½Ñ¡¿¿  ßΓαπ¬Γπα¡«ú«  Γ¿»á  ΓαÑíπÑΓ  «Γ
  421. ¬«¼»¿½∩Γ«αá π»½«Γ¡¿Γ∞ σαá¡¿¼δÑ  ñá¡¡δÑ,  ñáªÑ  ºá  ßτÑΓ  π¼Ñ¡∞ΦÑ¡¿∩
  422. ñ«ßΓπ»á ¬  ¬«¼»«¡Ñ¡ΓÑ »ÑαѼѡ¡«⌐ φΓ«ú« Γ¿»á.  æ½«ó« packed ¡Ñ ¿¼ÑÑΓ
  423. ¡¿¬á¬«ú« ñÑ⌐ßΓó¿∩ ó Turbo Pascal, ó¼ÑßΓ« φΓ«ú« π»á¬«ó¬á óδ»«½¡∩ÑΓß∩
  424. ºñÑß∞ áóΓ«¼áΓ¿τÑ߬¿ óßεñπ, úñÑ φΓ« ó«º¼«ª¡«.
  425.      Åα¿¼Ñτá¡¿Ñ: îá¬ß¿¼á½∞¡δ⌐ ñ«»πßΓ¿¼δ⌐ αẼÑα ßΓαπ¬Γπα¡«ú« Γ¿»á ó
  426. Turbo Pascal αáóÑ¡ 65520 íá⌐Γ.
  427.  
  428.  
  429.                             Æ¿» ¼áßß¿ó
  430.  
  431.      îáßß¿óδ ß«ñÑαªáΓ Σ¿¬ß¿α«óá¡¡«Ñ τ¿ß½« ¬«¼»«¡Ñ¡Γ «ñ¡«ú«  Γ¿»á  -
  432. Γ¿»  ¬«¼»«¡Ñ¡Γδ.  ìá  »α¿óÑñÑ¡¡«⌐ ¡¿ªÑ ß¿¡Γá¬ß¿τÑ߬«⌐ ñ¿áúαá¼¼Ñ Γ¿»
  433. ¬«¼»«¡Ñ¡Γδ ß½ÑñπÑΓ ºá ß½«ó«¼ of.
  434.  
  435.          ┌───────┐  ┌───┐    ┌───────┐    ┌───┐  ┌────┐  ┌─────┐
  436. Γ¿»   ──÷│ array ├─÷│ [ ├───÷│ Γ¿»   ├─┬─÷│ ] ├─÷│ of ├─÷│ Γ¿» ├─÷
  437. ¼áßß¿ó   └───────┘  └───┘ °  │¿¡ñѬßá│ │  └───┘  └────┘  └─────┘
  438.                           │  └───────┘ │
  439.                           │    ┌───┐   │
  440.                           └────│ , │≈──┘
  441.                                └───┘
  442.  
  443. Γ¿»         ┌────────────────┐
  444. ¿¡ñѬßá ───÷│ »«α∩ñ¬«óδ⌐ Γ¿» ├───÷
  445.             └────────────────┘
  446.  
  447.  
  448.      é Γ¿»áσ  ¿¡ñѬßá,  »«  «ñ¡«¼π  ñ½∩ ¬áªñ«⌐ αẼÑα¡«ßΓ¿ ¼áßß¿óá,
  449. π¬áºδóáÑΓß∩ τ¿ß½« φ½Ñ¼Ñ¡Γ«ó.  ä«»πßΓ¿¼δ¼¿ Γ¿»á¼¿  ¿¡ñѬßá  ∩ó½∩εΓß∩
  450. óßÑ »«α∩ñ¬«óδÑ   Γ¿»δ,   ºá  ¿ß¬½ετÑ¡¿Ñ¼  Longint  ¿  »«ññ¿á»áº«¡«ó
  451. Longint.  îáß߿󠼫ªÑΓ íδΓ∞ »α«¿¡ñѬ߿α«óá¡ »«  ¬áªñ«⌐  αẼÑα¡«ßΓ¿
  452. óßѼ¿  º¡áτÑ¡¿∩¼¿  ß««ΓóÑΓßΓóπεΘÑú«  Γ¿»á ¿¡ñѬßá;  τ¿ß½« φ½Ñ¼Ñ¡Γ«ó
  453. »«φΓ«¼π  αáó¡«  τ¿ß½π  º¡áτÑ¡¿⌐  ó  ¬áªñ«¼  Γ¿»Ñ   ¿¡ñѬßá.   ù¿ß½«
  454. αẼÑα¡«ßΓÑ⌐ ∩ó½∩ÑΓß∩ ¡Ñ«úαá¡¿τÑ¡¡δ¼.
  455.      Åα¿óÑñѼ »α¿¼Ñα Γ¿»á ¼áßß¿ó:
  456.  
  457.      array [1..100]  of Real
  458.  
  459.      àß½¿ Γ¿» ¬«¼»«¡Ñ¡Γδ ó Γ¿»Ñ ¼áßß¿ó ΓᬪѠ∩ó½∩ÑΓß∩  ¼áßß¿ó«¼, Γ«
  460. αѺπ½∞ΓáΓ  ¼«ª¡«  αáßß¼áΓα¿óáΓ∞  ¬á¬  ¼áßß¿ó  ¼áßß¿ó«ó ¿½¿ ¬á¬ «ñ¿¡
  461. ¼¡«ú«¼Ñα¡δ⌐ ¼áßß¿ó. ìá»α¿¼Ñα,
  462.  
  463.      array [Boolean] of array [1..10] of array [Size] of Real
  464.  
  465. ¿¡ΓÑα»αÑΓ¿απÑΓß∩ ¬«¼»¿½∩Γ«α«¼ Γ«τ¡« ΓᬠªÑ, ¬á¬
  466.  
  467.      array [Boolean, 1..10, Size] of Real.
  468.  
  469.      èα«¼Ñ Γ«ú«, óδ ¼«ªÑΓÑ óδαếΓ∞
  470.  
  471.      packed array [1..10] of packed array [1..8] of Boolean
  472.  
  473. ¬á¬
  474.  
  475.      packed array [1..10, 1..8] of Boolean
  476.  
  477.      ä½∩ ñ«ßΓπ»á   ¬   φ½Ñ¼Ñ¡Γá¼   ¼áßß¿óá    ¡Ñ«íσ«ñ¿¼«    π¬áºáΓ∞
  478. ¿ñÑ¡Γ¿Σ¿¬áΓ«α  ¼áßß¿óá  ß «ñ¡¿¼ ¿½¿ ¡Ñ߬«½∞¬¿¼¿ ¿¡ñѬßἿ ó ß¬«í¬áσ
  479. (ß¼. "îáßß¿ó, ßΓ᫬¿ ¿ ¿¡ñѬßδ" ó ú½áóÑ 4).
  480.      Æ¿» ¼áßß¿ó, ¿¼ÑεΘ¿⌐ ó¿ñ
  481.  
  482.      packed array [M..N] of Char
  483.  
  484.  
  485. úñÑ M ¼Ñ¡∞ΦÑ,  τѼ N, ¡áºδóáÑΓß∩ π»á¬«óá¡¡δ¼ ßΓ᫬«óδ¼ Γ¿»«¼ (ß½«ó«
  486. packed ¼«ª¡« «»πßΓ¿Γ∞,  »«ß¬«½∞¬π «¡« ¡Ñ «¬áºδóáÑΓ ñÑ⌐ßΓó¿∩ ó Turbo
  487. Pascal). ô»á¬«óá¡¡δ⌐ ßΓ᫬«óδ⌐ Γ¿»  ¿¼ÑÑΓ  ¡Ñ¬«Γ«αδÑ  ßó«⌐ßΓóá,  ¡Ñ
  488. σáαá¬ΓÑα¡δÑ ñ½∩   ñαπú¿σ   Γ¿»«ó  ¼áßß¿ó«ó  (ß¼.  "Æ«ªñÑßΓóÑ¡¡δÑ  ¿
  489. ß«ó¼ÑßΓ¿¼δÑ Γ¿»δ" ñá½ÑÑ ó φΓ«⌐ ú½áóÑ).
  490.  
  491.  
  492.                             Æ¿»  ºá»¿ß∞
  493.  
  494.      Æ¿» ºá»¿ß∞  c«ñÑαª¿Γ  πßΓá¡«ó½Ñ¡¡«Ñ τ¿ß½« ¬«¼»«¡Ñ¡Γ ¿½¿ »«½Ñ⌐,
  495. ¬«Γ«αδÑ ¼«úπΓ  íδΓ∞  αẽ¿τ¡δσ  Γ¿»«ó.   ÄíΩ∩ó½Ñ¡¿Ñ   Γ¿»á   ºá»¿ß∞
  496. π¬áºδóáÑΓ Γ¿» ¬áªñ«ú« »«½∩ ¿ ¿ñÑ¡Γ¿Σ¿¬áΓ«α, ¬«Γ«αδ⌐ ¿¼Ñ¡πÑΓ »«½Ñ.
  497.  
  498.  
  499.                ┌────────┐                    ┌─────┐
  500. Γ¿» ºá»¿ß∞ ───÷│ record ├──┬────────────────÷│ end ├──÷
  501.                └────────┘  │  ┌────────┐ °   └─────┘
  502.                            └─÷│ ß»¿ß«¬ ├─┘
  503.                               │  »«½Ñ⌐ │
  504.                               └────────┘
  505.  
  506.  
  507. ß»¿ß«¬   ┌────────────┐
  508. »«½Ñ⌐ ┬─÷│ Σ¿¬ß¿α«óá¡-├─┬────────────────────────────┬──────────÷
  509.       │  │ ¡á∩ τáßΓ∞  │ │  ┌───┐    ┌────────────┐ ° │  ┌───┐ °
  510.       │  └────────────┘ └─÷│ ; ├───÷│ óáα¿á¡Γ¡á∩ ├─┘ └─÷│ ; ├─┘
  511.       │                    └───┘ °  │   τáßΓ∞    │      └───┘
  512.       └──────────────────────────┘  └────────────┘
  513.  
  514.  
  515.                    ┌───────────┐    ┌───┐    ┌─────┐
  516. Σ¿¬ß¿α«óá¡¡á∩ ────÷│  ß»¿ß«¬   ├───÷│ : ├───÷│ Γ¿» ├──┬──÷
  517. τáßΓ∞           °  │ ¿ñÑ¡Γ¿Σ¿- │    └───┘    └─────┘  │
  518.                 │  │ ¿¬áΓ«α«ó  │                      │
  519.                 │  └───────────┘                      │
  520.                 │            ┌───┐                    │
  521.                 └────────────│ ; │≈───────────────────┘
  522.                              └───┘
  523.  
  524.      ö¿¬ß¿α«óá¡¡á∩ τáßΓ∞ Γ¿»á ºá»¿ß∞ ß«ñÑαª¿Γ  ß»¿ß«¬ Σ¿¬ß¿α«óá¡¡δσ
  525. »«½Ñ⌐  ó¼ÑßΓÑ  ß  ¿ñÑ¡Γ¿Σ¿¬áΓ«α«¼ ¿ Γ¿»«¼ ñ½∩ ¬áªñ«ú« »«½∩.  èáªñ«Ñ
  526. »«½Ñ ß«ñÑαª¿Γ ¿¡Σ«α¼áµ¿ε,  ¬«Γ«αá∩ óßÑúñá «Γδ߬¿óáÑΓß∩ «ñ¡¿¼ ¿  ΓѼ
  527. ªÑ ß»«ß«í«¼.
  528.      Åα¿óÑñѼ »α¿¼Ñα Γ¿»á ºá»¿ß∞:
  529.  
  530.    type
  531.      DateRec = record
  532.         Year  : Integer;
  533.         Month : 1 .. 12;
  534.         Day   : 1 .. 31;
  535.      end;
  536.  
  537.      é óáα¿á¡Γ¡«⌐ τáßΓ¿,  ¿º«íαáªÑ¡¡«⌐ ¡á ß¿¡Γá¬ß¿τÑ߬«⌐  ñ¿áúαá¼¼Ñ
  538. «íΩ∩ó½Ñ¡¿∩ Γ¿»á ºá»¿ß∞,  »á¼∩Γ∞ αáß»αÑñѽ∩ÑΓß∩ í«½ÑÑ τѼ ñ½∩ «ñ¡«ú«
  539. ß»¿ß¬á »«½Ñ⌐,  »«φΓ«¼π ñ«ßΓπ» ¬ ¿¡Σ«α¼áµ¿¿ ¼«ªÑΓ  íδΓ∞  «ßπΘÑßΓó½Ñ¡
  540. í«½ÑÑ  τѼ «ñ¡¿¼ ß»«ß«í«¼.  èáªñδ⌐ ß»¿ß«¬ »«½Ñ⌐ ∩ó½∩ÑΓß∩ óáα¿á¡Γ«¼.
  541. éáα¿á¡Γδ ¡á½áúáεΓß∩ ñαπú ¡á ñαπúá ó »á¼∩Γ¿,  »«φΓ«¼π ó ½εí«Ñ  óαѼ∩
  542. 󫺼«ªÑ¡ ñ«ßΓπ» ¬« óßѼ »«½∩¼ ó« óßÑσ óáα¿á¡Γáσ.
  543.  
  544. óáα¿á¡Γ¡á∩ τáßΓ∞
  545.  │  ┌────┐                      ┌────────┐  ┌──┐     ┌───────┐
  546.  └─÷│case├─┬───────────────────÷│Γ¿» »«½∩├─÷│of├────÷│óáα¿á¡Γ├─┬─÷
  547.     └────┘ │                 °  │»α¿º¡á¬á│  └──┘ °   └───────┘ │
  548.            │  ┌───────┐  ┌─┐ │  └────────┘       │      ┌─┐    │
  549.            └─÷│¿ñÑ¡Γ¿-├─÷│:├─┘                   └──────┤;│≈───┘
  550.               │Σ¿¬áΓ«α│  └─┘                            └─┘
  551.               └───────┘
  552.  
  553.  
  554.               ┌──────────────┐
  555. Γ¿» »«½∩ ────÷│¿ñÑ¡Γ¿Σ¿¬áΓ«α ├────÷
  556. »α¿º¡á¬á      │»«α∩ñ¬«ú« Γ¿»á│
  557.               └──────────────┘
  558.  
  559.  
  560.              ┌─────────┐    ┌─┐   ┌─┐                  ┌─┐
  561. óáα¿á¡Γ ────÷│¬«¡ßΓá¡Γá├─┬─÷│;├──÷│(├──┬──────────────÷│)├───÷
  562.           °  └─────────┘ │  └─┘   └─┘  │           °   └─┘
  563.           │    ┌─┐       │             │           │
  564.           └────┤,│≈──────┘             │  ┌──────┐ │
  565.                └─┘                     └─÷│ß»¿ß«¬├─┘
  566.                                           │»«½Ñ⌐ │
  567.                                           └──────┘
  568.  
  569.  
  570.      éδ ¼«ªÑΓÑ   ó¿ñÑΓ∞   ¡á   ñ¿áúαá¼¼Ñ,   τΓ«   ¬áªñδ⌐    óáα¿á¡Γ
  571. ¿ñÑ¡Γ¿Σ¿µ¿απÑΓß∩ »«  ¬αá⌐¡Ñ⌐  ¼ÑαÑ «ñ¡«⌐ ¬«¡ßΓá¡Γ«⌐.  éßÑ ¬«¡ßΓá¡Γδ
  572. ñ«½ª¡δ íδΓ∞  «Γ½¿τ¡δ¼¿  ñαπú  «Γ  ñαπúá  ¿  ¿¼ÑΓ∞  »«α∩ñ¬«óδ⌐  Γ¿»,
  573. ß«ó¼ÑßΓ¿¼δ⌐   ß   Γ¿»«¼   »«½∩  »α¿º¡á¬á.  ä«ßΓπ»  ¬  óáα¿á¡Γ¡δ¼  ¿
  574. Σ¿¬ß¿α«óá¡¡δ¼ »«½∩¼ «ñ¿¡ ¿ Γ«Γ ªÑ.
  575.      é óáα¿á¡Γ¡«⌐  τáßΓ¿ ¼«ª¡« π¬áºáΓ∞ ¡Ñ«í∩ºáΓѽ∞¡δ⌐ ¿ñÑ¡Γ¿Σ¿¬áΓ«α
  576. - ¿ñÑ¡Γ¿Σ¿¬áΓ«α »α¿º¡á¬á »«½∩.  Åα¿ ¡á½¿τ¿¿ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá »α¿º¡á¬á
  577. »«½∩  «¡  ßΓá¡«ó¿Γß∩ ¿ñÑ¡Γ¿Σ¿¬áΓ«α«¼ ñ«»«½¡¿Γѽ∞¡«ú« Σ¿¬ß¿α«óá¡¡«ú«
  578. »«½∩ ºá»¿ß¿ - »«½∩ »α¿º¡á¬á.  Åα«úαἼᠼ«ªÑΓ ¿ß»«½∞º«óáΓ∞ º¡áτÑ¡¿Ñ
  579. »«½∩  »α¿º¡á¬á  ñ½∩  π¬áºá¡¿∩,  ¬á¬«⌐  óáα¿á¡Γ  ∩ó½∩ÑΓß∩ á¬Γ¿ó¡δ¼ ó
  580. ¡áßΓ«∩Θ¿⌐ ¼«¼Ñ¡Γ.  üѺ π¬áºá¡¿∩ »«½∩  »α¿º¡á¬á  »α«úαἼᠠóδí¿αáÑΓ
  581. óáα¿á¡Γ »« ñαπú«¼π ¬α¿ΓÑα¿ε.
  582.  
  583.      ì¿ªÑ »α¿ó«ñ¿Γß∩ ¡Ñ߬«½∞¬« »α¿¼Ñα«ó Γ¿»á ºá»¿ß∞:
  584.    type
  585.      Person = record
  586.         FirstName, LastName: string[40];
  587.         BirthDate: Date;
  588.         case Citizen: Boolean of
  589.            True: (BirthPlace : string[40]);
  590.            False: (Country: string[20];
  591.                    EntryPort: string[20];
  592.                    EntryDate: Date;
  593.                    ExitDate: Date);
  594.      end;
  595.  
  596.      Polygon = record
  597.         X, Y: Real;
  598.         case Kind: Figure of
  599.            Rectangle: (Height, Width: Real);
  600.            Triangle: (Size1, Size2, Angle: Real);
  601.            Circle: (Radius: Real);
  602.      end;
  603.  
  604.  
  605.                           Æ¿»δ «íΩÑ¬Γ«ó.
  606.  
  607.      Æ¿» «íΩÑ¬Γ - φΓ« ßΓαπ¬Γπαá,  ß«ßΓ«∩Θá∩ ¿º Σ¿¬ß¿α«óá¡¡«ú« τ¿ß½á
  608. ¬«¼»«¡Ñ¡Γ. èáªñá∩ ¬«¼»«¡Ñ¡Γá -  φΓ«  ¿½¿  »«½Ñ,   ¬«Γ«α«Ñ  ß«ñÑনΓ
  609. ñá¡¡δÑ «»αÑñѽѡ¡«ú« Γ¿»á,  ¿½¿ ¼ÑΓ«ñ,  ¬«Γ«αδ⌐ »α«¿ºó«ñ¿Γ «»Ñαᵿ¿
  610. ¡áñ «íΩÑ¬Γ«¼.  Ç¡á½«ú¿τ¡« «íΩ∩ó½Ñ¡¿ε »ÑαѼѡ¡δσ,  «íΩ∩ó½Ñ¡¿Ñ  »«½∩,
  611. π¬áºδóáÑΓ  Γ¿»  ñá¡¡δσ  »«½∩  ¿  ¿ñÑ¡Γ¿Σ¿¬áΓ«α ¿¼Ñ¡¿ φΓ«ú« »«½∩;  ¿
  612. á¡á½«ú¿τ¡« «íΩ∩ó½Ñ¡¿ε  »α«µÑñπαδ  ¿½¿  Σπ¡¬µ¿¿  «íΩ∩ó½Ñ¡¿Ñ   ¼ÑΓ«ñá
  613. π¬áºδóáÑΓ    ºáú«½«ó«¬   »α«µÑñπαδ,   Σπ¡¬µ¿¿,   ¬«¡ßΓαá¬Γ«αá   ¿½¿
  614. ñÑßΓαá¬Γ«αá.
  615.      Æ¿» «íΩÑ¬Γ   ¼«ªÑΓ  ¡áß½Ññ«óáΓ∞  ¬«¼»«¡Ñ¡Γδ  «Γ  ñαπú«ú«  Γ¿»á
  616. «íΩѬΓá. àß½¿ T2 ¡áß½ÑñπÑΓ  «Γ  Æ1, Γ« Æ2 ÑßΓ∞ »«α«ªñÑ¡¡δ⌐ «Γ Æ1, á
  617. Æ1 ÑßΓ∞ »αÑñ«¬ ñ½∩ Æ2.
  618.      ìáß½Ññ«óá¡¿Ñ ∩ó½∩ÑΓß∩ Γα᡺¿Γ¿ó¡δ¼,  Γ.Ñ.  Ñß½¿  Æ3  ¡áß½ÑñπÑΓ
  619. «Γ Æ2,   á  Æ2  ¡áß½ÑñπÑΓ  «Γ  Æ1,  Γ« Æ3 ΓᬠªÑ ¡áß½ÑñπÑΓ  «Γ  Æ1.
  620. æΣÑαá ñÑ⌐ßΓó¿∩ Γ¿»á «íΩѬΓá ß«ßΓ«¿Γ  ¿º  ¡Ñú«  ßἫú«  ¿  óßÑσ  Ñú«
  621. »«α«ªñÑ¡¡δσ Γ¿»«ó.
  622.  
  623.  
  624.                ┌──────┐                      ┌────────────────┐
  625. Γ¿» «íΩѬΓá ──÷│object├─┬───────────────────÷│ß»¿ß«¬ ¬«¼»«¡Ñ¡Γ├─┐
  626.                └──────┘ │  ┌────────────┐ °  └────────────────┘ │
  627.                         └─÷│Háß½Ññ«óá¡¿Ñ├─┘                     │
  628.                            └────────────┘                       │
  629.                     ┌───────────────────────────────────────────┘
  630.                     │                                       ┌───┐
  631.                     └─┬──────────────────────────────────┬──┤end├─÷
  632.                       │   ┌───────┐   ┌────────────────┐ │  └───┘
  633.                       └──÷│private├──÷│ß»¿ß«¬ ¬«¼»«¡Ñ¡Γ├─┘
  634.                           └───────┘   └────────────────┘
  635.  
  636.  
  637.                 ┌───┐   ┌──────────────────────────┐   ┌───┐
  638. ¡áß½Ññ«óá¡¿Ñ ──÷│ ( ├──÷│¿ñÑ¡Γ¿Σ¿¬áΓ«α Γ¿»á «íΩѬΓá├──÷│ ) ├──÷
  639.                 └───┘   └──────────────────────────┘   └───┘
  640.  
  641.  
  642. ß»¿ß«¬ ¬«¼»«¡Ñ¡Γ ──┬─────────────────┬───────────────────÷
  643.                    │  ┌────────┐  °  │  ┌─────────┐  °
  644.                    └─÷│ ß»¿ß«¬ ├──┘  └─÷│ ß»¿ß«¬  ├──┘
  645.                       │ »«½Ñ⌐  │        │ ¼ÑΓ«ñ«ó │
  646.                       └────────┘        └─────────┘
  647.  
  648.  
  649.                   ┌──────────────────────┐  ┌───┐  ┌───┐  ┌───┐
  650. ß»¿ß«¬ »«½Ñ⌐ ────÷│c»¿ß«¬ ¿ñÑ¡Γ¿Σ¿¬áΓ«α«ó├─÷│ : ├─÷│typ├─÷│ ; ├─┬─÷
  651.                °  └──────────────────────┘  └───┘  └───┘  └───┘ │
  652.                └────────────────────────────────────────────────┘
  653.  
  654.  
  655.                    ┌────────────────┐                     ┌───┐
  656. ß»¿ß«¬ ¼ÑΓ«ñ«ó ───÷│ºáú«½«ó«¬ ¼ÑΓ«ñá├─┬───────────────────┤ ; ├─┬─÷
  657.                 °  └────────────────┘ │ ┌───┐  ┌───────┐° └───┘ │
  658.                 │                     └÷│ ; ├─÷│virtual├┘       │
  659.                 │                       └───┘  └───────┘        │
  660.                 └───────────────────────────────────────────────┘
  661.  
  662.  
  663.                           ┌────────────────────────┐
  664. ºáú«½«ó«¬ ¼ÑΓ«ñá ────┬───÷│ ºáú«½«ó«¬ »α«µÑñπαδ    ├──────÷
  665.                      │    └────────────────────────┘  °
  666.                      │    ┌────────────────────────┐  │
  667.                      ├───÷│ ºáú«½«ó«¬ Σπ¡¬µ¿¿      ├──┤
  668.                      │    └────────────────────────┘  │
  669.                      │    ┌────────────────────────┐  │
  670.                      ├───÷│ ºáú«½«ó«¬ ¬«¡ßΓαá¬Γ«αá ├──┤
  671.                      │    └────────────────────────┘  │
  672.                      │    ┌────────────────────────┐  │
  673.                      └───÷│ ºáú«½«ó«¬ ñÑßΓαá¬Γ«αá  ├──┘
  674.                           └────────────────────────┘
  675.  
  676.      æ½ÑñπεΘ¿⌐ ¬«ñ  »«¬áºδóáÑΓ  »α¿¼Ñαδ  «íΩ∩ó½Ñ¡¿∩ Γ¿»«ó «íΩÑ¬Γ«ó.
  677. ¥Γ¿ «íΩ∩ó½Ñ¡¿∩ íπñπΓ ¿ß»«½∞º«óáΓ∞ß∩ ó ñαπú¿σ »α¿¼Ñαáσ φΓ«⌐ ú½áóδ.
  678.  
  679.      type
  680.        Point = object
  681.          X, Y: Integer;
  682.        end;
  683.  
  684.        Rect = object
  685.          A, B: Point;
  686.          procedure Init(XA, YA, XB, YB: Integer);
  687.          procedure Copy(var R: Rect);
  688.          procedure Move(DX, DY: Integer);
  689.          procedure Grow(DX, DY: Integer);
  690.          procedure Intersect(var R: Rect);
  691.          procedure Union(var R: Rect);
  692.          function Contains(P: Point): Boolean;
  693.        end;
  694.  
  695.        StringPtr = ^String;
  696.  
  697.        FieldPtr = ^Field;
  698.  
  699.        Field = object
  700.          X, Y, Len: Integer;
  701.          Name: StringPtr;
  702.          constructor Copy(var F: Field);
  703.          constructor Init(FX, FY, FLen: Integer; FName: String);
  704.          destructor Done; virtual;
  705.          procedure Display; virtual;
  706.          procedure Edit; virtual;
  707.          function GetStr: String; virtual;
  708.          function PutStr(S: String): Boolean; virtual;
  709.        end;
  710.  
  711.        StrFieldPtr = ^StrField;
  712.  
  713.        StrField = object(Field)
  714.          Value: StringPtr;
  715.          constructor Init(FX, FY, FLen: Integer; FName: String);
  716.          destructor Done; virtual;
  717.          function GetStr: String; virtual;
  718.          function PutStr(S: String): Boolean; virtual;
  719.          function Get: String;
  720.          procedure Put(S: String);
  721.        end;
  722.  
  723.        NumFieldPtr = ^NumField;
  724.  
  725.        NumField = object(Field)
  726.          Value, Min, Max: Longint;
  727.          constructor Init(FX, FY, FLen: Integer; FName: String;
  728.            FMin, FMax : LongInt);
  729.          function GetStr : String; virtual;
  730.          function PutStr(S : String) : Boolean; virtual;
  731.          function Get : Longint;
  732.          procedure Put(S : Longint);
  733.        end;
  734.  
  735.        ZipFieldPtr = ^ZipField;
  736.  
  737.        ZipField = object(NumField)
  738.          function GetStr: String; virtual;
  739.          function PutStr(S: String): Boolean; virtual;
  740.        end;
  741.  
  742.      é «Γ½¿τ¿Ñ «Γ ñαπú¿σ Γ¿»«ó,  Γ¿» «íΩÑ¬Γ ¼«ªÑΓ íδΓ∞  «íΩ∩ó½Ñ¡  ó
  743. τáßΓ¿ «íΩ∩ó½Ñ¡¿∩  Γ¿»«ó ó ßἫ⌐ ó¡ÑΦ¡Ñ⌐ τáßΓ¿ »α«úαá¼¼δ ¿½¿ ¼«ñπ½∩.
  744. Æá¬, Γ¿»   «íΩѬΓá  ¡Ñ  ¼«ªÑΓ  íδΓ∞  «íΩ∩ó½Ñ¡  ó  τáßΓ¿  «íΩ∩ó½Ñ¡¿∩
  745. »ÑαѼѡ¡δσ ¿½¿ ó¡πΓα¿ »α«µÑñπαδ, Σπ¡¬µ¿¿ ¿½¿ ¼ÑΓ«ñá.
  746.  
  747.  
  748.                    è«¼»«¡Ñ¡Γδ ¿ ßΣÑαá ñÑ⌐ßΓó¿∩.
  749.  
  750.      è«¼»«¡Ñ¡Γá ñ½∩ Γ¿»á Σá⌐½ ¡Ñ ¼«ªÑΓ íδΓ∞ «íΩÑ¬Γ¡«ú« Γ¿»á,  á Γá¬
  751. ªÑ ½εí«⌐ ßΓαπ¬Γπα¿α«óá¡¡δ⌐ Γ¿» ¡Ñ ¼«ªÑΓ ¿¼ÑΓ∞ ¬«¼»«¡Ñ¡Γπ «íΩÑ¬Γ¡«ú«
  752. Γ¿»á.
  753.      æΣÑαá ñÑ⌐ßΓó¿∩  ¿ñÑ¡Γ¿Σ¿¬áΓ«αá  ¬«¼»«¡Ñ¡Γδ αáß»α«ßΓαá¡∩ÑΓß∩ ¡á
  754. ßΣÑαπ ñÑ⌐ßΓó¿∩  φΓ«ú« «íΩÑ¬Γ¡«ú« Γ¿»á.  ü«½ÑÑ Γ«ú«,  ßΣÑαá ñÑ⌐ßΓó¿∩
  755. ¿ñÑ¡Γ¿Σ¿¬áΓ«αá ¬«¼»«¡Ñ¡Γδ αáß»α«ßΓαá¡∩ÑΓß∩ ¡á  »α«µÑñπαδ,  Σπ¡¬µ¿¿,
  756. ¬«¡ßΓαá¬Γ«αδ   ¿   ñÑßΓαá¬Γ«αδ   ¬«Γ«αδÑ   αÑ὿ºπεΓ  ¼ÑΓ«ñδ  φΓ«ú«
  757. «íΩÑ¬Γ¡«ú« Γ¿»á ¿ Ñú« »«α«ªñÑ¡¡δσ Γ¿»«ó.  Å« φΓ«⌐ »α¿τ¿¡Ñ ¡á»¿ßá¡¿Ñ
  758. ¿ñÑ¡Γ¿Σ¿¬áΓ«αá  ¬«¼»«¡Ñ¡Γδ ñ«½ª¡« íδΓ∞ π¡¿¬á½∞¡δ¼ ó¡πΓα¿ «íΩÑ¬Γ¡«ú«
  759. Γ¿»á, óßÑσ Ñú« »«α«ªñÑ¡¡δσ Γ¿»«ó ¿ óßÑσ Ñú« ¼ÑΓ«ñ«ó.
  760.  
  761.      æΣÑαá ñÑ⌐ßΓó¿∩  ¿ñÑ¡Γ¿Σ¿¬áΓ«αá   ¬«¼»«¡Ñ¡Γδ,   «íΩ∩ó½Ñ¡¡«⌐   ó
  762. αáºñѽѠprivate   (½¿τ¡δ⌐)   «íΩ∩ó½Ñ¡¿∩  Γ¿»á  «íΩѬΓá,  «úαá¡¿τÑ¡«
  763. ¼«ñπ½Ñ¼ ¿½¿ »α«úαá¼¼«⌐,  ¬«Γ«αδÑ ß«ñÑαªáΓ «íΩ∩ó½Ñ¡¿∩ Γ¿»á  «íΩѬΓá.
  764. äαπú¿¼¿  ß½«óἿ,  ¿ñÑ¡Γ¿Σ¿¬áΓ«α  private  ¬«¼»«¡Ñ¡Γδ ñÑ⌐ßΓóπÑΓ ¬á¬
  765. ¿ñÑ¡Γ¿Σ¿¬áΓ«α  «íδτ¡«⌐  ¬«¼»«¡Ñ¡Γδ   ó¡πΓα¿   ¼«ñπ½∩,   ß«ñÑαªáΘÑú«
  766. «íΩ∩ó½Ñ¡¿Ñ  Γ¿»á  «íΩѬΓá,  ¡« ó¡Ñ φΓ«ú« ¼«ñπ½∩ ½εí«⌐ ¿ñÑ¡Γ¿Σ¿¬áΓ«α
  767. private ¬«¼»«¡Ñ¡Γδ ¡Ñ¿ºóÑßΓÑ¡ ¿ ¡Ññ«ßΓπ»Ñ¡.  Å«¼ÑΘá∩ ßó∩ºá¡¡δÑ Γ¿»δ
  768. «íΩÑ¬Γ«ó  ó  «ñ¡«¼  ¼«ñπ½Ñ,  φΓ¿ Γ¿»δ «íΩÑ¬Γ«ó ¼«úπΓ ¿¼ÑΓ∞ ñ«ßΓπ» ¬
  769. ñαπú¿¼ private ¬«¼»«¡Ñ¡Γá¼, ñѽá∩ private ¬«¼»«¡Ñ¡Γδ ¡Ñ¿ºóÑßΓ¡δ¼¿ ó
  770. ñαπú¿σ ¼«ñπ½∩σ.
  771.  
  772.  
  773.                          îÑΓ«ñδ.
  774.  
  775.      ÄíΩ∩ó½Ñ¡¿Ñ ¼ÑΓ«ñá ó¡πΓα¿ Γ¿»á «íΩѬΓá ß««ΓóÑΓßΓóπÑΓ «íΩ∩ó½Ñ¡¿ε
  776. forward ñ½∩  φΓ«ú«  ¼ÑΓ«ñá.  Å«ß½Ñ «íΩ∩ó½Ñ¡¿∩ Γ¿»á «íΩѬΓá ¿ ó¡πΓα¿
  777. ßΣÑαδ ñÑ⌐ßΓó¿∩ «íΩ∩ó½Ñ¡¿∩ φΓ«ú« «íΩѬΓá  ñ«½ª¡á  ßΓ«∩Γ∞  αÑ὿ºáµ¿∩
  778. ñ½∩ φΓ«ú« ¼ÑΓ«ñá.
  779.      è«úñá ΓαÑíπÑΓß∩ π¡¿¬á½∞¡á∩ ¿ñÑ¡Γ¿Σ¿¬áµ¿∩ ¼ÑΓ«ñá,  ¿ß»«½∞ºπÑΓß∩
  780. πΓ«τ¡Ñ¡¡δ⌐ ¿ñÑ¡Γ¿Σ¿¬áΓ«α ¼ÑΓ«ñá.  Ä¡ ß«ßΓ«¿Γ ¿º ¿ñÑ¡Γ¿Σ¿¬áΓ«αá Γ¿»á
  781. «íΩѬΓá, Γ«τ¬¿ ¿ »«ß½ÑñπεΘÑú« ¿ñÑ¡Γ¿Σ¿¬áΓ«αá ¼ÑΓ«ñá. Å«ñ«í¡« ñαπú¿¼
  782. ¿ñÑ¡Γ¿Σ¿¬áΓ«αá¼, »ÑαÑñ   πΓ«τ¡Ñ¡¡δ¼  ¿ñÑ¡Γ¿Σ¿¬áΓ«α«¼  ¼ÑΓ«ñá  ¼«ªÑΓ
  783. ßΓ«∩Γ∞ ¿ñÑ¡Γ¿Σ¿¬áΓ«α ¼«ñπ½∩ ß Γ«τ¬«⌐.
  784.      é¡πΓα¿ «»¿ßá¡¿∩  Γ¿»á «íΩѬΓá ºáú«½«ó«¬ ¼ÑΓ«ñá ¼«ªÑΓ π¬áºδóáΓ∞
  785. »áαá¼ÑΓαδ, «íΩ∩ó½Ñ¡¡δÑ ó «íΩÑ¬Γ¡«¼ Γ¿»Ñ,  ñáªÑ  Ñß½¿ «íΩ∩ó½Ñ¡¿Ñ ÑΘÑ
  786. ¡Ñ ºáóÑαΦÑ¡«.  ¥Γ« ¿½½εßΓα¿απÑΓß∩ ¼ÑΓ«ñἿ Copy,  Intersect ¿ Union
  787. Γ¿»á Rect ó »αÑñδñπΘѼ »α¿¼ÑαÑ.
  788.  
  789.  
  790.                         é¿αΓπá½∞¡δÑ ¼ÑΓ«ñδ.
  791.  
  792.      Å« π¼«½τá¡¿ε ¼ÑΓ«ñδ ∩ó½∩εΓß∩ ßΓáΓ¿τÑ߬¿¼¿,  ¡« ¼«úπΓ íδΓ∞,  ºá
  793. ¿ß¬½ετÑ¡¿Ñ¼ ¬«¡ßΓαá¬Γ«α-¼ÑΓ«ñá,    ó¿αΓπá½∞¡δ¼¿   τÑαѺ   ó¬½ετÑ¡¿Ñ
  794. ñ¿αÑ¬Γ¿óδ virtual ó «íΩ∩ó½Ñ¡¿¿ ¼ÑΓ«ñá.  è«¼»¿½∩Γ«α αáºαÑΦáÑΓ ó맮óδ
  795. ßΓáΓ¿τÑ߬«ú« ¼ÑΓ«ñá ó« óαѼ∩ ¬«¼»¿½∩µ¿¿,  ó  Γ«  óαѼ∩,  ¬á¬  ó맮ó
  796. ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó αáºαÑΦáÑΓß∩ ó« óαѼ∩ óδ»«½¡Ñ¡¿∩.  éΓ«α«⌐ ¿º ¡¿σ
  797. ¡áºδóáÑΓß∩ »«ºñ¡¿¼ ßó∩ºδó᡿Ѽ.
  798.      àß½¿ Γ¿»  «íΩѬΓá  «íΩ∩ó½∩ÑΓ  ¿½¿  ¡áß½ÑñπÑΓ ½εí«⌐ ó¿αΓπá½∞¡δ⌐
  799. ¼ÑΓ«ñ, Γ« »ÑαѼѡ¡δÑ φΓ«ú« Γ¿»á ñ«½ª¡δ íδΓ∞ ¿¡¿µ¿á½¿º¿α«óá¡δ  τÑαѺ
  800. óδº«ó ¬«¡ßΓαá¬Γ«αá  »ÑαÑñ  ½εíδ¼  óδº«ó«¼ ó¿αΓπá½∞¡«ú« ¼ÑΓ«ñá.  Æá¬
  801. ½εí«⌐ Γ¿»  «íΩѬΓá,   ¬«Γ«αδ⌐   «íΩ∩ó½∩ÑΓ   ¿½¿   ¡áß½ÑñπÑΓ   ½εí«⌐
  802. ó¿αΓπá½∞¡δ⌐ ¼ÑΓ«ñ,   ñ«½ªÑ¡  Γᬠ ªÑ  «íΩ∩ó½∩Γ∞  ¿½¿ ¡áß½Ññ«óáΓ∞ »«
  803. ¬αá⌐¡Ñ⌐ ¼ÑαÑ «ñ¿¡ ¬«¡ßΓαá¬Γ«α-¼ÑΓ«ñ.
  804.      ÄíΩÑ¬Γ¡δ⌐ Γ¿» ¼«ªÑΓ »ÑαѬαδóáΓ∞ (»ÑαÑ«»αÑñѽ∩Γ∞) ½εíδÑ ¼ÑΓ«ñδ,
  805. ¡áß½ÑñπѼδÑ ¿¼ «Γ »αÑñ¬á. àß½¿ «íΩ∩ó½Ñ¡¿Ñ ¼ÑΓ«ñá ó »«α«ªñÑ¡¡«¼ Γ¿»Ñ
  806. π¬áºδóáÑΓ Γᬫ⌐ ªÑ ¿ñÑ¡Γ¿Σ¿¬áΓ«α Γ¿»á,  ¬á¬ «íΩ∩ó½Ñ¡¿Ñ ó »αÑñ¬Ñ, Γ«
  807. «íΩ∩ó½Ñ¡¿Ñ ó   »«α«ªñÑ¡¡«¼  Γ¿»Ñ  »ÑαѬαδóáÑΓ  «íΩ∩ó½Ñ¡¿Ñ ó »αÑñ¬Ñ.
  808. æΣÑαá ñÑ⌐ßΓó¿∩ »ÑαѬαδΓ¿∩ αáß»α«ßΓαá¡∩ÑΓß∩ ¡á «í½áßΓ∞  »«α«ªñÑ¡¡«ú«
  809. Γ¿»á, ó  ¬«Γ«α«¼ «¡ íδ½ «»αÑñѽѡ ¿ ñ« ΓÑσ »«α,  »«¬á ¿ñÑ¡Γ¿Σ¿¬áΓ«α
  810. ¼ÑΓ«ñá ¡Ñ íπñÑΓ ß¡«óá »ÑαѬαδΓ.
  811.      ÅÑαѬαδΓ¿Ñ ßΓáΓ¿τÑ߬«ú«  ¼ÑΓ«ñá  »«ºó«½∩ÑΓ  ßó«í«ñ¡«  ¿º¼Ñ¡∩Γ∞
  812. ºáú«½«ó«¬ ¼ÑΓ«ñá   »α«¿ºó«½∞¡δ¼ «íαẫ¼. ìá»α«Γ¿ó,   »α¿ »ÑαѬαδΓ¿¿
  813. ó¿αΓπá½∞¡«ú« ¼ÑΓ«ñá ñ«½ªÑ¡ íδΓ∞ Γ«τ¡« ß«í½εñÑ¡ »«α∩ñ«¬, Γ¿» ¿ ¿¼Ñ¡á
  814. »áαá¼ÑΓα«ó, á ΓᬠªÑ Γ¿» αѺπ½∞ΓáΓá Σπ¡¬µ¿¿. ü«½ÑÑ Γ«ú«, »ÑαѬαδΓ¿Ñ
  815. ñ«½ª¡« ß¡«óá ó¬½ετáΓ∞ ñ¿αÑ¬Γ¿óπ virtual.
  816.  
  817.  
  818.                        ¥¬ºÑ¼»½∩αδ «íΩÑ¬Γ«ó.
  819.  
  820.      ¥¬ºÑ¼»½∩α «íΩѬΓá ß«ºñáÑΓß∩ »πΓѼ  «íΩ∩ó½Ñ¡¿∩  »ÑαѼѡ¡δσ  ¿½¿
  821. Γ¿»¿α«óá¡¡«⌐ ¬«¡ßΓá¡Γδ  «íΩÑ¬Γ¡«ú« Γ¿»á ¿½¿ »α¿¼Ñ¡Ñ¡¿Ñ¼ ßΓá¡ñáαΓ¡«⌐
  822. »α«µÑñπαδ New   ß  »ÑαѼѡ¡«⌐  Γ¿»á  π¬áºáΓѽ∞  ¡á  «íΩÑ¬Γ¡δ⌐  Γ¿».
  823. ÉѺπ½∞Γ¿απεΘ¿⌐ «íΩÑ¬Γ ¡áºδóáÑΓß∩ φ¬ºÑ¼»½∩α«¼ «íΩÑ¬Γ¡«ú« Γ¿»á.
  824.  
  825.      var
  826.         F: Field;
  827.         Z: ZipField;
  828.         FP: FieldPtr;
  829.         ZP: ZipFieldPtr;
  830.  
  831.      é ñá¡¡δσ «íΩ∩ó½Ñ¡¿∩σ F ÑßΓ∞ φ¬ºÑ¼»½∩α Field,  á Z -  φ¬ºÑ¼»½∩α
  832. ZipField. ÆᬪѠ»«ß½Ñ »α¿¼Ñ¡Ñ¡¿∩ New ¬ FP ¿ ZP,  FP íπñÑΓ π¬áºδóáΓ∞
  833. ¡á φ¬ºÑ¼»½∩α Field, á ZP íπñÑΓ π¬áºδóáΓ∞ ¡á φ¬ºÑ¼»½∩α ZipField.
  834.  
  835.      àß½¿ «íΩÑ¬Γ¡δ⌐ Γ¿» ß«ñÑαª¿Γ ó¿αΓπá½∞¡δÑ ¼ÑΓ«ñδ,  Γ« φ¬ºÑ¼»½∩αδ
  836. φΓ«ú« Γ¿»á  ñ«½ª¡δ   íδΓ∞   ¿¡¿µ¿á½¿º¿α«óá¡δ   »«ßαÑñßΓó«¼   ó맮óá
  837. ¬«¡ßΓαá¬Γ«αá »ÑαÑñ ½εíδ¼ óδº«ó«¼ ó¿αΓπá½∞¡«ú« ¼ÑΓ«ñá. æ¼. »α¿¼Ñα:
  838.  
  839.      var
  840.         S: StrField;
  841.      begin
  842.         S.Init(1, 1, 25, 'FirstName');
  843.         S.Put('Frank');
  844.         S.Display;
  845.         ...
  846.         S.Done;
  847.      end;
  848.  
  849.      àß½¿ S.Init  ¡Ñ íδ½ óδºóá¡,  Γ« ó맮ó S.Display ó φΓ«¼ »α¿¼ÑαÑ
  850. íπñÑΓ »α¿ó«ñ¿Γ∞ ¬ «Φ¿í¬Ñ.
  851.  
  852.      é᪡«! Åα¿ßóá¿óá¡¿Ñ  φ¬ºÑ¼»½∩απ  «íΩÑ¬Γ¡«ú«  Γ¿»á  ¡Ñ «º¡áτáÑΓ
  853. ¿¡¿µ¿á½¿ºáµ¿¿ φ¬ºÑ¼»½∩αá.
  854.  
  855.      ¥Γ« »αá󿽫  ¿¡¿µ¿á½¿ºáµ¿¿  Γᬠ ªÑ  »α¿¼Ñ¡¿¼«  ¬  φ¬ºÑ¼»½∩αá¼
  856. ¬«¼»«¡Ñ¡Γ ßΓαπ¬Γπα¿α«óá¡¡δσ Γ¿»«ó. ìá»α¿¼Ñα:
  857.  
  858.      var
  859.         Comment: array[1..5] of StrField;
  860.         I: Integer;
  861.      begin
  862.         for I := 1 to 5 do Comment[I].Init(1, I+10, 40, "Comment");
  863.         ...
  864.         for I:= 1 to 5 do Comment[I].Down;
  865.      end;
  866.  
  867.      ä½∩ ñ¿¡á¼¿τÑ߬¿σ  φ¬ºÑ¼»½∩α«ó ¿¡¿µ¿á½¿ºáµ¿∩ «íδτ¡« ß«ó¼ÑΘÑ¡á ß
  868. αáß»αÑñѽѡ¿Ñ¼, á  «τ¿ßΓ¬á  «íδτ¡«   ß«ó¼ÑΘÑ¡á   ß   «ßó«í«ªñÑ¡¿Ñ¼,
  869. ¿ß»«½∞ºπ∩ αáßΦ¿αÑ¡¡δ⌐ ß¿¡Γá¬ß¿ß New ¿ Dispose. Åα¿¼Ñα:
  870.  
  871.      var
  872.         SP: StrFieldPtr;
  873.      begin
  874.         New(SP, Init(1, 1, 25, "FirstName"));
  875.         SP^.Put("Frank");
  876.         SP^.Display;
  877.         ...
  878.         Dispose(SP, Done);
  879.      end;
  880.  
  881.      ô¬áºáΓѽ∞ «íΩÑ¬Γ¡«ú«   Γ¿»á   ß«ó¼ÑßΓ¿¼   »«   »α¿ßóá¿óá¡¿ε  ß
  882. π¬áºáΓѽѼ ½εí«ú« Γ¿»á  «íΩѬΓá  »αÑñ¬á,   ß½Ññ«óáΓѽ∞¡«  ó«  óαѼ∩
  883. óδ»«½¡Ñ¡¿∩ »α«úαá¼¼δ  π¬áºáΓѽ∞  Γ¿»á  «íΩѬΓá  ¼«ªÑΓ  π¬áºδóáΓ∞ ¡á
  884. φ¬ºÑ¼»½∩α φΓ«ú« Γ¿»á ¿½¿ φ¬ºÑ¼»½∩α ½εí«ú« »«α«ªñÑ¡¡«ú« Γ¿»á.
  885.      ìá»α¿¼Ñα, π¬áºáΓѽ∞   Γ¿»á  ZipFieldPtr  ¼«ªÑΓ  íδΓ∞  »α¿ßó«Ñ¡
  886. π¬áºáΓѽ∩¼ Γ¿»á  ZipFieldPtr,   NumFieldPtr  ¿  FieldPtr  ó«  óαѼ∩
  887. óδ»«½¡Ñ¡¿∩ »α«úαá¼¼δ,   π¬áºáΓѽ∞  ¡á  Γ¿»  FieldPtr ¼«ªÑΓ íδΓ∞ ¿½¿
  888. nil, ¿½¿   π¬áºáΓѽ∞   ¡á   φ¬ºÑ¼»½∩α  Field,  StrField,  NumField,
  889. ZipField, ¿½¿ ½εí«⌐ ñαπú«⌐ φ¬ºÑ¼»½∩α, »«α«ªñÑ¡¡δ⌐ «Γ Field.
  890.      ¥Γ« »αá󿽫 ß«ó¼ÑßΓ¿¼«ßΓ¿ »α¿ »α¿ßóá¿óá¡¿¿ π¬áºáΓѽÑ⌐  Γᬠ ªÑ
  891. »α¿¼Ñ¡¿¼« ¬ »áαá¼ÑΓαá¼ «íΩÑ¬Γ¡«ú« Γ¿»á. ìá»α¿¼Ñα, ¼ÑΓ«ñπ Field.Copy
  892. ¼«ªÑΓ íδΓ∞  »ÑαÑñá¡  ½εí«⌐  φ¬ºÑ¼»½∩α  Field,  StrField,  NumField,
  893. ZipField ¿½¿ ½εí«⌐ ñαπú«⌐ φ¬ºÑ¼»½∩α,  »«α«ªñÑ¡¡δ⌐ «Γ  Field.
  894.      îÑΓ«ñ á¬Γ¿ó¿º¿απÑΓß∩   τÑαѺ   ¬óá½¿Σ¿¬áΓ«α   ¼ÑΓ«ñá  ó  Σ«α¼Ñ
  895. ¥¬ºÑ¼»½∩α.îÑΓ«ñ,  úñÑ ¥¬ºÑ¼»½∩α - φΓ« φ¬ºÑ¼»½∩α «íΩÑ¬Γ¡«ú« Γ¿»á,  á
  896. îÑΓ«ñ - φΓ« ¼ÑΓ«ñ φΓ«ú« «íΩÑ¬Γ¡«ú« Γ¿»á.
  897.      ä½∩ ßΓáΓ¿τÑ߬¿σ ¼ÑΓ«ñ«ó «íΩ∩ó½Ñ¡¡δ⌐ (ó« óαѼ∩  ¬«¼»¿½∩µ¿¿) Γ¿»
  898. φ¬ºÑ¼»½∩αá   «»αÑñѽ∩ÑΓ,   ¬á¬«⌐  ¼ÑΓ«ñ  ñ«½ªÑ¡  íδΓ∞  á¬Γ¿ó¿α«óá¡.
  899. ìá»α¿¼Ñα,   ¬óá½¿Σ¿¬áΓ«αδ   F.Init   ¿   FP^.Init   íπñπΓ    óßÑúñá
  900. á¬Γ¿ó¿º¿α«óáΓ∞  Field.Init,  »«ß¬«½∞¬π  «íΩ∩ó½Ñ¡¡δ⌐  Γ¿»  F ¿ FP^ -
  901. Field.
  902.      ä½∩ ó¿αΓπá½∞¡δσ   ¼ÑΓ«ñ«ó   óδí¿αáÑΓß∩  á¬Γπá½∞¡δ⌐  (ó«  óαѼ∩
  903. óδ»«½¡Ñ¡¿∩) Γ¿» φ¬ºÑ¼»½∩αá.  ìá»α¿¼Ñα,  ¬óá½¿Σ¿¬áΓ«α FP^.Edit ¼«ªÑΓ
  904. á¬Γ¿ó¿α«óáΓ∞ Field.Edit, StrField.Edit, NumField.Edit ¿½¿ ZipField.
  905. Edit ó ºáó¿ß¿¼«ßΓ¿  «Γ  á¬Γπá½∞¡«ú«  Γ¿»á  φ¬ºÑ¼»½∩αá,  ¡á  ¬«Γ«αδ⌐
  906. π¬áºδóáÑΓ FP.
  907.      é««íΘÑ, ¡ÑΓ ß»«ß«í«ó «»αÑñѽ¿Γ∞, ¬á¬«⌐ ¼ÑΓ«ñ íπñÑΓ á¬Γ¿ó¿α«óá¡
  908. ¬óá½¿Σ¿¬áΓ«α«¼ ó¿αΓπá½∞¡«ú« ¼ÑΓ«ñá. éδ ¼«ªÑΓÑ αáºαáí«ΓáΓ∞ »α«úαá¼¼π
  909. (Γá¬πε, ¬á¬ »α«úαá¼¼π αÑñá¬Γ«αá óσ«ñ¡δσ Σ«α¼),  ¬«Γ«αá∩  á¬Γ¿ó¿απÑΓ
  910. FP^.Edit ¿ »«ºñ¡ÑÑ,  íѺ ¼«ñ¿Σ¿¬áµ¿¿ φΓ«⌐ »α«úαá¼¼δ, »α¿¼Ñ¡¿Γ∞ ÑÑ ¬
  911. φ¬ºÑ¼»½∩απ ¡«ó«ú«,  ¡Ñ»αÑñó¿ñÑ¡¡«ú«  »«α«ªñÑ¡¡«ú«  Γ¿»á  «Γ  Field.
  912. è«úñá   ¡Ñ«íσ«ñ¿¼á   ú¿í¬«ßΓ∞  Γᬫú«  α«ñá,  éδ  ñ«½ª¡δ  »α¿¼Ñ¡∩Γ∞
  913. «íΩÑ¬Γ¡δ⌐ Γ¿» ß «Γ¬αδΓδ¼ ¡áí«α«¼  »«α«ªñÑ¡¡δσ  Γ¿»«ó,  τΓ«  ú«αáºñ«
  914. ½πτΦÑ «úαá¡¿τÑ¡¡«ú« ¡áí«αá Γ¿»á ºá»¿ß¿ ß óáα¿á¡ΓἿ.
  915.  
  916.  
  917.                           Æ¿» ¼¡«ªÑßΓó«.
  918.  
  919.      ä¿á»áº«¡ º¡áτÑ¡¿⌐ Γ¿»á ¼¡«ªÑßΓó« »αÑñßΓáó½∩ÑΓ  ß«í«⌐  ¼«Θ¡«ßΓ∞
  920. ¼¡«ªÑßΓóá  ñ½∩  «»αÑñѽѡ¡«ú«  »«α∩ñ¬«ó«ú«  Γ¿»á  (íẫó«ú«  Γ¿»á).
  921. èáªñ«Ñ ó«º¼«ª¡«Ñ º¡áτÑ¡¿Ñ  Γ¿»á  ¼¡«ªÑßΓó«  ∩ó½∩ÑΓß∩  »«ñ¼¡«ªÑßΓó«¼
  922. 󫺼«ª¡δσ º¡áτÑ¡¿⌐ íẫó«ú« Γ¿»á.
  923.      ÅÑαѼѡ¡á∩ Γ¿»á ¼¡«ªÑßΓó« ¼«ªÑΓ  »α¿¡¿¼áΓ∞  ¬á¬  óßÑ  º¡áτÑ¡¿∩
  924. ¼¡«ªÑßΓóá, Γᬠ¿ ¡¿ «ñ¡«ú«.
  925.  
  926.  
  927.                   ┌─────┐    ┌────┐    ┌────────────────┐
  928. Γ¿» ¼¡«ªÑßΓó« ───÷│ set ├───÷│ of ├───÷│ »«α∩ñ¬«óδ⌐ Γ¿» ├───÷
  929.                   └─────┘    └────┘    └────────────────┘
  930.  
  931.  
  932.      üẫóδ⌐ Γ¿»  ¡Ñ  ñ«½ªÑ¡  ¿¼ÑΓ∞  í«½ÑÑ 256 ó«º¼«ª¡δσ º¡áτÑ¡¿⌐ ¿
  933. »«α∩ñ¬«óδÑ º¡áτÑ¡¿∩ óÑασ¡Ñ⌐  ¿  ¡¿ª¡Ñ⌐  úαá¡¿µδ  íẫó«ú«  Γ¿»á  ¡Ñ
  934. ñ«½ª¡δ  »αÑóδΦáΓ∞  ñ¿á»áº«¡á «Γ 0 ñ« 255.  é ß¿½π φΓ«ú« íẫóδ⌐ Γ¿»
  935. ¼¡«ªÑßΓóá ¡Ñ ¼«ªÑΓ íδΓ∞ ShorInt,  Integer, LongInt, Word.
  936.      Ä»Ñαᵿ¿ ¡áñ  Γ¿»á¼¿  ¼¡«ªÑßΓó «»¿ßδóáεΓß∩ ó αáºñѽѠ"Ä»Ñαᵿ¿
  937. ¡áñ ¼¡«ªÑßΓóἿ" ó ú½áóÑ 6.  é αáºñѽѠ "è«¡ßΓαá¬Γ«αδ  ¼¡«ªÑßΓó"  ó
  938. φΓ«⌐ ú½áóÑ »«¬áºá¡«, ¬á¬ ß«ºñáΓ∞ º¡áτÑ¡¿Ñ ¼¡«ªÑßΓóá.
  939.      ïεí«⌐ ¼¡«ªÑßΓóÑ¡¡δ⌐ Γ¿» ¼«ªÑΓ »α¿¡¿¼áΓ∞ º¡áτÑ¡¿Ñ  [],  ¬«Γ«α«Ñ
  940. ¡áºδóáÑΓß∩ »πßΓδ¼ ¼¡«ªÑßΓó«¼.
  941.  
  942.  
  943.                            öá⌐½«óδÑ Γ¿»δ
  944.  
  945.      öá⌐½«óδ⌐ Γ¿» ß«ßΓ«¿Γ ¿º ½¿¡Ñ⌐¡«⌐ »«ß½Ññ«óáΓѽ∞¡«ßΓ¿ ¬«¼»«¡Ñ¡Γ,
  946. ¬«Γ«αδÑ ¼«úπΓ   ¿¼ÑΓ∞  ½εí«⌐  Γ¿» ºá ¿ß¬½ετÑ¡¿Ñ¼ Σá⌐½«ó«ú« Γ¿»á ¿½¿
  947. ßΓαπ¬Γπα¡«ú« Γ¿»á,  ß«ñÑαªáΘÑú« ¬«¼»«¡Ñ¡Γπ ß Σá⌐½«óδ¼ Γ¿»«¼.  ù¿ß½«
  948. ¬«¼»«¡Ñ¡Γ ¡Ñ πßΓá¡áó½¿óáÑΓß∩ «íΩ∩ó½Ñ¡¿Ñ¼ Σá⌐½«ó«ú« Γ¿»á.
  949.  
  950.  
  951.                  ┌──────┐     ┌────┐    ┌─────┐
  952. Σá⌐½«óδ⌐ Γ¿» ───÷│ file ├──┬─÷│ of ├───÷│ Γ¿» ├─────÷
  953.                  └──────┘  │  └────┘    └─────┘  °
  954.                            └─────────────────────┘
  955.  
  956.      àß½¿ ß½«ó«   of   ¿   Γ¿»   ¬«¼»«¡Ñ¡Γδ   «»πΘÑ¡δ,  «íΩ∩ó½∩ÑΓß∩
  957. ¡ÑΓ¿»¿α«óá¡¡δ⌐ Σá⌐½.  ìÑΓ¿»¿α«óá¡¡δÑ  Σá⌐½δ  -  φΓ«  ¡¿º¬«πα«ó¡ÑóδÑ
  958. ¬á¡á½δ é/é,  ¿ß»«½∞ºπѼδÑ  ñ½∩  ñ«ßΓπ»á  ¬  ½εí«¼π  ñ¿ß¬«ó«¼π Σá⌐½π
  959. ¡Ñºáó¿ß¿¼« «Γ Ñú« ó¡πΓαÑ¡¡Ñú« Σ«α¼áΓá.
  960.  
  961.      æΓá¡ñáαΓ¡δ⌐ Σá⌐½«óδ⌐  Γ¿»  Text  «»αÑñѽ∩ÑΓ  Σá⌐½,  ß«ñÑαªáΘ¿⌐
  962. ß¿¼ó«½δ,  π»«α∩ñ«τÑ¡¡δÑ  ó  ßΓ᫬¿.  ÆѬßΓ«óδÑ   Σá⌐½δ   ¿ß»«½∞ºπεΓ
  963. ߻ѵ¿á½∞¡δÑ »α«µÑñπαδ óó«ñá/óδó«ñá,  ¬«Γ«αδÑ «»¿ßδóáεΓß∩ ó ú½áóÑ 19
  964. "éó«ñ ¿ óδó«ñ".
  965.  
  966.  
  967.                            Æ¿» π¬áºáΓѽ∞
  968.  
  969.      Æ¿» π¬áºáΓѽ∞ «»αÑñѽ∩ÑΓ ¼¡«ªÑßΓó« º¡áτÑ¡¿⌐, ¬«Γ«αδÑ π¬áºδóáεΓ
  970. ¡á ñ¿¡á¼¿τÑ߬¿Ñ »ÑαѼѡ¡δÑ «»αÑñѽѡ¡«ú« Γ¿»á,  ¡áºδóáѼ«ú« íẫóδ¼
  971. Γ¿»«¼. ÅÑαѼѡ¡á∩    Γ¿»á   Pointer  ß«ñÑαª¿Γ  áñαÑß   ñ¿¡á¼¿τÑ߬«⌐
  972. »ÑαѼѡ¡«⌐ ó »á¼∩Γ¿.
  973.  
  974.                   ┌───┐    ┌─────────────┐
  975. Γ¿» π¬áºáΓѽ∞ ───÷│ ^ ├───÷│ íẫóδ⌐ Γ¿» ├──÷
  976.                   └───┘    └─────────────┘
  977.  
  978.  
  979.                  ┌─────────────────────┐
  980. íẫóδ⌐ Γ¿» ────÷│ ¿ñÑ¡Γ¿Σ¿¬áΓ«α  Γ¿»á ├───÷
  981.                  └─────────────────────┘
  982.  
  983.      àß½¿ íẫóδ⌐ Γ¿» ∩ó½∩ÑΓß∩ ÑΘÑ ¡Ñ  «íΩ∩ó½Ñ¡¡δ¼ ¿ñÑ¡Γ¿Σ¿¬áΓ«α«¼,
  984. Γ«  «¡ ñ«½ªÑ¡ íδΓ∞ «íΩ∩ó½Ñ¡ ó Γ«⌐ ªÑ ßἫ⌐ τáßΓ¿ «íΩ∩ó½Ñ¡¿∩,  τΓ« ¿
  985. Γ¿» π¬áºáΓѽ∞.
  986.      ÅÑαѼѡ¡«⌐ π¬áºáΓѽ∩   ¼«ª¡«   »α¿ßó«¿Γ∞  º¡áτÑ¡¿Ñ  ß  »«¼«Θ∞ε
  987. »α«µÑñπαδ New,  «»ÑαáΓ«αá @ ¿½¿ Σπ¡¬µ¿¿ Ptr.  Åα«µÑñπαá New «Γó«ñ¿Γ
  988. ¡«óπε «í½áßΓ∞ »á¼∩Γ¿ ó ¬πτÑ ñ½∩ ñ¿¡á¼¿τÑ߬«⌐ »ÑαѼѡ¡«⌐ ¿ ß«σαá¡∩ÑΓ
  989. áñαÑß φΓ«⌐ «í½áßΓ¿ ó »ÑαѼѡ¡«⌐ π¬áºáΓѽÑ. Ä»ÑαáΓ«α @ πßΓá¡áó½¿óáÑΓ
  990. »ÑαѼѡ¡πε  π¬áºáΓѽ∩  ¡á  «í½áßΓ∞ »á¼∩Γ¿,  ß«ñÑαªáΘπε ßπΘÑßΓóπεΘπε
  991. »ÑαѼѡ¡πε,  ó¬½ετá∩ ¿ ΓÑ »ÑαѼѡ¡δÑ, ¬«Γ«αδÑ ¿¼ÑεΓ ¿ñÑ¡Γ¿Σ¿¬áΓ«αδ.
  992. öπ¡¬µ¿∩  Ptr  πßΓá¡áó½¿óáÑΓ  »ÑαѼѡ¡πε  π¬áºáΓѽ∞  ¡á «»αÑñѽѡ¡δ⌐
  993. áñαÑß ó »á¼∩Γ¿.
  994.      çáαѺÑαó¿α«óá¡¡«Ñ ß½«ó« nil «í«º¡áτáÑΓ ¬«¡ßΓá¡Γπ ß«  º¡áτÑ¡¿Ñ¼
  995. π¬áºáΓѽ∩, ¬«Γ«αδ⌐ ¡¿ ¡á τΓ« ¡Ñ π¬áºδóáÑΓ.
  996.      éßΓα«Ñ¡¡δ⌐ Γ¿» Pointer «í«º¡áτáÑΓ ¡ÑΓ¿»¿α«óá¡¡δ⌐ π¬áºáΓѽ∞, Γ«
  997. ÑßΓ∞ π¬áºáΓѽ∞,  ¬«Γ«αδ⌐ ¡Ñ π¬áºδóáÑΓ ¡¿ ¡á ¬á¬«⌐ «»αÑñѽѡ¡δ⌐ Γ¿».
  998. ÅÑαѼѡ¡δÑ  Γ¿»á  Pointer  ¡Ñ  ¼«úπΓ  íδΓ∞  αế¼Ñ¡«óá¡δ;  π¬áºá¡¿Ñ
  999. ß¿¼ó«½á ^ »«ß½Ñ Γᬫ⌐ »ÑαѼѡ¡«⌐ óδºδóáÑΓ »«∩ó½Ñ¡¿Ñ «Φ¿í¬¿.  èᬠ ¿
  1000. º¡áτÑ¡¿Ñ, «í«º¡áτáѼ«Ñ ß½«ó«¼ nil, º¡áτÑ¡¿∩ Γ¿»á Pointer ß«ó¼ÑßΓ¿¼δ
  1001. ß« óßѼ¿ ñαπú¿¼¿ Γ¿»á¼¿ π¬áºáΓѽÑ⌐.
  1002.      é αáºñѽѠ "ô¬áºáΓѽ¿  ¿  ñ¿¡á¼¿τÑ߬¿Ñ  »ÑαѼѡ¡δÑ"  ó ú½áóÑ 4
  1003. ¼«ª¡« ¡á⌐Γ¿ ß¿¡Γá¬ß¿ß ßß佬¿ ¡á  ñ¿¡á¼¿τÑ߬¿Ñ  »ÑαѼѡ¡δÑ,  ¬«Γ«αδÑ
  1004. π¬áºδóáεΓß∩ ß »«¼«Θ∞ε »ÑαѼѡ¡«⌐ π¬áºáΓѽ∩.
  1005.  
  1006.  
  1007.                          Åα«µÑñπα¡δÑ Γ¿»δ.
  1008.  
  1009.      æΓá¡ñáαΓ¡δ⌐ Åá߬á½∞  αáßß¼áΓα¿óáÑΓ  »α«µÑñπαδ  ¿  Σπ¡¬µ¿¿  ¬á¬
  1010. τáßΓ∞   »α«úαá¼¼δ,   ¬«Γ«απε  ¼«ª¡«  óδ»«½¡¿Γ∞  »«ßαÑñßΓó«¼  ó맮óá
  1011. »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿.  é Turbo Pascal í«½ÑÑ ßó«í«ñ¡«Ñ «Γ¡«ΦÑ¡¿Ñ  ¬
  1012. »α«µÑñπαá¼  ¿  Σπ¡¬µ¿∩¼:  «¡  »«ºó«½∩ÑΓ  αáßß¼áΓα¿óáΓ∞  »α«µÑñπαδ ¿
  1013. Σπ¡¬µ¿¿ ¬á¬ «í∞ѬΓδ, ¬«Γ«αδÑ ¼«ª¡« »α¿ßó«¿Γ∞ »ÑαѼѡ¡δ¼ ¿½¿ ¬«Γ«αδÑ
  1014. ¼«úπΓ   óδßΓπ»áΓ∞  ó  ¬áτÑßΓóÑ  »áαá¼ÑΓα«ó.  ÆᬿѠ ñÑ⌐ßΓó¿∩  ßΓ὿
  1015. 󫺼«ª¡δ¼¿ í½áú«ñáα∩ »α«µÑñπα¡δ¼ Γ¿»á¼.
  1016.      ä½∩ í«½ÑÑ  »«½¡«⌐ ¿¡Σ«α¼áµ¿¿ »« »α«µÑñπα¡δ¼ Γ¿»á¼ «íαáΓ¿ΓÑß∞ ¬
  1017. αáºñѽπ "Åα«µÑñπα¡δÑ Γ¿»δ" ó ú½áóÑ 8.
  1018.  
  1019.      ÄíΩ∩ó½Ñ¡¿Ñ »α«µÑñπα¡«ú« Γ¿»á ºáñáÑΓ »áαá¼ÑΓαδ ¿,  ñ½∩ Σπ¡¬µ¿¿,
  1020. Γ¿» αѺπ½∞ΓáΓá.
  1021.  
  1022.  
  1023. »α«µÑñπα¡δ⌐ Γ¿»
  1024.  │
  1025.  │  ┌─────────┐
  1026.  └┬÷│procedure├─┬────────────────────────────────────────────────÷
  1027.   │ └─────────┘ │  ┌────────────────────────────┐ °            °
  1028.   │             └─÷│ß»¿ß«¬ Σ«α¼á½∞¡δσ »áαá¼ÑΓα«ó├─┘            │
  1029.   │                └────────────────────────────┘              │
  1030.   │ ┌────────┐                                  ┌─┐ ┌─────────┐│
  1031.   └÷│function├┬────────────────────────────────÷│:├÷│αѺπ½∞ΓáΓ├┘
  1032.     └────────┘│ ┌────────────────────────────┐° └─┘ └─────────┘
  1033.               └÷│ß»¿ß«¬ Σ«α¼á½∞¡δσ »áαá¼ÑΓα«ó├┘
  1034.                 └────────────────────────────┘
  1035.  
  1036.      æ¿¡Γá¬ß¿ß «íΩ∩ó½Ñ¡¿∩ »α«µÑñπα¡«ú« Γ¿»á  Γ«τ¡«  Γᬫ⌐  ªÑ,  ¬á¬
  1037. «»αÑñѽѡ¿Ñ ºáú«½«ó¬á  »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿,  ºá ¿ß¬½ετÑ¡¿Ñ¼ Γ«ú«,
  1038. τΓ« ¿ñÑ¡Γ¿Σ¿¬áΓ«α »«ß½Ñ  ¬½ετÑó«ú«  ß½«óá  procedure  ¿½¿  function
  1039. «»π߬áÑΓß∩. Åα¿¼Ñαδ «íΩ∩ó½Ñ¡¿⌐ »α«µÑñπα¡«ú« Γ¿»á:
  1040.  
  1041.      type
  1042.         Proc = procedure;
  1043.         SwapProc = procedure(var X, Y: Integer);
  1044.         StrProc = procedure(S: String);
  1045.         MathFunc = function(X: Real): Real:
  1046.         DeviceFunc = function(var F: Text): Integer;
  1047.         MaxFunc = function(A, B: Real; F: MathFunc): Real;
  1048.  
  1049.  
  1050.      ê¼Ñ¡á »áαá¼ÑΓα«ó   ó   «íΩ∩ó½Ñ¡¿¿   »α«µÑñπα¡«ú«   Γ¿»á  τ¿ßΓ«
  1051. ñѬ«αáΓ¿ó¡δÑ - «¡¿ ¡Ñ ó«ºñÑ⌐ßΓóπεΓ ¡á ß¼δß½ «íΩ∩ó½Ñ¡¿∩.
  1052.  
  1053.      Åα¿¼Ñτá¡¿Ñ: Turbo Pascal ¡Ñ »«ºó«½∩ÑΓ éá¼  «íΩ∩ó½∩Γ∞  Σπ¡¬µ¿¿,
  1054. ó«ºóαáΘáεΘ¿Ñ º¡áτÑ¡¿∩  »α«µÑñπα¡«ú« Γ¿»á;  αѺπ½∞ΓáΓ Σπ¡¬µ¿¿ ñ«½ªÑ¡
  1055. íδΓ∞ String,   Real,   Integer,   Char,   Boolean,   Pointer    ¿½¿
  1056. »ÑαÑτ¿ß½Ñ¡¿Ñ.
  1057.  
  1058.  
  1059.                  Æ«ªñÑßΓóÑ¡¡δÑ ¿ ß«ó¼ÑßΓ¿¼δÑ Γ¿»δ
  1060.  
  1061.      äóá Γ¿»á ¼«úπΓ  íδΓ∞  Γ«ªñÑßΓóÑ¡¡δ¼¿,  ¿  φΓá  Γ«ªñÑßΓóÑ¡¡«ßΓ∞
  1062. (¿ñÑ¡Γ¿τ¡«ßΓ∞)  ∩ó½∩ÑΓß∩  «í∩ºáΓѽ∞¡«⌐  ó  ¡Ñ¬«Γ«αδ󠬫¡ΓѬßΓáσ.  é
  1063. ñαπú¿σ  ß½πτá∩σ  ñóá  Γ¿»á  ñ«½ª¡δ  íδΓ∞  Γ«½∞¬«   ß«ó¼ÑßΓ¿¼δ   ¿½¿
  1064. ß«ó¼ÑßΓ¿¼δ ñ½∩ »α¿ßóá¿óá¡¿∩. äóá Γ¿»á ∩ó½∩εΓß∩ Γ«ªñÑßΓóÑ¡¡δ¼¿, Ñß½¿
  1065. «¡¿ «»¿ßá¡δ ó¼ÑßΓÑ,  ¿½¿ Ñß½¿ ¿σ «»αÑñѽѡ¿Ñ ¿ß»«½∞ºπεΓ «ñ¿¡ ¿  Γ«Γ
  1066. ªÑ ¿ñÑ¡Γ¿Σ¿¬áΓ«α Γ¿»á.
  1067.  
  1068.  
  1069.                        Æ«ªñÑßΓóÑ¡¡«ßΓ∞ Γ¿»«ó
  1070.  
  1071.      Æ«ªñÑßΓóÑ¡¡«ßΓ∞ Γ¿»«ó   ΓαÑíπÑΓß∩   Γ«½∞¬«   ñ½∩    »ÑαѼѡ¡δσ
  1072. Σá¬Γ¿τÑ߬¿σ ¿ Σ«α¼á½∞¡δσ »áαá¼Ñα«ó »α¿ ó맮óÑ »α«µÑñπα ¿ Σπ¡¬µ¿⌐.
  1073.      äóá Γ¿»á,  ß¬áªÑ¼  Æ1  ¿  Æ2,  ∩ó½∩εΓß∩  Γ«ªñÑßΓóÑ¡¡δ¼¿,  Ñß½¿
  1074. ∩ó½∩ÑΓß∩   ¿ßΓ¿¡¡δ¼   «ñ¡«   ¿º  ß½ÑñπεΘ¿σ  πΓóÑαªñÑ¡¿⌐:  Æ1  ¿  Æ2
  1075. »αÑñßΓáó½∩εΓ ß«í«⌐ «ñ¿¡ ¿ Γ«Γ ªÑ ¿ñÑ¡Γ¿Σ¿¬áΓ«α  Γ¿»á;  Æ1  «íΩ∩ó½Ñ¡
  1076. ¬á¬ φ¬ó¿óá½Ñ¡Γ¡δ⌐ Γ¿»π, Γ«ªñÑßΓóÑ¡¡«¼π Æ2.
  1077.      éΓ«α«Ñ πß½«ó¿Ñ «º¡áτáÑΓ,  τΓ« Æ1 ¡Ñ  «í∩ºáΓѽ∞¡«  ñ«½ªÑ¡  íδΓ∞
  1078. «íΩ∩ó½Ñ¡ ¬á¬ ¡Ñ»«ßαÑñßΓóÑ¡¡« φ¬ó¿óá½Ñ¡Γ¡δ⌐ Æ2. æ½ÑñπεΘÑÑ «íΩ∩ó½Ñ¡¿Ñ
  1079. Γ¿»«ó:
  1080.  
  1081.      Æ1 = Integer;
  1082.      Æ2 = Æ1;
  1083.      Æ3 = Integer;
  1084.      Æ4 = Æ2;
  1085.  
  1086.      «º¡áτáεΓ, τΓ« Æ1, Æ2, Æ3, Æ4 ¿ Integer ∩ó½∩εΓß∩ Γ«ªñÑßΓóÑ¡¡δ¼¿
  1087. Γ¿»á¼¿. æ½ÑñπεΘ¿Ñ «íΩ∩ó½Ñ¡¿∩ Γ¿»«ó
  1088.  
  1089.      Æ5 = set of Integer;
  1090.      Æ6 = set of Integer;
  1091.  
  1092.      ¡Ñ «»αÑñѽ∩εΓ  Æ5  ¿  Æ6  ¬á¬ Γ«ªñÑßΓóÑ¡¡δÑ,  »«ß¬«½∞¬π set of
  1093. Integer  ¡Ñ  ∩ó½∩ÑΓß∩   ¿ñÑ¡Γ¿Σ¿¬áΓ«α«¼   Γ¿»á.   äóÑ   »ÑαѼѡ¡δÑ,
  1094. «íΩ∩ó½Ñ¡¡δÑ ó «ñ¡«¼ ¿ Γ«¼ ªÑ «íΩ∩ó½Ñ¡¿¿, ¡á»α¿¼Ñα:
  1095.  
  1096.      V1, V2: set of Integer;
  1097.  
  1098.      ¿¼ÑÑεΓ Γ«ªñÑßΓóÑ¡¡δÑ   Γ¿»δ,   »«ß¬«½∞¬π   ¿σ   «íΩ∩ó½Ñ¡¿∩  ¡Ñ
  1099. αáºñѽѡδ. ÄíΩ∩ó½Ñ¡¿∩:
  1100.  
  1101.      V1: set of Integer;
  1102.      V2: set of Integer;
  1103.      V3: Integer;
  1104.      V4: Integer;
  1105.  
  1106.      «º¡áτáεΓ, τΓ« V3 ¿ V4 ¿¼ÑεΓ Γ«ªñÑßΓóÑ¡¡δ⌐ Γ¿»,  á V1 ¿ V2 ¡ÑΓ.
  1107.  
  1108.  
  1109.                         æ«ó¼ÑßΓ¿¼«ßΓ∞ Γ¿»«ó
  1110.  
  1111.      ê¡«úñá, ¡á»α¿¼Ñα, ó óδαáªÑ¡¿∩σ ¿ «»Ñαᵿ∩σ ßαáó¡Ñ¡¿∩ ΓαÑíπÑΓß∩
  1112. ß«ó¼ÑßΓ¿¼«ßΓ∞  Γ¿»«ó.  æ«ó¼ÑßΓ¿¼«ßΓ∞  Γ¿»«ó,  ¬α«¼Ñ  Γ«ú«, ∩ó½∩ÑΓß∩
  1113. ó᪡«⌐ »αÑñ»«ß佬«⌐ ñ½∩ ß«ó¼ÑßΓ¿¼«ßΓ¿ »α¿ »α¿ßóá¿óá¡¿¿.
  1114.      æ«ó¼ÑßΓ¿¼«ßΓ∞ Γ¿»«ó ¿¼ÑÑΓ ¼ÑßΓ«,  Ñß½¿ óδ»«½¡∩ÑΓß∩, »« ¬αá⌐¡Ñ⌐
  1115. ¼ÑαÑ, «ñ¡« ¿º ß½ÑñπεΘ¿σ πß½«ó¿⌐:
  1116.  
  1117.      -  «íá Γ¿»á ∩ó½∩εΓß∩ «ñ¿¡á¬«ó묨.
  1118.      -  «íá Γ¿»á ∩ó½∩εΓß∩ óÑΘÑßΓóÑ¡¡δ¼¿ Γ¿»á¼¿.
  1119.      -  «íá Γ¿»á ∩ó½∩εΓß∩ µÑ½«τ¿ß½Ñ¡¡δ¼¿.
  1120.      -  «ñ¿¡ Γ¿» ∩ó½∩ÑΓß∩ »«ññ¿á»áº«¡«¼ ñαπú«ú«.
  1121.      -  «íá Γ¿»á ∩ó½∩εΓß∩ »«ññ¿á»áº«¡á¼¿ «ñ¡«ú« ¿ Γ«ú« ªÑ «ß¡«ó¡«ú«
  1122.         Γ¿»á.
  1123.      -  «íá Γ¿»á ∩ó½∩εΓß∩ Γ¿»á¼¿ ¼¡«ªÑßΓó  ß  ß«ó¼ÑßΓ¿¼δ¼¿  íẫó묨
  1124.         Γ¿»á¼¿.
  1125.      -  «íá Γ¿»á  ∩ó½∩εΓß∩   π»á¬«óá¡¡δ¼¿   ßΓ᫬«ó묨   Γ¿»á¼¿   ß
  1126.         «ñ¿¡á¬«óδ¼ τ¿ß½«¼ ¬«¼»«¡Ñ¡Γ.
  1127.      -  «ñ¿¡ Γ¿» ∩ó½∩ÑΓß∩  ßΓ᫬«óδ¼, á  ñαπú«⌐  Γ¿»  ∩ó½∩ÑΓß∩  ¿½¿
  1128.         ßΓ᫬«óδ¼  Γ¿»«¼,  ¿½¿  π»á¬«óá¡¡δ¼  ßΓ᫬«óδ¼  Γ¿»«¼,  ¿½¿
  1129.         Γ¿»«¼ Char.
  1130.      -  «ñ¿¡ Γ¿» - Pointer, á ñαπú«⌐ ∩ó½∩ÑΓß∩ ½εíδ¼ Γ¿»«¼ π¬áºáΓѽ∩
  1131.      -  «íá Γ¿»á  ∩ó½∩εΓß∩  »α«µÑñπα¡δ¼¿  Γ¿»á¼¿  ß  Γ«ªñÑßΓóÑ¡¡δ¼¿
  1132.         Γ¿»á¼¿ αѺπ½∞ΓáΓá,  ß  Γ«ªñÑßΓóÑ¡¡δ¼  τ¿ß½«¼ »áαá¼ÑΓα«ó,  ß
  1133.         Γ«ªñÑßΓóÑ¡¡δ¼¿ («ñ¿¡ ó «ñ¿¡) Γ¿»á¼¿ »áαá¼ÑΓα«ó.
  1134.  
  1135.  
  1136.               æ«ó¼ÑßΓ¿¼«ßΓ∞ ó «»Ñαᵿ∩σ »α¿ßóá¿óá¡¿∩
  1137.  
  1138.      æ«ó¼ÑßΓ¿¼«ßΓ∞ »« »α¿ßóá¿óá¡¿ε ¡Ñ«íσ«ñ¿¼á,   Ñß½¿  ¿¼ÑÑΓ  ¼ÑßΓ«
  1139. »α¿ßóá¿óá¡¿Ñ º¡áτÑ¡¿∩,  ¡á»α¿¼Ñα,  ó «»ÑαáΓ«αÑ »α¿ßóá¿óá¡¿∩ ¿½¿ »α¿
  1140. »ÑαÑñáτÑ º¡áτÑ¡¿⌐ »áαá¼ÑΓα«ó.
  1141.      ç¡áτÑ¡¿Ñ Γ¿»á Æ2 ∩ó½∩ÑΓß∩ ß«ó¼ÑßΓ¿¼δ¼ »« »α¿ßóá¿óá¡¿ε  ß Γ¿»«¼
  1142. Æ1  (Γ.Ñ.  ñ«»πßΓ¿¼«  Æ1:=Æ2),Ñß½¿  óδ»«½¡∩ÑΓß∩  «ñ¡«  ¿º ß½ÑñπεΘ¿σ
  1143. πß½«ó¿⌐:
  1144.  
  1145.      -  Æ1 ¿ Æ2 ¿¼ÑεΓ Γ«ªñÑßΓóÑ¡¡δÑ  Γ¿»δ,  ¿ ¡¿  «ñ¿¡  ¿º  ¡¿σ  ¡Ñ
  1146.         ∩ó½∩ÑΓß∩  Σá⌐½«óδ¼ Γ¿»«¼ ¿½¿ ßΓαπ¬Γπα¡δ¼ Γ¿»«¼,  ß«ñÑαªáΘ¿¼
  1147.         ¬«¼»«¡Ñ¡Γπ ß Σá⌐½«óδ¼ Γ¿»«¼ ¡á «ñ¡«¼ ¿º ßó«¿σ πα«ó¡Ñ⌐.
  1148.      -  Æ1 ¿ Æ2 ∩ó½∩εΓß∩ ß«ó¼ÑßΓ¿¼δ¼¿ »«α∩ñ¬«ó묨 Γ¿»á¼¿ ¿ º¡áτÑ¡¿∩
  1149.         Γ¿»á Æ2 »«»áñáεΓ ó ñ¿á»áº«¡ ó«º¼«ª¡δσ º¡áτÑ¡¿⌐ Æ1.
  1150.      -  Æ1 ¿  Æ2  ∩ó½∩εΓß∩  óÑΘÑßΓóÑ¡¡δ¼¿ Γ¿»á¼¿ ¿ º¡áτÑ¡¿∩ Γ¿»á Æ2
  1151.         »«»áñáεΓ ó ñ¿á»áº«¡ ó«º¼«ª¡δσ º¡áτÑ¡¿⌐ Æ1.
  1152.      -  Æ1 ∩ó½∩ÑΓß∩ óÑΘÑßΓóÑ¡¡δ¼ Γ¿»«¼, á Æ2 ∩ó½∩ÑΓß∩ µÑ½«τ¿ß½Ñ¡¡δ¼
  1153.         Γ¿»«¼.
  1154.      -  Æ1 ¿ Æ2 ∩ó½∩εΓß∩ ßΓ᫬«ó묨 Γ¿»á¼¿.
  1155.      -  Æ1 ∩ó½∩ÑΓß∩ ßΓ᫬«óδ¼ Γ¿»«¼, á Æ2 ∩ó½∩ÑΓß∩ Γ¿»«¼ Char.
  1156.      -  Æ1 ∩ó½∩ÑΓß∩  ßΓ᫬«óδ¼  Γ¿»«¼,  á  Æ2  ∩ó½∩ÑΓß∩ π»á¬«óá¡¡δ¼
  1157.         ßΓ᫬«óδ¼ Γ¿»«¼.
  1158.      -  Æ1  ¿  Æ2  ∩ó½∩εΓß∩  ß«ó¼ÑßΓ¿¼δ¼¿  π»á¬«óá¡¡δ¼¿  ßΓ᫬«ó묨
  1159.         Γ¿»á¼¿.
  1160.      -  Æ1 ¿  Æ2  ∩ó½∩εΓß∩  ß«ó¼ÑßΓ¿¼δ¼¿  Γ¿»á¼¿  ¼¡«ªÑßΓó,  ¿  óßÑ
  1161.         º¡áτÑ¡¿∩ Γ¿»á Æ2 »«»áñáεΓ ó ñ¿á»áº«¡ ó«º¼«ª¡δσ º¡áτÑ¡¿⌐ Æ1.
  1162.      -  Æ1 ¿ Æ2 ∩ó½∩εΓß∩ ß«ó¼ÑßΓ¿¼δ¼¿ Γ¿»á¼¿ π¬áºáΓѽÑ⌐.
  1163.      -  Æ1 ¿ Æ2 ∩ó½∩εΓß∩ ß«ó¼ÑßΓ¿¼δ¼¿ »α«µÑñπα¡δ¼¿ Γ¿»á¼¿.
  1164.      -  Æ1  ∩ó½∩ÑΓß∩   Γ¿»«¼   »α«µÑñπα¡δ¼  Γ¿»«¼,  á  Æ2  ∩ó½∩ÑΓß∩
  1165.         »α«µÑñπα«⌐ ¿½¿ Σπ¡¬µ¿Ñ⌐ ß Γ«ªñÑßΓóÑ¡¡δ¼ Γ¿»«¼ αѺπ½∞ΓáΓá, ß
  1166.         ¿ñÑ¡Γ¿τ¡δ¼ τ¿ß½«¼ »áαá¼ÑΓα«ó ¿ Γ«ªñÑßΓóÑ¡¡«ßΓ∞ε «ñ¿¡-ó-«ñ¿¡
  1167.         ¼Ñªñπ Γ¿»á¼¿ »áαá¼ÑΓα«ó.
  1168.      -  ÄíΩÑ¬Γ Γ¿»á  Æ2  ß«ó¼ÑßΓ¿¼ »« »α¿ßóá¿óá¡¿ε ß «íΩ5Ñ¬Γ«¼ Γ¿»á
  1169.         Æ2, Ñß½¿ Æ2 ¡áσ«ñ¿Γß∩ ó «í½áßΓ¿ «»αÑñѽѡ¿∩ Æ1.
  1170.      -  ô¬áºáΓѽ∞ Γ¿»á É2, π¬áºδóáεΘ¿⌐ ¡á Γ¿» «íΩѬΓá Æ2, ß«ó¼ÑßΓ¿¼
  1171.         »« »α¿ßóá¿óá¡¿ε ß π¬áºáΓѽѼ Γ¿»á É1,  π¬áºδóáεΘ¿¼  ¡á  Γ¿»
  1172.         «íΩѬΓá Æ1, Ñß½¿ Æ2 ½Ñª¿Γ ó «í½áßΓ¿ «»αÑñѽѡ¿∩ Æ1.
  1173.  
  1174.      ìá φΓá»Ñ ¬«¼»¿½∩µ¿¿ ¿ óδ»«½¡Ñ¡¿∩ óδñáÑΓß∩ ß««íΘÑ¡¿Ñ «í «Φ¿í¬Ñ,
  1175. Ñß½¿ ß«ó¼ÑßΓ¿¼«ßΓ∞ »« »α¿ßóá¿óá¡¿ε ¡Ñ«íσ«ñ¿¼á, á ¡¿ «ñ¡« ¿º πß½«ó¿⌐
  1176. »αÑñδñπΘÑú« ß»¿ß¬á ¡Ñ óδ»«½¡Ñ¡«.
  1177.  
  1178.  
  1179.                      Éáºñѽ «íΩ∩ó½Ñ¡¿∩ Γ¿»«ó.
  1180.  
  1181.      Åα«úαá¼¼δ, »α«µÑñπαδ ¿  Σπ¡¬µ¿¿  ¿¼ÑεΓ  ñ½∩  «íΩ∩ó½Ñ¡¿∩  Γ¿»«ó
  1182. ߻ѵ¿á½∞¡πε τáßΓ∞ «íΩ∩ó½Ñ¡¿∩ Γ¿»«ó. ìá»α¿¼Ñα:
  1183.  
  1184.      type
  1185.      Range  = Integer;
  1186.      Number = Integer;
  1187.      Color  = (Red, Green, Blue);
  1188.      CharVal = Ord(`A') .. Ord(`Z');
  1189.      TestIndex = 1..100;
  1190.      TestValue = -99..99;
  1191.      TestList  = array [TestIndex] of TestValue;
  1192.      TestListPtr = ^TestList;
  1193.      Date = object
  1194.         Year: Integer;
  1195.         Month: 1..12;
  1196.         Day: 1..31;
  1197.         procedure SetDate(D, M, Y: Integer);
  1198.         function ShowDate: String;
  1199.      end;
  1200.  
  1201.      MeasureData = record
  1202.         When: Date;
  1203.         Count: TestIndex;
  1204.         Data: TestListPtr;
  1205.      end;
  1206.  
  1207.      MeasureList = array [1..50] of MeasureData;
  1208.      Name = string [80];
  1209.      Sex = (Male, Female);
  1210.      Person = ^PersonData;
  1211.      PersonData = record
  1212.         Name, FirstName: Name;
  1213.         Age: Integer;
  1214.         Married: Boolean;
  1215.         Father, Child, Sibling: Person;
  1216.         case S: Sex of
  1217.            Male: (Bearded: Boolean);
  1218.            Female: (Pregnant: Boolean);
  1219.         end;
  1220.      PersonBuf = array [0..Size of (PersonData) -1] of Byte;
  1221.      People = file of PersonData;
  1222.  
  1223.      é φΓ«¼ »α¿¼ÑαÑ Range, Number ¿ Integer ∩ó½∩εΓß∩ Γ«ªñÑßΓóÑ¡¡δ¼¿
  1224. Γ¿»á¼¿. TestIndex    ∩ó½∩ÑΓß∩    ß«ó¼ÑßΓ¿¼δ¼   ¿   ß«ó¼ÑßΓ¿¼δ¼   »«
  1225. »α¿ßóá¿óá¡¿ε,  ¡«  ¡Ñ  Γ«ªñÑßΓóÑ¡¡δ¼,  ß  Γ¿»á¼¿  Range,  Number  ¿
  1226. Integer.  ÄΓ¼ÑΓ¿¼ ¿ß»«½∞º«óá¡¿Ñ ¬«¡ßΓá¡Γ¡δσ óδαáªÑ¡¿⌐ ó «íΩ∩ó½Ñ¡¿∩σ
  1227. CharVal ¿ PersonBuf.
  1228.  
  1229.