home *** CD-ROM | disk | FTP | other *** search
/ BBS 1 / BBS#1.iso / document / pas60pg.lzh / PG05.MY < prev    next >
Text File  |  1991-01-26  |  12KB  |  319 lines

  1.  
  2.                              âïÇéÇ 5.
  3.  
  4.                       ÆêÅêÉÄéÇìì¢à èÄìæÆÇìÆ¢.
  5.  
  6.      Æ¿»¿α«óá¡¡δÑ ¬«¡ßΓá¡Γδ  ¼«ª¡«  ßαáó¡¿Γ∞  ß ¿¡¿µ¿á½¿º¿α«óá¡¡δ¼¿
  7. »ÑαѼѡ¡δ¼¿ - »ÑαѼѡ¡δ¼¿,  º¡áτÑ¡¿∩ ¬«Γ«αδσ «»αÑñѽ∩εΓß∩ ¡á  óσ«ñÑ
  8. ¿σ  ó  í½«¬.  é  «Γ½¿τ¿Ñ  «Γ  ¡ÑΓ¿»¿α«óá¡¡δσ  ¬«¡ßΓá¡Γ (ß¼.  αáºñѽ
  9. "ÄíΩ∩ó½Ñ¡¿∩ ¬«¡ßΓá¡Γ"  ó  ú½áóÑ  1),  ó   «íΩ∩ó½Ñ¡¿¿   Γ¿»¿α«óá¡¡«⌐
  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.  
  38.      Æ¿»¿º«óá¡¡δÑ ¬«¡ßΓá¡Γδ ¼«ª¡« ¿ß»«½∞º«óáΓ∞ Γ«τ¡«  Γᬠ ªÑ,  ¬á¬
  39. »ÑαѼѡ¡δÑ Γ«ú«  ªÑ  ßἫú«  Γ¿»á,  ¿  «¡¿ ¼«úπΓ »«∩ó½∩Γ∞ß∩ ó ½Ñó«⌐
  40. τáßΓ¿ «»ÑαáΓ«αá »α¿ßóá¿óá¡¿∩.  ÄΓ¼ÑΓ¿¼,  τΓ« Γ¿»¿α«óá¡¡δÑ ¬«¡ßΓá¡Γδ
  41. ¿¡¿µ¿á½¿º¿απεΓß∩  Γ«½∞¬«  «ñ¿¡ αẠ- ó ¡áτá½Ñ óδ»«½¡Ñ¡¿∩ »α«úαá¼¼δ.
  42. Æᬿ¼ «íαẫ¼,  »α¿ ¬áªñ«¼ ¡«ó«¼  óσ«ñÑ  ó  »α«µÑñπαπ  ¿½¿  Σπ¡¬µ¿ε
  43. ½«¬á½∞¡«    «íΩ∩ó½Ñ¡¡δÑ    Γ¿»¿α«óá¡¡δÑ    ¬«¡ßΓá¡Γδ    ºá¡«ó«   ¡Ñ
  44. ¿¡¿µ¿á½¿º¿απεΓß∩.
  45.  
  46.      é ñ«»«½¡Ñ¡¿Ñ  ¬  «íδτ¡δ¼   ¬«¡ßΓá¡Γ¡δ¼   óδαáªÑ¡¿∩¼   º¡áτÑ¡¿Ñ
  47. Γ¿»¿α«óá¡¡«⌐ ¬«¡ßΓá¡Γδ  ¼«ªÑΓ  íδΓ∞  ºáñá¡«,  ¿ß»«½∞ºπ∩ ¬«¡ßΓá¡Γ¡«Ñ
  48. áñαÑß¡«Ñ óδαáªÑ¡¿Ñ. è«¡ßΓá¡Γ¡«Ñ áñαÑß¡«Ñ óδαáªÑ¡¿Ñ - φΓ« óδαáªÑ¡¿Ñ,
  49. ¬«Γ«α«Ñ ó¬½ετáÑΓ »«½πτÑ¡¿Ñ áñαÑßá, ß¼ÑΘÑ¡¿∩ ¿½¿ ßÑú¼Ñ¡Γá ú½«íá½∞¡«⌐
  50. »ÑαѼѡ¡«⌐, Γ¿»¿α«óá¡¡«⌐   ¬«¡ßΓá¡Γδ,   »α«µÑñπαδ    ¿½¿    Σπ¬µ¿¿.
  51. è«¡ßΓá¡Γ¡«Ñ áñαÑß¡«Ñ  óδαáªÑ¡¿Ñ  ¡Ñ  ¼«ªÑΓ  ßßδ½áΓ∞ß∩  ¬  ½«¬á½∞¡δ¼
  52. »ÑαѼѡ¡δ¼ ¿½¿  ñ¿¡á¼¿τÑ߬¿¼  (ó  ¬πτÑ)  »ÑαѼѡ¡δ¼,  »«ß¬«½∞¬π  ¿σ
  53. áñαÑßᠡѽ∞º∩ óδτ¿ß½¿Γ∞ ó« óαѼ∩ ¬«¼»¿½∩µ¿¿.
  54.  
  55.  
  56.                      è«¡ßΓá¡Γδ »α«ßΓ«ú« Γ¿»á.
  57.  
  58.      ÄíΩ∩ó½Ñ¡¿Ñ Γ¿»¿α«óá¡¡«⌐ ¬«¡ßΓá¡Γδ ß »α«ßΓδ¼ Γ¿»«¼ «º¡áτáÑΓ π¬á-
  59. ºá¡¿Ñ º¡áτÑ¡¿∩ ¬«¡ßΓá¡Γδ:
  60.  
  61.      const
  62.          Maximum   : Integer = 9999;
  63.          Factor    : Real   = -0.1;
  64.          Breakchar : Char   = $3;
  65.  
  66.      èᬠ߬áºá¡« αá¡ÑÑ,  º¡áτÑ¡¿Ñ Γ¿»¿α«óá¡¡«⌐ ¬«¡ßΓá¡Γδ ¼«ªÑΓ íδΓ∞
  67. ºáñá¡« ß  ¿ß»«½∞º«ó᡿Ѽ  ¬«¡ßΓá¡Γ¡«ú«  áñαÑß¡«ú«  óδαáªÑ¡¿∩,  Γ.Ñ.
  68. óδαáªÑ¡¿∩, ¬«Γ«α«Ñ »«½πτáÑΓ áñαÑß,  ß¼ÑΘÑ¡¿Ñ ¿½¿ ßÑú¼Ñ¡Γ ú½«íá½∞¡«⌐
  69. »ÑαѼѡ¡«⌐, Γ¿»¿α«óá¡¡«⌐ ¬«¡ßΓá¡Γδ, »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿. ìá»α¿¼Ñα
  70.  
  71.      var
  72.        Buffer : array[0..1023] of Byte;
  73.      const
  74.        BufferOfs : Word = Ofs(Buffer);
  75.        BufferSeg : Word = Seg(Buffer);
  76.  
  77.      Å«ß¬«½∞¬π Γ¿»¿α«óá¡¡á∩ ¬«¡ßΓá¡Γá Σá¬Γ¿τÑ߬¿ »αÑñßΓáó½∩ÑΓ ß«í«⌐
  78. »ÑαѼѡ¡πε ß«    ¬«¡ßΓá¡Γ¡δ¼    º¡áτÑ¡¿Ñ¼,    «¡á    ¡Ñ    ∩ó½∩ÑΓß∩
  79. óºá¿¼«ºá¼Ñ¡¿¼«⌐  ñ½∩  «íδτ¡δσ  ¬«¡ßΓá¡Γ.  ìá»α¿¼Ñα,  «¡á  ¡Ñ  ¼«ªÑΓ
  80. ¿ß»«½∞º«óáΓ∞ß∩ ó «íΩ∩ó½Ñ¡¿¿ ñαπú¿σ ¬«¡ßΓá¡Γ ¿½¿ Γ¿»«ó.
  81.  
  82.      const
  83.          Min : Integer = 0;
  84.          Max : Integer = 99;
  85.      type
  86.          Vector = array [Min..Max] of Integer;
  87.  
  88.      ÄíΩ∩ó½Ñ¡¿Ñ Vector ∩ó½∩ÑΓß∩ ¡Ññ«»πßΓ¿¼δ¼,  »«ß¬«½∞¬π Min ¿  Max
  89. ∩ó½∩εΓß∩ Γ¿»¿α«óá¡¡δ¼¿ ¬«¡ßΓá¡ΓἿ.
  90.  
  91.  
  92.                     è«¡ßΓá¡Γδ ßΓ᫬«ó«ú« Γ¿»á.
  93.  
  94.      ÄíΩ∩ó½Ñ¡¿Ñ Γ¿»¿α«óá¡¡«⌐  ¬«¡ßΓá¡Γδ  ßΓ᫬«ó«ú«  Γ¿»á  ß«ñÑনΓ
  95. ¼á¬ß¿¼á½∞¡πε ñ½¿¡π ßΓ᫬¿ ¿ ÑÑ ¡áτá½∞¡«Ñ º¡áτÑ¡¿Ñ:
  96.  
  97.      const
  98.          Heading  : string [7] = `Section';
  99.          Newline  : string [2] = #13#10;
  100.          TrueStr  : string [5] = `Yes';
  101.          FalseStr : string [5] = `No';
  102.  
  103.  
  104.                    è«¡ßΓá¡Γδ ßΓαπ¬Γπα¡«ú« Γ¿»á.
  105.  
  106.      ÄíΩ∩ó½Ñ¡¿Ñ ¬«¡ßΓá¡Γδ  ßΓαπ¬Γπα¡«ú«  Γ¿»á   ß«ñÑαª¿Γ   º¡áτÑ¡¿Ñ
  107. ¬áªñ«⌐ ¬«¼»«¡Ñ¡Γδ ßΓαπ¬Γπαδ. Æπαí«-Åá߬á½∞ »«ññÑনóáÑΓ «íΩ∩ó½Ñ¡¿∩
  108. ¬«¡ßΓá¡Γ ß Γ¿»«¼ ¼áßß¿ó,  ºá»¿ß∞,  ¼¡«ªÑßΓó« ¿ π¬áºáΓѽ∞; ¬«¡ßΓá¡Γδ
  109. Σá⌐½«ó«ú« Γ¿»á  ¿  ¬«¡ßΓá¡Γδ ß Γ¿»«¼ ¼áßß¿ó ¿½¿ ºá»¿ß∞,  ß«ñÑαªáΘ¿Ñ
  110. ¬«¼»«¡Ñ¡Γδ Σá⌐½«ó«ú« Γ¿»á, ¡Ñ ñ«»π߬áεΓß∩.
  111.  
  112.  
  113.                      è«¡ßΓá¡Γδ ß Γ¿»«¼ ¼áßß¿ó.
  114.  
  115.      ÄíΩ∩ó½Ñ¡¿Ñ ¬«¡ßΓá¡Γδ   ß   Γ¿»«¼   ¼áßß¿ó   ß«ñÑαª¿Γ  º¡áτÑ¡¿∩
  116. ¬«¼»«¡Ñ¡Γ, ºá¬½ετÑ¡¡δÑ ó ß¬«í¬¿ ¿ αáºñѽѡ¡δÑ ºá»∩Γ묨.
  117.  
  118.                       ┌─┐     ┌────────────┐     ┌─┐
  119. ¬«¡ßΓá¡Γá-¼áßß¿ó  ───÷│(├────÷│Γ¿»¿α«óá¡¡á∩├──┬─÷│)├───÷
  120.                       └─┘  °  │ ¬«¡ßΓá¡Γá  │  │  └─┘
  121.                            │  └────────────┘  │
  122.                            │      ┌─┐         │
  123.                            └──────┤,│≈────────┘
  124.                                   └─┘
  125.  
  126.      Åα¿óÑñѼ »α¿¼Ñα ¬«¡ßΓá¡Γδ ß Γ¿»«¼ ¼áßß¿ó:
  127.  
  128.      type
  129.         Status = (Active, Passive, Waiting);
  130.         StatusMap = array [Status] of string[7];
  131.  
  132.      const
  133.         StatStr:StatusMaα = ('Active', 'Passive', 'Waiting');
  134.  
  135.      é φΓ«¼ »α¿¼ÑαÑ «»αÑñѽ∩ÑΓß∩ ¬«¡ßΓá¡Γá-¼áßß¿ó StatStr, ¬«Γ«αá∩
  136. ¼«ªÑΓ  íδΓ∞ ¿ß»«½∞º«óá¡á ñ½∩ »αÑ«íαẫóá¡¿∩ º¡áτÑ¡¿⌐ Γ¿»á Status ó
  137. ß««ΓóÑΓßΓóπεΘ¿Ñ ¿¼ ßΓ᫬«óδÑ »αÑñßΓáó½Ñ¡¿∩.  è«¼»«¡Ñ¡ΓἿ  StatStr
  138. ∩ó½∩εΓß∩
  139.  
  140.      StatStr[Active] = 'Active'
  141.      StatStr[Passive] = 'Passive'
  142.      StatStr[Waiting] = 'Waiting'
  143.  
  144.      Æ¿» ¬«¼»«¡Ñ¡Γδ  ¬«¡ßΓá¡Γδ-¼áßß¿óá ¼«ªÑΓ  íδΓ∞   ½εíδ¼,   ¬α«¼Ñ
  145. Σá⌐½«ó«ú«  Γ¿»á.  ô»á¬«óá¡¡δÑ ¬«¡ßΓá¡Γδ ßΓ᫬«ó«ú« Γ¿»á (ß¿¼ó«½∞¡δÑ
  146. ¼áßß¿óδ) ¼«úπΓ íδΓ∞ «»αÑñÑ½Ñ¡δ  ¿  ¬á¬  «ñ¿¡«τ¡δÑ  ß¿¼ó«½δ,  ¿  ¬á¬
  147. ßΓ᫬¿. Ä»αÑñѽѡ¿Ñ
  148.  
  149.      const
  150.         Digits : array[0..9] of æhar =
  151.            ('0','1','2','3','4','5','6','7','8','9');
  152.  
  153.      ¼«ª¡« »αÑñßΓáó¿Γ∞ ó í«½ÑÑ πñ«í¡«¼ ó¿ñÑ:
  154.  
  155.      const
  156.          Digits : array [0..9] of Char = '0123456789';
  157.  
  158.      Åα¿ «íΩ∩ó½Ñ¡¿¿ ¬«¡ßΓá¡Γδ  Γ¿»á  ¼¡«ú«¼Ñα¡δ⌐  ¼áßß¿ó  ¬«¡ßΓá¡Γδ
  159. ¬áªñ«⌐  αẼÑα¡«ßΓ¿  ºá¬½ετáεΓß∩  ó  «Γñѽ∞¡δѠ߬«í¬¿ ¿ αáºñѽ∩εΓß∩
  160. ºá»∩Γ묨.  Éáß»«½«ªÑ¡¡δÑ ó ßÑαÑñ¿¡Ñ ¬«¡ßΓá¡Γδ  ß««ΓóÑΓßΓóπεΓ  ßá¼δ¼
  161. »αáóδ¼ αẼÑα¡«ßΓ∩¼. ÄíΩ∩ó½Ñ¡¿Ñ
  162.  
  163.      type
  164.         Cube = array[0..1, 0..1, 0..1] of Integer;
  165.      const
  166.         Maze: Cube=(((0,1),(2,3)),((4,5),(6,7)));
  167.  
  168.      ºáñáÑΓ ß½ÑñπεΘ¿Ñ ¡áτá½∞¡δÑ º¡áτÑ¡¿∩ ¼áßß¿óπ Maze:
  169.  
  170.      Maze[0, 0, 0] = 0
  171.      Maze[0, 0, 1] = 1
  172.      Maze[0, 1, 0] = 2
  173.      Maze[0, 1, 1] = 3
  174.      Maze[1, 0, 0] = 4
  175.      Maze[1, 0, 1] = 5
  176.      Maze[1, 1, 0] = 6
  177.      Maze[1, 1, 1] = 7
  178.  
  179.  
  180.                      è«¡ßΓá¡Γδ ß Γ¿»«¼ ºá»¿ß∞.
  181.  
  182.      ÄíΩ∩ó½Ñ¡¿Ñ ¬«¡ßΓá¡Γδ ß Γ¿»«¼ ºá»¿ß∞ ß«ñÑαª¿Γ  ¿ñÑ¡Γ¿Σ¿¬áΓ«α  ¿
  183. º¡áτÑ¡¿Ñ ¬áªñ«ú« »«½∩, ºá¬½ετÑ¡¡«Ñ ó ß¬«í¬¿ ¿ αáºñѽѡ¡δÑ Γ«τ¬á¼¿ ß
  184. ºá»∩Γ«⌐.
  185.  
  186.  
  187.                ┌─┐    ┌─────────────┐  ┌─┐  ┌────────────┐    ┌─┐
  188. ¬«¡ßΓá¡Γá-  ──÷│(├───÷│¿ñÑ¡Γ¿Σ¿¬áΓ«α├─÷│:├─÷│Γ¿»¿α«óá¡¡á∩├─┬─÷│)├─÷
  189. ºá»¿ß∞         └─┘ °  │     »«½∩    │  └─┘  │  ¬«¡ßΓá¡Γá │ │  └─┘
  190.                    │  └─────────────┘       └────────────┘ │
  191.                    │                   ┌─┐                 │
  192.                    └───────────────────┤;│≈────────────────┘
  193.                                        └─┘
  194.  
  195.      Åα¿óÑñѼ ¡Ñ߬«½∞¬« »α¿¼Ñα«ó ¬«¡ßΓá¡Γ-ºá»¿ßÑ⌐:
  196.  
  197.      type
  198.         Point = record
  199.            X, Y : Real;
  200.         end;
  201.  
  202.    Vector = array [0..1] of Point;
  203.    Month = (Jan,Feb,Mar,Apr,May,Jun,Jly,Aug,Sep,Oct,Nov,Dec);
  204.       Date = record
  205.          D : 1..31;
  206.          M : Month;
  207.          Y : 1900..1999;
  208.       end;
  209.   const
  210.      Origin : Point = (X : 0.0; Y : 0.0);
  211.      Line   : Vector= ((X : -3.1; Y : 1.5), (X : 5.8; Y : 3.0));
  212.      SomDay : Date  = (D : 2; M : Dec; Y : 1960);
  213.  
  214.      Å«½∩ ñ«½ª¡δ π¬áºδóáΓ∞ß∩ ó Γ«¼ ªÑ »«α∩ñ¬Ñ,  ¬á¬ «¡¿  ß½ÑñπεΓ  ó
  215. «íΩ∩ó½Ñ¡¿¿  Γ¿»á ºá»¿ß∞.  àß½¿ ºá»¿ß∞ ß«ñÑαª¿Γ »«½∩ Σá⌐½«ó«ú« Γ¿»á,
  216. Γ« ñ½∩ φΓ«ú« Γ¿»á ºá»¿ß¿ ¡Ñ½∞º∩  «íΩ∩ó¿Γ∞  ¬«¡ßΓá¡Γπ.  àß½¿  ºá»¿ß∞
  217. ß«ñÑαª¿Γ   óáα¿á¡Γ,  Γ«  ¼«ª¡«  π¬áºδóáΓ∞  Γ«½∞¬«  »«½∩  óδíαá¡¡«ú«
  218. óáα¿á¡Γá.  àß½¿ óáα¿á¡Γ ß«ñÑαª¿Γ »«½Ñ  »α¿º¡á¬á,  Γ«  Ñú«  º¡áτÑ¡¿Ñ
  219. ñ«½ª¡« íδΓ∞ «»αÑñѽѡ«.
  220.  
  221.  
  222.                       è«¡ßΓá¡Γδ Γ¿»á «íΩѬΓ.
  223.  
  224.      ÄíΩ∩ó½Ñ¡¿Ñ ¬«¡ßΓá¡Γδ  «íΩÑ¬Γ¡«ú«  Γ¿»á   ¿ß»«½∞ºπÑΓ   Γ«Γ   ªÑ
  225. ß¿¡Γá¬ß¿ß, τΓ«  ¿  «íΩ∩ó½Ñ¡¿Ñ ¬«¡ßΓá¡Γδ Γ¿»á ºá»¿ß∞.  ä½∩ ¬«¼»«¡Ñ¡Γ
  226. ¼ÑΓ«ñ«ó º¡áτÑ¡¿∩  ¼«úπΓ  ¡Ñ   π¬áºδóáΓ∞ß∩.   êß»«½∞ºπ∩   »αÑñδñπΘ¿Ñ
  227. «íΩ∩ó½Ñ¡¿∩ Γ¿»«ó «íΩÑ¬Γ«ó, »α¿óÑñѼ »α¿¼Ñαδ ¬«¡ßΓá¡Γ Γ¿»á «íΩѬΓ:
  228.  
  229.      const
  230.        ZeroPoint : Point = (X : 0; Y : 0);
  231.        ScreenRect : Rect = (A : (X : 0;  Y : 0);
  232.                             B : (X : 80; Y : 25));
  233.        CountField : NumField = (X : 5; Y : 20; Len : 4; Name : nil;
  234.                                 Value : 0; Min : -999; Max : 999);
  235.  
  236.      è«¡ßΓá¡Γδ «íΩÑ¬Γ¡«ú« Γ¿»á,  ß«ñÑαªáΘ¿Ñ ó¿αΓπá½∞¡δÑ ¼ÑΓ«ñδ,  ¡Ñ
  237. ΓαÑíπεΓ ¿¡¿µ¿á½¿ºáµ¿¿    ß    »«¼«Θ∞ε    ó맮óá    ¬«¡ßΓáα¬Γ«αá   -
  238. ¿¿¡¿µ¿á½¿ºáµ¿∩ áóΓ«¼áΓ¿τÑ߬¿ óδ»«½¡∩ÑΓß∩ ¬«¼»¿½∩Γ«α«¼.
  239.  
  240.  
  241.                      è«¡ßΓá¡Γδ Γ¿»á ¼¡«ªÑßΓóá.
  242.  
  243.      ÄíΩ∩ó½Ñ¡¿Ñ ¬«¡ßΓá¡Γδ  Γ¿»á ¼¡«ªÑßΓóá ¼«ªÑΓ ß«ñÑαªáΓ∞ ¡Ñ߬«½∞¬«
  244. φ½Ñ¼Ñ¡Γ«ó,  ºá¬½ετÑ¡¡δσ ó ¬óáñαáΓ¡δѠ߬«í¬¿ ¿ αáºñѽѡ¡δσ ºá»∩Γ묨.
  245. èáªñδ⌐  φ½Ñ¼Ñ¡Γ  Γᬫ⌐  ¬«¡ßΓá¡Γδ  »αÑñßΓáó½∩ÑΓ ß«í«⌐ ¬«¡ßΓá¡Γπ ¿½¿
  246. ñ¿á»áº«¡, ß«ßΓ«∩Θ¿⌐ ¿º 2-󠬫¡ßΓá¡Γ, αáºñѽѡ¡δσ ñóπ¼∩ Γ«τ¬á¼¿.
  247.  
  248.  
  249.                         ┌─┐                                 ┌─┐
  250. ¬«¡ßΓá¡Γá-¼¡«ªÑßΓó«  ──÷│[├──┬─────────────────────────────÷│]├──÷
  251.                         └─┘  │    ┌─────────────────┐   °   └─┘
  252.                              └───÷│¬«¡ßΓá¡Γá-φ½Ñ¼Ñ¡Γ├─┬─┘
  253.                                °  └─────────────────┘ │
  254.                                │        ┌───┐         │
  255.                                └────────┤ , │≈────────┘
  256.                                         └───┘
  257.  
  258.  ¬«¡ßΓá¡Γá-φ½Ñ¼Ñ¡Γ
  259.                        ┌─────────┐
  260.                   ────÷│¬«¡ßΓá¡Γá├──┬─────────────────────────÷
  261.                        └─────────┘  │  ┌──┐   ┌─────────┐  °
  262.                                     └─÷│..├──÷│¬«¡ßΓá¡Γá├──┘
  263.                                        └──┘   └─────────┘
  264.  
  265.      Åα¿óÑñѼ ¡Ñ߬«½∞¬« »α¿¼Ñα«ó ¬«¡ßΓá¡Γ ¼¡«ªÑßΓó:
  266.  
  267.      type
  268.         Digits  = set of 0..9;
  269.         Letters  = set of 'A'..'Z';
  270.      const
  271.         EvenDigits : Digits = [0, 2, 4, 6, 8];
  272.         Vowels     : Letters= ['A', 'E', 'I', 'O', 'U', 'Y'];
  273.         HexDigits  : set of '0'..'z' = ['0'..'9', 'A'..'F',
  274.                                         'a'..'f'];
  275.  
  276.  
  277.                    è«¡ßΓá¡Γδ ß Γ¿»«¼ π¬áºáΓѽ∞.
  278.  
  279.      ÄíΩ∩ó½Ñ¡¿Ñ ¬«¡ßΓá¡Γδ   Γ¿»á   π¬áºáΓѽ∞   «íδτ¡«    ¿ß»«½∞ºπÑΓ
  280. ¬«¡ßΓá¡Γ¡«Ñ áñαÑß¡«Ñ  óδαáªÑ¡¿Ñ  ñ½∩  π¬áºá¡¿∩  º¡áτÑ¡¿∩.  Åα¿óÑñѼ
  281. ¡Ñ߬«½∞¬« »α¿¼Ñα«ó:
  282.  
  283.      type
  284.         Direction = (Left, Right, Up, Down);
  285.         StringPrt = ^String;
  286.         NodePtr = ^Node;
  287.         Node = record
  288.            Next : NodePtr;
  289.            Symbol : StringPrt;
  290.            Value : Direction;
  291.         end;
  292.      const
  293.         S1: string[4] = 'DOWN';
  294.         S2: string[2] = 'UP';
  295.         S3: string[5] = 'RIGHT';
  296.         S4: string[4] = 'LEFT';
  297.         N1: Node = (Next: nil; Symbol:#S1; Value: Down);
  298.         N2: Node = (Next: @N1; Symbol:#S2; Value: Up);
  299.         N3: Node = (Next: @N2; Symbol:#S3; Value: Right);
  300.         N4: Node = (Next: @N3; Symbol:#S4; Value: Left);
  301.         DirectionTable: NodePtr = @N4;
  302.  
  303.  
  304.  
  305.                    è«¡ßΓá¡Γδ »α«µÑñπα¡«ú« Γ¿»á.
  306.  
  307.      è«¡ßΓá¡Γá »α«µÑñπα¡«ú«  Γ¿»á  ñ«½ª¡á  π¬áºδóáΓ∞  ¿ñÑ¡Γ¿Σ¿¬áΓ«α
  308. »α«µÑñπαδ ¿½¿  Σπ¡¬µ¿¿,  ß«ó¼ÑßΓ¿¼δ⌐  »«   »α¿ßóá¿óá¡¿ε   ß   Γ¿»«¼
  309. ¬«¡ßΓá¡Γδ. Åα¿¼Ñα:
  310.  
  311.      type
  312.         ErrorProc = procedure(ErrorCode: Integer);
  313.      procedure DefaultError(ErrorCode: Integer); far;
  314.      begin
  315.         Writeln('Error ', ErrorCode, '.');
  316.      end;
  317.      const
  318.         ErrorHandler: ErrorProc = DefaultError;
  319.