home *** CD-ROM | disk | FTP | other *** search
/ For Beginners & Professional Hackers / cd.iso / docum / tp6userg.doc / ug03 < prev    next >
Encoding:
Text File  |  1991-02-05  |  32.3 KB  |  782 lines

  1.                              âïÇéÇ 3.
  2.  
  3.                        îÄäôïê TURBO PASCAL.
  4.  
  5.      ù¿Γá∩ ¿  ¿ºπτá∩  ú½áóπ  1,  éδ  ¡áπτ¿½¿ß∞  »¿ßáΓ∞  ßΓá¡ñáαΓ¡δÑ
  6. »α«úαá¼¼δ   ¡á   Åá߬á½Ñ.  ì«  ¬á¬  íδΓ∞  ó  ß½πτáÑ  ¡ÑßΓá¡ñáαΓ¡«ú«
  7. »α«úαá¼¼¿α«óá¡¿∩   ¡á   »Ñαß«¡á½∞¡«¼   ¬«¼»∞εΓÑαÑ,   ßó∩ºá¡¡«ú«   ß
  8. π»αáó½Ñ¡¿Ñ¼ φ¬αá¡á, ó맮óἿ DOS ¿ úαáΣ¿¬«⌐?
  9.      ä½∩ Γ«ú«, τΓ«íδ ¿σ »¿ßáΓ∞, ¡Ñ«íσ«ñ¿¼« ¿¼ÑΓ∞ »«¡∩Γ¿∩ « ¼«ñπ½∩σ,
  10. á»»áαáΓπαÑ ¬«¼»∞εΓÑαá ó ñ«ßΓáΓ«τ¡«⌐ ßΓѻѡ¿, τΓ«íδ αáí«ΓáΓ∞ ß ¡¿¼¿.
  11. é φΓ«⌐ ú½áóÑ «»¿ßá¡«, τΓ« ΓᬫѠ¼«ñπ½∞, ¬á¬ Ñú« ¿ß»«½∞º«óáΓ∞, ¬á¬¿Ñ
  12. ¼«ñπ½¿ ñ«ßΓπ»¡δ, ¬á¬ ¿σ »¿ßáΓ∞ ¿ ºáΓѼ ¬«¼»¿½¿α«óáΓ∞.
  13.  
  14.  
  15.                          ùΓ« ΓᬫѠ¼«ñπ½¿?
  16.  
  17.      é Turbo Pascal ó«º¼«ªÑ¡ ñ«ßΓπ»  ¬  í«½∞Φ«¼π  τ¿ß½π  óßΓα«Ñ¡¡δσ
  18. ¬«¡ßΓá¡Γ, Γ¿»«ó ñá¡¡δσ,  »ÑαѼѡ¡δσ,  »α«µÑñπα ¿ Σπ¡¬µ¿⌐. ìѬ«Γ«αδÑ
  19. ߻ѵ¿Σ¿τ¡δ ñ½∩ Turbo Pascal,  ñαπú¿Ñ - ñ½∩ IBM PC ¿  ß«ó¼ÑßΓ¿¼δσ  ß
  20. ¡¿¼ Éæ ¿½¿ ñ½∩ DOS.  è«½¿τÑßΓó« αẽ¿τ¡δσ »α«úαá¼¼ óѽ¿¬«, ¡« »«τΓ¿
  21. ¡¿¬«úñá «¡¿  óßÑ  ßαáºπ  ó  »α«úαá¼¼áσ  ¡Ñ  ¿ß»«½∞ºπεΓß∩.  éßÑ  φΓ¿
  22. »α«úαá¼¼δ  αáºñÑ½Ñ¡δ  ¡á  ßó∩ºá¡¡δÑ ¼Ñªñπ ß«í«⌐ úαπ»»δ,  ¡áºδóáѼδÑ
  23. ¼«ñπ½∩¼¿,  ¿ éδ ¼«ªÑΓÑ ¿ß»«½∞º«óáΓ∞ Γ«½∞¬« ΓÑ ¼«ñπ½¿,  ¬«Γ«αδÑ  éá¼
  24. ¡Ñ«íσ«ñ¿¼δ.
  25.      î«ñπ½∞ -  φΓ«  ¡áí«α  ¬«¡ßΓá¡Γ,  Γ¿»«ó   ñá¡¡δσ,   »ÑαѼѡ¡δσ,
  26. »α«µÑñπα  ¿ Σπ¡¬µ¿⌐.  èáªñδ⌐ ¼«ñπ½∞ á¡á½«ú¿τÑ¡ «Γñѽ∞¡«⌐ »α«úαá¼¼Ñ;
  27. Γ.Ñ ¿¼ÑÑΓ:  ú½áó¡«Ñ Γѽ«,  ¬«Γ«α«Ñ óδºδóáÑΓß∩ »ÑαÑñ  ßΓáαΓ«¼  éáΦÑ⌐
  28. »α«úαá¼¼δ ¿ »α«¿ºó«ñ¿Γ ¡Ñ«íσ«ñ¿¼δÑ ñÑ⌐ßΓó¿∩ »« ¿¡¿µ¿á½¿ºáµ¿¿, ¬«úñá
  29. φΓ« ¡Ñ«íσ«ñ¿¼«.  è«α«τÑ ú«ó«α∩,  ¬áªñδ⌐  ¼«ñπ½∞  -  φΓ«  í¿í½¿«ΓѬá
  30. «íΩ∩ó½Ñ¡¿⌐, ¬«Γ«απε ¼«ª¡« óßΓáó¿Γ∞ ¿ ¿ß»«½∞º«óáΓ∞ ó¡πΓα¿ »α«úαá¼¼δ,
  31. τΓ« »«ºó«½∩ÑΓ αáºñѽ¿Γ∞  »α«úαá¼¼π  ¡á  τáßΓ¿  ¿  ¬«¼»¿½¿α«óáΓ∞  ¿σ
  32. «Γñѽ∞¡«.
  33.      ÄíΩ∩ó½Ñ¡¿∩ ó¡πΓα¿ ¼«ñπ½∩  ßó∩ºá¡δ  ñαπú  ß  ñαπú«¼.  ìá»α¿¼Ñα,
  34. ¼«ñπ½∞ Crt  ß«ñÑαª¿Γ  óßÑ  «íΩ∩ó½Ñ¡¿∩ ñ½∩ »α«úαá¼¼ αáí«Γδ ß φ¬αá¡«¼
  35. Éæ.
  36.      Turbo Pascal  »αÑñ«ßΓáó½∩ÑΓ ó«ßѼ∞ ßΓá¡ñáαΓ¡δσ ¼«ñπ½Ñ⌐.  ÿÑßΓ∞
  37. ¿º ¡¿σ System,  Overlay,  Graph, DOS, Crt, ¿ Printer - «ßπΘÑßΓó½∩εΓ
  38. »«ññÑ᪬π éáΦ¿σ  »α«úαá¼¼  ¡á  Turbo  Pascal;  óßÑ  «¡¿ ß«σαá¡Ñ¡δ ó
  39. TURBO.TPL. äóÑ ñαπú¿Ñ - Turbo3 ¿ Craph3  -  «ßπΘÑßΓó½∩εΓ  »«ññÑ᪬π
  40. ß«ó¼ÑßΓ¿¼«ßΓ¿ »α«úαá¼¼,  ¡á»¿ßá¡¡δσ  ó óÑαß¿¿ 3.0.  ü«½ÑÑ »«ñα«í¡«,
  41. ¬á¬ ¿σ ¿ß»«½∞º«óáΓ∞ ¿ ¿σ «ß¡«ó¡δÑ Σπ¡¬µ¿¿,  αáßß¼«ΓαÑ¡δ ó ú½áóáσ  ß
  42. 10 »« 15 Éπ¬«ó«ñßΓóá »α«úαá¼¼¿ßΓá.
  43.  
  44.      Åα¿¼Ñτá¡¿Ñ: Turb«  Vision  »αÑñ«ßΓáó½∩ÑΓ  µÑ½δ⌐ ¡áí«α ¼«ñπ½Ñ⌐.
  45. æ¼. απ¬«ó«ñßΓó« »« Turbo Vision ñ½∩ ñÑΓá½Ñ⌐.
  46.  
  47.  
  48.                          æΓαπ¬Γπαá ¼«ñπ½∩.
  49.  
  50.      î«ñπ½∞ «íÑß»Ñτ¿óáÑΓ   ¡áí«α   ßαÑñßΓó,  í½áú«ñáα∩  ó«º¼«ª¡«ßΓ¿
  51. ¿ß»«½∞º«óá¡¿∩ »α«µÑñπα ¿ Σπ¡¬µ¿⌐,  »«ññÑনóáεΘ¿σ  ¬«¡ßΓá¡Γδ,  Γ¿»δ
  52. ñá¡¡δσ  ¿ »ÑαѼѡ¡δσ,  ¡« ¿σ ñÑ⌐ßΓó¿Γѽ∞¡á∩ αÑ὿ºáµ¿∩ ß¬αδΓá ¿º-ºá
  53. Γ«ú«, τΓ« ¼«ñπ½∞ αáºñѽѡ ¡á ñóá αáºñѽá: ¿¡ΓÑαΣÑ⌐ß ¿ αÑ὿ºáµ¿∩.
  54.      éßÑ «íΩ∩ó½Ñ¡¿∩   ¿   «»¿ßá¡¿∩   ¼«ñπ½∩  ßΓá¡«ó∩Γß∩  ñ«ßΓπ»¡δ¼¿
  55. »α«úαá¼¼Ñ, ¿ß»«½∞ºπεΘÑ⌐ Ñú«.
  56.      æΓαπ¬Γπαá ¼«ñπ½∩  »«σ«ªá  ¡á  ßΓαπ¬Γπαπ »α«úαá¼¼δ,  ¡« ¿¼ÑÑΓ ¿
  57. «Γ½¿τ¿∩:
  58.  
  59.           unit <¿ñÑ¡Γ¿Σ¿¬áΓ«α>;
  60.           interface
  61.           uses <ß»¿ß«¬ ¼«ñπ½Ñ⌐>;
  62.           {«íΘ¿Ñ «íΩ∩ó½Ñ¡¿∩}
  63.           implementation
  64.           uses <ß»¿ß«¬ ¼«ñπ½Ñ⌐>;
  65.             {½¿τ¡δÑ «íΩ∩ó½Ñ¡¿∩}
  66.             {αÑ὿ºáµ¿∩ »α«µÑñπα ¿ Σπ¡¬µ¿⌐}
  67.           begin
  68.              {¬«ñ ¿¡¿µ¿á½¿ºáµ¿¿}
  69.           end.
  70.  
  71.      çáú«½«ó«¬ ¼«ñπ½∩  -  ß½«ó«  unit,  ºá  ¬«Γ«αδ¼   ß½ÑñπÑΓ   ¿¼∩
  72. ¼«ñπ½∩ -    ¿ñÑ¡Γ¿Σ¿¬áΓ«α.    æ½ÑñπεΘ¿⌐    φ½Ñ¼Ñ¡Γ    -    ¬½ετÑó«Ñ
  73. ß½«ó« interface.  ¥Γ«  ß½«ó«  «í«º¡áτáÑΓ ¡áτὫ αáºñѽᠠ¿¡ΓÑαΣÑ⌐ßá
  74. ¼«ñπ½∩, ñ«ßΓπ»¡«ú« ñ½∩ óßÑσ ñαπú¿σ ¼«ñπ½Ñ⌐ ¿ »α«úαá¼¼, ¿ß»«½∞ºπεΘ¿σ
  75. φë༫ñπ½∞.  é »αÑñ½«ªÑ¡¿¿ uses π¬áºδóáεΓß∩ ¼«ñπ½¿,  ¬«Γ«αδÑ ¼«ªÑΓ
  76. ¿ß»«½∞º«óáΓ∞ φë༫ñπ½∞.
  77.      æ½«ó« uses ¼«ªÑΓ »«∩ó½∩Γ∞ß∩ ó ñóπσ ¼ÑßΓáσ:
  78.      - ßαáºπ ªÑ »«ß½Ñ ß½«óá interface; ó φΓ«¼ ß½πτáÑ, ¬«¡ßΓá¡Γδ ¿½¿
  79. Γ¿»δ ñá¡¡δσ,  «íΩ∩ó½Ñ¡¡δÑ ó ¿¡ΓÑαΣÑ⌐ßáσ φΓ¿σ  ¼«ñπ½Ñ⌐,  ¼«úπΓ  íδΓ∞
  80. ¿ß»«½∞º«óá¡δ ó  ½εíδσ  «íΩ∩ó½Ñ¡¿∩σ.
  81.      - ßαáºπ   ªÑ   »«ß½Ñ  ß½«óá  implementation;  ó  φΓ«¼  ß½πτáÑ,
  82. ½εíδÑ «íΩ∩ó½Ñ¡¿∩ φΓ«ú« ¼«ñπ½∩ ¼«úπΓ  ¿ß»«½∞º«óáΓ∞ß∩  Γ«½∞¬«  ó¡πΓα¿
  83. αáºñѽá αÑ὿ºáµ¿¿.  ¥Γ«  Γᬠ ªÑ  ñ«»π߬áÑΓ   µ¿¬½¿τÑ߬¿Ñ   ßß佬¿
  84. ¼«ñπ½Ñ⌐; ¼δ »«¬áªÑ¼ ¬á¬ ¿σ ¿ß»«½∞º«óáΓ∞ ¡¿ªÑ.
  85.  
  86.  
  87.                         Éáºñѽ ¿¡ΓÑαΣÑ⌐ßá.
  88.  
  89.      ¥Γ« "«Γ¬αδΓá∩" τáßΓ∞ ¼«ñπ½∩,  «¡á ¡áτ¿¡áÑΓß∩  ¬½ετÑóδ¼  ß½«ó«¼
  90. interface,  ß½ÑñπεΘ¿¼  ßαáºπ  ºá ºáú«½«ó¬«¼,  ¿ «úαá¡¿τѡᠬ½ετÑóδ¼
  91. ß½«ó«¼ imαlÑmentation.  ê¡ΓÑαΣÑ⌐ß «»αÑñѽ∩ÑΓ,  τΓ« ∩ó½∩ÑΓß∩ ó¿ñ¿¼δ¼
  92. (ñ«ßΓπ»¡δ¼)   ñ½∩   ¡Ñ¬«Γ«α«⌐   »α«úαá¼¼δ   (¿½¿  ñαπú¿σ  ¼«ñπ½Ñ⌐),
  93. ¿ß»«½∞ºπεΘ¿σ  φëà ¼«ñπ½∞.  ïεíá∩  »α«úαá¼¼á,  ¿ß»«½∞ºπεΘá∩   φΓ«Γ
  94. ¼«ñπ½∞, ¿¼ÑÑΓ ñ«ßΓπ» ¬ φΓ¿¼ ó¿ñ¿¼δ¼ φ½Ñ¼Ñ¡Γá¼.
  95.      é ¿¡ΓÑαΣÑ⌐ßÑ ¼«ñπ½∩ ¼«ª¡«  «íΩ∩ó¿Γ∞  ¬«¡ßΓá¡Γδ,  Γ¿»δ  ñá¡¡δσ,
  96. »ÑαѼѡ¡δÑ, »α«µÑñπαδ ¿ Σπ¡¬µ¿¿.  èᬠ¿ ó »α«úαá¼¼Ñ, «¡¿ ¼«úπΓ íδΓ∞
  97. αáß»«½«ªÑ¡δ ó ½εí«¼ »«α∩ñ¬Ñ, Γ.Ñ αáºñÑ½δ ¼«úπΓ óßΓαÑτáΓ∞ß∩ »«óΓ«α¡«
  98.  
  99.           (type...var...<proc>...type...const...var)
  100.  
  101.      Åα«µÑñπαδ ¿ Σπ¡¬µ¿¿,  ñ«ßΓπ»¡δÑ  ñ½∩  »α«úαá¼¼δ,  ¿ß»«½∞ºπεΘÑ⌐
  102. φë༫ñπ½∞  «»¿ßδóáεΓß∩ ó αáºñѽѠ¿¡ΓÑαΣÑ⌐ßá.  Ç ¿σ ñÑ⌐ßΓó¿Γѽ∞¡δÑ
  103. Γѽᠠ-  «»ÑαáΓ«αδ,  αÑ὿ºπεΘ¿Ñ  ¿σ,  -  ó   αáºñѽѠ  αÑ὿ºáµ¿¿.
  104. ÄíΩ∩ó½Ñ¡¿Ñ forward  ¡Ñ  αáºαÑΦáÑΓß∩.  ÆÑ½á  óßÑσ «íδτ¡δσ »α«µÑñπα ¿
  105. Σπ¡¬µ¿⌐ ¡áσ«ñ∩Γß∩ ó αáºñѽѠαÑ὿ºáµ¿¿ »«ß½Ñ αáºñѽᠠ¿¡ΓÑαΣÑ⌐ßá, ó
  106. ¬«Γ«α«¼ »ÑαÑτ¿ß½Ñ¡δ ¿σ ¿¼Ñ¡á ¿ ºáú«½«ó¬¿.  uses ¼«ªÑΓ »«∩ó¿Γ∞ß∩ ¿ ó
  107. αáºñѽѠimplementation. àß½¿ ó αáºñѽѠαÑ὿ºáµ¿¿ ¿¼ÑÑΓ ¼ÑßΓ« uses,
  108. Γ« φΓ« ß½«ó« ß½ÑñπÑΓ ßαáºπ ªÑ ºá ß½«ó«¼ implementation.
  109.  
  110.  
  111.                         æÑ¬µ¿∩ αÑ὿ºáµ¿¿.
  112.  
  113.      Éáºñѽ αÑ὿ºáµ¿¿ - ºá¬αδΓá∩,  ¡Ññ«ßΓπ»¡á∩ τáßΓ∞ -  ¡áτ¿¡áÑΓß∩
  114. ß« ß½«óá  implementation.  éßÑ,  τΓ«  «íΩ∩ó½Ñ¡«  ó τáßΓ¿ ¿¡ΓÑαΣÑ⌐ßá
  115. ó¿ñ¿¼«  ñ½∩  αáºñѽᠠαÑ὿ºáµ¿¿:  ¬«¡ßΓá¡Γδ,   Γ¿»δ,   »ÑαѼѡ¡δÑ,
  116. »α«µÑñπαδ ¿  Σπ¡¬µ¿¿.  èα«¼Ñ Γ«ú«,  ó αáºñѽѠαÑ὿ºáµ¿¿ ¼«úπΓ íδΓ∞
  117. ßó«¿ ß«íßΓóÑ¡¡δÑ ñ«»«½¡¿Γѽ∞¡δÑ «íΩ∩ó½Ñ¡¿∩, ¡Ññ«ßΓπ»¡δÑ »α«úαá¼¼á¼,
  118. ¿ß»«½∞ºπεΘ¿¼ φë༫ñπ½∞. Åα«úαá¼¼δ ¡Ñ ¼«úπΓ «íαáΘáΓ∞ß∩ ¿ ßßδ½áΓ∞ß∩
  119. ¡á ¡¿σ.  Äñ¡á¬« φΓ¿ ¡Ññ«ßΓπ»¡δÑ φ½Ñ¼Ñ¡Γδ ¼«úπΓ  ¿ß»«½∞º«óáΓ∞ß∩  (¿,
  120. ¬á¬ »αá󿽫,   φΓ«  ñѽáÑΓß∩)  ó¿ñ¿¼δ¼¿  »α«µÑñπαἿ  ¿  Σπ¡¬µ¿∩¼¿,
  121. ºáú«½«ó¬¿ ¬«Γ«αδσ »«∩ó½∩εΓß∩ ó αáºñѽѠ¿¡ΓÑαΣÑ⌐ßá.
  122.      ÅαÑñ½«ªÑ¡¿Ñ uses  ¼«ªÑΓ »«∩ó½∩Γ∞ß∩ ó αáºñѽѠimplementation. é
  123. φΓ«¼ ß½πτáÑ  uses  ß½ÑñπÑΓ  ¡Ñ»«ßαÑñßΓóÑ¡¡«  ºá   ¬½ετÑóδ¼   ß½«ó«¼
  124. implementation.
  125.      àß½¿ »α«µÑñπαδ í뫨 «íΩ∩ó½Ñ¡δ ¬á¬ ó¡ÑΦ¡¿Ñ, Γ« ó ¿ßσ«ñ¡«¼ Σá⌐½Ñ
  126. ñ«½ª¡á íδΓ∞ ñ¿αÑ¬Γ¿óá {$L ¿¼∩ Σá⌐½á} ó ½εí«¼ ¼ÑßΓÑ ñ«  ¬«¡µá ¼«ñπ½∩
  127. end. Äíδτ¡δÑ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿,  «íΩ∩ó½Ñ¡¡δÑ ó αáºñѽѠ¿¡ΓÑαΣÑ⌐ßá
  128. - ¬«Γ«αδÑ  ¡Ñ  ∩ó½∩εΓß∩  óßΓα«Ñ¡¡δ¼¿  - ñ«½ª¡δ »«∩ó½∩Γ∞ß∩ ó αáºñѽÑ
  129. αÑ὿ºáµ¿¿. çáú«½«ó«¬ procedure  (function)  ó  αáºñѽѠ αÑ὿ºáµ¿¿
  130. ñ«½ªÑ¡ íδΓ∞  Γᬫ⌐  ªÑ,  ¬á¬  ¿ ó αáºñѽѠ¿¡ΓÑαΣÑ⌐ßá,  ¿½¿ ªÑ ¿¼ÑΓ∞
  131. ¬«α«Γ¬πε Σ«α¼π.  é ¬αáΓ¬«⌐ Σ«α¼Ñ ºá ¬½ετÑóδ¼ ß½«ó«¼ (procedure  ¿½¿
  132. function) ß½ÑñπÑΓ  ¿ñÑ¡Γ¿Σ¿¬áΓ«α (¿¼∩).  Å«ñ»α«úαá¼¼á ß«ñÑαª¿Γ ßó«¿
  133. ß«íßΓóÑ¡¡δÑ   ½«¬á½∞¡δÑ   «íΩ∩ó½Ñ¡¿∩   (¼ÑΓ¬¿,   ¬«¡ßΓá¡Γδ,   Γ¿»δ,
  134. »ÑαѼѡδÑ,  »α«µÑñπαδ  ¿  Σπ¬µ¿¿).  çá  ¡¿¼¿  ß½ÑñπÑΓ  Γѽ« ú½áó¡«⌐
  135. »α«úαá¼¼δ. ìá»α¿¼Ñα, ó αáºñѽѠ¿¡ΓÑαΣÑ⌐ßá «íΩ∩ó½Ñ¡δ:
  136.  
  137.                procedure  ISwap (var v1,v2: integer);
  138.                function   IMax  (v1,V2:integer);
  139.  
  140.      Éáºñѽ αÑ὿ºáµ¿¿ ¼«ªÑΓ íδΓ∞:
  141.  
  142.                procedure  ISwap;
  143.                var
  144.                   Temp : integer;
  145.                begin
  146.                   Temp := V1;V1:= V2;V2 := Temp;
  147.                end;  {»α«µÑñπαδ  ISwap}
  148.  
  149.                function IMax (v1,v2:integer):integer;
  150.                begin
  151.                   if V1 > V2 then
  152.                     IMax := V1
  153.                   else IMax := V2
  154.                end;  {Σπ¡¬µ¿¿ IMax}
  155.  
  156.      Å«ñ»α«úαá¼¼δ αáºñѽᠠ  αÑ὿ºáµ¿¿   (¡Ñ«»¿ßá¡¡δÑ   ó   ßѬµ¿¿
  157. ¿¡ΓÑαΣÑ⌐ßá), ñ«½ª¡δ ¿¼ÑΓ∞ »«½¡δ⌐ ºáú«½«ó«¬ procedure/funßtion.
  158.  
  159.  
  160.                        Éáºñѽ ¿¡¿µ¿á½¿ºáµ¿¿.
  161.  
  162.      Éáºñѽ αÑ὿ºáµ¿¿ ¼«ñπ½∩ ºá¬½ετÑ¡ ¼Ñªñπ ß½«óἿ implementation
  163. ¿ end.  ì« Ñß½¿ »α¿ßπΓßΓóπÑΓ ß½«ó« begin  »ÑαÑñ  end,  ¿  «»ÑαáΓ«αδ
  164. ¼Ñªñπ φΓ¿¼¿ ß½«óἿ, Γ« »«½πτ¿óΦ¿⌐ß∩ ß«ßΓáó¡«⌐ «»ÑαáΓ«α, »«σ«ª¿⌐ ¡á
  165. Γѽ« ú½áó¡«⌐ »α«úαá¼¼δ, ßΓá¡«ó¿Γß∩ αáºñѽ«¼ ¿¡¿µ¿á½¿ºáµ¿¿ ¼«ñπ½∩.
  166.      é αáºñѽѠ  ¿¡¿µ¿á½¿ºáµ¿¿  ¿¡¿µ¿á½¿º¿απεΓß∩  ßΓαπ¬Γπαδ  ñá¡¡δσ
  167. (»ÑαѼѡ¡δσ),  ¿ß»«½∞ºπѼδÑ  ¼«ñπ½Ñ¼  ¿½¿   ñ«ßΓπ»¡δÑ   »α«úαá¼¼á¼,
  168. ¿ß»«½∞ºπεΘ¿¼ φëà ¼«ñπ½∞.  éδ  ¼«ªÑΓÑ ¿ß»«½∞º«óáΓ∞ φëàαáºñѽ ñ½∩
  169. «Γ¬αδΓ¿∩ Σá⌐½«ó.  ìá»α¿¼Ñα,  ßΓá¡ñáαΓ¡δ⌐ ¼«ñπ½∞ Printer  ¿ß»«½∞ºπÑΓ
  170. φëàαáºñѽ  ñ½∩  «Γ¬αδΓ¿∩ ¡á óδó«ñ ΓѬßΓ«ó«ú« Σá⌐½á Lst.  öá⌐½ Lst
  171. ó»«ß½ÑñßΓó¿¿ ¼«ª¡« ¿ß»«½∞º«óáΓ∞ ó »α«úαá¼¼áσ,  ó  «»ÑαáΓ«αáσ  Write
  172. ¿½¿ Writeln.
  173.      Åα¿ óδ»«½¡Ñ¡¿¿  »α«úαá¼¼δ,  ¿ß»«½∞ºπεΘÑ⌐   ¡Ñ¬«Γ«αδ⌐   ¼«ñπ½∞,
  174. αáºñѽ ¿¡¿µ¿á½¿ºáµ¿¿  óδºδóáÑΓß∩  »ÑαÑñ  óδ»«½¡Ñ¡¿Ñ¼  Γѽᠠú½áó¡«⌐
  175. »α«úαá¼¼δ. àß½¿ ó »α«úαἼѠ¿ß»«½∞ºπÑΓß∩ ¡Ñ߬«½∞¬«  ¼«ñπ½Ñ⌐, αáºñѽ
  176. ¿¡¿µ¿á½¿ºáµ¿¿ ¬áªñ«ú«  ¼«ñπ½∩  óδºδóáÑΓß∩  (ó »«α∩ñ¬Ñ,  π¬áºá¡¡«¼ ó
  177. «»ÑαáΓ«αÑ uses »α«úαá¼¼δ) ñ« óδ»«½¡Ñ¡¿∩ Γѽá ú½áó¡«⌐ »α«úαá¼¼δ.
  178.  
  179.  
  180.                      èᬠ¿ß»«½∞ºπεΓß∩ ¼«ñπ½¿?
  181.  
  182.      î«ñπ½¿, ¬«Γ«αδÑ ¿ß»«½∞ºπÑΓ éáΦá »α«úαá¼¼á, πªÑ «Γ¬«¼»¿½¿α«óá¡δ
  183. ¿ σαá¡∩Γß∩ ó ß»Ñµ¿á½∞¡«¼ ¼áΦ¿¡¡«¼ ¬«ñÑ;  φΓ« ¡Ñ Σá⌐½δ Γ¿»á Include.
  184. äáªÑ  αáºñѽ  ¿¡ΓÑαΣÑ⌐ßá  σαá¡¿Γß∩  ó ß»Ñµ¿á½∞¡«¼ ñó«¿τ¡«¼ Σ«α¼áΓÑ,
  185. ¬«Γ«αδ⌐ ¿ß»«½∞ºπÑΓ Turbo Pascal.  ü«½ÑÑ  Γ«ú«,  ßΓá¡ñáαΓ¡δÑ  ¼«ñπ½¿
  186. σαá¡∩Γß∩  ó ß»Ñµ¿á½∞¡«¼ Σá⌐½Ñ TURBO.TPL ¿ áóΓ«¼áΓ¿τÑ߬¿ ºáúαπªáεΓß∩
  187. ó »á¼∩Γ∞ ß Turbo Pascal.
  188.      é αѺπ½∞ΓáΓÑ  »«ñ¬½ετÑ¡¿∩  ¼«ñπ½Ñ⌐  ¬  »α«úαἼѠπóѽ¿τ¿óáÑΓß∩
  189. óαѼ∩ ¿ ¬«¼»¿½∩µ¿¿ »α«úαá¼¼δ (¡Ñº¡áτ¿Γѽ∞¡«,  »α¿í½¿º¿Γѽ∞¡«  ¡á  1
  190. ßѬπ¡ñπ). àß½¿  ¼«ñπ½¿  ºáúαπªáεΓß∩  ¿º  «Γñѽ∞¡δσ  ñ¿ß¬«óδσ Σá⌐½«ó
  191. ¼«ªÑΓ »«ΓαÑí«óáΓ∞ß∩ ñ«»«½¡¿Γѽ∞¡«Ñ óαѼ∩ ¿º-ºá τΓÑ¡¿∩ ß ñ¿ß¬á.
  192.      ä½∩ ¿ß»«½∞º«óá¡¿∩   ¼«ñπ½Ñ⌐   ¡Ñ«íσ«ñ¿¼«,   τΓ«íδ   ó   ¡áτá½Ñ
  193. »α¿ßπΓßΓó«óὫ »αÑñ½«ªÑ¡¿Ñ uses,  ºá ¬«Γ«αδ¼  ß½ÑñπÑΓ  ß»¿ß«¬  ¿¼Ñ¡
  194. óßÑσ ¼«ñπ½Ñ⌐, αáºñѽѡ¡δσ ºá»∩Γ묨.
  195.  
  196.                program  MyProg;
  197.                uses  thisUnit,thatUnit,theotherUnit;
  198.  
  199.      Åα¿ ¬«¼»¿½∩µ¿¿ φΓ«⌐ ¿¡Σ«α¼áµ¿¿ ¬ Γáí½¿µÑ ß¿¼ó«½«ó »α¿íáó½∩ÑΓß∩
  200. ¿¡Σ«α¼áµ¿¿ ¿º  αáºñѽᠿ¡ΓÑαΣÑ⌐ßá,  á ¿º αáºñѽá αÑ὿ºáµ¿¿ ¬ ßἫ⌐
  201. »α«úαἼѠ¼áΦ¿¡¡δ⌐ ¬«ñ. Å«α∩ñ«¬ «»¿ßá¡¿∩ ¼«ñπ½Ñ⌐ ó »αÑñ½«ªÑ¡¿¿ uses
  202. ¡Ñ ¿¼ÑÑΓ í«½∞Φ«ú« º¡áτÑ¡¿∩.  àß½¿ thisUnit ¿ß»«½∞ºπÑΓ thatUnit,  Γ«
  203. ¼«ª¡« «íΩ∩ó¿Γ∞  ¿σ  ó  ½εí«¼  »«α∩ñ¬Ñ.  è«¼»¿½∩Γ«α  ßá¼  «»αÑñѽ¿Γ,
  204. ¬«Γ«αδ⌐ ¿º ¡¿σ ñ«½ªÑ¡ ß½Ññ«óáΓ∞ »Ñαóδ¼.
  205.      ê¡áτÑ ú«ó«α∩,  Ñß½¿ thisUnit ¿ß»«½∞ºπÑΓ thatUnit,  á »α«úαá¼¼á
  206. MyProg ¡Ñ óδºδóáÑΓ ¬á¬¿Ñ-½¿í« »α«úαá¼¼δ ó »«ñ»α«úαἼѠthatUnit, Γ«
  207. ¼«ª¡« "ß»α∩ΓáΓ∞"»«ñ»α«úαá¼¼δ ó »α«úαá¼¼π  thatUnit,  «»π߬á∩  ¿σ  ó
  208. «»ÑαáΓ«αÑ uses:
  209.  
  210.                unit   thisUnit
  211.                uses   thatUnit
  212.                ...
  213.                program   MyProg;
  214.                uses   thisUnit,theotherUnit;
  215.                ...
  216.  
  217.      é φΓ«¼ »α¿¼ÑαÑ thisUnit ¼«ªÑΓ óδºóáΓ∞ »«ñ»α«úαá¼¼π thatUnit, á
  218. MyProg -  »«ñ»α«úαá¼¼δ  thisUnit  ¿  thÑ«therUnit.  MyProg ¡Ñ ¼«ªÑΓ
  219. óδºóáΓ∞ thatUnit, Γ.¬ φΓá »«ñ»α«úαἼᠡѠ«»¿ßá¡á ó Ñú« »αÑñ½«ªÑ¡¿¿
  220. uses.
  221.     àß½¿ »αÑñ½«ªÑ¡¿Ñ uses «ΓßπΓßΓóπÑΓ,  Turbo  Pascal  »«ñß«Ññ¿¡∩ÑΓ
  222. ßΓá¡ñáαΓ¡δ⌐  ¼«ñπ½∞  System.  ¥Γ«Γ  ¼«ñπ½∞  «íÑß»Ñτ¿óáÑΓ óδ»«½¡Ñ¡¿Ñ
  223. ¡Ñ¬«Γ«αδσ ßΓá¡ñáαΓ¡δσ  »«ñ»α«úαá¼¼   Turbo   Pascal   ¿   »α«úαá¼¼,
  224. ߻ѵ¿Σ¿τ¡δσ ñ½∩ Turbo Pascal.
  225.  
  226.  
  227.                     æß佬¿ ¡á «»¿ßá¡¿Ñ ¼«ñπ½∩.
  228.  
  229.      àß½¿ éδ ó¬½ετ¿½¿ ¼«ñπ½∞ ó ßó«ε »α«úαá¼¼π,  Γ«  óßÑ  ¬«¡ßΓá¡Γδ,
  230. Γ¿»δ   ñá¡¡δσ,  »ÑαѼѡ¡δÑ,  »α«µÑñπαδ  ¿  Σπ¡¬µ¿¿,  «íΩ∩ó½Ñ¡¡δÑ  ó
  231. ¿¡ΓÑαΣÑ⌐ßÑ φΓ«ú« ¼«ñπ½∩ ßΓá¡«ó∩Γß∩ ñ«ßΓπ»¡δ¼¿ ñ½∩  éáΦÑ⌐ »α«úαá¼¼δ.
  232. ä«»πßΓ¿¼, ÑßΓ∞ ¼«ñπ½∞:
  233.  
  234.                unit MyStuff;
  235.                interface
  236.                   const
  237.                      MyValue := 915;
  238.                      type
  239.                         MyStars=(Deneb,Antares,Betelgeuse);
  240.                   var
  241.                      MyWord : string[20];
  242.                   procedure SetMyWord(Star : MyStars);
  243.                   function  TheAnswer : integer;
  244.                   implementation
  245.                   ...
  246.                end.
  247.  
  248.      ùáßΓ∞ ¼«ñπ½∩,  ¬«Γ«αá∩ «»¿ßá¡á ó ¿¡ΓÑαΣÑ⌐ßÑ,  ñ«ßΓπ»¡á ¿ ¼«ªÑΓ
  249. íδΓ∞  ¿ß»«½∞º«óá¡á  ó  éáΦÑ⌐  »α«úαá¼¼Ñ.  Å«φΓ«¼π,  ¼«ª¡«  ¡á»¿ßáΓ∞
  250. ß½ÑñπεΘπε »α«úαá¼¼π:
  251.  
  252.                program TestStuff;
  253.                uses MyStuff;
  254.                var
  255.                   I : integer;
  256.                   AStar : MyStars;
  257.               begin
  258.                  Writeln(MyValue);
  259.                  AStar := Deneb;
  260.                  SetMyWord(AStar);
  261.                  Writeln(MyWord);
  262.                  I := TheAnswer;
  263.                  Writeln(I);
  264.               end.
  265.  
  266.      Å«ß½Ñ ó¬½ετÑ¡¿∩   »αÑñ½«ªÑ¡¿∩   uses   MyStuff   ó  »α«úαá¼¼π,
  267. »«∩ó¿½áß∞ ó«º¼«ª¡«ßΓ∞ ßßδ½áΓ∞ß∩ ¡á  óßÑ  «íΩ∩ó½Ñ¡¿∩  ¿  «»¿ßá¡¿∩  ó
  268. ßѬµ¿¿ ¿¡ΓÑαΣÑ⌐ßá ¼«ñπ½∩ MyStuff (MyWord,  MyValue,¿ Γ.ñ).æ½ÑñπεΘá∩
  269. ß¿Γπᵿ∩:
  270.  
  271.                program TestStuff;
  272.                uses MyStuff;
  273.                const
  274.                   MyValue := 22;
  275.                var
  276.                   I : integer;
  277.                   AStar : MyStars;
  278.                function TheAnswer : integer;
  279.                begin
  280.                   TheAnswer := -1;
  281.                end;
  282.                begin
  283.                   Writeln(MyValue);
  284.                   AStar := Deneb;
  285.                   SetMyWord(AStar);
  286.                   Writeln(MyWord);
  287.                   I := TheAnswer;
  288.                   Writeln(I);
  289.                end.
  290.  
  291.      é φΓ«⌐  »α«úαἼѠ ¡Ñ¬«Γ«αδÑ  ¿ñÑ¡Γ¿Σ¿¬áΓ«αδ,  «íΩ∩ó½Ñ¡¡δÑ   ó
  292. MyStuff, »ÑαÑ«»αÑñѽ∩εΓß∩.   Åα¿  óδ»«½¡Ñ¡¿¿  φΓá  »α«úαἼᠠíπñÑΓ
  293. ¿ß»«½∞º«óáΓ∞ ß«íßΓóÑ¡¡δÑ «»¿ßá¡¿∩ ñ½∩ MyValue ¿ TheAnswer,  Γᬠ¬á¬
  294. «¡¿ í뫨 «»¿ßá¡δ »«ºªÑ, τѼ ó MyStuff.
  295.      àß½¿ ¡πª¡« ¿ß»«½∞º«óáΓ∞ ¿ñÑ¡Γ¿Σ¿¬áΓ«αδ ¿º MyStuff,  Γ« ó  φΓ«¼
  296. ß½πτáÑ »α¿ «»¿ßá¡¿¿ »ÑαÑñ ¬áªñδ¼ ¿ñÑ¡Γ¿Σ¿¬áΓ«α«¼ »«¼ÑΘáÑΓß∩ MyStuff
  297. ß Γ«τ¬«⌐(.). ìá»α¿¼Ñα:
  298.  
  299.                program  TestStuff;
  300.                uses MyStuff;
  301.                const
  302.                   MyValue = 22;
  303.                var
  304.                   I : integer;
  305.                   Astar : MyStars;
  306.                function TheAnswer : integer;
  307.                begin
  308.                   TheAnswer := -1;
  309.                end;
  310.                begin
  311.                   Writeln(MyStuff.MyValue);
  312.                   Astar := Deneb;
  313.                   SetMyWord(AStar);
  314.                   Writeln(MyWord);
  315.                   I:= MyStuff.TheAnswer;
  316.                   Writeln(I);
  317.                end.
  318.  
  319.      ¥Γá »α«úαἼᠫΓαáíáΓδóáÑΓ ΓᬠªÑ,  ¬á¬ ¿  »Ñαóá∩,  ñáªÑ  Ñß½¿
  320. MyValue ¿ TheAnswer í뫨 »ÑαÑ«»αÑñѽѡδ. é ñÑ⌐ßΓó¿Γѽ∞¡«ßΓ¿, »Ñαóπε
  321. »α«úαá¼¼π ¼«ª¡« í佫 ¡á»¿ßáΓ∞:
  322.  
  323.                program  TestStuff;
  324.                uses MyStuff;
  325.                var
  326.                   I : integer;
  327.                   AStar : MyStuff.MyStars;
  328.                begin
  329.                   Writeln(MyStuff.MyValue);
  330.                   AStar := MyStuff.Deneb;
  331.                   MyStuff.SetMyWord(AStar);
  332.                   Writeln(MyStuff.MyWord);
  333.                   I := MyStuff.TheAnswer;
  334.                   Writeln(I);
  335.                end.
  336.  
  337.      çá¼ÑΓ¿¼, τΓ«  ¿ñÑ¡Γ¿Σ¿¬áΓ«αδ   -   ¬«¡ßΓá¡Γδ,   Γ¿»δ   ñá¡¡δσ,
  338. »ÑαѼѡδÑ ¿½¿ »«ñ»α«úαá¼¼δ, ¼«úπΓ íδΓ∞ »αÑñóáαÑ¡δ ¿¼Ñ¡Ñ¼ ¼«ñπ½∩.
  339.  
  340.  
  341.                ÅαÑñ½«ªÑ¡¿Ñ uses αáºñѽá αÑ὿ºáµ¿¿.
  342.  
  343.      èᬠ¿ ó óÑαß¿¿ 5.0, Turbo Pascal ñáÑΓ ó«º¼«ª¡«ßΓ∞ ¿ß»«½∞º«óáΓ∞
  344. »αÑñ½«ªÑ¡¿Ñ uses  ó  αáºñѽѠ αÑ὿ºáµ¿¿.  ¥Γ«  »αÑñ½«ªÑ¡¿Ñ  ñ«½ª¡«
  345. ¡Ñ¼Ññ½Ñ¡¡« ß½Ññ«óáΓ∞ ºá ¬½ετÑóδ¼ ß½«ó«¼ implementation Γᬠ ªÑ, ¬á¬
  346. ¿ »αÑñ½«ªÑ¡¿Ñ  uses  ó  αáºñѽѠ ¿¡ΓÑαΣÑ⌐ßá  »«∩ó½∩ÑΓß∩ ßαáºπ ªÑ ºá
  347. ¬½ετÑóδ¼ ß½«ó«¼ interface.
  348.      ÅαÑñ½«ªÑ¡¿Ñ uses   ó   αáºñѽѠ αÑ὿ºáµ¿¿  »«ºó«½∩ÑΓ  ßñѽáΓ∞
  349. ¡Ññ«ßΓπ»¡δ¼¿   ¡Ñ¬«Γ«αδÑ   ñÑΓ὿   ¼«ñπ½∩,    »«ß¬«½∞¬π    ¼«ñπ½¿,
  350. ¿ß»«½∞ºπѼδÑ  ó  αáºñѽѠ αÑ὿ºáµ¿¿,  ¡Ñó¿ñ¿¼δ »«½∞º«óáΓѽ∩¼ φΓ«ú«
  351. ¼«ñπ½∩.  Äñ¡á¬«  í«½ÑÑ  ó᪡«,  τΓ«  φΓ«  Γᬠ ªÑ   »«ºó«½∩ÑΓ   éá¼
  352. ¬«¡ßΓαπ¿α«óáΓ∞ óºá¿¼¡«-ºáó¿ß¿¼δÑ ¼«ñπ½¿.
  353.      Å«ß¬«½∞¬π ó Turbo  Pascal  ¼«ñπ½¿  ¡Ñ«í∩ºáΓѽ∞¡«  ñ«½ª¡δ  íδΓ∞
  354. ßΓα«ú« ¿Ñαáασ¿τÑ߬¿¼¿,   éδ   ¼«ªÑΓÑ  ºáñáóáΓ∞  µ¿¬½¿τÑ߬¿Ñ  ßß佬¿
  355. ¼«ñπ½Ñ⌐. æ½ÑñπεΘ¿⌐ αáºñѽ »«¬áºδóáÑΓ »α¿¼Ñα,  ¬«Γ«αδ⌐ ñѼ«¡ßΓα¿απÑΓ
  356. ¡Ñ«íσ«ñ¿¼«ßΓ∞ µ¿¬½¿τÑ߬¿σ ßß佫¬.
  357.  
  358.  
  359.                     û¿¬½¿τÑ߬¿Ñ ßß佬¿ ¼«ñπ½Ñ⌐.
  360.  
  361.      æ½ÑñπεΘá∩ »α«úαἼᠠ »«¬áºδóáÑΓ,   ¬á¬   ñóá   ¼«ñπ½∩   ¼«úπΓ
  362. ¿ß»«½∞º«óáΓ∞ ñαπú ñαπúá. â½áó¡á∩ »α«úαá¼¼á Circular óδºδóáÑΓ ¼«ñπ½∞
  363. Display.  î«ñπ½∞  Display  ß«ñÑαª¿Γ  «ñ¡π   »α«úαá¼¼π   ó   αáºñѽÑ
  364. ¿¡ΓÑαΣÑ⌐ßá,   WriteXY,   ¬«Γ«αá∩   ¿¼ÑÑΓ  Γα¿  »áαá¼ÑΓαá:  (X,Y)  -
  365. ¬««αñ¿¡áΓδ Γ«τ¬¿ ¿ ß««íΘÑ¡¿Ñ,  óδó«ñ¿¼«Ñ ¡á  φ¬αá¡.  àß½¿  º¡áτÑ¡¿Ñ
  366. ¬««αñ¿¡áΓ (X,Y)  ¡áσ«ñ¿Γß∩  ó  »αÑñѽáσ  ó¿ñ¿¼«ßΓ¿  ¡á  φ¬αá¡Ñ,  Γ«
  367. »«ñ»α«úαá¼¼á WriteXY πßΓá¡áó½¿óáÑΓ ¬παß«α ó  Γ«τ¬π  ß  ¬««αñ¿¡áΓἿ
  368. (X, Y)   ¿   óδó«ñ¿Γ   ß««íΘÑ¡¿Ñ.  é  »α«Γ¿ó¡«¼  ß½πτáÑ  óδºδóáÑΓß∩
  369. »«ñ»α«úαá¼¼á óδñáτ¿ «Φ¿í«¬.
  370.      êΓá¬, WriteXY óδτ¿ß½∩ÑΓ ¬««αñ¿¡áΓδ ñ½∩ Write. èᬠ»«ñ»α«úαá¼¼á
  371. óδñáτ¿ «Φ¿í«τ¡δσ  ß««íΘÑ¡¿⌐  óδñáÑΓ  ß««íΘÑ¡¿Ñ?   êß»«½∞ºπ∩   «»∩Γ∞
  372. ªÑ »«ñ»α«úαá¼¼π   WriteXY.   êΓá¬,   »α«úαἼᠠ WriteXY   óδºδóáÑΓ
  373. »«ñ»α«úαá¼¼π ShowError, ¬«Γ«αá∩ ó ßó«ε «τÑαÑñ∞ óδºδóáÑΓ WriteXY ñ½∩
  374. óδñáτ¿  ß««íΘÑ¡¿∩  ¡á φ¬αá¡,  Γ.Ñ ñ½∩ αáßτÑΓá ¬««αñ¿¡áΓ.  Éáß¼«Γα¿¼
  375. »α«úαá¼¼π  Circular. Ä¡á  τ¿ßΓ¿Γ  φ¬αá¡  ¿  Γα¿  αáºá  «íαáΘáÑΓß∩  ¬
  376. »α«úαἼѠWriteXY:
  377.  
  378.                program  Circular;
  379.                {óδó«ñ ΓѬßΓá »α«úαá¼¼«⌐ WriteXY}
  380.                uses
  381.                   Crt,Display;
  382.                begin
  383.                   CirScr;
  384.                   writeXY(1,1,óÑασ¡¿⌐ ½Ñóδ⌐ πú«½ φ¬αá¡á);
  385.                   writeXY(100,100,¼«ªÑΓ ó¡Ñ φ¬αá¡á);
  386.                   writeXY(81-Length(óÑα¡πΓ∞ ó ñ«»πßΓ¿¼δÑ),
  387.                           15,óÑα¡πΓ∞ ó ñ«»πßΓ¿¼δÑ);
  388.                end.
  389.  
  390.      è««αñ¿¡áΓδ (X,Y)  »α¿ óΓ«α«¼ ó맮óÑ WriteXY πßΓá¡«ó½Ñ¡δ ªÑßΓ¬«
  391. ¬á¬ (100,  100) »α¿ φ¬αá¡Ñ 80x25. Å«ß¼«Γα¿¼, ¬á¬ αáí«ΓáÑΓ »α«úαá¼¼á
  392. WriteXY.   ì¿ªÑ  »α¿óÑñÑ¡  ¿ßσ«ñ¡δ⌐  ¬«ñ  ¼«ñπ½∩  Display,  ¬«Γ«αδ⌐
  393. ß«ñÑαª¿Γ »α«µÑñπαπ WriteXY.  àß½¿  ¬««αñ¿¡áΓδ  (X,Y)  ñÑ⌐ßΓó¿Γѽ∞¡«
  394. ¡áσ«ñ∩Γß∩ ó  »αÑñѽáσ  φ¬αá¡á,  «¡á óδó«ñ¿Γ ß««íΘÑ¡¿Ñ,  ó »α«Γ¿ó¡«¼
  395. ß½πτáÑ óδó«ñ¿Γß∩ ß««íΘÑ¡¿Ñ «í «Φ¿í¬Ñ.
  396.  
  397.                unit  Display;
  398.                {ß«ñÑαª¿Γ »«ñ»α«úαá¼¼π óδñáτ¿ ß««íΘÑ¡¿⌐}
  399.  
  400.                interface
  401.  
  402.                procedure WriteXY(X,Y   :    integer;
  403.                        Message  : string);
  404.                begin
  405.                   if (X in[1..80]) and (Y in[1..25]) then
  406.                   begin
  407.                      GotoXY(X,Y);
  408.                      Write(Message);
  409.                  end
  410.                  else
  411.                     ShowError(¡ÑóÑα¡δ ¬««αñ¿¡áΓδ ñ½∩ writeXY)
  412.                end;
  413.  
  414.                end.
  415.  
  416.      Åα«µÑñπαá ShowError, óδºδóáѼá∩ WriteXY, «íΩ∩ó½Ñ¡á ó ß½ÑñπεΘѼ
  417. ¡¿ªÑ ΓѬßΓÑ ¼«ñπ½∩ Error.  Åα«úαá¼¼á ShowError óßÑúñá óδó«ñ¿Γ  ßó«¿
  418. ß««íΘÑ¡¿∩ ¡á 25 ßΓα«¬Ñ φ¬αá¡á.
  419.  
  420.                unit Error;
  421.                {ß«ñÑαª¿Γ »«ñ»α«úαá¼¼π óδñáτ¿ «Φ¿í«¬}
  422.  
  423.                interface
  424.  
  425.                procedure ShowError (ErrMsg : string);
  426.  
  427.                implementation
  428.  
  429.                uses
  430.                   Display;
  431.  
  432.                procedure ShowError (ErrMess : string);
  433.                begin
  434.                   WriteXY (1, 25, 'Error: ' + ErrMsg);
  435.                end;
  436.  
  437.                end.
  438.  
  439.      ÄΓ¼ÑΓ¿¼, τΓ« ó ¼«ñπ½∩σ Display ¿ Error, ó ¿σ »αÑñ½«ªÑ¡¿∩σ uses
  440. ó  αáºñѽáσ αÑ὿ºáµ¿¿ ÑßΓ∞ ßß佬¿ φΓ¿σ ¼«ñπ½Ñ⌐ ñαπú ¡á ñαπúá.  ¥Γ¿
  441. ñóá ¼«ñπ½∩ ¼«úπΓ ßßδ½áΓ∞ß∩ ñαπú ¡á  ñαπúá  ó  αáºñѽáσ  αÑ὿ºáµ¿¿,
  442. »«Γ«¼π  τΓ« Turbo Pascal ¼«ªÑΓ ¬«¼»¿½¿α«óáΓ∞ »«½¡«ßΓ∞ε ¿¡ΓÑαΣÑ⌐ß¡δÑ
  443. αáºñѽδ ñ½∩ «í«¿σ ¼«ñπ½Ñ⌐. äαπú¿¼¿ ß½«óἿ, ¬«¼»¿½∩Γ«α Turbo Pascal
  444. ñ«»π߬áÑΓ ßßδ½¬π  ¡á τáßΓ¿τ¡« «Γ¬«¼»¿½¿α«óá¡¡δ⌐ ¼«ñπ½∞ Ç ¿º αáºñѽá
  445. αÑ὿ºáµ¿¿ ¼«ñπ½∩ B,  »«ß¬«½∞¬π ¿¡ΓÑαΣÑ⌐ß¡δÑ αáºñÑ½δ ¼«ñπ½Ñ⌐ A ¿  B
  446. ¡Ñ ºáó¿ß∩Γ  ñαπú  «Γ ñαπúá (¿ ß½Ññ«óáΓѽ∞¡«,  ß««ΓóÑΓßΓóπεΓ ßΓα«ú¿¼
  447. »αáó¿½á¼ Åá߬á½∩ ñ½∩ »«α∩ñ¬á «íΩ∩ó½Ñ¡¿⌐).
  448.  
  449.  
  450.                    Éáºñѽѡ¿Ñ ñαπú¿σ «íΩ∩ó½Ñ¡¿⌐.
  451.  
  452.      ÅαÑñ»«½«ª¿¼, éδ  σ«Γ¿ΓÑ  ¼«ñ¿Σ¿µ¿α«óáΓ∞  »α«úαá¼¼δ  WriteXY  ¿
  453. ShowError Γá¬,  τΓ«íδ  ñ«íáó¿Γ∞  ñ«»«½¡¿Γѽ∞¡δ⌐  »áαá¼ÑΓα,  ¬«Γ«αδ⌐
  454. ºáñáÑΓ »α∩¼«πú«½∞¡«Ñ «¬¡« ¡á φ¬αá¡Ñ:
  455.  
  456.              procedure writeXY(SomeWindow:Wind Rec;
  457.                                X, Y : integer;
  458.                                Message : string);
  459.  
  460.              procedure ShowError (SomeWindow : WindRec;
  461.                                   ErrMsg     : string);
  462.  
  463.  
  464.      éß»«¼¡¿¼, τΓ«  φΓ¿ »α«µÑñπαδ ¡áσ«ñ∩Γß∩ ó αạδσ ¼«ñπ½∩σ.  äáªÑ
  465. Ñß½¿ «íΩ∩ó¿Γ∞ WindData ó αáºñѽѠ¿¡ΓÑαΣÑ⌐ßá «ñ¡«ú« ¼«ñπ½∩,  Γ«  φΓ«
  466. «íΩ∩ó½Ñ¡¿Ñ  ¡Ñ  íπñÑΓ ñ«ßΓπ»¡« ó αáºñѽѠ¿¡ΓÑαΣÑ⌐ßá ñαπú«ú« ¼«ñπ½∩.
  467. ïπτΦÑ «íΩ∩ó¿Γ∞ ΓαÑΓ¿⌐ ¼«ñπ½∞,  ¬«Γ«αδ⌐ ß«ßΓ«¿Γ ¿º «ñ¡¿σ  «íΩ∩ó½Ñ¡¿⌐
  468. ºá»¿ß¿ «¬¡á:
  469.  
  470.              unit WindData;
  471.              interface
  472.              type
  473.                 WinDRec = record
  474.                        X1, Y1, X2, Y2 : integer;
  475.                        ForeColor,
  476.                        BackColor      : byte;
  477.                        Active         : boolean;
  478.                 end;
  479.              implementation
  480.              end;
  481.  
  482.      æÑ⌐τáß ¿¡ΓÑαΣÑ⌐ß¡δÑ  αáºñÑ½δ  «í«¿σ  ¼«ñπ½Ñ⌐  Display  ¿ Error
  483. ¼«úπΓ ó¿ñÑΓ∞ WindData.  ¥Γ« ñ«»πßΓ¿¼«, »«Γ«¼π τΓ« ó ¼«ñπ½Ñ WindData
  484. ¡ÑΓ »αÑñ½«ªÑ¡¿∩ uses, á ¼«ñπ½¿ Display ¿ Error ¿¼ÑεΓ ßß佬¿ ñαπú ¡á
  485. ñαπúá ó αáºñѽѠimplementation (αÑa½¿ºáµ¿¿).
  486.  
  487.  
  488.                         æΓá¡ñáαΓ¡δÑ ¼«ñπ½¿.
  489.  
  490.      öá⌐½ TURBO.TPL ß«ñÑαª¿Γ óßÑ ßΓá¡ñáαΓ¡δÑ ¼«ñπ½¿,  ¬α«¼Ñ Graph ¿
  491. ¼«ñπ½Ñ⌐ ß«ó¼ÑßΓ¿¼«ßΓ¿ (Graph3 ¿ Turbo3):  System, Overlay, Crt, Dos
  492. ¿ Printer.  ¥Γ¿  ¼«ñπ½¿ ºáúαπªáεΓß∩ ó »á¼∩Γ∞ ó¼ÑßΓÑ ß Turbo Pascal;
  493. «¡¿ óßÑúñá ñ«ßΓπ»¡δ ñ½∩ ½εí«⌐ »α«úαá¼¼δ.  öá⌐½ TURBO.TPL σαá¡¿Γß∩ ó
  494. Γ«¼ ªÑ ß»αáó«τ¡¿¬Ñ, τΓ« ¿ TURBO.EXE (¿½¿ TPC.EXE).
  495.  
  496.  
  497.                               System.
  498.  
  499.      î«ñπ½∞ System ß«ñÑαª¿Γ óßÑ ßΓá¡ñáαΓ¡δÑ ¿  óßΓα«Ñ¡¡δÑ »α«µÑñπαδ
  500. ¿ Σπ¡¬µ¿¿   Turbo  Pascal.  ïεíá∩  »«ñ»α«úαἼᠠTurbo  Pascal,  ¡Ñ
  501. ∩ó½∩εΘá∩ß∩ ßΓá¡ñáαΓ¡«⌐ ¿ ¡Ñ ¡áσ«ñ∩Θá∩ß∩ ¡¿ ó «ñ¡«¼  ñαπú«¼  ¼«ñπ½Ñ,
  502. ¡áσ«ñ¿Γß∩ ó System.  ¥Γ«Γ ¼«ñπ½∞ »α¿ß«Ññ¿¡∩ÑΓß∩ ¬ ¬áªñ«⌐ »α«úαá¼¼Ñ.
  503. î«ñπ½∞ System  ñÑΓá½∞¡«  «»¿ßá¡  ó   ú½áóÑ   10   "î«ñπ½∞   System"
  504. Éπ¬«ó«ñßΓóá »α«úαá¼¼¿ßΓá.
  505.  
  506.  
  507.                                Dos.
  508.  
  509.      Dos «»αÑñѽ∩ÑΓ  ¼¡«ú«τ¿ß½Ñ¡¡δÑ  »α«µÑñπαδ  ¿   Σπ¡¬µ¿¿   Turbo
  510. Pascal,  ¬«Γ«αδÑ  φ¬ó¿óá½Ñ¡Γ¡δ  ¡á¿í«½ÑÑ τáßΓ« ¿ß»«½∞ºπÑ¼δ¼ ó맮óá¼
  511. Dos, Γᬿ¼ ¬á¬ GetTime,  SetTime, DiskSize ¿ Γ.ñ. èα«¼Ñ Γ«ú«, ºñÑß∞
  512. «»αÑñѽ∩εΓß∩  ñóÑ  »α«úαá¼¼δ ¡¿º¬«ú« πα«¡∩ - MsDos ¿ Intr,  ¬«Γ«αδÑ
  513. »«ºó«½∩εΓ ¿ß»«½∞º«óáΓ∞ ½εí«⌐ ó맮ó MS-DOS ¿½¿ ß¿ßΓѼ¡δÑ »αÑαδóá¡¿∩.
  514. Registers  - Γ¿» ñá¡¡δσ ñ½∩ »áαá¼ÑΓα«ó ó MsDos ¿ Intr.  èα«¼Ñ Γ«ú«,
  515. «»αÑñѽ∩εΓß∩ ¡Ñ¬«Γ«αδÑ  ñαπú¿Ñ  ¬«¡ßΓá¡Γδ  ¿  Γ¿»δ  ñá¡¡δσ.  î«ñπ½∞
  516. Dos ñÑΓá½∞¡«   «»¿ßá¡   ó   ú½áóÑ   11   "î«ñπ½∞  Dos"  Éπ¬«ó«ñßΓóá
  517. »α«úαá¼¼¿ßΓá.
  518.  
  519.  
  520.                              Overlay.
  521.  
  522.      î«ñπ½∞ Overlay  «íÑß»Ñτ¿óáÑΓ »«ññÑ᪬π ß¿ßΓÑ¼δ «óÑα½ÑÑó. ü«½ÑÑ
  523. »«ñα«í¡« Overlay  «»¿ßá¡   ó   ú½áóÑ   13   "ÄóÑα½Ñ¿"   Éπ¬«ó«ñßΓóá
  524. »α«úαá¼¼¿ßΓá.
  525.  
  526.  
  527.                                Crt.
  528.  
  529.      Crt «íÑß»Ñτ¿óáÑΓ  ¡áí«α  ß»Ñµ¿á½∞¡δσ  ßαÑñßΓó  «íΩ∩ó½Ñ¡¿⌐  ñ½∩
  530. óó«ñá/óδó«ñá ¡á  PC:  ¬«¡ßΓá¡Γ,  »ÑαѼѡ¡δσ  ¿  »α«úαá¼¼.  êσ ¼«ª¡«
  531. ¿ß»«½∞º«óáΓ∞ ñ½∩ αáí«Γδ ß  φ¬αá¡«¼  (αáí«Γá  ß  «¬¡á¼¿,  π»αáó½Ñ¡¿Ñ
  532. ¬παß«α«¼, π»αáó½Ñ¡¿Ñ µóÑΓ«¼). àßΓ∞ ó«º¼«ª¡«ßΓ∞ óó«ñ¿Γ∞ ß ¬½áó¿áΓπαδ
  533. ¿ π»αáó½∩Γ∞ ºóπ¬«óδ¼ ß¿ú¡á½«¼. ü«½ÑÑ »«ñα«í¡« Crt «»¿ßá¡ ó ú½áóÑ 15
  534. "î«ñπ½∞ Crt" Éπ¬«ó«ñßΓóá »α«úαá¼¼¿ßΓá.
  535.  
  536.  
  537.                              Printer.
  538.  
  539.      é ¼«ñπ½Ñ Printer «íΩ∩ó½∩ÑΓß∩ »ÑαѼѡ¡á∩ ΓѬßΓ«ó«ú«  Σá⌐½á LST,
  540. ¬«Γ«αá∩ ßó∩ºδóáÑΓß∩   ß  ñαá⌐óÑα«¼  πßΓα«⌐ßΓóá,  »«ºó«½∩∩  »«ßδ½áΓ∞
  541. ßΓá¡ñáαΓ¡δ⌐ óδó«ñ  ¡á  »ÑτáΓáεΘÑÑ  πßΓα«⌐ßΓó«,  ¿ß»«½∞ºπ∩  Write  ¿
  542. Writeln.  ìá»α¿¼Ñα,  ó¬½ετ¿ó  ¼«ñπ½∞  Printer  ó  »α«úαá¼¼π,  ¼«ª¡«
  543. ßñѽáΓ∞ ß½ÑñπεΘÑÑ:
  544.  
  545.                 write (Lst,'The sum of',A:4,'and',B:4,'is');
  546.                 c:=A+B;
  547.                 writeln (Lst,c:8);
  548.  
  549.  
  550.                               Graph.
  551.  
  552.      ¥Γ«Γ Σá⌐½  ¡Ñ  óσ«ñ¿Γ  ó Σá⌐½ TURBO.TPL,  ¡« ñ«½ªÑ¡ ¡áσ«ñ¿Γ∞ß∩
  553. ó Γ«¼ ªÑ ó¼ÑßΓÑ,  úñÑ ¿ óß»«¼«úáΓѽ∞¡δÑ Σá⌐½δ,  αáßΦ¿αÑ¡¿∩  ¬«Γ«αδσ
  554. .BGI ¿   .CHR.   Å«¼ÑßΓ¿ΓÑ   GRAPH.TPU  ó  ΓѬπΘ¿⌐  ß»αáó«τ¡¿¬  ¿½¿
  555. ¿ß»«½∞ºπ⌐ΓÑ ß»αáó«τ¡¿¬  ¼«ñπ½Ñ⌐  ñ½∩  π¬áºá¡¿∩  »«½¡«ú«   »πΓ¿   ñ«
  556. GRAPH.TPU. (àß½¿  éδ  ¿ß»«½∞ºπÑΓÑ ªÑßΓ¬¿⌐ ñ¿ß¬ ¿ »α«úαá¼¼π Install,
  557. éáΦá ß¿ßΓѼᠠπªÑ  πßΓá¡«ó½Ñ¡á  Γá¬,  τΓ«  éδ  ¼«ªÑΓÑ  ¿ß»«½∞º«óáΓ∞
  558. Graph). öá⌐½   Graph   -  φΓ«  ¡áí«α  íδßΓα«ñÑ⌐ßΓóπεΘ¿σ φΣΣÑ¬Γ¿ó¡δσ
  559. úαáΣ¿τÑ߬¿σ »«ñ»α«úαá¼¼,   ¬«Γ«αδÑ   »«ºó«½∩εΓ   ó   »«½¡«⌐    ¼ÑαÑ
  560. ¿ß»«½∞º«óáΓ∞  úαáΣ¿τÑ߬¿Ñ  ó«º¼«ª¡«ßΓ¿  PC.  ¥Γ«Γ  ¼«ñπ½∞ αÑ὿ºπÑΓ
  561. ¡Ñºáó¿ß¿¼δ⌐ «Γ  πßΓα«⌐ßΓóá  úαáΣ¿τÑ߬¿⌐   ñαá⌐óÑα,   »«ññÑনóáεΘ¿⌐
  562. úαáΣ¿τÑ߬¿Ñ áñá»ΓÑαδ CGA,  EGA,  Hercules,  AT&T400, MCGA, 3270 PC,
  563. VGA ¿ 8514.
  564.      ä«»«½¡¿Γѽ∞¡«Ñ «»¿ßá¡¿Ñ  Graph ¿ úαáΣ¿τÑ߬«ú« ¿¡ΓÑαΣÑ⌐ßá Σ¿α¼δ
  565. Borland (BGI)  ¼«ª¡«  ¡á⌐Γ¿  ó  ú½áóÑ  12  "î«ñπ½∞  Graph  ¿   BGI"
  566. Éπ¬«ó«ñßΓóá »α«úαá¼¼¿ßΓá.
  567.  
  568.  
  569.                          Turbo3 ¿ Graph3.
  570.  
  571.      ¥Γ¿ ¼«ñπ½¿  »αÑñ¡áº¡áτÑ¡δ  Γ«½∞¬«  ñ½∩  ß«ó¼ÑßΓ¿¼«ßΓ¿.  Turbo3
  572. ß«ñÑαª¿Γ 2 »ÑαѼѡ¡δÑ ¿ ¡Ñ߬«½∞¬« »α«µÑñπα, ¡Ñ »«ññÑনóáѼδσ Turbo
  573. Pascal. Graph3  »«ññÑনóáÑΓ  »«½¡δ⌐  ¡áí«α  úαáΣ¿τÑ߬¿σ   »α«úαá¼¼
  574. óÑαß¿¿ 3.0.  Å«½¡á∩  ¿¡Σ«α¼áµ¿∩  »«  φΓ¿  ¼«ñπ½∩¼  ó¬½ετѡᠠó Σá⌐½
  575. TURBO3.INT.
  576.      Å«ß½Ñ óóÑñÑ¡¿∩  ó  φΓ¿  ¼«ñπ½¿  ñáóá⌐ΓÑ  »«ß¼«Γα¿¼ ß«íßΓóÑ¡¡δÑ
  577. ¼«ñπ½¿.
  578.  
  579.  
  580.                    æ«ºñá¡¿Ñ ß«íßΓóÑ¡¡δσ ¼«ñπ½Ñ⌐.
  581.  
  582.      éδ ¡á»¿ß὿  ¼«ñπ½∞  IntLib,  »«¼ÑßΓ¿½¿  ó  Σá⌐½Ñ INTLIB.PAS ¿
  583. «Γ¬«¼»¿½¿α«ó὿; αѺπ½∞ΓáΓ ¬«¼»¿½∩µ¿¿ - Σá⌐½ INTLIB.TPU.  ä½∩ Γ«ú«,
  584. τΓ«íδ ¼«ª¡«  í佫  Ñú«  ¿ß»«½∞º«óáΓ∞  ó  »α«úαá¼¼Ñ,  Ñú« ¡Ñ«íσ«ñ¿¼«
  585. «»¿ßáΓ∞ ó «»ÑαáΓ«αÑ uses. Æá¬¿¼ «íαẫ¼ »α«úαá¼¼á íπñÑΓ óδú½∩ñÑΓ∞:
  586.  
  587.                 program MyProg;
  588.                 uses IntLib;
  589.  
  590.      çá¼ÑΓ¿¼, τΓ«  Turbo Pascal »αÑñ»«½áúáÑΓ,  τΓ« Σá⌐½,  ó ¬«Γ«α«¼
  591. ¡áσ«ñ¿Γß∩ ¼«ñπ½∞,  ¿¼ÑÑΓ ΓᬫѠªÑ ¿¼∩ (ñ« 8 ß¿¼ó«½«ó),  τΓ«  ¿  ¿¼∩
  592. ¼«ñπ½∩.  àß½¿ éáΦ ¼«ñπ½∞ - MyUtilities, Γ« Turbo Pascal ¿ΘÑΓ Σá⌐½ ß
  593. ¿¼Ñ¡Ñ¼ MYUTILIT.PAS.
  594.  
  595.  
  596.                         è«¼»¿½∩µ¿∩ ¼«ñπ½Ñ⌐.
  597.  
  598.      î«ñπ½∞ ¬«¼»¿½¿απÑΓß∩  ΓᬪѠ ¬á¬  ¿  »α«úαá¼¼á:  ß«ºñáÑΓß∩ »α¿
  599. »«¼«Θ¿ αÑñá¬Γ«αá,  óδºδóáÑΓß∩ ¬«¼á¡ñá Compile/Compile (¿½¿ Alt-F9).
  600. ì«,  ó¼ÑßΓ«  Σá⌐½á ß αáßΦ¿αÑ¡¿Ñ¼ .EXE, ß«ºñáÑΓß∩ Σá⌐½ ß αáßΦ¿αÑ¡¿Ñ¼
  601. .TPU (¼«ñπ½∞ Turbo Pascal). î«ª¡« «ßΓáó¿Γ∞ φëàΣá⌐½, ¬á¬ «ñ¿¡«τ¡δ⌐
  602. Σá⌐½. î«ª¡«  »«¼ÑßΓ¿Γ∞  Ñú« ó TURBO.TPL »α¿ »«¼«Θ¿ TPUMOVER.EXE.
  603.      é ½εí«¼ ß½πτáÑ,  éδ ¼«ªÑΓÑ »«¼ÑßΓ¿Γ∞ Σá⌐½  .TPU  ó  ß»αáó«τ¡¿¬
  604. ¼«ñπ½Ñ⌐, ¬«Γ«αδ⌐ éδ ºáñáÑΓѠ󠫬¡Ñ óó«ñá Unit Directories (Options/
  605. Directories). Æá¬¿¼ «íαẫ¼,  éδ ¼«ªÑΓÑ  ßßδ½áΓ∞ß∩  ¡á  φΓ¿  Σá⌐½δ,
  606. ¬«úñá «¡¿  ¡Ñ ¡áσ«ñ∩Γß∩ ó ΓѬπΘѼ ß»αáó«τ¡¿¬Ñ ¿½¿ ó TURBO.TPL. (¥Γá
  607. ¬«¼á¡ñá »«ºó«½∩ÑΓ   ñáΓ∞   ¡Ñ߬«½∞¬«   ß»αáó«τ¡¿¬«ó   ñ½∩    »«¿ß¬á
  608. ¼«ñπ½Ñ⌐).
  609.      éδ ¼«ªÑΓÑ  ¿¼ÑΓ∞  Γ«½∞¬«  «ñ¿¡  ¼«ñπ½∞  ñ½∩  ¿ßσ«ñ¡«ú«  Σá⌐½á;
  610. ¬«¼»¿½∩µ¿∩ «ßΓá¡áó½¿óáÑΓß∩,  ¬«úñá  ñ«ßΓ¿úáÑΓß∩  »«ß½Ññ¡¿⌐ «»ÑαáΓ«α
  611. end.
  612.      ùΓ«íδ ¡á⌐Γ¿  ¼«ñπ½∞,  π¬áºá¡¡δ⌐  ó «»ÑαáΓ«αÑ uses,  ¬«¼»¿½∩Γ«α
  613. ó¡áτá½Ñ »α«ß¼áΓα¿óáÑΓ αѺ¿ñÑ¡Γ¡δÑ ¼«ñπ½¿ -  ¼«ñπ½¿,  ºáúαπªÑ¡¡δÑ  ó
  614. »á¼∩Γ∞ ó« óαѼ∩ ºá»π߬ᠬ«¼»¿½∩Γ«αá Turbo Pascal ¿º TURBO.TPL. àß½¿
  615. φΓ«ú« ¼«ñπ½∩ ¡ÑΓ ßαÑñ¿  αѺ¿ñÑ¡Γ¡δσ,  ¬«¼»¿½∩Γ«α  ßτ¿ΓáÑΓ,  τΓ«  «¡
  616. ñ«½ªÑ¡ íδΓ∞   ¡á   ñ¿ß¬Ñ.  Ä¡  ßτ¿ΓáÑΓ,  τΓ«  ¼«ñπ½∞  ñ«½ªÑ¡  ¿¼ÑΓ∞
  617. αáßΦ¿αÑ¡¿Ñ .TPU.  Ä¡ ó¡áτá½Ñ ¿ΘÑΓ ó ΓѬπΘѼ ß»αáó«τ¡¿¬Ñ,  á ºáΓѼ ó
  618. ß»αáó«τ¡¿¬áσ, ºáñá¡¡δ󠬫¼á¡ñ«⌐ O/D/Unit Directories ¿½¿ ñ¿αÑ¬Γ¿ó«⌐
  619. /U ó ¬«¼á¡ñ¡«⌐ ßΓα«¬Ñ TPC. ìá»α¿¼Ñα, ¬«¡ßΓαπ¬µ¿∩
  620.  
  621.      uses Memory;
  622.  
  623.      úñÑ Memory ¡Ñ αѺ¿ñÑ¡Γ¡δ⌐ ¼«ñπ½∞ ºáßΓáó½∩ÑΓ  ¬«¼»¿½∩Γ«α ¿ß¬áΓ∞
  624. MEMORY.TPU ó ΓѬπΘѼ ß»αáó«τ¡¿¬Ñ,  á ºáΓѼ ó ¬áªñ«¼ ¿º ß»αáó«τ¡¿¬«ó
  625. ¼«ñπ½Ñ⌐.
  626.      è«úñá ¬«¼á¡ñδ Compile/Make ¿ Compile/Build ¬«¼»¿½¿απεΓ ¼«ñπ½¿,
  627. ºáñá¡¡δÑ ó «»ÑαáΓ«αÑ uses, ¿ßσ«ñ¡δÑ Σá⌐½δ ¿ΘπΓß∩ ΓᬠªÑ, ¬á¬ ¿ .TPU
  628. Σá⌐½δ ¿  ¿¼∩  ¿ßσ«ñ¡«ú«  Σá⌐½á ¼«ñπ½∩ »α¿¡¿¼áÑΓß∩ Γ« ªÑ,  τΓ« ¿ ¿¼∩
  629. ¼«ñπ½∩ ß αáßΦ¿αÑ¡¿Ñ¼ .PAS.
  630.  
  631.  
  632.                               Åα¿¼Ñα.
  633.  
  634.      ìỿΦѼ ¡Ñí«½∞Φ«⌐ ¼«ñπ½∞. ìẫóѼ Ñú« IntLib ¿ »«¼ÑßΓ¿¼ ó ¡Ñú« ñóÑ
  635. »α«ßΓδÑ »α«úαá¼¼δ: »α«µÑñπαπ ¿ Σπ¡¬µ¿ε:
  636.  
  637.                 unit IntLib;
  638.  
  639.                 interface
  640.  
  641.                 procedure ISwap (var I, J : integer);
  642.  
  643.                 function IMax (I, J : integer) : integer;
  644.  
  645.                 implementation
  646.  
  647.                 procedure ISwap;
  648.                 var
  649.                    Temp : integer;
  650.                 begin
  651.                    Temp := I; I := J; J := Temp;
  652.                 end; {of proc ISwap}
  653.  
  654.                 procedure IMax;
  655.                 begin
  656.                    if I > J then
  657.                       IMax := I
  658.                    else
  659.                       IMax := J;
  660.                 end;{Σπ¡¬µ¿¿ IMax}
  661.  
  662.                 end.{¼«ñπ½∩ IntLib}
  663.  
  664.      æ«σαá¡¿¼ Ñú«    ó    Σá⌐½Ñ    INTLIB.PAS    ¿    «Γ¬«¼»¿½¿απѼ
  665. Ñú«. ÉѺπ½∞Γ¿απεΘ¿⌐ ¬«ñ »«¼ÑΘáÑΓß∩ ó Σá⌐½ INIT.TPU. Å«¼ÑßΓ¿ΓÑ Ñú« ó
  666. ß»αáó«τ¡¿¬   ¼«ñπ½Ñ⌐,   Ñß½¿   «¡  ÑßΓ∞,  ¿½¿  «ßΓáó∞ΓÑ  ó  Γ«¼  ªÑ
  667. ß»αáó«τ¡¿¬Ñ, úñÑ   ¡áσ«ñ¿Γß∩   »α«úαá¼¼á.    æ½ÑñπεΘá∩    »α«úαá¼¼á
  668. ¿ß»«½∞ºπÑΓ ¼«ñπ½∞ IntLib:
  669.  
  670.      program IntTest;
  671.  
  672.      uses IntLib;
  673.  
  674.      var
  675.         A, B : integer;
  676.  
  677.      begin
  678.         Write ('Enter two integer values : ');
  679.         Readln (A, B);
  680.         ISwap (A, B);
  681.         Writeln ('A= ', A, 'B= ', B);
  682.         Writeln ('The max is ', IMax (A, B);
  683.      end. {»α«úαá¼¼δ IntTest}
  684.  
  685.      Å«ºñαáó½∩Ѽ! Æ«½∞¬« τΓ« óδ ß«ºñ὿ ¼«ñπ½∞ ¿ »α«úαá¼¼π, ¬«Γ«αá∩
  686. Ñú« ¿ß»«½∞ºπÑΓ.
  687.  
  688.  
  689.                     î«ñπ½¿ ¿ í«½∞Φ¿Ñ »α«úαá¼¼δ.
  690.  
  691.      ä« ß¿σ  »«α  ¼δ   ¿ß»«½∞º«ó὿   í¿í½¿«ΓѬ¿   ¼«ñπ½Ñ⌐   (¡áí«α
  692. »«½Ñº¡δσ »α«úαá¼¼)  ¿  «Γñѽ∞¡δÑ  »α«úαá¼¼δ,  ¬«Γ«αδÑ  ¿ß»«½∞ºπεΓß∩
  693. ¡Ñ߬«½∞¬¿¼¿ »α«úαἼἿ.  äαπú«⌐  ß½πτá⌐  ¿ß»«½∞º«óá¡¿∩  ¼«ñπ½Ñ⌐  -
  694. »«ßΓα«Ñ¡¿Ñ í«½∞Φ¿σ »α«úαá¼¼. æπΘÑßΓóπÑΓ ñóá á߻ѬΓá ó Turbo Pascal,
  695. »«ºó«½∩εΘ¿σ ¿ß»«½∞º«óáΓ∞ ¼«ñπ½¿:
  696.      - Turbo   Pascal   ¿¼ÑÑΓ   «úα«¼¡πε   ß¬«α«ßΓ∞   ¬«¼»¿½∩µ¿¿  ¿
  697. αÑñá¬Γ¿α«óá¡¿∩;
  698.      - Turbo   Pascal  ¼«ªÑΓ  π»αáó½∩Γ∞  ¡Ñ߬«½∞¬¿¼¿  Σá⌐½á¼¿  ¬«ñá
  699. «ñ¡«óαѼѡ¡«, Γᬿ¼¿ ¬á¬  »α«úαἼᠠ¿  ¼«ñπ½¿.
  700.      Äíδτ¡« í«½∞Φá∩ »α«úαá¼¼δ ñѽ¿Γß∩ ¡á ¼«ñπ½¿, ¬«Γ«αδÑ úαπ»»¿απεΓ
  701. »α«µÑñπαδ »«  ¿σ  Σπ¡¬µ¿∩¼.  ìá»α¿¼Ñα,  »α«úαá¼¼δ  αÑñá¬Γ«αá  ¼«ª¡«
  702. αáºñѽ¿Γ∞   ¡á   ¿¡¿µ¿á½¿ºáµ¿ε,   óδó«ñ,  τΓÑ¡¿Ñ  ¿  ºá»¿ß∞  Σá⌐½á,
  703. Σ«α¼áΓ¿α«óá¡¿Ñ ¿ Γ.ñ.  Æá¬ ªÑ ¼«ªÑΓ íδΓ∞ ú½«íá½∞¡δ⌐ ¼«ñπ½∞ - ¼«ñπ½∞
  704. ¿ß»«½∞ºπѼδ⌐ óßѼ¿ ñαπú¿¼¿ ¼«ñπ½∩¼¿,  á ΓᬠªÑ ú½áó¡«⌐ »α«úαá¼¼«⌐ -
  705. «¡ «»αÑñѽ∩ÑΓ  ú½«íá½∞¡δÑ  ¬«¡ßΓá¡Γδ,  Γ¿»δ   ñá¡¡δσ,   »ÑαѼѡ¡δÑ,
  706. »α«µÑñπαδ ¿ Σπ¡¬µ¿¿. æσѼá í«½∞Φ«⌐ »α«úαá¼¼δ:
  707.  
  708.      program Editor
  709.  
  710.      uses
  711.         DOS,Crt,Printer {ßΓá¡ñáαΓ¡δÑ ¼«ñπ½¿ ¿º TURBO.TPL}
  712.         EditGlobals,    {¼«ñπ½¿, ¡á»¿ßá¡¡δÑ »«½∞º«óáΓѽѼ}
  713.         EditInit,
  714.         EditPrint,
  715.         EditRead,
  716.         EditWrite,
  717.         EditFormat;
  718.  
  719.      {«íΩ∩ó½Ñ¡¿∩ »α«úαá¼¼δ,»α«µÑñπαδ ¿ Σπ¡¬µ¿¿}
  720.  
  721.      begin {ú½áó¡á∩ »α«úαá¼¼á}
  722.  
  723.      end.{»α«úαá¼¼δ Editor}
  724.  
  725.  
  726.      çá¼ÑΓ¿¼,  τΓ«   ¼«ñπ½¿   φΓ«⌐  »α«úαá¼¼δ  ¼«úπΓ  ¡áσ«ñ¿Γ∞ß∩  ó
  727. TURBO.TPL ¿½¿ ßπΘÑßΓó«óáΓ∞ ¬á¬ «Γñѽ∞¡δÑ .TPU  Σá⌐½δ.  é  »«ß½Ññ¡Ñ¼
  728. ß½πτáÑ,  Turbo  Pascal íπñÑΓ π»αáó½∩Γ∞ éáΦ¿¼ »α«Ñ¬Γ«¼.  ¥Γ« º¡áτ¿Γ,
  729. τΓ« »α¿ »ÑαѬ«¼»¿½∩µ¿¿ »α«úαá¼¼δ  Editor,  Turbo  Pascal,  »α«óÑα¿ó
  730. ñáΓπ Σá⌐½«ó .PAS ¿ .TPU,  »ÑαѬ«¼»¿½¿απÑΓ Γ«½∞¬« ΓÑ ¼«ñπ½¿ ¿ Σá⌐½δ,
  731. ¬«Γ«αδÑ í뫨 ¼«ñ¿Σ¿µ¿α«óá¡δ.
  732.      äαπúá∩ »α¿τ¿¡á  ¿ß»«½∞º«óá¡¿∩  ¼«ñπ½Ñ⌐  ó  í«½∞Φ¿σ  »α«úαá¼¼áσ
  733. «»αÑñѽ∩ÑΓß∩ «úαá¡¿τÑ¡¿Ñ¼ αẼÑαá ¬«ñ«óδσ ßÑú¼Ñ¡Γ«ó. Åα«µÑßß«α 8086
  734. (¿ ß«ó¼ÑßΓ¿¼δÑ ß ¡¿¼) «úαá¡¿τ¿óáεΓ αẼÑα ßÑú¼Ñ¡Γá ¬«ñá ñ« 64è. ¥Γ«
  735. º¡áτ¿Γ, τΓ« ú½áó¡á∩ »α«úαἼᠿ ½εí«⌐ ßÑú¼Ñ¡Γ ¡Ñ ¼«ªÑΓ »αÑóδΦáΓ∞ 64
  736. è. Turbo Pascal »«ºó«½∩ÑΓ ß¡∩Γ∞ «úαá¡¿τÑ¡¿∩,  »«¼ÑΘá∩ ¬áªñδ⌐ ¼«ñπ½∞
  737. ó «Γñѽ∞¡δ⌐ ßÑú¼Ñ¡Γ.  éÑασ¡∩∩ úαá¡¿µá «»αÑñѽ∩ÑΓß∩  »á¼∩Γ∞ε  ¼áΦ¿¡δ
  738. (PC) ¿ «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼ«⌐, Γ« ÑßΓ∞ 640è ¡á í«½∞Φ¿¡ßΓóÑ PC.
  739.      üѺ ¿ß»«½∞º«óá¡¿∩ ¼«ñπ½Ñ⌐ αẼÑα »α«úαá¼¼δ  «úαá¡¿τÑ¡  ñ«  64è
  740. ¬«ñá (æ¼.ú½áóπ   6   "ô»αáó½Ñ¡¿Ñ   »α«Ñ¬Γ«¼"  ñ½∩  »«½πτÑ¡¿∩  í«½ÑÑ
  741. »«ñα«í¡«⌐ ¿¡Σ«α¼áµ¿¿ « í«½∞Φ¿σ »α«úαá¼¼áσ).
  742.  
  743.  
  744.                         ÄóÑα½Ñ⌐¡δÑ ¼«ñπ½¿.
  745.  
  746.      üδóáεΓ ß½πτá¿,  ¬«úñá  ¡Ñ󫺼«ª¡«  ºáúαπº¿Γ∞  óßÑ  éáΦ¿ ¼«ñπ½¿
  747. ¿º-ºá ¡Ññ«ßΓáΓ¬á »á¼∩Γ¿.  î«ªÑΓ íδΓ∞ »«Γ«¼π,  τΓ« »á¼∩Γ∞ ñ½∩ αáí«Γδ
  748. ¼Ñ¡∞ΦÑ 640è,  ¿½¿  »«Γ«¼π,  τΓ«  éá¼  ΓαÑíπÑΓß∩  í«½∞ΦÑ  »á¼∩Γ¿ »«ñ
  749. ñá¡¡δÑ. äαπú¿¼¿ ß½«óἿ,  ºáúαπº«τ¡δ⌐ ¼«ñπ½∞  ó  ñá¡¡δ⌐  ¼«¼Ñ¡Γ  ¡Ñ
  750. »«¼ÑΘáÑΓß∩  ó  »á¼∩Γ¿.
  751.      Turbo Pascal »αÑñ½áúáÑΓ  αÑΦÑ¡¿Ñ  -  «óÑα½Ñ¿.  ÄóÑα½Ñ⌐  -  φΓ«
  752. ¬πß«¬ »α«úαá¼¼δ,  ºáúαπªáѼδ⌐ ó »á¼∩Γ∞,  ¬«úñá ¡Ñ«íσ«ñ¿¼«,  ¿ ºáΓѼ
  753. óδúαπªáѼδ⌐ ¿º ¡ÑÑ.  ¥Γ« º¡áτ¿Γ, τΓ« ó »á¼∩Γ∞ »α«úαἼᠺáúαπªáÑΓß∩
  754. ¡Ñ óß∩, á τáßΓ∩¼¿ »« ¡Ñ«íσ«ñ¿¼«ßΓ¿.
  755.      ÄóÑα½Ñ¿ ó Turbo Pascal íếαπεΓß∩ ¡á ¼«ñπ½∩σ. ìῼѡ∞Φá∩ τáßΓ∞
  756. ¬«ñá, ¬«Γ«αá∩  ¼«ªÑΓ  íδΓ∞  ºáúαπªÑ¡á  ¿½¿  óδúαπªÑ¡á - φΓ« ¼«ñπ½∞.
  757. éδ ¼«ªÑΓÑ «»αÑñѽ¿Γ∞ ß½«ª¡δ⌐ ¡áí«α «óÑα½ÑÑó,  π¬áºá󠠬ᬿѠ ¼«ñπ½¿
  758. ¼«úπΓ ¿½¿  ¡Ñ  ¼«úπΓ  íδΓ∞  ó φΓ« óαѼ∩ ó »á¼∩Γ¿.  Éáí«Γ«⌐ «óÑα½ÑÑó
  759. π»αáó½∩ÑΓ ß»Ñµ¿á½∞¡á∩   ¿¡Γѽ½Ñ¬Γπá½∞¡á∩   »α«úαἼᠠ -    ¼«¡¿Γ«α
  760. «óÑα½ÑÑó.
  761.      ä½∩ ñÑΓá½∞¡«ú«   ¿ºπτÑ¡¿∩   «óÑα½ÑÑó,   ¬á¬   «»¿ßáΓ∞   ¿σ   ¿
  762. ¿ß»«½∞º«óáΓ∞ τ¿Γá⌐ΓÑ ú½áóπ 13 Éπ¬«ó«ñßΓóá »α«úαá¼¼¿ßΓá "ÄóÑα½Ñ¿".
  763.  
  764.  
  765.                          ôΓ¿½¿Γá TPUMOVER.
  766.  
  767.      ä«»πßΓ¿¼, τΓ« ¡πª¡« ñ«íáó¿Γ∞ ¬ ßΓá¡ñáαΓ¡δ¼ ¼«ñπ½∩¼ ó TURBO.TPL
  768. ¡á»¿ßá¡¡δ⌐ ¿  «Γ½áªÑ¡¡δ⌐  ¼«ñπ½∞  ñ½∩ Γ«ú«,  τΓ«íδ «¡ áóΓ«¼áΓ¿τÑ߬¿
  769. ºáúαπªá½ß∩ ó »á¼∩Γ∞ »α¿ ¬«¼»¿½∩µ¿¿.  èᬠ»«¼ÑßΓ¿Γ∞ Ñú« ó í¿í½¿«ΓѬπ
  770. ßΓá¡ñáαΓ¡δσ ¼«ñπ½Ñ⌐  Turbo  Pascal?  ¥Γ«  ¼«ª¡«  ßñѽáΓ∞ »α¿ »«¼«Θ¿
  771. πΓ¿½¿Γδ  TÉUMOVER.EXE.
  772.      èα«¼Ñ Γ«ú«,  φΓá  πΓ¿½¿Γá ¿»«½∞ºπÑΓß∩ ñ½∩ »ÑαÑß佬¿ ¿ πñá½Ñ¡¿∩
  773. ¼«ñπ½Ñ⌐ ¿º í¿í½¿«ΓÑτ¡«ú« Σá⌐½á ß µÑ½∞ε π¼Ñ¡∞ΦÑ¡¿∩ αẼÑαá TURBO.TPL
  774. ¿ φ¬«¡«¼¿¿  »á¼∩Γ¿  »α¿  Ñú«  ºáúαπº¬Ñ.  ü«½ÑÑ  »«ñα«í¡« «í πΓ¿½¿ΓÑ
  775. TÉUMOVER ß¼«Γα¿ΓÑ ó Åα¿½«ªÑ¡¿¿ Ç.
  776.      èᬠéδ  »«¡∩½¿,  »¿ßáΓ∞  ß«íßΓóÑ¡¡δÑ ¼«ñπ½¿ ¡Ñ ß½«ª¡«.  ôñáτ¡«
  777. ߬«¡ßΓαπ¿α«óá¡¡δ⌐ ¿ αÑ὿º«óá¡¡δ⌐ ¼«ñπ½∞ Γ«½∞¬« π»α«ΘáÑΓ αáºαáí«Γ¬π
  778. ß½«ª¡δσ »α«úαá¼¼.  Åα«í½Ñ¼á αÑΦáÑΓß∩ Γ«½∞¬« «ñ¿¡ αáº, á ¡Ñ »«óΓ«α¡«
  779. ñ½∩ ¬áªñ«⌐   »α«úαá¼¼δ.   ü«½ÑÑ   Γ«ú«,    ¿ß»«½∞º«óá¡¿Ñ    ¼«ñπ½Ñ⌐
  780. «íÑß»Ñτ¿óáÑΓ  φΣΣÑ¬Γ¿ó¡«Ñ  ¿  »α«ßΓ«Ñ  ßαÑñßΓó«  ñ½∩ ß«ºñá¡¿∩ «τÑ¡∞
  781. í«½∞Φ¿σ »α«úαá¼¼.
  782.