Professional Documents
Culture Documents
Report 1
Report 1
:
:
.
: :
:
-1 ) :(Sequence .
-2 ) :(Selection
.
-3 ) :(Looping
.
--4 ) :(Branching ) ( .
: :
-(1 :
" " 0 1
OCTAL HEX-ADECIMAL
0 1 :
.A.B,C,D,E,F 9, 8, 7, 6, 5, 4, 3, 2, 1, 0
16
-(2
SYMBOLIC CODE
ASSEMBLER
.
-(3 :
.
.
PROCEDURE -
ORIENTED LANGUAGES
-1 : TRANSLATION
-2 : LINKING
.
-3 : LOADING
.
* :
-1 .
-2 .
-3 .
SQL
SQL Structured Query Language
DBMS
.
SQL :
1 .
2 .
.
3 What you want How or
. ?Where
3
-(6 :
-1 : HTML
. www )(HyperText Morkup Language
Ascii . Html
HTML :
.
.
.
.
-2 : Java
www
.
Sun Microsystems ++C
Html .
-(1 : Zuse
:
1936 1945 Tsoo-zuse , 1945
Z4 . Zuse
1943 ) (Plankalkul
1945 1972 Zuse
..
:
Plankalkul
Single bit
MSB ) (
.
Pascal Zuse
Eiffel
. Semantic 1945
6 .
:
,
.
(2 : Pseudocodes
, , , ,
.
: ADD 14 .
.
.
Assembler .
.
: Short code
Short code Manchly John 1949
BIN AC UN IVAC I
,
I UNIVAC .
UNIVAC I 72
12 2
. AB
Short code
50 .
:Speedcoding
.
John Backus , IBM 701 701
:
700 Milliseconds 4,2 .
UNIVAC 1107 1962 12
.
: UNIVAC
1951 1953 Hopper Grace UNIVAC
Pseudocode .
.
:
Cambridge
. Pseudocode
.
:
.
. FORTRAN . 1952 Laning Zierler
1954
. MIT 1952
. 1953
.
:
1954 John Backus IBM )
( IBM
,
.
:
-1
-2
-3
-4
.
,
FORTRAN O 1955
. 1957 FORTRAN I
FORTRAN I. 1956 )
2 ( FORTRAN O
if . Do
FORTRAN O if
.
if , :
N1,N2,N3
) . If ( arithmetic expression
, N1 , N2
. N3
I :
Last_value . , first_ value = Do N1 variable
, if 704 , Do
704
. FORTRAN I : 704
. FORTRAN I N, M, L, K , J, I
.
FORTRAN
,
FORTRAN .
. 18
.
. 1958 ,
704 .
: II
,IV , 77 90
, III . IV
. 1960 1962
1978 . 77 IV II
. , if ,
. 77 IV
if else .
90 77 .
DOTPRODUCT ,
MATMUL , MAXVAL , SUM , PRODUCT
...
. 90
:
CASE ( 1 .
EXIT ( 2 .
CYCLE ( 3 .
.
.
90 .
90 70
.
. 90 if GOTO
10
90 COMMON, EQUIVALENCE
GOTO ..
:
.
IBM IBM709
,IBM 704 .704
.
FORTRAN I 90
.
.
.
.
,
FORTRAN .
Alan Perlis ALGOL 60 1978
.
-(4
LISP
11
.
.
:
.
...
.
. .
Herbert Simon ,Allen Newell
. ) IPL-I
( .
IPI-II . Rand Corporation Jonnica Computer
IPL 1960 IPL-V Nwell Tonge
IPL .
, Johnniac
IPL IPL
. IBM
. FORTRAN I IBM
.
.
:
John Me Carthy IBM .1958
. :
. :
. FORTRAN I
.
Mc Carthy
. FLPL
12
Mc
. Carthy MIT 1958 Manin Minsky MIT
.
Mc Carthy
LISP Pure LISP .
:
:
Pure lISP : .
* .
.IPL-II .
LISP . .
* . .
) ( .
:
, .
.
. ..
:
LISP .
.
. .
.
) LISP ( :
LISP LISP
. C
: C LISP
) . ( A B C D
13
4
A . D , C , B
:
LISP
.
.
, LISP
.
. LISP .
. COMMON LISP
: LISP
LISP COMMON LISP: . SCHEME
: SCHEME - 1
SCHEME MIT .
Static scoping . Scheme
.. ..
LISP , . Static scoping
Scheme ,
.
: COMMON LISP - 2
COMMON LISP LISP
Scheme .. COMMON
LISP .. Pure LISP
. COMMON LISP dynamic scoping .static scoping
static special
14
:
ML Robin Milner
) L C F ) . M L . ML
. LISP Scheme
ML . .
ML . C
Miranda David Turner ML
SASL . KRC Haskell Miranda
) ( . Haskell
. . .
:
:
.
.
:
) (
.
15
:
-1 : 1940
.
.
) . ( .
.
.
. 1940 ) (
.
) ( 1957
.
. .
) ( . 1951
.
-2 :
) (
.
.
. (general problem solver (GPS
. ) ( 1957
.
.
16
:
:
.1
.2
.3
.4
.5
.6
.7
.8
.9
.
.
:
:
(1 :
: . . .
.
(2 :
.
.
17
(3 :
:
. :
. )
( .
(4 :
.
(5 :
.
-:
-1 .
-2 .
-3 .
-4 .
-5 .
-6 .
:
-1 .
-2 .
18
-3 .
-4 .
-5 .
-6 .
-7 / .
:
- ) ( knowledge base
:
.1 :
.
.2 .
.3 .
- ) ( gine inferenceen
.
- ) ( user interface
.
:
.
:
.1
.2
.
19
.3
.4
. 1956
) ( RITA Language
- ) ( ROSIE Language
) ( TATR ) ( 1958
) ( opsv, ops 5, DEND .
) ( PROLOG
) . ( ESP/ Advisor,M,1
SMALL TALK
:
.
) (
:
(1 .
(2 .
(3
.
(4 .
20
(5
.
:
.
.
.
.
LISP
Lisp %90
Lisp . common Lisp
Version .Lisp
: LISP
-1 Interpreter Listener
Evaluation
Text Editor .
-2 Lisp Procedural Algorithm
Flowchart .
21
Built-in Functions
. User-defined Functions
:
: :Function & Data:
..
: 30 3 2
.5
.
.
:
22
.
:
: !
.
: :Lists
.
:
) : (17 13 11 7 5 3 2 .
) ( : NIL ! Length
23
.Eval notation
.2
Eval notation .
.3
: .
function . :
)* (5 3 2
.:
. LISP
: Common LISP
LISP Symbolic
Expressions .s-expressions s-expressions
: atom . list
Atom
Atom
.. Atom .
24
: Atoms
3.1416
100
x
c4arab
**some-name
nil
List
Atoms Lists
25
) (
list list ..
Structures .. Empty List
Data Structures nil .LISP
: nil s-expression LISP
Atom List .
26
(5 ) : ( ALGOL60
ALGOL 60 ..
:
ALGOL 60 1954
1957
. IT Alan prelist UNIVAC
MATH-MATIC .UNICODE .
UNIVAC .IBM700
:
USA ( UNIVAC scientific Exchange, the large_scale UNIVAC scientific user
(group (SHARE (the IBM scientific group
1957 .
IBM . GAMM 1955
0
IBM 0
1957
GAMM 1958 GAMM ACM
0
:
GAMM ACM
0 27 1 1958 :
-1
0
-2
-3
0 0 0
27
:
Zurish ) ( IAL
ALGOL ALGOrithmic Language
0 ALGOL
ALGOL 58 . ALGOL 58 .
0
0 ALGOL 58
0 ,
: ALGOL 58
-1
0
-2
, 0
-3
0 1
-4
ALGOL 58 0
ALGOL 58 0
Zuse expression =>variable plankalkul 0
: ALGOL 58
ALGOL 58 1958 .
0 ALGOL 58
) ( 0
:
-1
-2
NELIA 0 1963
-3
JOVIAL 0 1936
28
:
, 1959 ALGOL58 0
ALGOL ACM0
1959 Zurish 0
BNF 0
1960 ALGOL , 80
Naur 0 ALGOL
Backus ( BNF( Backus-Naur form BNF
0 1960 BNF
1960 0
:
1960 , ALGOL 58
0 :
-1
) (
0
-2
: , 0
-3
Lisp,
0 1959
-4
. Stack-dynamic
0
0
0 ALGOL 60
29
. 1960 1962
0 ) ) ALGOL 60 ))0
:
ALGOL 60
20 . 1960 PL/I,
. SIMULA 67 , ALGOL 68 , C , Pascal , Ada , C++ , Java
ALGOL 58 , ALGOL 60 .
0
. BNF
: 0
: ALGOL 60 0
0 ALGOL 60
ALGOL 60
..
:
-1 ALGOL 60 . .
ALGOL 60 Rutishauer . 1967
-2 .
-3 ALGOL 60 BNF .
BNF 1960
.
IBM ALGOL 60 .
(6 : COBOL
30
COBOL
. PL/I .
COBOL
. COBOL
.
:
ALGOL 60
COBOL
. 1959
.
FLOW-MATIC 1957
UNIVAC . AIMACO
FLOW-MATIC
. IBM COMTRA :
COMmerical TRANslator .
FLOW-MATIC
. COBOL 1953
Grace Hopper
.
1955
. ..
.
:
1959
. Zurich ALGOL _
_ CBL :
-1
-2
( .
-3
.
31
. RCA
Sylvania .
Short Range .
: . Short Range
1959 . COBOL 60
COBOL 60 1960
1961 . 1962 ANSI 1974
1975 .
:
COBOL .
: DEFINE COBOL 60
Plankalkul
. COBOL COBOL
30 .
COBOL .
.
COBOL . .
COBOL .
COBOL . DOD
. :
. COBOL . DOD
.
COBOL
.. ..
COBOL .Common Business Oriented Language
32
.. .
COBOL 4 Divisions
:
IDENTIFICATION DIVISION ENVIRONMENT DIVISION DATA DIVISION PROCEDURE DIVISION COBOL .
COBOL .
:
IDENTIFICATION DIVISION. :
. :
IDENTIFICATION DIVISION. 1
PROGRAM-ID. TEST.2
:
-1 .
-2 ).(.
-3 PROGRAM-ID .
TEST .
-(7
: BASIC
BASIC . COBOL
.
33
BASIC
BASIC :
-1 BASIC .
-2 .
BASIC Visual BASIC .
:
BASIC . Beginner's All_purpose Symbolic Instruction Code :
Dartmouth John Kemeny : Thomas Kurts
FORTRAN . ALGOL 60
1963 .
.
:
-1
-2
-3
-4
-5
. BASIC
.
1963 Kemeny BASIC
GE 225 BASIC
. 1963 1 1964 . BASIC
11 20 .
:
BASIC .
. .
BASIC 14
BASIC .
34
:
BASIC
.
.
BASIC
. ALGOL 60
BASIC . BASIC
. BASIC BASIC
BASIC_PLUS RSTS PDP_11 .
BASIC .
BASIC .
.
BASIC .
BASIC Quick :
BASIC . Visual BASIC . PCs Visual BASIC
BASIC Quick . Visual
BASIC . CGI
BASIC
1963 :
Beginners All-purposes Symbolic Instruction Code ":
" .
35
.
. :
.GW-BASIC ,QBASIC ,BASIC-MSX BASIC . VISUAL BASIC
)
. (DOS
.
. :
0 . 9
* - +
&
"
< > ^ = ) ( ; .
6,22 .
Dos
:
-1
Qbasic.exe
-2
Qbasic.hlp
-3
Qbasic.ini
-4
Edit.exe
-5
Edit.hlp
-6
Edit.ini
-(8
PL/I
PL/I .
.
36
:
IBM SHARE SHARE
FORTRAN . 1963
3
3 3 4 .
COBOL
. PL/I
FORTRAN VI .
. . FORTRAN VI
1965 NPL New Programming Language :
. NPL SHARE . 1964
1964
IBM . 1965
PL/I NPL )
37
:
PL/I ALGOL 60
) ( . " FORTRAN VI
__" " COBOL 60 / "
.
PL/I :
-1
-2
23 .
-3
-4
-5
:
L/I . PL/I :
. Edsger Dijkstra
PL/I .
. .
PL/I : .
:
PL/C . PL/CS
-(9 APL
: SNOBOL
APL SNOBOL
J APL ICON . SNOBOL APL
SNOBOL :
.
38
.
.
APL
APL 1960 Kenneth E.Iverson IBM
) ( APL
. A Programming Language :
IBM . APL
APL
. IBM
APL .
.
APL 30
.
SNOBOL
-(10
: SIMULA 67
SIMULA 67
.
39
:
SIMULA 67 ALGOL 60 .
) ALGOL 60 (
. .
. Coroutines
SIMULA 67 .
.
. . 1972
-(11 : ALGOL 68
ALGOL 68
.
40
ALGOL 1962 6
. ALGOL 68 .
ALGOL 68 .
:
ALGOL 68
FORTRAN . PL/I
.
ALGOL 68
.
. ALGOL 68
Flex arrays :
list
. flex ( 1 : 0 ) int
:= ( 3 , 5 , 6 , 2
( List
:
ALGOL 68 .
ALGOL 68 . ALGOL 68
ALGOL 60 .
.
ALGOL 68
. Van Wijngaarden Grammars
.
: indicants
. Coercion Of Deproceduring
ALGOL 68
PL/I
41
ALGOL 68 :
PL/I .
.
ALGOL 68 ALGOL 60 PL/I
.
PL/I
ALGOL 68 .
PL/I . ALGOL 68
PL/I IBM
ALGOL 68 .
-(12 ALGOLs
42
- : : Pascal
:
Niklaus Wirth ) ( IFIP ALGOL
. 1965 Wirth
. ALGOL 60 ALGOL
. 60 ALGOL 68
. Wirth ALGOL 60
. Wirth Hoare ALGOL 60
ALGOL-W Stanford
. ALGOL-W case
. . ALGOL 60
Wirth . ALGOL 60
Pascal . 1971 .
Pascal . :
ALGOL 68 case . ALGOL-W Pascal
COBOL . PL/I
:
Pascal . 1970
PL/I
. ALGOL-W
Pascal
. Pascal
. .
.
. Turbo Pascal Pascal
. Pascal
FORTRAN . C Pascal .
43
Pascal
1642
) ( 1642
.
) (
9
) (
.
.
:
braces parentheses .
++ :
} {
)* *(
//
.
. ++ 32 .
.
.
44
.
:
) ( .
) (
Myname MyName myname myName MYNAME .
. .
.
.
. .identifier
) ( :
MyLongIdentifier
MyVeryLongAndAlmostStupidIdentifier
) (tabs
. . white space
. BASIC
.
) (
.
.
:
60 70 .
.
.
parameters
45
)(
.
.
function call
.
: ).
. (.
:
.pretty-printing :
.
.
:
code syntax
. highlighting
. keywords )
( .
.
.
. ) (Help :
.
.
:
expressions
. logical arithmetic Boolean
relational set .
46
parameter .
.
.
:
(+) union (-) difference (*) intersection
(membership (in .
:font styles
.
;]Style := Style + [fsBold
;]Style := Style + [fsBold, fsItalic] - [fsUnderline
Include Exclude )
set :(-l
;)Include (Style, fsBold
:
Ordinal types .
. Integer
Boolean .Char
.
:
) system system
(unit .ordinal types ++
Inc ++ ) =+ . (Dec
- :
47
Pascal C
.
.
:
C CPL BCPL B . ALGOL 68 CPL
Cambridge BCPL . Martin Richards
. 1967 UNIX Ken Thompson
. Bell . UNIX
B . BCPL B Thompson . 1970
BCPL B
. Pascal :
. BCPL
. .
B
NB C . 1972 BCPL
: C ALGOL 68 for switch
.
. 1989 ANSI C
++C .
. C
++C ) ( .
:
C ) (
. .
C :
. C
. C
. UNIX UNIX
.
C
48
.
blocks .
:
-1 ()main
-2 main ) ( . } {
.
-3 /* * / :
/* Hello in c4arab * /
compiler .
-4 semicolons .
-5 .
-6 scanf . Scanf
editing
-1
-2 : compiling
-3
linking
executing
-4
:
debugging
49
.
.
++Borland c 3.1 5.02
. ++Visual c
- : : ALGOL
: Modula_2
: Modula_3
Modula_3
Modula_2
. garbage
.
: Oberon
50
. Ada 95 Oberon
Modula_2 Oberon .
. :
CARDINAL with for
Oberon .
: Delphi
Delphi ++C
. Delphi . Pascal ++C Delphi
++C
. C
.
: Pascal C Delphi
. ++C Delphi . ++C Delphi :
. ++C Delphi ++Visual C ) ( GUI
. Delphi
Delphi Borland . Turbo Pascal
Delphi
(RAD (Rapid Application Development
)
(..
Active X
51
IDE
-1 :
) ( .
.
-2
Properties .Events
Property Events
.
.
Event .
Event Handler
-3 .
.
.
-(13 : Prolog
.
.
. .
52
:
Alain Colmerauer Phillippe Roussel
Aix_Marseille Robert Kowalski
Edinburgh . Prolog
.
Prolog Marseille 1972
Marseille . 1975 Prolog . PROgramming LOGic
:
Prolog .
. Prolog
. Prolog : .
.( mother ( Joanne , jake
:
. ( Father ( vern , Joanne
: ) ( True
) . ( False
:
:
-1
.
53
-2
.
PROLOG
" " ,
. .
:
:
:
.
.
,
,
.
, .
.
.
54
-(14 Ada
:
.
1974 DOD
.
55
. 450 DOD .
. .
.
:
Malcom Currie Ada 1975
) ( HOLWG . Lt.Col.William Whitaker
1975 Strawman .
. Strawman Woodenman 1975 Tinman
. 1976 Tinman .
. David Fisher
200 40 . DOD 1977 Tinman
Ironman .
1977 Ironman
. Ada . 1977
Softech : SRI Cii Honeywell/Bull Intermetrics
.
. Pascal 1978 400
80 .
:
1978 Steelman
1979 . Cii Honeywell/Bull
Ada .
. SIGPLAN 1979
100 . : 500 15
. .
) ( Stoneman . 1980
1980 MIL-STD 1815
. Ada 1815 Ada .
56
:
Ada .
.
.
. Ada :
.
.
. Ada .
:
Ada :
-1 .
-2 Ada .
Ada .
-3
1985 Ada
Ada .
Ada 95
-1
) ( .
-2
) ( .
-3
-4
-(15 ) (
: Smalltalk
SIMULA 67 .
.
. . :
.
58
0 : ) (
0
:
Smalltalk Ph.D Alan Kay
. Utah Kay .
Kay
megabytes
. Kay
.
. Kay
. LOGO
. Kay Dynabook
. SIMULA 67
flex
.
Kay Xerox Palo Alto . Dynabook
. Xerox
Kay .
Xerox Alto . Smalltalk_72 .
.
. Smalltalk_80 1980
Xerox . Alan Kay
:
Smalltalk ) (
.
. Smalltalk .
.
59
.
.
Smalltalk .
. .
Smalltalk . SIMULA 67
.
. .
SIMULA 67 . Smalltalk Smalltalk
.
) ( .
:
. Smalltalk .
SIMULA 67
. Smalltalk Smalltalk
.
:
. )
(Object Oriented Programming
) (Procedure Oriented Programming POP
) (Pascal ) .(C
) ( instructions )
.(functions )
(functions .
60
.
)( .
) (Global Data
. ) (C
.
.
. .
:
.1
.2
.3
.4
.5
) (Top-Down .
61
.6
...
-
... .
.
.
.
.
) ( ...
... .
:
.
.
62
:
-
) (Entities
. )) (Object ( .
. ) (
... .
) ( ... display
erase :
: ) (Object Structure
) ( .
63
)
( ) (
.
)
(.
:
-
) (.
": "...
...
-(16 : ++C
++C C
.
64
:
C ++C Bjarne Stroustrup Bell
. 1980
SIMULA 67 . Smalltalk
. 1981
. C Stroustrup . 1983
C .
. SIMULA 67
. C C
C . :
. C 1984
) (
. ++C Stroustrup . 1984
1985 Cfront ++C . C
Cfront ++C . Release 1.0
1985 1989 ++C
. Release 2.0 Cfront . 1989
Release 2.0
. Release 3.0 ++C 1989 . 1990
Relea se 2.0 Release3 0 Ellis Stroustrup . 1990
:
SIMULA
67 . Smalltalk ++C
. ++C
. Smalltalk ++C .
. A
. A . :
.
65
. ++C . Ada
.
:
++C . .
C ++C C
. ++C .
.
. PL/I C
Delphi : Ada . Java
: C ++C PL/I ALGOL 68
.
Eiffel
Eiffel .
Bertrand Meyer .
) ( .
. Plankalkul .
Eiffel : ++C
Eiffel ++C
++C Eiffel
.
++C
. C
++C Cfront
Eiffel .
66
: ++C
.
] Johnson 73]B . [BCLP [Richards 79
1972 1977 1979
. The C
Programming Language . K&R
ANCI C
....
===< .. Bjarne
Stroustrup 1979 .... "C with
"Classes ++C
1983
) (
: 1994
.
Source files:
main . c.
. source file
Header files
header file
stdio.h string.h conio.h
67
include#
> < .
include#
" ".
Header : -1 preprocessing directive include#
define# .#
.
Body: -2
.
} {.
.
:
-(17 Java
68
Java ++C .
++C .
:
Java .
Java . .
1
. .
1990 Sun Microsystems C ++C
.
++C
. C ++C
. Java
. ++C Java
.
1993
Java .
Java . Java . James Gosling
:
Java ++C . Java
. .
.
C . Ada
Java ++C .
++C
. Java Java
. .
.
.
. .
69
. Java
) if ( while C ++C
. Java .
Java
Ada 95 ++C . Java
. Java
: . ++C
Java ++c .
Java
. Java
. .
Java ) ( Java
threads .
.
.
.
. C ++C Java ) (
. int to float float to int .
:
Java ++C . :
++C . .
. Java .
. :
applets threads .
Java .
.
. Java
70
: ++C
Delphi . Ada Java .
) ( CGI
" " . Java
HTML . Java
. .
/ Java .
.
: ++C . ++C
Java ++C .
Java
Java
:Language
1995 SUN Micro System .
.
:
-1 : (Object Oriented Programming (OOP
..
..
Object .
-2 : JVM
JVM
.
71
-3 : Class Libraries
OOP
.
--4 : ++C,C
++C,C
++C .
:
-1 : JVM
.
Software RunTime
JVM ..
WINDOWS , UNIX
JVM
: Java Applet -2
Applet HTML Applet
server . HTML
Java Application-3 :
DISKTOP
.. CLIENTSERVER
:
) (1 JDK
JDK SUN
72
/3
Download JCreator :
) (3 : Forte , JBuilder :
. Download Borland JBuilder , Download Forte :
:1
++
. ) ( platform
JVM platform
.
:2
.
live code .
Client Side
, ) .(client
:3
J2EE J2SE . J2ME
:
J2EE ) (wireless devices
.
73
:4 J2EE
Java 2 Enterprise Edition
) 12 ( .
:5 ) ( IDE OR Compilers
Jbuilder
)
(. forte (
.
74
Plankalkul
Pseudocodes
IBM FORTRAN
: LISP
: ALGOL
: COBOL
: BASIC
: PL/I
: SIMULA 67
: ALGOL 68
ALGOLs
: PROGOL
: Ada
: Smalltalk
: ++C
: . Java
75
1
5
6
8
12
27
31
34
37
39
40
41
43
54
57
60
66
70