!"
LỜI NÓI ĐẦU
#$%!%&'#'(%)*+)%&,')%
#-%(%.%/%0'.%&1%23$456789:
';)*#-%&2%%<;)*#-.%/
'=>%$%!?
;.@93$%!7%%&%&#A./
%B$/&7C+D2E#%&,F9:7(=>%5G
%(#G.D$/%%&=!=H+2@%2%?IJ9K2@
%2%#=G7L%%&%&%CM7N;*
1+O7(7C$P'%(QR>7STCM,&U7L%M=
)%&7O?..@93$%!%&)%&,*
)(%.M7D%O-A.2K%#G?
&5#$H%&,5VW%4$%!.$/%(O+
2E#%&,?X7NY=QN%*=Z ? (=;
*.=2'.%9$%!";C
7R%&D7!%[Y=E'(%.2.D#-$%!B
E';[[Y=&U.D*
)(%.F7D.,'=>%$$P%?
!"
MỤC LỤC
!"
I. KHÁI NIỆM KHOA HỌC VÀ NGHIÊN
CỨU KHOA HỌC
1. Khoa học
#)%&,\='=&E'(%=G;
%(%=G.D%/.QR>=O%%%(9MEB;
'2SKL?9O;'5]==>%@%P%&%.D)#%
+.%F%.$/.7>+.%F%;E)#%+%/;QR>;.
%9?@%P%&%,%%&#^$_.'2`%%&
%&$1%/%0QR>?N5@%&@%P%&%#%&%'
@=.%&%'?
2. Nghiên cứu khoa học
a Khái niệm
'#=>%%7>%,='(=;QY=Q6%;7D%&;J
%_@=?/%&E$P#@;%#@;'(%7!%7L%`%b
@=7%@&E=G.D5*F%$/.%;.D%(G
%/.QR>;.7$%!.%@'c%%=G
;%&^?C=P#=*O'(%F%
7^.D#A./.b#*&d#@#=.@%/
#/;O%`#[]%&(%&C?
a Các bước nghiên cứu
Z]=e5G
f#.F7D
Z7!g5^
/%2%
fN9/*%(%;#/.#'(!
%F%
(%5%F%2%&,
Z7!'(%%[
h
Có vấn đề
Không có vấn đề
Giả vấn đề
Có nghiên cứu
Không có nghiên cứu
Không có vấn đề
Nảy sinh vấn đề khác
Không có Nghiên cứu
Nghiên cứu theo một hướng khác
!"
II. VẤN ĐỀ KHOA HỌC VÀ CÁC PHƯƠNG
PHÁP GIẢI QUYẾT
1. Vấn đề khoa học
F7D'B7L#.F7DJNT
#NT7L7J%&'C7%&G=N%:E%b
!(+%&%'@O.GM%%&%&%7O1%&,7>
?
2. Phân loại
'#2%]%!.F7D
• F7D.D5*F%$/.%7%,='(=?
• F7D.D7#=$%T.D#-%(%.
%/%0E.F7D%>#G%F%?
3. Các tình huống vấn đề
4. Các phương pháp phát hiện vấn đề khoa học
Oi
,=E'j1;%@E.F7D=G
,=E5F%7]
AL#!)@=%2%C
V
!"
X$%E.G=4%&%/%0
4Y#C'
*=ENT5F%L%QF%@')$%$/'@7O?
III. BỐN MƯƠI THỦ THUẬT
1. Mở đầu
&M(%#A./%&7C$P;.@*)(%%2
.F7D$H7D7L&[%&D'@=;S#5b)(%;=k?C
E'@==E.F7D%$$%&K=>%#A./
.%=b##A./7OO%7LC*)(%.
@)*?E'@=;5b)(%=k.7L#%+
%%$%!?
2. Bốn mươi thủ thuật
/%&.@N%bVW;WWW5*=2%*$(%>E#A
./'c%%';Z? ?l#%$##Y&7R7['(%&5P=%+%%$
%!5*7L%&,5$
2.1 Nguyên tắc phân nhỏ:
Nội dung:
a 7P%L%M7>#?
a =7P%L%&1%#47L?
a m=7>NT7P%L?
Ví dụ:
a %(%a9n%&%(%'(@%P;@%P%D
MT?o\7O;@%P%!%D=2a7b%
%!?X%&,O%7L%/@#!%`=2a7
7('=2a7'2S5F%$/%!E?
2.2 Nguyên tắc “tách khỏi”:
Nội dung:
p
!"
a MND"q%bF%D"rL#!%
M9F%M%(%"q%bF%M%(%"r&'T7P%L?
Ví dụ:
a 9E#@b%;%#%&E[1.=%b%&S;%&2%?
'9E#@#G$H'O'm%&.@5*%&,;=1&>;s7O;%
*C%G9%Y%Y&?
2.3 Nguyên tắc phẩm chất cục bộ:
Nội dung:
a 7P%Lq=2%&C5;%7>5rOF
%&[7]F%%'27]F%?
a M'+7P%L*Om'?
a ItM+7P%L*1%&E7D'@%bLF%7P.G
2.@?
Ví dụ:
a _=>%9$#'(%+7P%LQY=%=>%9$
#'(%+7P%LQY?@%&`%LO$H6
7P%L'27]5>qQY7!;QY;sr7L#%&E%&K
#G5>.L#!?
2.4 Nguyên tắc phản đối xứng:
Nội dung:
a 7P%LO,9!7PQ%'27PQqO
*=5%7PQr?
Ví dụ:
a g+$4Q(%C#FM%_E#=M%_P%?o\
$_93M%_%&.^%&5M%_77M;7E.
7P#=M%_P%%C$H7!%7L@$F%%P%?
i
!"
2.5 Nguyên tắc kết hợp:
Nội dung:
a (%L7P%L7]F%J7P%L9K!%
7>'(?
a (%L.D=J%%C!%7>7]F%J'(?
Ví dụ:
a I>%%&nY5O%7LQN9/%`D'qu&=Yr?Itu&=YO
%7L%*%`=>%$Y&.Y&'?vD#=%m%P7>%*%&9
D'(%P7L$_937]%C?
2.6 Nguyên tắc vạn năng:
Nội dung:
a vP%L%/@=>%$Pm';97O'2M$/%=
+7P%L'?
Ví dụ:
a M=D=%m%P@%P%Y%#%Y$"Omwa#'
O%9&Y$%&;#!5T$&%%5^+;QO%%%!=;
N=*<7A;s
2.7 Nguyên tắc “chứa trong”:
Nội dung:
a I>%7P%L7L7J%5%&7P%L'.5*%NO#!
7P%L%5???
a I>%7P%L7>Q$P%5%&7P%L'?
Ví dụ:
a F%&[9E#@9$#'(%;N?%%%7@)$4
Q(;5'%&';s
2.8 Nguyên tắc phản trọng lượng:
Nội dung:
a oK%&`%&#L+7P%L5\4O.G7P%L'
O#/N?
e
!"
a oK%&`%&#L+7P%L5\%%.G=2%&C$_
93#/%+7>;'b7>???
Ví dụ:
a &=5m=;%N5<7P%L.=>%%5>%&
'E$P#L+7P%L%&=>%5>QFQ85\?
2.9 Nguyên tắc gây ứng suất sơ bộ:
Nội dung:
a ZN$F%%&G.G7P%L7P#!$F%'26
J'2==P'7P%L#=.@qJN$F%%&G7
'#=.@$H9K$F%L#!r?
Ví dụ:
a =>%9354%7M7%`=>%$19E#@;%O%%*q#9r
5*)%&8=3%&G?
2.10 Nguyên tắc thực hiện sơ bộ:
Nội dung:
a /@%&G$/%7<MO;%J%`M;7P.G7P
%L?
a M$4Q(7P%L%&G;$[O%!%7>%`.^%&b%
#LF%;'2=F%%C9^?
Ví dụ:
a &.Y&='=%_%b$x$+=%&G'C$_93
%F%%(%#+
2.11 Nguyên tắc dự ph0ng:
Nội dung:
a oK747>%'2#G+7P%L5\g5^%&G
%@57>;;%?
Ví dụ:
a @7D$#9E#@%%)%&+O%&G'7L$_
93?(Q*&#tO%'23#!='2*#!?
y
!"
2.12 Nguyên tắc đ1ng thế:
Nội dung:
a 7<7D'@#=.@7'2*N#!QP7P
%L?
Ví dụ:
a 4Q(#!=>%$19E#@%%8'%/$/M%(%?
C%,9E#@5^QO5\=>%C79FO5^QO?5*
%&$19E#@'2*9=J9K[9CO.^%&b
=G%&$19E#@?
2.13 Nguyên tắc đảo ngược:
Nội dung:
a .,7>M5%;7>L#!q.b93;'2
#=O=#=#!7P%Lr
a =M7>+7P%Lq=2%&C5r%
7.L#!;M7%7>?
Ví dụ:
a @%P5'%&'
2.14 Nguyên tắc c2u (tr0n) hoá:
Nội dung:
a EM%z+7P%L%;=J%z%=J%
M;'(%F,>%'(%F,M?
a _93#m;.5;.SQ4?
a $7>);$_9#/#%N=?
Ví dụ:
a %,='(=%(%b5\%,='(=%!%,='(=^
N?
2.15 Nguyên tắc linh động:
Nội dung:
{
!"
a M%7<7J%%&+7P%L=2%&C5$
[%P%&%`7!#=.@?
a N7P%L%%`M;O'*m9^.G?
Ví dụ:
a 7<(7>,%&=>%93nY&%?8$_.m
5*%&(7>%#Y%,$H9.,%<)%&(7>
%&,5?
2.16 Nguyên tắc giải “thiếu” ho5c “th6a”:
Nội dung:
a ('O7LwWW|@)*M%(%;b%J
D=>%[%"?[7O5%O%%&17*.90
*?
Ví dụ:
a v$4Q(=>%=*#G%,%,%%%$4Q(%C7L$_
93?'=*7$4Q(%&1T;b%wWM
%_;%%%'7L$_93%/%%P%?
2.17 Nguyên tắc chuy7n sang chi8u khác:
Nội dung:
a E'O'm97>q$4Q(r7P%L%Y7Cq=>%
Dr$H7L'43(7P%L'*m9%&=J%
zqDr?%/;E5%#)7(7>
q$4Q(r7P%L%&=J%z$H7L7*'
$'2q5Dr?
a 7P%LO'(%F=>%%M%D%M?
a vJ%7P%L\=?
a _93=J%$+9@%b%&G?
a _93#]$%G9@%b5!J%G=J%$+9@
%b%&G?
wW
!"
Ví dụ:
a I>%7L='#G9M.'2St7=>%M%_=G.
%,O%7J%M%_7O.<7A7('St%&P%&5>G
b?
2.18 Nguyên tắc s9 dụng các dao động cơ học:
Nội dung:
a =7P%L97>?(7RO97>;%m%M$P97>q7(
%M$P$N=r?
a _93%M$P>1?
a .,9K5>&;9K5>&7@?
a _93$N='(%L.G%&C7@%`?
Ví dụ:
a %%&9&57#N%`7L?
2.19 Nguyên tắc tác động theo chu k;:
Nội dung:
a %7>#%3%%7>%Y'}qQr?
a (7RO%7>%Y'};R%7<'}?
a _93'*%CEQ7%/@%7>'?
Ví dụ:
a &.%&CL%%=>%5*7O+$19E#@8
=>%#M%&=>%.%b%#!.@$4Q(8=3=>%#M=>%
%.,=t#M%7#j?%/#!5T=37L7
9FQO8=>%#M=>%?
2.20 Nguyên tắc liên tục tác động c< =ch
Nội dung:
a /@2.@=>%#%3q%F%*M+7P%LM
#2#2#=.@1(7>7+%*r?
a 43.'2%*.%&?
a 7>%^%()#!%7>)?
ww
!"
Ví dụ:
a &@7D7@=;%.3O%!D)6%.a&[%;
F;s
2.21 Nguyên tắc “vượt nhanh”:
Nội dung:
a L%)7!O!J=.G.%P#G?
a L%7O7L@M%(%?
Ví dụ:
a 4%'(%P%G$19E#@%&'$#? #O%%/@
.$'$#=CO%$_93$19E#@?
2.22 Nguyên tắc biến hại thành lợi:
Nội dung:
a _93E%NO!q%b93%7>O!+=2%&Cr7
%7L@O#L?
a 43%NO!5\'(%LO.G%NO!'?
a mC%NO!7(=O'2SO!E?
Ví dụ:
a (=>%%&,=O%.3%b%%&.F=F%=>%%C
9%,%^=>%%257C$_93O%=>%%uY
#=5%93%R'?vDO%%P%C
C$_93'2*1%&%,%&!C7L%/$/?
2.23 Nguyên tắc quan hệ phản hồi:
Nội dung:
a (%#)@*]?
a (7RO)@*];R%7<O?
Ví dụ:
a O=>%%M=$%%&5F%'}M=D=7==$%$/
%/@;@$F%5>G.O7>'43?
a o>Q_#-!#@qYQY%9#r
w~
!"
2.24 Nguyên tắc s9 dụng trung gian:
Nội dung:
a _937P%L%&;%(?
Ví dụ:
a _93=>%=+=7E2.@%!=%C'
=7uu#Y?
2.25 Nguyên tắc tự phục vụ:
Nội dung:
a vP%L*%/3.35\%/@%%3%&L;$_
E?
a _93(#@;%%*;m#L9?
Ví dụ:
a I>%%&,9@%nY5O%G&Y)Y$%+5!%G=>%nY5$%Y
'($Y&.Y&'2%]%!?z!Z#Y5^uu#Y%,O%G
o;•;s
2.26 Nguyên tắc sao chép (copy):
Nội dung:
a .,$_93E'27L6;%!;74%%D;'2%@
#LJ90.€;$_935*$?
a %(7P%LJ@7P%L5\5*$)q*;
,.Hr.G%•#@M%(%?
a ('2%$_935*$)1.K5j'(q.K$
,%F7L5\=4%%Cr;$$_935*$]
!J%_!?
Ví dụ:
a _93$*g==R]=1?
2.27 Nguyên tắc “rẻ” thay cho “đắt”:
Nội dung:
wh
!"
a %(7P%L74%%D5\5>7P%L&jOF%#L'6=
q%b93.D%<%r?
Ví dụ:
a b%.G$P%.,9K$P'9FF=7>(.:b
Q.G93+5!;%C%/@$H?
2.28 Thay thế sơ đồ cơ học:
Nội dung:
a %($7]5\7@;);@%;N=J=K.^?
a _937@%&C;%`%&C.7@%`%&C%&%%.G7P
%L?
a %&C7$7>;%&CP7^$
%7<%Y%C;%&C7]F%$OF%&[F%7^?
a _93%&C'(%L.G!%$4%%`?
Ví dụ:
a 7<.m5*%Oq%YQ%a%a$YYrO%
.m5*q$YYa%a%YQ%r?
2.29 S9 dụng các kết cấu kh= và lỏng:
Nội dung:
a M+7P%L1%&4;$_93F%'b.#T
!'b;!F%#T;7@='2'b;%+%A;%+*#/?
Ví dụ:
a _935(%.,\$P7L9Y?\$P%7<8M
%7<1=>%?
2.30 S9 dụng vỏ dẻo và màng mỏng:
Nội dung:
a _93.T9j.==T%'(%F'P?
wV
!"
a #7P%L.G=2%&C55\.T9j.=
=T?
Ví dụ:
a #G7L7^A.G%Y&uYO%%7<>9
%Y&uY5%&#G?
2.31 S9 dụng các vật liệu nhi8u lỗ:
Nội dung:
a =7P%LOD#tJ$_93%=E%(%OD#t
q=(7@=;%F=+sr
a (7P%L7ROD#t;$5>%g=O5\F%7O?
Ví dụ:
a M=D=%2).@7^A%Y&uY%&GO%7L
4=.51D%%&5%5?
2.32 Nguyên tắc thay đổi màu sắc:
Nội dung:
a 7<=$4+7P%L=2%&C5?
a 7<7>%&$P%++7P%L=2%&C5?
a vO%)$%7LE7P%LJE)%&,;$_93
F%3=;K)?
a (F%37O7R7L$_93;9K%_79F?
a _93,.H;'-@%bL?
Ví dụ:
a I>%7]]M%&$P%%&9Y$'%%&1b%%&$P%'
M7(%C=>%>k?
2.33 Nguyên tắc đồng nhất:
Nội dung:
a E7P%L;%%.G7P%L%&G;*7L#=%`K
=>%.%#@qJ%`.%#@M.D%bF%r.G.%#@(%!7P
%L%&G?
wp
!"
Ví dụ:
a _93%&,59^759^bO?
a I>%==7P$P##G$17=#GB7L
Q_#-.?
2.34 Nguyên tắc phân hủy ho5c tái sinh các ph2n:
Nội dung:
a M7P%L7R%@=.3J%&1'2%(%*%/
N+q%;5??rJ*5(9!?
a M=F%=%+7P%L*7L3]%&/%(%&)
%&,#=.@?
Ví dụ:
a Z*O5>G'2M$_93E515>%=&%&
‚.?
2.35 Thay đổi các thông số hoá lý của đối tượng:
Nội dung:
a 7<%&!%7P%L?
a 7<]7>7>7=7J?
a 7<7>9j?
a 7<@%7>;%%b?
Ví dụ:
a !=>%%&,.GD7D'@%*';z!!
%&@7Dƒ9n$Q;=,wW„wp„;s
2.36 S9 dụng chuy7n pha:
Nội dung:
a _93@%L*$%&)%&,%7<
%%b;%*F%@%#L???
Ví dụ:
wi
!"
a 7<%`=>%#!%(%5^…† …%&,$=>%';
=$%J%HE,Q*&z!7<%(
O%Ob%&%#?
2.37 S9 dụng sự nở nhiệt:
Nội dung:
a _93$/1qr@%+.%#@?
a (7R9K$/1@%;$_93.G.%#@O@$P1@%'
?
Ví dụ:
a 9E#@7L6OO%7L_)=!;J%Pb%
'2#%&E?C%**67O%$_93O?
2.38 S9 dụng các chất oxy hoá mạnh:
Nội dung:
a '2'b%C5\'2'bQ?
a '2'bQ5\bQ?
a K5Q!%7>#'2'bJQ?
a Q‡qJQ5^r5\b‡?
Ví dụ:
a _937^9!^N7%m@)*.@Q_#-;#%&E.
##L=!?
2.39 Thay đổi độ trơ:
Nội dung:
a =2%&C%2%C5\=2%&C%&?
a v%=.7P%LM;F%;3%&?
a /@)%&,%&N'2?
Ví dụ:
a =%_M=D=%&=>%=2%&C7L'=$%7=(O
.F7D,%@%!%,8G!%&=2%&C7L'=$%=%2?
we
!"
2.40 S9 dụng các vật liệu hợp thành (composite):
Nội dung:
a %`.%#@7]F%$$_93E.%#@L%
q=$%Yr?O$_93.%#@=G?
Ví dụ:
a I&$u%ˆq==Yˆ%=Yr6%&,%`
D2E'%%.G?
IV. ÁP DỤNG CÁC NGUYÊN LÝ SÁNG TẠO
TRONG QUÁ TRÌNH TIẾN HÓA NGÔN
NGỮ LẬP TRÌNH
1. Các ngôn ngữ mã giả:
`=R*17NOA'.GA@%!+O5NC?
2E#=R*51.,[7L7J%%%(.%C7=[
7L%%&.$_93qPEm=w{VW.7MEm=w{pWr?2
E=%,'O7=7;B$_7<.99S?I%,'2t%&L
Q_#-9FF=7>.,.7R&7C2E=R*?
1.1ShortCode
2E=R*7M%;7L%%&51‚I#.m=w{V{
=%bo‰l?5%%%&,7L=RO?
=R#J%&^5%Y;.D%&,7L=RO%&=>%%`? &%
9Y'27L%=R=?O7L%/%.G=>%%&,59^;
)%&,.%C7=7O7L##%&,%/7>?
ˆU&O#=7*O)%&,#%&,;5905\ &%
9Y=MpW#M$.G=R=?
wy
!"
1.2Speedcoding
Š';@%P%29^77L%%&7=1&>
2E=7O%%%.G9FF=7>?@%P YY997L
%%&51‚o'$‰oIeWwqw{pVr#=>%.b93?&,%29^
YY997<eWw%=>%=%b*O'*m%b%9F
F=7>?@%P5]=#@*5P%%$Pq>;%&`;
N;r%&9E#@9FF=7>;B%%m5;$;
&%;$P=B;.#2&%?ˆHO7D'@.'27D'@.$/
7<7M.…7M&B#=>%M+'(%&[*?I>%%&EG!
+@%P#5>G$'%*%&,%29^.=%,8SeWW%`
C$_93.=t#@%=.=F%V?~=#N7%/%?=J%
'; YY99%/7>%m8=3%&=*?m'2
QF%@%&M=R7(=%b‹‰lwwWem=w{i~?C
m7O;N=%&O%7L%/@%&w~#@ YY99?
o'$Q&\.F7D7OO%=F%%M7#%&,%&=R=%,
8=F%.C'$_93 YY99?
Š7N%O%%Fnguyên lý s9 dụng trung gian"#$_93=R*7#=
%&,4;90;*=5G%2$#%&,?
2. IBM và Fortran
&Gm=w{pV;M#[F'2t%&L9FF=7>?7O%F%*
%%.G9FF=7>%,*7L=2T%&M=D=;=>%)
%&,%29^%P&F%D%C? /&7C+‰oIeWV;=t%&L%
#@78=3.9FF=7>7R9:%G-%1+2E5
9^;51.,'2S*%Pb.@%29^9FF=7>?
Fortran 07L%(%'(.m=w{pV'27L@%/?
Fortran I7L%(%'(.m=w{pp.%.m=w{pe9
=‰oIeWV
Fortran II7LNP.=KQNw{py?O.D#t%&@%P
59^+Œ&%&‰.%=..m2E;)%&F%
#%&,7L59^&5@%?
w{
!"
Nguyên lý tách nhỏ: %&,'27L59^&5@%%,
5F%'}$/%7<%&=>%%&,BM%5>%&,7L
59^#!?@59^&5@%%&,7R#=%C
59^7L&[%47'.#7D'@7%%&%&,#G
?
Fortran III7L%%&;O'27LNP&>&R?[
‰oIwVWw5>G#U%`+O8Oy'?,.%&,59^7R$_93
.Y&#"76!E%&,#G5>G
b?
Nguyên lý linh động: v!7L%&,#G5>Gb%,
[7L%'P=R7P%Lq#=>%t8%^W;wr"7>
##.Y&#"7L7.=>%F%&[N?I>%5>)*#-$H%*
.Y&#"7LM%`5>G..K"M'OM?•
%1%F$/#7>"%&.@7<=2%&C5>G.N7P%L
%%`MO'*m9^.G?
;Fortran IV#!%&1%=>%%&E2E#%&,7L
$_93<5(%!%C7=7O?vL%%&%`w{iW7(w{i~.7L
gO%Œ&%&iiql ‰;w{iir?Œ&%&‰#=>%$/*%(+Œ&%&
‰‰
a 5'%C=5(
a N#@#/‰u%Y#‰uqYQ&Y$$r%&Y;u#$Y"
a O%7J%%&,#%=$P.%&,
'?
Nguyên lý vượt nhanh: &%&CL=>%%&,=PD
%&,'#%=$Pq7M.r%,*%&,
7L.5(&]7J%5(7O.%&,=P;%,%O%
7J%%z%&,7L#%=$P.%&,=P?
Fortran 77
Œ&%&‰7L%%(5\Œ&%ⅇO%&1%g=G%&w{ey
ql ‰;w{eyr?Œ&%&eeE#!M(%%bm+Œ&%&‰.%=.
~W
!"
Q_#-t'-%/;%7<.S#JKL.‰uO=>%=@7D%K
Ž#$Y?
Fortran 90ql ‰;w{{~r%,'7'.GŒ&%&ee?%7<#G
7L%=.#=*7>;5*;%&T;DN#@#/;.=2a
7?&;%&,%&Œ&%&{WO%7L=>%7@
)?
Nguyên lý kết hợp: =2a77O=%+%3.9E#@O#).G
7%&,'O%$_93909?
Fortran 95q‰‰ …‰ †…‰Ž;w{{er%(%3$/%%&+2E;
O=>%.$/%7<=>%.S#J=GŒ&##?
Fortran 2003t%&L#%&,G7P%L;'9:QF%7L%=$P
O;%&T%+%3;.%%.G2E#%&,?
Fortran 2008q‰ †…‰Žwph{aw;~WwWrO%bm=G
a F%&[††‹ˆˆŽ;.S#J'23%>#:
a a&&Œ&%&qlŒr;F=>%=2,%/%$$
3. Lập trình hàm
l‰q%&b%@N%!r54%7M7L)%N=.EEm=w{pW;=>%$P
#2E;=>%$P%`%N=#-.=>%$P%`%?2E
%,)%N=.G.@Q_#-2E%/?N=#-%,%[.G=2
,O.@#%&E.%&QF%%2%C;B)%&,Q_#-
5*'+5>R?%%,)%N=%&.@%/7>O
%2=7O;z!=7^#-?F%*
.@9:%GK=>%'(%#.*7L%
%&76=%bQ_#-9E#@'-@%&9$#'(%?!
#[;M(%%b%%,%&9E#@$P%&=*?
‰ v%%&2E#%&,=;7L%(%'(51I&%
%!I‰m=w{py?
O'9E#@%P.9$?%P#'-@
#E$P?
~w
!"
[‰ %,&F%'.G2E=@#@;51.,O#=>%2
E#%&,=?b93;[+‚.#$/'(%L%!E%(l
.7!$P;%&'[‰ #=>%=2,+$/7*9/%&6
%b#=59?
IR%&,.9E#@OK,%9$7L7J%%&
9FJ7?b93qlor
7L%@#9E#@;O#9$]=5PM%_?7LQY=
#=R;O#$/'%&+=O%#l7(5%=$Po;.?
v(.:S7L$_93<5(%&l‰?
Nguyên lý linh động: #[7O7@%/F%&[9E#@m
Q(;7L5%'-@s($_93=*%,=t#M%=QO
M%_%,*F%#!*%<#!%5>F%&[.,M%_
7L#%&E%&5>G#%(?G9$#'(%;5>GM
%_\=&C&!%O%%=;#!5T7<M%_%!5F%'}
7=%&9$&F%909?
4. Bắt đầu khái niệm chia sẻ thời gian
2Eol ‰7L%(%'(51Y=Y.&%‡%!&%=%?
I3%%(%'(
a 0$_93*.GC=G
a 2E#%&,==37b
a 6'*m#%&,N9&=
.:E7L$/7*C=G
a O%%.GC9K
a %25#t&U&.%N%@
a !.G%&,T
a 2M*5(%.DM=%b
a vEC$_93.@7D
2EN+O7L$_93<5(@#‰ ‹l
ol ‰?
~~
!"
2E7M%7L$_93&>&R%2)%(%5^7MP'(%P
7(=%b%`Qq%&G7OO‰ '2<5(rC@%P$j
%C?
Nguyên lý liên tục tác động c< =ch: .G@%P$j%C;%CQ_
#-+=+7LT&.=tC$_937L=>%%C4
%M%/? /#N7O7+7C$_93$HO*=#7L
$_93%5>=?vD$H*=%7Lb;B%93%P
72$F%+=?
5. Hai ngôn ngữ động đầu tiên:
a O7J7=#7^'7>.F%5>G7>
a 5(%,7L7^''O7L.=>%%&^?
a o>G7LF%=>%5('O7L.=>%%&^?*
7D'2*1D7(2Eb$
p?wAPL: A Programming Language
o7M'27L%(%'(=>%2E#%&,=9/7^#=>%
%@7=2%*'(%&[=%b;%!‰oI51Y‰.Y&$.m=w{iW?
OD%%_F=>%#L#G%%%&=*q.b93;.^
=%&8M=>%%%_9F%r?;%&,&F%'O77?
.:S$_93b%O$/%7<7'?
p?~SNOBOL
vL%(%'(#=>%2E%%t%!S%b@=oY##51
Œ&5Y&;Z&$n#9.#Y$'.m=w{iV?O%%_7M$=!
.@$'G=:t?o1.,5*F%7>+2E#=O=
$.G2E%%/q..,.'2S7L$_935>$!
%*.m5*r?.:S$_93%&=>%b%%.3.DQ_#-.m5*?
6. Bắt đầu trừu tượng hóa dữ liệu:
vL%(%'(+(.@=2T@%P1‹51&9.
#?/%&lZ†iW. ‰I‹l‰?
OE7=b
a I>%#!%&,7L#&%Y"?
~h
!"
a OF%&[#Gq54%7M,%'@=%&`%LO9E#@r
Nguyên tắc chuy7n sang chi8u khác: 2%C=P)@E=>%
%&,=>%%&,'.=>%%&,5^#=P
)@+a%G"?S=P)@E&%Y.&%Y7L%,
?&%Y#=>%%#!7J5@%+%&,?2
%C&%Y7L%!&%&=>%9351=>%7.^
%&,#7.^+q'2*#=>%&%Yr?7L%!&;
&%Y%/@7!=R'1%!+[.$7O%&*)D7D'
7.^+?%5>&%Y7L'1%!;%&,+
&Y$=Y"=>%&%Y7O;.&%Y$H&Y$=Y"#:%Y=>%
%%/7O+2.@?v('2.@%&%Y$H%&*
)D7D'7.^+?[O%&%Y$H5^F=9%
%(%3.:!%K%Y%&,?I>%.b93.D.F7D#=2T%&S
75?Z*$_&\%&SO5PC?I>%7.^
%&,+$H%!&5P&%Y?%&,+$H'17>%&,=2
T5\&Y$=Y"=>%&%Y+C7O?C
Q#L%%,$H&Y$=Y"7(&%Y+C'(%(;.%(%3.
7('(%%[%&S?
Nguyên tắc đồng nhất: CO$/7]F%$/%&,5+;.%%%&
7P%L%'9E#@7L%&`%LO=#=$/%7<5
909E#@=R%/%'2#==RC9%7<?&%&`
%LO9E#@S[7OO9E#@75*.@9E#@'25^%&QF%
%&/%(51=RC9K?
7. Thiết kế trực giao:
(%3%%&%`lZ†iW'2*#=>%%+2
E?
(%'(9/%&'@=+%&/"qO=>%.'@=5*;%=
.=>%.$/'(%L+(r?
O%bm7[-
a F%&[9E#@9C$_937^A
~V
!"
a %=(
a I*7>q'5=*'2M8'b%Gr
lZ†iyb%7L$_93lZ†iW?*1=!=H
#2E$;7J5@%#$#;.l9?
8. Lập trình dựa trên Logic:
vL%%&51=Y&Y&.ˆ$$Y#q7!lQaI&$Y##Yr.G$/[
7€+n#$'q7!Ž95&r?
2O%+%3?
O%%O=#!#=>%@%P$19E#@%2=$_93=>%)
%&,$907$&$/%%q'(%)*r+N%&.F?
Ob%7L$_93&>&R51.,%('2=@#@;
%&,7L.(%5\2E#27(7R7L='2O@
)*$.G%&,=@#@?;.K93+OT
=>%$Pb%#!@%P)*#-$19E#@.=>%$P%&,l‰?
9. Lập trình hướng đối tượng:
vL%%&%!fY&Qlˆ;'1%!51l#;$7L%/
@51l9Y#YZ#95Y&?
2E7M%@%/7M7+G7P%Lq%&`%LO9E#@;
%`'(;.&5>7>r?
v%%&#A./%(%'(9@C$_93.7g=!
††?
Nguyên lý tách khỏi và nguyên lý kết hợp: %&,'2††
%C#=>%9$9N#@?%&,%!%,%C
O=N#@.=;=t=>%[$H%/@=>%2.@7O?
G%(%'(7O9E#@+%&,90%&1%3?%&,
#G9M;$HOD=O)D%7<9E#@;7DOA'O#t$H
*1&>?GG7P%L;#%&,.7J%9E#@.=
O'2%5^%&%&/%(51MS#!+%&,?.
7O;9E#@$H7L%&51%?(%L9E#@.G%
%7%&.)*#-9E#@%,7L#=>%7P%L?
~p