, , . , , , -, .
1.2.4. CASE-
CASE- , 80- , . - .
CASE- :
, ();
, , .
CASE- , / , .
CASE- :
(DFD data flow diagrams) ;
(ERD entity relationship diagrams), ;
(STD state transition diagrams), .
DFD , () , ( ).
, , . DFD .
CASE- ( ) .
CASE- , :
;
;
;
|
|
.
: . , ; .
CASE- , . , CASE-, , , .
CASE- . 8590% , , .
1.3.
1.3.1.
. , 50- , . , .
50- 60- . , . . .
60- . , . , , , . ( , ) . .
70- . , . , , , - , . , , , .
90- . , . , , ( ). , , .
|
|
Fortran (). , 50- . , , , . , . , , . HPF (High Performance Fortran) .
Cobol (). -, 60- . . , . , . , .
Algol (). , 1960 . , - . 1968 . 68, , - .
Pascal (). , 70- , , , .
Basic (). , , . 60- .
(). Bell . , , . (). 70- (Unix).
C++ (++). ++ - , 1980 . , , , .
Java (). Sun 90- ++. ++ . , - - ( ). - Java- JVM (Java Virtual Machine), . Java- Java , -, .
|
|
: , ( Jini) - , ( Java Beans). , .
. ( ), , ( , ). . , , . .
:
/ / ;
, , ;
;
;
.
, . SQL (Structured Query Language). , , .
( ). SQL , . : Microsoft (SQL Server), IBM (DB2), Oracle, Software AG (Adabas), Informix Sybase. , . Oracle
PL/SQL, Informix INFORMIX 4GL, Adabas Natural . .
. dBase II, . , FoxPro Clipper, . , dBase Visual FoxPro Microsoft Visual dBase Inprise.
, . : , , . -.
|
|
HTML. . , , , . Web- HTML .
Perl. 80- Perl. , . Perl . , , , , .
Tcl/Tk. 80- - l Tk. l -. l , . .
VRML. 1994 . VRML . , , ( ), , , , , , . .
, ( ) , , , . CASE-. IDEF, UML.
PL/1 (/1). 60- IBM , . 1964 . , Programming Language One. , 33 , . /1 (, ). , /1 ++ . IBM.
Smalltalk (). 1970 . XEROX, 10 , SMALLTALK-80. , . . , , , (, I+1 I +, .. , 1, -, ). , ( , ), , . VisualAge for Smalltalk IBM.
LISP (). , 1960 . . ,
Prolog (). 70- . , , , , . , .
Ada (). , . 1980 . 17 , . , . . , .
|
|
Forth (). 70- , , , , .. . , , , .
1.3.2.
, , . , , . , , , , . 8090% . , .
. , , , , Windows. (, Windows 3. Windows 95) - . . , , . , . , .
, , , Visual Basic Delphi C++Builder Borland.
, , . Delphi .
( Integrated development environment IDE) Delphi. ( ), . , . , Delphi. . . , . , , - .
. , Delphi , , . - , , - . , , , , .
, , , . , . , , , , .. , , .
Delphi . , , . , , , .
, RAD-, . , , , , .
- , RAD. , Delphi.
Visual Basic. , , : , , , .
Visual Basic , , . , , , , .
Delphi . , Visual Basic. Delphi , Visual Basic, .
Delphi Object Pascal. Borland ( Turbo Pascal 1.0) . Object Pascal - .
, Delphi Object Pascal . Delphi , C++ . , , , Microsoft . , .
Delphi . Delphi , .
:
(Basic) ( );
(Pascal) ( );
++ (C++), (Java) ( ).
, . Windows:
Basic: Microsoft Visual Basic;
Pascal: Borland Delphi;
C++: Borland C++Bulider;
Java: Symantec Cafe.
Microsoft Visual C++, Inprise Borland, Java.
1.3.3.
, , , (, ) , , . , . .
. .
- . , ( ) , , , ( , ). , , , .
, , , , . , , ( ) .
, , ( , ).
- . , ( ), ( - ). , , , , . , , .
. , , , . , . , , . , , .
. , , , , ( ). , -, , . , . , , . , , , . , .
.
R OMG, Java Beans Sun + Microsoft. .
2.
2.1.
2.1.1.
, , , , , , . 1962 . . (Lisp). . . . . ( ), . , , .
. . list processing . , . , .
, / , , . ..
.
. , , . . .
, . , , () . _, .
2.1.2. .
, . , .
, , , - , , () . (), (, 543), (, 3.789) (, 1.0243-6).
. , , (). , . ,
( b ( d) e)
( 18 )
((((() 2) ) 4) 5)
, , () NIL. , () .
. : (, )
(1 2... aN) = (1. (2.... (aN.Nil)...))
Nil , ( ).
S-.
. , :
(
( )
( )
( )
( ( ( 1969 1979))
( ( . ( 1979 1982)
( . ( 1982 1984))
( ( )
()
( ( 1984 1997)
)
2.1.3.
() . () .
, , , :
(f )
(g )
(_ 2 3)
:
(+ ) (x + y)
(* (+ z)) (x * (y + z))
(+ (* ) (* )) ((x *x) + (y * y))
- . -
(1, 2,..., xn).fn
-
(LAMBDA (x1, 2,..., xn).fn)
LAMBDA , . xi , , -; fn , , . , , . , , , , :
(lambda ( ) (+ (* x ) (* )))
____ ______________
-
- , .
(- 1 2... an)
ai , .
((lambda ( ) (+ (* x) (* ))) 3 4), x y , 3 4
: 25.
DEFUN (define function):
(DEFUN - ).
DEFUN -, () - . :
(defun sumsquare ( ) (+ (* ) (* )))
________ ____ ______________
-
: sumsquare.
() :
(sumsquare 3 4)
:25.
, . , .
. , .. , .
. S- :
CAR, CDR, CONS, ATOM, EQ, EQL, =
, . 2.1.
, .
. (* 2 2) . QUOTE () :
(* 2 2): 4
(* 2 2): (* 2 2)
, . SET, :
(SET (+ * /))
SET. SETQ 1- ( 2- ).
,
().
, , SETF, :
(SETF _ )
_ . , SET, SETQ SETF, , , .
2.1.4. . -
, . , , -, .
, . , .
, , . :
QUOTE ,
-,
LET LET*;
PROG1, PROG2 PROGN;
COND, IF, WHEN, UNLESS,
CASE;
DO, DO*, LOOP, DOTIMES, DOUNTIL;
PROG, GO RETURN;
THROW, CATCH, BLOCK.
( QUOTE -, ), , -, .
LET :
(LET ((1 1) (2 2)...) 1 2...).
1, 2,... () 1, 2,..., : 1,
2,... . LET* LET , , , 1-, 2- ..
:
(let* (( 2) ( (* 3 ))); 2,
y *3=6
(list x ); y
: (2 6).
PROG1, PROG2 PROGN :
(PROG1 1 2... n)
(PROG2 1 2... n)
(PROGN 1 2... n)
. PROG1 1, PROG2 2, PROGN n.
:
(progn (setq 2) (setq (* 3 ))); 2, y 3*=6, 6.
:6.
COND . :
(COND (1 1) (2 2)... (pn an))
pi (-, (), (NIL)). , (), ai, 1- pi. , COND NIL. ai ( ), , , pi .
COND , :
(defun (1); 1
(cond ((null 1) ) ((atom 1) ) (t )));
:
( (a b ))
: .
( (atom ( ))); (atom ( )) Nil
: .
IF, WHEN, UNLESS:
(IF - -)
(COND ( -) ( ));
(WHEN 1 2...)
(UNLESS (NOT ) 1 2...)
(COND ( 1 2...))
CASE:
(CASE ( 1 11 12...)
( 2 21 22...)
, , , , CASE.
PROG, GO RETURN ( FORTRAN, ); .
2.1.5.
, , . , ,
n!=1 * 2 * 3 *... * (n1) * n = (n1)! * n (0! = 1 ):
(defun! (n) (if (= n 0) 1 (* n (! ( n 1)))))
!, n. -, , if-, n=0 1, n ! n1.
:
(! 5)
:120.
, . DO, :
(DO ((1 1 1) (2 2 2)...)
(- 11 12...)
21 22...)
DO 1, 2,... 1, 2,... ; , , 1i, DO-. 2i DO, 1, 2,... 1, 2,... .
DO expt, n- (n ):
(defun expt ( n)
(do (( 1));
((= n 0) );
(setq (* ))
(setq n ( n 1))))
: EXPT.
:
(expt 2 3)
: 8.
() , . . , , , , , , . , .
2.1.6. -
. READ PRINT.
PRINT. , , .
:
(PRINT (* 2 2))
: 4.
.
READ : (READ). , , - . READ , , . , , :
(setq input (read));
READ input.
- , . PRINC, , TERPRI, .
( ) FORMAT, , .
-, , ..
2.1.7.
. :
(_1 1 _2 2... N N)
PUTPROP ( PUT):
(PUTPROP )
, , GET:
(GET )
:
(SETF (GET ) )
. , , - .
2.2.
, .
. , , N ( ). : , .., . :
1) ;
2) ;
3) .
:
1) N1 ;
2) ;
3) N1 .
, , :
(defun ()
(rogn ( b ) ))
; , a,b,c
; ,
(defun ( n)
; , , , , n
;
(cond
; n=1
((= n 1) ( )
; , n
1
(t ( ( n 1))
( )
( ( n 1)))))
(defun ( )
(format t ~S ~S~% ));
:
( 3)
B C
C A
C B
, , .
2.3.
2.3.1.
, , , , , , :
, (.. , );
, , ; ;
, , , , , , ; (, , , , ..) ; .
. 90- XX . 5- ( ) . , , 5- . -, : .
, .
:
1) ;
2) ;
3) .
, (!). : .. z, A.. Z. : .. , .. . , , . , . . , (. 2.1).
:
: - ( ),
? (, ),
! ( , ).
, . _, , .
, , . , , , . : str(A,B,C), (,).
, . , . : [1,3,5,7], [,,].
, , ( ). , . :
;
;
( );
( ) , : - , .
: 5 5, , , (,) (, ), (,) (,), .
-, , . , .
1. , :
(,561532).
(,642645).
(,139833).
: 56-15-32 .. , . , 561532, 642645, 139833 , .
2. , :
(,).
(,).
(,).
(,).
: , ..
-.
< >:- < >
:- , , ( ). . , . , . , 2 :