.


:




:

































 

 

 

 


- .

.

 

.

, , .

, , , . , . ( , , )

, , , .

, .

, .

, -, , .

( , ).

, . , . , , , , .

, , . , . , . , , , , , , .

, .

 

.

, , Basic, Pascal, C.

, . . .

.

  • . .
  • . .

 

. , , ( ) . ( - ) .

- , .

. , , . . , (, , , . .). , , (, , , . .).

( ). . .

, , . , . , , .

. , . , Plankalkuel ( plan calculus), 19451946 (Konrad Zuse).

50- 70- XX . 80- 90- , .

. , - . . , . .

(, ), , .

. . " . " [, 1991].

 

2.1. .

 

, , , , . , , , . , .

. :

. , . . . , , , , . , .

. , . :

  • , . . ;
  • , . . ;
  • , . . , ;
  • , . . , ;
  • , . . .

. , . :

  • . () ;
  • ;
  • ( ).

 

. .

  • , .
  • , ( ).

:

  • , ;
  • , .

. :

1) "" () , , , - . .

2) "" () , , , ( ), . "" :

a) Ada;

b) CLU;

c) C++ Java.

3) " () , "" "" . "" :

a) Modula-2;

b) Ada Java.

. :

1) ;

7 (+/-2) (, ). . "" , . 7 .

() 60 . .

2) () ;

, , . , goto. , .

() (cohesion) . , . , .

. - 2 .

. , , . , , .

() . , ( ), . .

, (, FORTRAN Pascal). , Ada, .

3) ;

(coupling) . . , . .

. . , . , , ( ) .

() , , , . (). .

.

. .

4) (, ) .

( ). , ( ).

, , . .

  • , . . .
  • , .
  • , .

 

2.2. .

 

() .

. , - , , .

, . , , , , .

, - , , .

 

, , , .

:

  • .
  • .

, .

, . . ( , ) . . , .. , . .

 

, .

, . . .

, . .

. , .

. (, ) .

[ ., 1979] " . , , - ( ), : , . , . , ."

(- (Boem-Jacopini)): (.. ) - ,

 

1: goto.

2: , -, , .

3: , .

 

- . - ("") , goto : - .

 

, , . goto, (, Break Continue C).

. . , , .

. " " [ 1975]. " " [, , 1982]. " + = " [ 1985]. [ 1999].

 

- .

 

. , , , .

, . .

, . - . OOP , , , - .

, 70- , 80-, .

, ( ) , ( ) - . , , .

- , , , , .

 

  • - . , .
  • , . .
  • . .

 

. , . .

( ). , . -, , . , , , . .

 

- . - , . . , .

- :

. () .

. - -. , .

, [, 1993]:

  • , ;
  • , ;
  • - ;
  • , .

( ) , , , .

, . . , . , , , .

. , , . . - , .

, .

Pascal- - , :

Type TCoordinates = class (TObject)

x, y: integer;

Constructor Init (_x, _y: integer);

Function GetX: integer;

Function GetY: integer;

Procedure SetX (_x: integer);

Procedure SetY (_y: integer);

Procedure Move (dx, dy: integer);

Destructor Done; virtual;

Constructor Init();

x:= _x; y:= _y

end;

Function GetX: integer;

begin

GetX:= x

end;

.............

End;

TPoint = class (TCoordinates)

Color: integer;

Constructor Init (_x, _y, _Color: integer);

Function SetColor (_Color: integer);

Function GetColor: integer;

Constructor Init(_x, _y, _Color: integer);

Inherited Init(_x, _y);

Color:= _Color

end;

.............

End;

TPoint, , -.

Var P1: Point;

P1.Init (0,0, 14); P1.Move (+2, -2);

-- . OOP .

, - . , .

, - .

, .

4. .

70- , , .

, . , - , , .

, , , . , , , , .

, (, ), .

.

, , .

, , , .

Prolog ( PROgramming in LOGic) Mercury.

5. .

.

, , 20- 30- XX . , , , , , .

, 50- XX LISP, .

, , , , , , .

, , , LISP. , 70- , ML, , , SML, . , , , 90- , Haskell.

. , , , .

. , . , , , , .

, , , . , .. , . .

, ML Haskell .

, .

. , , , SML, Microsoft.NET.

.

, .

, f A B

(a,b) A? B,

,

(a,b1) f (a,b2) f,

b1 = b2.

, , ( ) .

, -. -.

( ) . . , , , - , .. .

, , , , , , . - - , . .NET. , - ( ) .

, -.

, .

, LISP (LISt Processing), , , .. . , .

, ML, SML. ( ) .

, , SML, ( ), .

, .. ( ). , SML, Miranda Haskell.

: (Scheme, SML, Miranda, Haskell), (SML) ( ) (Haskell, Miranda, SML).

. , , . , LISP : Scheme, InterLisp, COMMON Lisp .

SML, ML . (Robin Milner) MIT (Massachusetts Institute of Technology) , , . , .

ML ( , , ). SML, , CaML, INRIA, SML/NJ SML New Jersey, mosml ( ML).

 

:

  1. ;
  2. ( , );
  3. : ;
  4. : ( );
  5. ( , ).

, , SML . , , :

  1. , .. ( ) , , ( C C++ );
  2. : ( , LISP Scheme);
  3. ( , , ).

SML ( ). (, , , ).

, ( , ), .

() ( ) , , .

, , , , .

, , , - .

.NET, , :

  1. ( , , Scheme , SML );
  2. Common Language Infrastructure, CLI ( , C# - SML , );
  3. Common Type System, CTS ( );
  4. , ( , ).

 



<== | ==>
XIV | 3.
:


: 2016-11-20; !; : 424 |


:

:

, , .
==> ...

2021 - | 1663 -


© 2015-2024 lektsii.org - -

: 0.115 .