???????????? ?????? ? ????? ???????
?????????? ?????? ????????? ????????? ???????
??????????????? ????????????? ?????? ??????? ????????? ? ?????
????? ?.?.???
?????????????: 121 ????????? ??????????? ????????????
????????
?? ???????? ?????? ? ??????????
?????? ????????????? ?? ???????????? ????
???????? 2 ????? ????? ???9 -19-26 ???? ????? ?????????????
????: ???????? ??????? ????? ???????? ?????
????? ????????? ???????
?????...3
?????? 1 ?????????? ?????????4
1.1 ????????? ??? ??????? ??????.4
1.2 ??????? ???? ????????????..........9
1.3 ???? ????????????? ??????? 15
1.4 ??????????? Pascal ???.NET ?? Turbo Pascal..18
?????? 2 ????????? ???????22
2.1 ???? ?????????.........22
2.2 ???? ????????...........24
?????? 3 ?????? ????????????? ????????? ????????.25
????????30
???????:
??????? ? ????-????? ?????????
??????? ? ??????? ????????
???? ?????? 20 ?. ???? ??????? 20 ?.
???????? ___________/_____________/ ??????? ___________
(??????) (??????)
?????
?????...3
?????? 1 ?????????? ?????????4
1.1 ????????? ??? ??????? ??????.4
1.2 ??????? ???? ????????????..........9
1.3 ???? ????????????? ??????? 15
1.4 ??????????? Pascal ???.NET ?? Turbo Pascal..18
?????? 2 ????????? ???????22
2.1 ???? ?????????.........22
2.2 ???? ????????...........24
?????? 3 ?????? ????????????? ????????? ????????.25
????????30
???????:
??????? ? ????-????? ?????????
??????? ? ??????? ????????
?????
? ????????? ????? ????????? ????? ??????? ???????????? ????'???? ??? ?????????? ?? ? ????? ??????????? ??????????. ?????????? ? ?????? ????????? ??????? ???????? ???? ????? ????????? ??? ???????????, ??? ? ?????? ???????????? ?????????? ?????????????? ?????? ????????? ??????????.
??'????? ???????? ? ????????? ??????? ? ????????? ????? ??????? ?????? ??????.
????? ?????? ? ???????? ????? ?????????, ? ????? ???????? ???????? ?? ???? ????????????? Pascal.
? ???? ????????? ??????? ???? ?????????? ???????????? ??????? ????? ?? ???? ????????????? Pascal, ??? ?????? ????????? ????????? ?????? ?????? ? ???????? ?????????? ? ??? ??????? ???????? (?????, ????????? ?? ????????? ????????).
??????????? ????? ?? ????????? ????????? ?????? ???????? ??????? ????????? ??? ??????????? ?????????? ????????. ????? ???????? ? ???????? ?????????? ???????? ???????????? ?????? ???????????? ???????? ???? ?????????, ????????? ? ????? ?????????. ????? ?? ?????? ?? ???????? ???????? ???? ?????????, ???? ?????? ????? ????.
? ?????? ????????? ??????? ???????? ????? ? ???????? ????????????? ????????? ?? ???? ????????????? Pascal, ??? ??????????? ????? ??????????? ????? ? ??????? ????????? ??????. ????? ? ???????? ?????????? ??????? ????????? ? ????????, ?? ??????? ??????????? ? ??????????? ?????? ???????, ?? ??????????? ??????? ????'?????? ?????.
???????????? ??????????? ???????? ? ?????????? ???? ??????, ???????????? ???????? ????, ?? ???????? ???????? ??????? ????? ?????? ?? ???????? ???????? ????.
?????? 1 ?????????? ?????????
1.1 ????????? ??? ??????? ??????
?????? ? ??'????? ?????? ?????????? ???????? ??'?????, ?????? ?? ???? ???????????? ??????????. ???? ????????? ????? ????????? ????????? (Linear) ????????, ???????? ???? ????? ????????? ?????? ?? ???????? ???????? ?? ? ??????? ???????????? ???????? ? ?????? ???? ???????????. ???????? ?????? ? ???????????, ?? ???????? ???????????? ??????, ?? ????????? ?????? ????? - ????????, ???????, ??????? ? ??'??????? ????????.
? ???????? ????????? ??????????? ?????????? ??????? ??'?????, ?? ???????? ?????? ???? ????????? ???????????. ?????????, ? ?????????????? ?????? ?????? ???? ???? ????????? ???????? (?????).?? ??????? 1.1 ???????? ???????????? ?????? ?????????????. ????? ?????? ????????????? ????????? ???????????.
/
??????? 1.1 ???????????? ?????? ?????????????
??????? (????????) ?????? ?? ???????????? ??????, ????? ??????? ????? ??????? ?? ?????? ???? ????????. ??????? ?????? ? ??????????? ??????????, ??? ?? ????? ???? ????????? ? ???????? ??????? ? ????? ???? ?????, ? ???? ?????, ? ??????? ??????.
????? ??????, ??? ????? ????????, ??????????? ??????.
?????????? ??????? ?????? ????????? ?? ???????1.2:
/
??????? 1.2 ?????????? ?????????? ????????? ??????
??????? ?????? ?????? ???? ???? ??? ????????, ??? ???? ??? ???? ???????????, ?? ????????? ??????? ??? ?????? ???????? ?????, ??? ????-???? ??????? ? ?????? ?????????, ? ????? ????????, ??? ???????? ? ??????? ?????????. ??????? ??????????? ??????????? ???????????????? ??????????? ?????????? ?????? ?????? ? ??????????? ??? ????-????? ????? ?????? ??????, ????????? ???????.
??????? ???????? ??? ?????????? ????????
?????.
??? ?????? ????? ?? ??????? ?????? ? ????????? ?????? ?????? ???????????????? ?????????, ??? ??????? ????????? ????????? ?? ?????? ????????? ?????? ? ????k, ? ???????? ???????? ?? ????? ? ??? ?????? (???? ????? ?????; ? ?????? ??????? ???????????? ???????? NIL).
??????????????? ??????????? ? ?????? ?????? ? ????????? ???? ?? ??????. ??? ??????? ???????? ????? ???? ???? ????key[x]???????????? ? ????????? ?? ???????? ??????k. ???? ????? ????????, ????? ????????????. ????k?????key[?], ????? ?????? ? ?????? ??????????; ???? ?????? ?? ????? ?????????? ? ????? ?????????. ?? ? ????????? ????? ??????????????????, ???????????????????? ???? while.
????????? ????? ??????.
??? ??????? ?????? ????? v ? ?????? ???????? ???????????? ??????????, ??? ??????? ???????? ?????z, ? ?????key[z] = v,left[z] = NIL?right[z] = NIL, ????? ???? ???? ????? ????? ?????????? ?????? ? ????? ????z, ??z??????????? ?????????? ? ?????????? ??????? ? ??????.
????????? ??????.
????????? ????????? ?????? ?????z? ????????? ?????? ?????? ??????? ?? ???????? ???????? ??z. ????????? ??????????????????? ????????:
???? ? ?????z????? ???????? ??????, ?? ?? ?????? ???????? ???? ???????????? ??????[z], ????????? ? ????? ???????? ??z????????? NIL.
???? ? ?????z???? ???? ???????? ?????, ?? ?? ????????? ?????z, ????????? ????? ??'???? ??? ???????????? ? ???????? ?????? ?????z.
???? ? ?????z??? ???????? ?????, ?? ?? ????????? ????????? ?? ??? ??????, ? ????? ????? ?????? ?????????? ?????, ?????????? ???? ? ???????, ?? ??? ????????? ??????, ?????? ????????? ?????? ??'???? ??? ???? ??????? ? ????????, ? ????????? ??? ?????Z.
???????????? ???????? ?????
?? ????????.
???????? ????? ? ?????? ??????????? ????????? ???, ??? ? ????? ???????? (??????? 1.3). ??????? ?????? ???????? ????????????? ??????? ?????, ?? ??????? ?? ??????. ???????? ? ?????????? ??????? ?????????, ?? ??????? ????? ????????? ?????? ?? ????????? ????? ???. ??? ????? ?????? ? ?????? ? ???????, ????? ??????? ????.
/
??????? 1.3 ??????? ????????? ??????
?? ????????.
??????? ??????? ?????? ??????????? ?????? ? ??????, ?? ????? ??????? ??? ??? ??????? ????. ????? ??????? ?????? ??????? ????? ?? ???????? ?????? ?????? (??????? 1.4).
/
??????? 1.4 ????? ?? ??????? ??????? ??????
????????????? ???????? ?????
1. ??????? ?????? ? ??????? ??????.
??????? ?????? ?????? ?????? ?????? ???? ???????????? ? ??????? ??????? (??????? 1.5). ???????? ??????? ???????? ????? ????????? ?? ?????????, ??????????? ?????? ??????. ????? ??????? ??? ???? ????? ? ??? ???? ??????????. ???? ???????? ???????????????? ??? ??'???????? ???????? ? ?????? ????????, ? ????? ? ?????. ????? ??? ??????? ????????? ????????.
/
??????? 1.5 ??????? ????????? ?????? ? ??????? ??????
2. ? ??????? ??????.
? ??????? ?????? ??????????? ??????????????? ????? ??????? ??????, ???????? ???? ?????? ??? ?????? ????? ????? ?????? ?? ??????? ????? (??????? 1.6). ??????? ????? ????????????? ????? ??????? ?????????? ?? ??????? ? ??????????????? ?? ?????? ? ?????? ???????? ? ????????????? ??????.
/
??????? 1.6 ??????? ????????? ?????? ? ??????? ??????
1.2 ??????? ???? ?????????????
???? ?????????????(????.Programming language) ???????? ????, ???????? ??? ?????????????? ???????, ???????????'??????. ???? ????????????? ???????????????? ??? ????????????????, ????? ??????????? ????????? ?????, ?? ????????????????.
????? ?????? ??????????: ???? ????????????? ?? ??????? ????????? ??? ????? ?????????? ?? ???????? ?????, ????? ?????? ????????? ???????, ???????? ???? ????? ???????? ?????????. ???? ????????????? ???????? ????? ?????????, ???????????? ? ??????????? ??????, ?? ??????? ????????? ?????? ???????? ? ???, ??? ??????? ?????????? (????'????) ??? ?? ???????????.
? ???? ????????? ?????? ????????????? ????? ???? ???????? ????? ??? ? ????????? ?????? ??? ?????????????.?????? ?? ????????? ???????????? ??????. ??????? ?????? ???? ????????????? ?????? ???????? ????? ?? ??????? ???????????, ???? ?????? ?????? ????????? ?????. ?????????? ??????????? ???????? ???????????? ? ????? ?????? ???????? ??? ?????????????.
???????
?????? ????? ???? ????????????? ?'??????? ??????? ?? ????? ?????? ????'??????. ?? ? 19-?? ???????? ???????? ???????????? ??????? ???????? ?? ???????-??????????, ?????? ????????????? ??????? ??? ??????????????-??????????? ???? ?????????????. ?? ??????? 20-?? ???????? ????????? ???????????????????????????, ?? ????????? ??????? ?????. ? 1930 ?1940??. ?????????????-???????????????? ???????, ??? ????????????? ??????????? ?????????? ??? ????? ??????????. ??????-???????? ?????? ????????? ????? ?? ???????????? ??? ?????????????.
? 1940-? ????? ??????????? ????? ??????????, ???????? ????'?????. ??????????, ?? ????? ???? ????????????????????? ?????????????????(???.Plankalkl) ???????? ???????????? ????? ??????19431945?????, ??? ? ??? ??? ???? ?? ???? ??????????? ? ?? ???????? ?????. ??????????? ???? ????????? ? ????????? ???? ? 19982000 ?????.
? ????? 40-?? ??????? 50-?? ???????????????????????????????????? ?????????, ???? ????? ??????? ???? ????????????? ?????????? ???????, ??? ??? ???????????????????????? ?????. ?? ??????? ?????????? ???????????? ?????????????? ? ???? ?????????? ??? ?????????????, ??? ??????? ????, ??? ????? ???? ?????? ????? (?? 50 ?????) ?????????, ????? ?? ????? ???????? ???????? ?????????????. ?? ????? ?????? ????????Short Code ???BINAC(1949) ?UNIVAC I(1952),Speedcoding???IBM 701, ???????????????? ????????1954.
?????? ???????????????????????????????? ????? ?????????? ??????????? ?????????????, ?????????? ? 1954 ???? ? ???????? ?1957??? IBM 704. ???????? ???????????? ???????? ???? ?????? ??????? ??????????, ?????????????, ?? ????????? ????????????????????????????? ????? ?? ???????????????? ??? ?????????? ?????? ????????? ????.
?1964???? ???? ???????? ???????? ????BASIC(Beginners All-purpose Symbolic Instruction Code) ??? ???????? ????????????? ?????????, ??? ????????? ???????????????? ???????? ??????????, ? ?? ????????? ??????.
? ?????? ??????? ?? 1965 ???? ???? ?????????? ????PL/I, ??? ?????????? ?????????? ???????, ALGOL ? COBOL, ? ????????? ??????????, ???? ? ???? ? ???????? ?????? ? 1970-?? ? ???????? ? ?????? ???????, ????? ?? ?????????? (PL/C,PL/CS) ????????????????? ??? ???????? ?????????????.
?? ??????? 1960-?? ???? ???????? ????? ???? ?? ?????????? ??????????APL?SNOBOL.
? 1971 ???? ???? ??????????? ???? ????Pascal, ??? ? 70-?? ????? ???????????????? ??? ???????? ?????????.
? 1972 ???? ????? ???? ???????? ?Bell Labs????C. ???? ? ? ??????? ???????? ????????????? ?????????? ?????? ? ???????????? ????????????? ?????????????.???? ????Xerox PARC???????? ????? ?????? ??????? ??'?????-??????????? ????Smalltalk.
? 1973????? ???????????????????? ???????????????????ML.
? 1975???????????? ??????? ??????????? ?????????? ????? ??? ????????? ????? ???? ????????????? ??? ??????? ??????, ??????? ? 1979 ??????? ???????.
? 1981 ????????dBASEII.
? 1986 ???? ???????????? ????Objective-C? ????????Erlang. ???? ?Borland?Apple????????? ???????? ??'?????-??????????? ?????????? ???? PascalObject Pascal.
? 1995 ????Sun Microsystems?????????Java,NetscapeJavaScript, ???? ? ????????PHP?Ruby.
? 1996 ???? ????????OCaml.
? 2001 ???? ????????C#.
? 2002 ???? ????????F#. ? 2003 ???? ????????Scala.
???????????? ??? ?????????????
???? ????????????? ???????????? ?? ?????? ??????????:
?????? ??????????.
???? ????????????????????? ????? ???????? ?????????? ???????? ??????, ?????? ????'????,??????,???????. ???? ????????????? ??????? ????? ???????? ?????????? ???????? ??????:?????,??????, ??????????. ????? ???????? ?? ???? ???????? ????? ???????? ???????? ???????? ??? ????? ????? ????? ???????? ?? ???? ???????? ?????, ????? ???????? ??? ??????? ??????.
??????? ????????????.
???????????? ?? ??????????????. ?????????????? ???? ??? ??????????????-?????, ?? ??? ? ?? ??????? ???????????? ????????, ?? ????????? ? ???? shell.
???????????? ????????? ?????????????.
??'?????-???????????,???????,?????????, ??????????.
??????????? ????????????? ?? ???????????, ???????? ???? ?????????????????????. ???? ??????????? ????????????? (???.imperative ?????????), ???????? ??????????? ?? ?????????????? ??????, ??? ???????? ??????? ?????????? ???????, ?? ????? ???? ?????????? ?? ???????? ??????? ?????????? ??????????? ?????????.
??????? ?????????? ???
???? ?????? ???? ??????????? ?? ???????????? ?? ??????????????.
???????? ?? ????????????? ???? ?? ????????????????????(????????? ??????????) ????????????? (????????????) ? ???????? ??? (????? ??????????) ??? ?????? ???? ????????? ? ???? ?????????? ??????????? ??????, ???? ???? ???? ????????? ?? ????????? ?? ?????? ????????. ?????? ???????, ?????????? ?????????? ???????? ????? ???????? ? ???? ????????????? ???????? ????? ? ???????? ???? ?????????? ?????????.
???? ???????? ???????? ?? ?????????? ????, ???????????????????????????? ??????? (???????????) ???????? ????? ??? ???????????? ?????????. ??? ????? ???????? ??????????? ????? ????????? ? ?? ???? ???? ???????? ??? ??????????????. ???????? ????'?????, ? ??'???? ? ???, ????? ??????? ??????????????? ??? ????????? ????.
????? ?? ???????????? ? ?????????????? ???? ? ???????. ???, ??? ????-???? ?????????? ?????????? ????, ??, ?????????,???????, ????? ???????? ?????????????. ???? ????, ????????? ???????? ?????? ??????????????? ?? ????????? ??????????? ???? ?????????????, ? ?????????? ?? ? ????? ????????????? ???????? ????????????? (?????????, ? ?????????????? ??????? ? ?????????? ????????).
??? ????-???? ?????????????? ???? ????? ???????? ?????????? ?????????, ???? ????, ????????? ??????????????, ???? ????????????? ??? ????????. ??????????? ??? ??? ????????? ???????? ??? ???? ??? ???? ????????? ????????????? ??? ??? ?????????.
?? ???????, ????????????? ???????? ??????????? ?????? ? ?? ????????? ??? ????????? ?????????? ???????, ??? ?? ??? ?????????? ?? ??????? ????. ????? ? ???, ??? ?????? ????? ?????? ???????? ???????? ?? ??????????????, ?? ?????????? ?????? ????????. ???? ????, ????????????? ???????? ???? ???????????? ?????? ?? ???? ? ???? ????'?????? ?, ?? ???????, ??? ???? ? ??????????? ????????, ?? ??? ??? ???????????? ??????????. ??? ???????? ??????????? ???? ??? ?????? ?????? ????, ???????? ???? ??????????.
?????????????? ???? ????????? ??????? ???????????? ??????????? ????????????, ???? ????, ???????? ?? ??? ????? ????????? ??????? ? ????? ?????, ?? ???????? ????????. ???????? ?? ?????????? ???? ???? ???? ?????????? ???????? ?? ?????? ????? ????? ?? ??????????? ?????? ??? ?????????? ??????.
????? ?????????????? ???????? ??????????? ??????? ??????????, ??? ????????????, ???? ????, ???? ?? ?????? ???????????? ??? ????????-??????????????.
????? ????, ?????????,Java??C#, ??????????? ??? ?????????????? ? ????????????????. ? ????, ???????? ???????????? ?? ? ??????? ????, ? ? ???????-?????????? ??? ???????? ?????,????-???. ???? ????-??? ?????????????????????? ???????. ??? ????????? ????-???? ???????? ???????????????? ?????????????, ???? ?????? ???? ??????? ??? ??????????? ?????? ???????? ?????? ???? ???????????? ? ???????? ??? ????????????? ??? ??? ????????? ???????? ?? ??????????? ?????????? ?? ????? (Just-in-time compilation,JIT). ??? Java ????-??? ???????????? ??????????? ??????? Java (Java Virtual Machine,JVM), ??? C #Common Language Runtime.
???????? ?????? ? ??????? ????? ???????? ??????????????? ????? ?? ???????????????, ??? ? ????????????. ???? ???????, ?? ? ????, ??? ????? ? ?????????????, ? ?????????? (???? (Forth)).
????????? ??? ?????????????
?????? ? ?????????? ?? ? ????????? ???????? ??? 5 ???????? ??? ?????????????, ????????, ????? ????? ? ??????? ? ??????????. ? ??????????? ?????????? ?? ????????????? ?????? ????? ???????? ??? ????????? ??? ?????????????, ? ?????? ?????????????? ?? ?????????????? ???????????? ??? ?????????????. ???? ???? ???? ?????????? ?????? ??? ?? ?????? ???????? ????????? ? ?????? ???????.
????? ?? ????????? ??? ????????????? ????? ???????????? ? ???????????????????? ??? ?????????????? ?? ???? ?? ??????????????. ????????????? ???? ????????????? ?????? ????????? ?????? ??????????, ?????????? ???? ??????, ? ???????? ??? ?????? ??????????. ??????? ?????? ???????????? ??? ?? ???????? ? ?'??? ????????? ??????????? ??????? ???????? ?? ??????? ?? ?????? ??????? ? ??????? ??? ?????? ????????, ?????????? ?? ?'????? ????????? ????? ?????? ???????. ???? ???? ?????? ???????? ?????????? ??? ????????????? ?? ????????? ????????????? ??? ??? ?????????????? ????????????? ??? ???????????? ????? ???? (???? ?? ??????????? ?????????? ???????? ??? ???) ?'???? ??????????.
1.3 ???? ???????????? ???????
??? ????????? ???????? ?????? ???????? ????? ? ??????????? ???? ????????????? Pascal, ??? ?? ?? ??? ??????????? ?????????? ???????? ?????? ????.
Pascal???????????? ???? ??????????????????????????? ???????????. ??????? ???????? ???? ? ????????????'?????-????????????? ?????????????.
??????? ?????????? ?? ???????????
?????????????????????? Pascal ? ETH Pascal, ????????? ?1970-??. ????? ETH ???????? ??? ????? ????????? ????????? Eidgenssische Technische Hochschule Zrich (????????????????????? ???? ???????? ????? ??????), ?? ??? ??? ???????????. ??????? ???? ???????? ????. ?????????? ???? ? ???? ???? ?????????? ?????? ????????? ???? ????, ?????????? ?? ?????????. ???? ?????? ???? ???????? ???? ? 1972 ????. ???? ? ???? ?? ???? ??????????? ???????????? ?????? ????????????? ????????????? ???? ???? Pascal.
? 1969 ???? ???? ??????? ???????? ??????????? ?????? ?? ????? ????????? (?. ????'?). ?? ??? ?????? ????'? ??????? ?????????????(Fortran) ? ????? ?????????? ???????? ?? ??? ????. ????? ????????? ?????????? Pascal ??? ??????????? ?? ?????? ????. ?? ???????? ????? ????, ????? ???????? ??? ????????? ????????, ?? ??? ?? ??? ????????? ???????????? ??????? ????????? ????? ??????????? Pascal, ?? ???? ??????????? ????????.
???????? ?????? ????????? ??????????? ???????? ? ??????? ???????????? ?? ????? (1970 ????) ?????? ???????. ???????????? ?????? ?????? ?????????????? ??????????? ?????????????? ?? ????????? ????????. ????? ??????? ??????????? ??????: ?. ?????, ?. ????'?, ?. ????. ????? ???? ?? ?????????? ??? ????????? ?? ?? ????????? ????, ???? ?????? ??????, ?? ??? ???????? ???? ?????? ?????? ?????????? ???????? ? ????????? ????????????? ????. ????, ? ???????? 1970 ???? ?????????? ETH Pascal ??? ???????.
ETH Pascal ??? ??????? ?????????? ???, ?? ???? ??? ?????? ? ?????? ?????????? ??? ???????? ????? ????????? ?? ????? ????, ?? ??? ???? ??????????? ????????????. ? 1973 ???? ???? ???????? ?????????? Pascal-?????? (P-??????), ??? ?????????? ??????????? P-???. ??? ???????? ???????? ?????????? ???????????, ???? ??????? ???????????? ???????????? ????? ???????? ?????????????. ????????????? ? ??? ?????????, ??? ?????????? P-????, ????? ??????? ?????????? ???? Snobol-4 (?. ??????????, ? 1967 ????), ?? ?? ??? ??????????? ?????? ????????????????? ????SIL(System Implementation Language).
????????? ???? ???????? ???? ??????????? ???????? ??????????? ??? ???????? ????????????? ?? ????????????? ??????????. Pascal ???????? ??Algol-???????? ??? ?????????????, ???????? ???????????? ?????????Algol-??. ????? Pascal ??? ??????? ????????????? ??????? ?????????. ?? ????????, ?? ???????????? ????? ???? ?????????? ???? ??? ???????, ?? ???????? ?? ?????? ???? (????????? ??????????? ???????, ?? ????? ???? ????????? ??????????). ?? ????????????? ??????? ????????? ????? ?????????????, ???????? ?????? ??????? ??????? ????????? ??????? ?? ?? ????? ?????????? ?? ???????? ?????????? ???????.
????? ???? ???????????? ?? ????????????? ?????? ? ?????????Pascal??? ???? ????????? ??? ????????? ??????? ????????, ???????? ???????? ?? ????? ???? ??????? ? ??????? ?????????? ?????? ?????? ?? ???? ??????????? ????? ??????????. ??? ?? ???? ????????????? ?????? ????????? ???????????? ? ?????????? ???????? ??? ?????????????????????. ? ???? ?'??????? ???????? ???? ?? ???????? ???? ???????????????????????????? ??????Pascal???? ??????? ????????? ??????? ?????????? ??????.
????? ?????'???????? ??????, ??? ????????? ???????? ????? ???? Pascal. ????? ??? ? ????? ????? ???????? ??????? ????:
???? ? ????????? ? ?????????? ????? ??????? ???????????? ??????? ????????? ?????????? ???????? ???????.
??????? ????? ????????????, ?????????????? ?????????? ? ??????????????? ??????, ? ????? ??????? ????????????? ?????, ??????????????? ??????? ????,Pascal???????? ???? ?????? ??? ???????? ? ????????.
?????????? ?? ???????? ???????? ????, ???? ????????? ????????? ??? ???? ???????? ??????????????????, ? ???? ????? ??? ???????? ???? ??????? ? ???????? ???????, ?????????,??????????? ??????.
Pascal ???? ????????????? ??? ?????????? ????????? ????, ? ???? ????? ? ?????????????, ???????? ??????????. ?????????????, ?? ????????Pascal-??????????? ????? ?? ????????? ?? ?????????????? ?????? ????????? ?????? ??????????????.
???? Pascal ??????????????? ? ???????? ???????, ? ?1983???? ???? ???????? ??????????? ???????? (ISO7185:1983).
1.4 ??????????? Pascal ???.NET ?? Turbo Pascal
Pascal ???.NET ?? ???? ????????????? ?????? ????????? ???????, ?? ??????? ????????? Pascal. ???? ??????????? ?? ????????? Microsoft.NET ? ??????? ? ???? ??? ??????? ????? ??????: ?????, ?????????? ????????, ??????????, ??????? ?????????, ??????????? ????? ?? ???????????, ?????? ???????????? ?????????????.
Pascal ???.NET ? ??????????????????? ?????: ?? ??? ????? ???????????? ? ????????????, ??'?????-????????????? ?? ??????????????? ??????.
Pascal ???.NET - ?? ????? ?????? ? ??????? ??????????? ?????????? ????????, ??? ????????? ?????????? IntelliSense, ?? ??????? ?????? ?????????????????, ?????????? ????????? ?? ?????????? ???????? ????.
???? ????, ?????????? ?????????? PascalABC.NET ?????????? ?? Linux ? MacOS ??? Mono.
??????? ??????????
? 2003 ???? ?? ?????????? ??????????, ???????? ? ????'??????? ???? ??? ???? ???????? ????????? ?????????? ????????????? Pascal ABC. ??????? ???? ??????????? ???????? ? ?????????? ??????????????? ???? ????????????? ???????, ????????? ?? ???? Delphi. ?????????? ?? ??????? ?????????? ????, ???? ????? ?????? ??????? ?????????? ??????? Turbo Pascal ? ?????????? ???????? ?????????????. ?? ????????? ??????? ?? ??????????????? ? ???????? ???????? ???. ? ???????? Soft@Mail.ru ???????? Pascal ABC ? 2006 ???? ??????????? ????????? ?????.
/
??????? 1.7 ???????? ?????? ???????? ?? Pascal ???.NET
? 2005-2006 ????? ??????? ???? ???????? ???????????: ??????? ?? ??????????? - ?? ??????????? ?????????? ????, ???????? ?? Delphi, ? ????????????, ???'??????? ? ?????????? .NET. ???? ??????? ???????? ????? PascalABC.NET. ? ?????? 2009 ???? ?'??????? ????? ????????? ?????? PascalABC.NET 1.2.
? ??????? 2009 ? ?'??????? ???-?????????? ???????? WDE, ?? ?? ??????? ????????? PascalABC.NET ?? ????????? ????'???? ? ???????? ????????? ???????? ?? PascalABC.NET ????????????? ? ????? ????????. ???????? ??????????? WDE ? ??, ?? ???????? ???????????? ?? ???????, ? ?? ??????????? ????'???? ? ?????????????? ?????? ??????????? ???? ???? ?????-??????. ??? ?????????????? ???????????? ????????? ????????? ???????? ????? ??????? ? ?????????? ?????????, ? ????? ? ?????????? ???????? ????? ???????????? ?????? ?? ????????????? ?????????? ?? ??????? ? ????? Google Docs. ? ?????? 2010 ? ? WDE ?'??????? ?????????? ?????????? ?????? ???????? ???????.
??????????? PascalABC.NET
??? ???? ?????;
??????????? ??? BigInteger;
??????????? ??? Complex;
?????????? ????????? ??????;
?????????? .NET;
??????????? ????????? ???? .NET ? ??????? uses;
??????????? ?????, ??????????, ??????????? ?? ?????????? ??????;
??????????? ?????????? ?????? ??? ??'?????;
????????;
?????? ??????????;
????????? ???????????? ???? ????? external;
?????????? ??????
???????? ? PascalABC.NET ????? ????????????? ????? ???????????? ????????? .NET, ?? ?????????? ?????? ?????????? ? ??????????? ?? ????????:
?????? ????????? ??????? GraphABC;
?????? ????????? ??????? ABCObjects;
?????? FormsABC ??? ????????? ??????? ???????? ???????? ??? ????????? ????;
?????? ?????????? ????? ? ????????? (??????? ???????????);
?urbo Pascal??????????? ?????????? ??????????????????? ??????????????? ????????DOS??Windows 3.x?????? ?????????????? ????? ??????????, ??????? ?????????????? ?????Borland.
???????? ?? ???????? ?urbo Pascal
????????:
?????? ?????????? ????????, ?? ??????? ?????????????? ????????????, ????????? ? ????-???? ??????.
?????????? ????????? ???????, ?? ???? ????? ??????? ????, ?? ??????????? ?? ????????? ??????.
?????? ????????? ?????????? ?? ????????? ?????????????? ???????.
????????? ?????????? ??????????????? ???????????? ?????????.
????????:
?????????? ???????????? ?????????? ?????DOS, ???????????? ????? ??????? ????????. ????? ? ???????? ??????? ??????????? ? ?????????? ??????? ??????????????????? ??????????? ? ????????????????????????(TD).
? ?????? CRT ? ??????? (??????????? ?????????? ????????? ?????? ??? ??????? delay, ?? ???????????? ?? ?????? ?????????, ????????? ?? ??????? ???????? ? ????????????? ??????????), ????? ??? ??? ??????? ???????? ?? ????'?????? ? ???????? ???????? ????? 200 MHz ??????? ??????????? ???????? ?????????? ? ????????????? Runtime error 200 at .
?????? ?????
? Turbo / Borland Pascal 7.0 ?????????????????? ????: ???? ? ????????????? ?????????? ????? ???? Help ???????? ?????? About ? ????????????????Alt+I, ?? ? ?????? ?????? ?????????????? ????? ???????????.
???????? ??????????? ? ??????????? ????????? ????? ????????????? ??? ????, ?? ??????? ????????? ??????????. ? ????, ??????????? (*) ???????????? ?????????? ?? ?????????? ????????, ? ???????????? ?? ??????? ?????????. ?? ???? ?????????????????, ??? ????????? ?????????? ????????? ??????????? ???????????? ???????, ?????????, ???????????? ??????? ????????????. ???, ?????????, ??????? ???????-??????, ??? ????????? ???? ???? ????? 80-? ???????, ?????????????? (*), ??? ?????? ????? ???????? ??? ????. ??????? ?????????????? ????? ??????? ???????? ???????, ?? ???????????? ???????? ? ?????????? Turbo Pascal, ???? ? ????? ??? ?????? ???????? ? ???????-???????? ???? ????????????. ?????????? ??? ????? ???? ??????? ????? ??? ?????? ????????????? ????????????.
?????? 2 ?????????? ???????
2.1 ???? ?????????
???????????? ?????? ???????? ????????? ?????? ??????? ? ????????? ??????????? ????????? ?? ??????? ??????? ????????? ??????. ??? ?????-???????, ?? ???????????, ?????????? ?????????????? ????? ?? ?????? ??????? ?????-??????. ??? ????? ??????????? ?????????? ??????? ??????? ??? ??????? ????????? ?????? ??????. ??????????? ???????? ?????? ????? ????????? ??????????:
?????? ????? ??????? ??????? ??????;
???????? ???? ????????? ?? ??????? ????????? ??????;
???????? ????? ????????? ?? ??????? ????????? ??????.
??? ??????? ???????? ?????? ??????, ??? ?????? ????????????????? ? ????????. ??????? ?????? n,i,x.
???? ??????????? ????????? abbToTree, ??? ???? ?????????? ?? ??????????? ??????. ???? ?????? ???????, ?? ????????? ???? ??????, ???? ? ??, ?? ?????????? ?? ?????? ???????? ?? ?????? ?????? ?? ?. ???? ???, ?? ???????? ????????? ????? ?????????, ? ??? ? ??, ???? ????????? ???? ?????????.
????? ????? ????????? ????????? getDepthOfTree, ??? ???? ??????????? ??????????? ????????? ???????? ? ????????? ?????? ??????. ???? ?????? ???????, ?? ????? ????????????, ???? ? ??, ?? ?????????? ??????? ?????? ? ????????? ????? ????????? ????????.
2.2 ???? ????????
???????? ??????? ?????? ?? ??????? ???????????? ????????? ??????. ???????? ????????? ?????? ????????? ??????????, ?? ??? ???? ????????? ?? ???????????? ????? ????????? ?????????? ???????????.
????????? ????????? ?????? ??????? ???? ???????????? ???????? ?Node, ?? ???????? ????????? ?????? ?????? ?? ???????? ???????? ?? ???? ??????. ???? ????????? ?????? ???????? ????, ?????? ???????, ? ????, ???????? ????? ?????????? ???????? ? ??? ??????????? ???????? nil. ???? ????????? ?????? ?????? ????????????? ??? ????, ????????? ???????? ???'??? ??? ?????? ??????, ?? ?????????? ???? ????????? ????????? ????????? ?????? ? ?????? ?? ??????? ?????????? ? ????? ?????????? ????????? ????????? ??? ????????? ?????????.
?????? ????????????? ????????? abbToTree .
Procedure addToTree(var root : TNode; depth , x : integer);
Begin
if root = Nil then begin
new(root);
root^.left := Nil;
root^.right := Nil;
root^.depth := depth;
root^.info := x;
end else if (root^.info > x) then
addToTree(root^.left , depth + 1 , x)
else
addToTree(root^.right , depth + 1 , x);
End;
????????? ????????? ??????????? ????????? ???????? ? ????????? ?????? ??????. ?? ????????? ??????????? ??????? ???????? ? ???????? ?? ?????? ??????, ? ???????????? ???????? ?? ?????, ???????? ????? ???????? ????????. ????? ??????????? ? ?????? ?????? ? ?????? ????, ???? ?????? ???????? ?? ???? ???????? ??? ???? ??? ????? ?????? ?? ?????? ??????????.
Procedure getDepthOfTree(root : TNode);
Begin
if root = Nil then exit;
if root^.depth > depth then
depth := root^.depth;
getDepthOfTree(root^.left);
getDepthOfTree(root^.right);
End.
?????? 3 ?????? ????????????? ????????? ????????
??? ????????????? ??????????? ???????? ????? ???? ??????????? ???? ????????????? Delphi.
???? ????????????? Delphi
Delphi?????????????????, ?? ??????????? ?? ???????? ???? Pascal ??? ???????? Borland. ?? ?????? 7.0 ???? ????? Object Pascal. ????? ???? Delphi - ?????????? ???????? (IDE) ??? ??????????? ????.
Delphi - ?? ??????? ????? ???????, ???? ??? ????????? ??? ??????????? ??????? Cp/m ? 1983 ????. ? ?????? 1994 ???? ??????????????? ??????????? ???????????????????MS-DOS. ?? ???????? ????? ???????? ????'?????? IBM ??, ????? ??????? ??? ?????? ? ???????? ?????????? ??? ???????? ??????????? ???????????? - ???????? ????? ????, ?? ?? ??? ?????? ????????? ??????????, ????, ????????? ??????????, ???????? ? ?????????. ?????????? ???? ????? ????????? ?? ?????? ? 64 Kb ??????????? ???'???.
??? Windows ????? ??????? ??? ??????????? ?????? Borland ? 1990 ????. ? ???????????? ?????? Borland Pascal 7.0 (?? ??? ????? ???? ?????), ?? ??????? Delphi, ?????? ? ???? ? 1992 ????. ???????? Delphi ???????? ? 1993 ????. ????? ?????????? beta-?????????? Delphi ???????? ?? "Software Development '95".
???????? ?? Delphi ????? ???? ???????????? ???MS Windows3.1. ????????? ? ?????? 2.0 ?? Delphi ????? ?????????? ???????? ??? ????-??? ? 32-?????? ?????? MS Windows.
? 2000 ???? ???? ?????? ???????? ??????? Delphi ??? ?????????? ??????? ?? ???? ????Linux, ???? ??????????? Delphi ???? ????? Kylix. ???? ???????? 3 ?????? Kylix, ????? ??????????? ???????? ???????? ? 2003 ???? ?????? ??? ???????????.
2003 ???? ???? ???????? ??????????? ???? ??? ????????? Microsoft.NET, ?? ???????? ????? Delphi.NET. ??? ??????? ???? ?????????? ???????????? ? ??????? Delphi 8, 2005, 2006, 2007.
???????? Delphi ????????????? ????? ? ?????????? ??????? FreePascal, ?? ?????????? ???????? ?????????? ???????? ??? ?????? ????????? ????????.
??????????? ?????????? Delphi ??????????? ? ???????? ???????? ?????????: ??????? ?????, ????? ?????????? ???????, ????? ????? ?? ????? ?????? (????? ????).
??????? ????? ??? ????????? Delphi 7.0 Project1. ?? ????? ??????? ???????????, ?????? ?????? ???????? ??????? ? ??????? ?????????.
??????? ???? (??????? 3.1) ??????????????? ????? Windows. ?? ???? ???????? ???????? ????? ????????? ?????? ? Delphi. ????? ???? ????? ??????????? ?? ???????????????, ?????????, ?????? ?????? ???????? ?? ?????? ???? ???????????? Tools.
/
??????? 3.1 ??????? ???? ? Delph?
?????? ? ?????? ??????? (??????? 3.2). ?????? ???????????????? ??? ???????? ??????? ?? ??????????????? ??????? ????. ???? ??????????? ? ????? ??????? ?????? ?? ?????? ???????? ???????. ????? ??? ? ?????? ??? ?????????? ? ??????? ???????, ??? ????????? ????????? ???? ????? ?? ?????? ????. ??? ????, ??? ???????? ??????????? ?????? ?????? ??????? ?? ??? ????????? ???? ? ????????? ????????. ?????? ???????? ??????? ?? ??????????? ??????? 14 ??????, ??? ???????????? ?????????????????????? ????? ???????????. ?????? ??????? ??????????????? ??????? ?????????? Delphi ????? ??? ?????? ???????, ??? ????? ????????? ?????????????????? ?????? ?? ?? ?????? ????.
/
??????? 3.2 ?????? ??????? ? Delphi
??????? ??????????? (??????? 3.3) ??????????????????? ? ???????????? ???????, ??? ????? ???????? ?? ??????? ???? ? ???????. ? Delphi ?????????? ???????? ? ?????? ???????? ????:??????????, ?????????, ?????Windows 95, ????? ??????? ?? ?????, ?????????????????????, ?????Windows3.1, ????????? ?????, ???????? ?????, ????? ??????, OCX ????? ? ????? ???????. ????? ? ??? ???? ???????????? ?? ??????? ???????? ??????? ?????????. ??? ???????? ??????????? ??????????, ?????? ???? ???????? ???? ? ????????? F1.
/
??????? 3.2 ??????? ??????????? Delphi
?????, ??? ??????????? ? ??????, ??????????? ??????. ??? ??? ???????? ????? ????? ????? ????? ????????. ? ????? ????? ????????? ??????? ??????? ?????? ?? ???????????? ????????. ????? ???????? ? ????? ????? (????? ?????, ??????????? ??????????) ?? ?????? ???????? ??? ??? ????????? ????????. ???, ???????? Delphi ?? ?????????? ????????????? ???? WYSIWYG (What You See Is What You Get, ?? ??????, ?? ? ?????????), ?? ?????? ??????? ????, ?? ?? ?????? ??? ??? ???????????? ? ???, ?? ?? ???????? ? ??? ??? ????????? ????????. ? ?????????? ??????? ????? ???? ???????????, ?????????, ???????? ?????? ???????????? ?? ??????????? ????? ????.
????? ???????????????????? ?? ???????? ?????????? ?????????. ????? ??????????????? ??????? PgUp i PgDn, ??????? ???????, ????, ????? ????????, ??????????, ??????????????? ????????? ???? EDIT ??????????????????? ??????.
????? ????? ???? ? ????????. ???? ???????? ?? ?????, ???? ????? ???????????. ???? ???????? ???????? ??????, ????? ? ??? ???????????? ????????.
????????? ??????? ??? Object Inspector ?? ??????? ??????????? ? ????? ??????? ?????? ? ??????? ?????????? ??? ????????? ?????. ????????? ??????? ??????????? ? ????? ?????????: ???????????? ?????? (Combo box) ?????? ??????, ???????? ???????????? (Properties Page) ?? ???????? ????? (Events Page) ????????? ??????.
? ?????????? ??????? ??????? ??? ??????????? ??????, ? ???? ?????????????? ??? ????? ??? ????????????. ?????????, ????? ??????? ????????? ??????, ????????? ?? ??? ??????, ? ????? ????????? ???? ????? ? ???? Caption ?????????? ???????.
????