home *** CD-ROM | disk | FTP | other *** search
/ For Beginners & Professional Hackers / cd.iso / docum / tp6progg.doc / pg20 < prev    next >
Encoding:
Text File  |  1991-01-29  |  6.4 KB  |  179 lines

  1.                              âïÇéÇ 20.
  2.  
  3.                     ÇéÆÄîÇÆêùàæèǃ ÄÅÆêîêçÇûêƒ.
  4.  
  5.      Turbo Pascal »α«¿ºó«ñ¿Γ ¡Ñ߬«½∞¬« αẽ¿τ¡δσ  Γ¿»«ó «»Γ¿¼¿ºáµ¿¿
  6. ¬«ñá,  ¡áτ¿¡á∩  «Γ «íΩÑñ¿¡Ñ¡¿∩ ¬«¡ßΓá¡Γ ¿ ¬«α«Γ¬«⌐ Σ«α¼δ óδτ¿ß½Ñ¡¿∩
  7. íπ½Ñó߬¿σ óδαáªÑ¡¿⌐ óßÑσ Γ¿»«ó ñ« «Γ½¿τ¡«ú«  αÑñá¬Γ¿α«óá¡¿∩ ßó∩ºÑ⌐.
  8. çñÑß∞ «»¿ßá¡δ ¡Ñ¬«Γ«αδÑ Γ¿»δ «»Γ¿¼¿ºáµ¿¿.
  9.  
  10.  
  11.                        éδτ¿ß½Ñ¡¿Ñ ¬«¡ßΓá¡Γ.
  12.  
  13.      àß½¿ «»Ñαá¡ñδ ó «»ÑαáΓ«αÑ »αÑñßΓáó½∩εΓ ß«í«⌐  ¬«¡ßΓá¡Γδ, Turbo
  14. Pascal óδτ¿ß½∩ÑΓ óδαáªÑ¡¿Ñ ó« óαѼ∩ ¬«¼»¿½∩µ¿¿. ìá»α¿¼Ñα,
  15.  
  16.      X := 3 + 4 * 2
  17.  
  18.      úÑ¡Ñα¿απÑΓ ¬«ñ X := 11, ¿
  19.  
  20.      S := 'In' + 'Out'
  21.  
  22.      úÑ¡Ñα¿απÑΓ ¬«ñ S := 'InOut'.
  23.  
  24.      èα«¼Ñ Γ«ú«,  Ñß½¿ «»Ñαá¡ñ«¼ Σπ¡¬µ¿⌐ Abs,  Chr, Hi, Length, Lo,
  25. Odd, Ord, Pred, Ptr, Round, Succ, Swap ¿½¿ Trunc íδ½á ¬«¡ßΓá¡Γá, Γ«
  26. Σπ¡¬µ¿∩ óδτ¿ß½∩ÑΓß∩ ó« óαѼ∩ ¬«¼»¿½∩µ¿¿.
  27.      àß½¿ óδαáªÑ¡¿Ñ¼  ¿¡ñѬßá  ¼áßß¿óá  íδ½á  ¬«¡ßΓá¡Γá,  Γ«  áñαÑß
  28. φ½Ñ¼Ñ¡Γá  óδτ¿ß½∩ÑΓß∩  ó«  óαѼ∩  ¬«¼»¿½∩µ¿¿.  ìá»α¿¼Ñα,  ñ«ßΓπ»  ¬
  29. Data[5,5] íπñÑΓ  Γᬿ¼  ªÑ  φΣΣÑ¬Γ¿ó¡δ¼,  ¬á¬  ñ«ßΓπ»  ¬  «Γñѽ∞¡δ¼
  30. »ÑαѼѡ¡δ¼.
  31.  
  32.  
  33.                        ÄíΩÑñ¿¡Ñ¡¿Ñ ¬«¡ßΓá¡Γ.
  34.  
  35.      Åα¿ ¿ß»«½∞º«óá¡¿¿  «ñ¡«⌐  ¿  Γ«  ªÑ  ßΓ᫬«ó«⌐   ¬«¡ßΓá¡Γδ   ó
  36. «»ÑαáΓ«α¡«⌐ τáßΓ¿ 2 ¿½¿ í«½ÑÑ αẠíπñÑΓ σαá¡¿Γ∞ß∩ Γ«½∞¬« «ñ¡á ¬«»¿∩
  37. ¬«¡ßΓá¡Γδ. ìá»α¿¼Ñα, ñóá ¿½¿ í«½ÑÑ «»ÑαáΓ«α«ó Write('Done') ó «ñ¡«⌐
  38. ¿  Γ«⌐ ªÑ «»ÑαáΓ«α¡«⌐ τáßΓ¿ íπñπΓ ßßδ½áΓ∞ß∩ ¬ «ñ¡«⌐ ¬«»¿¿ ßΓ᫬«ó«⌐
  39. ¬«¡ßΓá¡Γδ 'Done'.
  40.  
  41.  
  42.                        è«α«Γ¬«Ñ óδτ¿ß½Ñ¡¿Ñ.
  43.  
  44.      Turbo Pascal  αÑ὿ºπÑΓ ¬«α«Γ¬πε Σ«α¼π ½«ú¿τÑ߬«ú« óδτ¿ß½Ñ¡¿∩,
  45. ¬«Γ«α«Ñ   «º¡áτáÑΓ,   τΓ«    óδτ¿ß½Ñ¡¿Ñ    ½«ú¿τÑ߬«ú«    óδαáªÑ¡¿∩
  46. «ßΓá¡áó½¿óáÑΓß∩,  ¬á¬  Γ«½∞¬«  αѺπ½∞ΓáΓ óßÑú« óδαáªÑ¡¿∩ ßΓá¡«ó¿Γß∩
  47. «τÑó¿ñ¡δ¼.  ¥Γ« úáαá¡Γ¿απÑΓ ¼¿¡¿¼á½∞¡«Ñ óαѼ∩ óδ»«½¡Ñ¡¿∩,  ¿ «íδτ¡«
  48. ¼¿¡¿¼á½∞¡δ⌐  αẼÑα  ¬«ñá.  è«α«Γ¬á∩  Σ«α¼á  óδτ¿ß½Ñ¡¿⌐  ΓᬪѠñáÑΓ
  49. 󫺼«ª¡«ßΓ∞  óδτ¿ß½Ñ¡¿∩  ¬«¡ßΓαπ¬µ¿⌐,   ¬«Γ«αδÑ   ¿¡áτÑ   í뫨   íδ
  50. ¡ÑóÑα¡δ¼¿; ¡á»α¿¼Ñα:
  51.  
  52.      while (I <= Length(S)) and (S[I] <> ' ') do  Inc(I);
  53.      while (P <> nil) and (P^.Value <> 5) do  P := P^.Next;
  54.  
  55.      é «í«¿σ ß½πτá∩σ óΓ«α«⌐ ΓÑßΓ ¡Ñ óδτ¿ß½∩ÑΓß∩, Ñß½¿ »Ñαóδ⌐ ΓÑßΓ -
  56. False.
  57.      èα«¼Ñ ¬«α«Γ¬¿σ  óδτ¿ß½Ñ¡¿⌐   ßπΘÑßΓóπεΓ   »«½¡δÑ   óδτ¿ß½Ñ¡¿∩,
  58. ¬«Γ«αδÑ  óδí¿αáεΓß∩  τÑαѺ  ñ¿αÑ¬Γ¿óπ  ¬«¼»¿½∩Γ«αá  {$B+}.  é  φΓ«¼
  59. ß«ßΓ«∩¡¿¿  úáαá¡Γ¿απÑΓß∩,  τΓ«  íπñÑΓ   óδτ¿ß½Ñ¡   ¬áªñδ⌐   «»Ñαá¡ñ
  60. ½«ú¿τÑ߬«ú« óδαáªÑ¡¿∩.
  61.  
  62.  
  63.                         Å«α∩ñ«¬ óδτ¿ß½Ñ¡¿⌐.
  64.  
  65.      èᬠαáºαÑΦÑ¡« ó ßΓá¡ñáα¡«¼ Åá߬á½Ñ,  «»Ñαá¡ñδ óδαáªÑ¡¿∩  τáßΓ«
  66. óδτ¿ß½∩εΓß∩  ó »«α∩ñ¬Ñ,  «Γ½¿τ¡«¼ «Γ »«α∩ñ¬á ó ¬«Γ«α«¼ «¡¿ ºá»¿ßá¡δ
  67. (ß½Ñóá ¡á»αáó«). ìá»α¿¼Ñα, ó «»ÑαáΓ«αÑ
  68.  
  69.      I := F(J) div G(J);
  70.  
  71.      úñÑ F ¿ G - φΓ« Σπ¡¬µ¿¿ Γ¿»á  Integer,  G  óδτ¿ß½∩ÑΓß∩  ñ«  F,
  72. »«ß¬«½∞¬π φΓ« »«ºó«½∩ÑΓ «»ÑαáΓ«απ úÑ¡Ñα¿α«óáΓ∞ ½πτΦ¿⌐ ¬«ñ. Å«φΓ«¼π,
  73. ó᪡«  »«¼¡¿Γ∞,  τΓ«  óδαáªÑ¡¿Ñ  ¡¿¬«úñá  ¡Ñ  ºáó¿ß¿Γ  «Γ   »«α∩ñ¬á
  74. óδτ¿ß½Ñ¡¿∩ Σπ¡¬µ¿⌐. àß½¿ ó »αÑñδñπΘѼ »α¿¼ÑαÑ F ñ«½ª¡« íδΓ∞ óδºóá¡«
  75. ñ« G, ¿ß»«½∞ºπ⌐ΓÑ óαѼѡ¡πε »ÑαѼѡ¡πε:
  76.  
  77.      T := F(j);
  78.      I := T div G(j);
  79.  
  80.      Åα¿¼Ñτá¡¿Ñ: èᬠ¿ß¬½ετÑ¡¿Ñ ¿º φΓ«ú«  »αáó¿½á,  ¬«úñá  ó¬½ετÑ¡δ
  81. ¬«α«Γ¬¿Ñ óδτ¿ß½Ñ¡¿∩ ({$B-}) ½«ú¿τÑ߬¿Ñ «»Ñαá¡ñδ,  ßúαπ»»¿α«óá¡¡δÑ ß
  82. and ¿½¿ or, óßÑúñá óδτ¿ß½∩εΓß∩ ß½Ñóá ¡á»αáó«.
  83.  
  84.  
  85.                         Åα«óÑα¬á ñ¿á»áº«¡á.
  86.  
  87.      Åα¿ »α¿ßóá¿óá¡¿¿    ¬«¡ßΓá¡Γδ   »ÑαѼѡ¡«⌐   ¿   ¿ß»«½∞º«óá¡¿¿
  88. ¬«¡ßΓá¡Γδ ¬á¬ »áαá¼ÑΓαá º¡áτÑ¡¿∩,  »α«óÑα¬á ¡á ñ¿á»áº«¡ ñѽáÑΓß∩ ó«
  89. óαѼ∩ ¬«¼»¿½∩µ¿¿;  «Φ¿í¬á  óαѼѡ¿ óδ»«½¡Ñ¡¿∩ óδσ«ñá ºá ñ¿á»áº«¡ ¡Ñ
  90. úÑ¡Ñα¿απÑΓß∩.  ìá»α¿¼Ñα,  ò := 999,  úñÑ X Γ¿»á éyte óδñáÑΓ  «Φ¿í¬π
  91. óαѼѡ¿ ¬«¼»¿½∩µ¿¿.
  92.  
  93.  
  94.                       æñó¿ú ó¼ÑßΓ« π¼¡«ªÑ¡¿∩.
  95.  
  96.      Ä»Ñαᵿ∩ X*C,  úñÑ æ -  ¬«¡ßΓá¡Γá  ó  ßΓѻѡ¿  2,  ¬«ñ¿απÑΓß∩,
  97. ¿ß»«½∞ºπ∩  ¿¡ßΓαπ¬µ¿ε  SHL.  èα«¼Ñ  Γ«ú«,  ¬«úñá  αẼÑα  φ½Ñ¼Ñ¡Γ«ó
  98. ¼áßß¿óá  ¬αáΓÑ¡  ßΓѻѡ¿  2,   ñ½∩   óδτ¿ß½Ñ¡¿∩   ¿¡ñѬßá   ¼áßß¿óá
  99. ¿ß»«½∞ºπÑΓß∩ ¿¡ßΓαπ¬µ¿∩ SHL (á ¡Ñ MUL).
  100.  
  101.  
  102.                    ÇóΓ«¼áΓ¿τÑ߬«Ñ óδαáó¡¿óá¡¿Ñ.
  103.  
  104.      Å« π¼«½τá¡¿ε  Turbo  Pascal  óδαáó¡¿óáÑΓ  óßÑ   »ÑαѼѡ¡δÑ   ¿
  105. Γ¿»¿α«óá¡¡δÑ  ¬«¡ßΓá¡Γδ  ñ½¿¡«⌐  í«½ÑÑ 1 íá⌐Γá ¡á úαá¡¿µπ ¼áΦ¿¡¡«ú«
  106. ß½«óá.  ìá óßÑσ 16-Γ¿ í¿Γ«óδσ »α«µÑßß«αáσ  80σ86,  óδαáó¡¿óá¡¿Ñ  ¡á
  107. ß½«ó«  αáí«ΓáÑΓ  º¡áτ¿Γѽ∞¡« íδßΓαÑÑ,  »«ß¬«½∞¬π ñ«ßΓπ» ¬ φ½Ñ¼Ñ¡Γá¼
  108. ñ½¿¡«⌐ ó ß½«ó«,  ¡áσ«ñ∩Θ¿σß∩ ¡á τÑΓ¡δσ áñαÑßáσ »α«¿ßσ«ñ¿Γ  íδßΓαÑÑ,
  109. τѼ ¡á ¡ÑτÑΓ¡δσ.
  110.      éδαáó¡¿óá¡¿Ñ ñá¡¡δσ π»αáó½∩ÑΓß∩  τÑαѺ  ñ¿αÑ¬Γ¿óπ  ¬«¼»¿½∩Γ«αá
  111. $A.  Å«  π¼«½τá¡¿ε  ó  ß«ßΓ«∩¡¿¿  {$A+}  »ÑαѼѡ¡δÑ  ¿ Γ¿»¿α«óá¡¡δÑ
  112. ¬«¡ßΓá¡Γδ  óδαáó¡¿óáεΓß∩  ¬á¬  «»¿ßá¡«  óδΦÑ.  é  ß«ßΓ«∩¡¿¿   {$A-}
  113. óδαáó¡¿óá¡¿∩ ¡Ñ »α«¿ºó«ñ¿Γß∩.  Å«ñα«í¡πε ¿¡Σ«α¼áµ¿ε ß¼.  ó ú½áóÑ 21
  114. "ä¿αÑ¬Γ¿óδ ¬«¼»¿½∩Γ«αá".
  115.  
  116.  
  117.                  ôñá½Ñ¡¿Ñ ¡Ñ¿ß»«½∞º«óá¡¡«ú« ¬«ñá.
  118.  
  119.      Ä»ÑαáΓ«αδ, ¬«Γ«αδÑ ¡¿¬«úñá ¡Ñ óδ»«½¡∩εΓß∩, ¡Ñ úÑ¡Ñα¿απεΓ ¬«ñá.
  120. ìá»α¿¼Ñα, φΓ¿ ¬«¡ßΓαπ¬µ¿¿ ¡Ñ íπñπΓ úÑ¡Ñα¿α«óáΓ∞ ¬«ñ:
  121.  
  122.      if False then  «»ÑαáΓ«α
  123.      while False do  «»ÑαáΓ«α
  124.  
  125.  
  126.                   ÄΓ½¿τ¡«Ñ αÑñá¬Γ¿α«óá¡¿Ñ ßó∩ºÑ⌐.
  127.  
  128.      éßΓα«Ñ¡¡δ⌐ αÑñá¬Γ«α ßó∩ºÑ⌐ Turbo Pascal  áóΓ«¼áΓ¿τÑ߬¿ πñá½∩ÑΓ
  129. ¡Ñ¿ß»«½∞º«óá¡¡δ⌐ ¬«ñ ¿ ñá¡¡δÑ »α¿ »«ßΓα«Ñ¡¿¿ .EXE Σá⌐½á. Åα«µÑñπαδ,
  130. Σπ¡¬µ¿¿, »ÑαѼѡ¡δÑ ¿ Γ¿»¿α«óá¡¡δÑ ¬«¡ßΓá¡Γδ - ¬«Γ«αδÑ »α¿ßπΓßΓóπεΓ
  131. ó »α«úαá¼¼Ñ,  ¡« ¡¿¬«úñá ¡Ñ ¿ß»«½∞ºπεΓß∩,  πñá½∩εΓß∩ ¿º .EXE Σá⌐½á.
  132. ôñá½Ñ¡¿Ñ ¡Ñ¿ß»«½∞ºπѼ«ú« ¬«ñá »α«¿ºó«ñ¿Γß∩ ¡á »«»α«µÑñπα¡«⌐ «ß¡«óÑ,
  133. á πñá½Ñ¡¿Ñ ¡Ñ¿ß»«½∞º«óá¡¡¡δσ ñá¡¡δσ - ¡á «ß¡«óÑ αáºñѽᠫíΩ∩ó½Ñ¡¿∩.
  134.      Éáßß¼«Γα¿¼ ß½ÑñπεΘπε »α«úαá¼¼π:
  135.  
  136.      program SmartLink;
  137.      const
  138.         H: array[0..15] of Char = '0123456789ABCDEF';
  139.      var
  140.         I, J: Integer;
  141.         X, Y: Real;
  142.      var
  143.         S: String[79];
  144.      var
  145.         A: array[1..10000] of Integer;
  146.  
  147.      procedure P1;
  148.      begin
  149.         A[1] := 1;
  150.      end;
  151.  
  152.      procedure P2;
  153.      begin
  154.         I := 1;
  155.      end;
  156.  
  157.      procedure P3;
  158.      begin
  159.         S := 'Turbo Pascal';
  160.         P2;
  161.      end;
  162.  
  163.      begin
  164.         P3;
  165.      end.
  166.  
  167.      â½áó¡á∩ »α«úαá¼¼á óδºδóáÑΓ P3, ¬«Γ«αá∩ óδºδóáÑΓ P2, ¿ «íÑ P2 ¿
  168. P3 ó¬½ετÑ¡δ ó .EXE Σá⌐½;  »«ß¬«½∞¬π P2 ßßδ½áÑΓß∩  ó  »Ñαóπε  ßѬµ¿ε
  169. «íΩ∩ó½Ñ¡¿∩ var,  ¿ P3 ßδ½áÑΓß∩ ó« óΓ«απε ßѬµ¿ε «íΩ∩ó½Ñ¡¿∩ var,  Γ«
  170. I,  J,  X, Y, S ΓᬪѠíπñπΓ ó¬½ετÑ¡δ ó .EXE Σá⌐½. Äñ¡á¬«, »«ß¬«½∞¬π
  171. ¡ÑΓ ßß佫¬ ¬ P1, H ¿ A, φΓ¿ «íΩѬΓδ πñá½∩εΓß∩.
  172.      ÄΓ½¿τ¡«Ñ αÑñá¬Γ¿α«óá¡¿Ñ   ßó∩ºÑ⌐,    «ß«íÑ¡¡«    πñ«í¡«    »α¿
  173. ¿ß»«½∞º«óá¡¿¿  ¼«ñπ½Ñ⌐,  αÑ὿ºπεΘ¿σ  í¿í½¿«ΓѬ¿  »α«µÑñπα/Σπ¡¬µ¿⌐.
  174. Åα¿¼Ñα«¼ Γᬫú« ¼«ñπ½∩ ∩ó½∩ÑΓß∩ ßΓá¡ñáαΓ¡δ⌐ ¼«ñπ½∞ DOS: «¡ ß«ñÑনΓ
  175. α∩ñ »α«µÑñπα ¿ Σπ¡¬µ¿⌐, ¬«Γ«αδÑ αÑñ¬« ¿ß»«½∞ºπεΓß∩ «ñ¡«⌐ »α«úαá¼¼«⌐
  176. «ñ¡«óαѼѡ¡«.  àß½¿  »α«úαἼᠠ¿ß»«½∞ºπÑΓ  Γ«½∞¬«  «ñ¡π  ¿½¿   ñóÑ
  177. »α«µÑñπαδ  DOS,  Γ« Γ«½∞¬« φΓ¿ »α«µÑñπαδ ó¬½ετáεΓß∩ ó .EXE Σá⌐½,  á
  178. óßÑ «ßΓá½∞¡δÑ πñá½∩εΓß∩, º¡áτ¿Γѽ∞¡« ß«¬αáΘá∩ αẼÑα .EXE Σá⌐½á.
  179.