Bài giảng Nguyên lý ngôn ngữ lập trình - Chương 1: Giới thiệu - Nguyễn Văn Hòa

NGUYÊN LÝ NGÔN NGꢀ  
LꢁP TRÌNH  
Giꢀng viên: Nguyꢁn Văn Hòa  
Khoa KT-CN-MT – ðH An Giang  
1
Thông tin cꢂn thiꢃt  
ꢀ ðꢂa chꢃ email : [email protected]  
ꢀ Chꢃ liên lꢄc qua ñiꢅn thoꢄi nꢆu thꢇt cꢈn thiꢆt  
ꢀ Tài liꢅu cꢉa môn hꢊc:  
ꢀ Qui ñꢂnh trong lꢋp:  
2
Mꢄc tiêu cꢅa môn hꢆc  
ꢀ Nꢌm ñưꢍc các nguyên lý (NL) cꢉa ngôn ngꢎ lꢇp  
trình (NNLT)  
ꢀ Tìm hiꢏu sꢐ phát triꢏn cꢉa NNLT  
ꢀ Nꢌm ñưꢍc các kiꢏu dꢎ liꢅu và các cꢑu trúc ñiꢒu  
khiꢏn  
ꢀ Hiꢏu ñưꢍc các phương thꢓc (paradigm) lꢇp trình  
(LT) như hưꢋng ñꢔi tưꢍng, hàm, logic và song  
song  
3
Yêu cꢂu môn hꢆc  
ꢀ Lꢇp trình bꢕng Pascal, C và C++, Java, C#  
ꢀ Sinh viên phꢀi dꢐ lꢋp ñꢈy ñꢉ  
ꢀ Tham gia nhꢎng lꢈn kiꢏm tra tꢄi lꢋp  
4
ðánh giá môn hꢆc  
ꢀ Dꢐ lꢋp: 10%  
ꢀ Kiꢏm tra: 40%  
ꢀ Thi hꢆt môn : 50%  
ꢀ Question & discussion!!!  
5
Nꢇi dung môn hꢆc  
ꢀ Giꢋi thiꢅu ngôn ngꢎ lꢇp trình  
ꢀ Các kiꢏu dꢎ liꢅu  
ꢀ Các cꢑu trúc ñiꢒu khiꢏn  
ꢀ Chương trình con  
ꢀ Ngôn ngꢎ lꢇp trình hưꢋng ñꢔi tưꢍng  
ꢀ Ngôn ngꢎ lꢇp trình hàm  
ꢀ Ngôn ngꢎ lꢇp trình logic  
ꢀ Ngôn ngꢎ lꢇp trình song song  
6
Tài liꢈu tham khꢉo  
ꢀ Giáo trình Ngôn ngꢀ lꢁp trình, Nguyꢁn Văn Linh,  
2003, ðHCT  
ꢀ Ngôn ngꢀ lꢁp trình: các nguyên lý và mô hình,  
Cao Hoàng Trꢖ, ðH QG HCM, 2004  
ꢀ Concept of Programming Languages, Robert W.  
Sebesta, Sixth Edition, 2004  
7
Chương 1: Giꢊi thiꢈu  
8
Nꢇi dung  
ꢀ Giꢋi thiꢅu  
ꢀ Lꢂch sꢗ phát triꢏn cꢉa máy tính  
ꢀ Lꢂch sꢗ phát triꢏn cꢉa NNLT  
ꢀ Vai trò cꢉa NNLT  
ꢀ Lꢍi ích cꢉa viꢅc hꢊc NNLT  
ꢀ Các tiêu chuꢘn ñánh giá NNLT  
9
Giꢊi thiꢈu  
ꢀ Lꢇp trình máy tính  
ꢁ Lꢇp trình máy tính là mꢙt cách nghĩ vꢒ các vꢑn ñꢒ  
ꢁ Biên dꢂch thành nhꢎng chꢃ thꢂ ñꢏ máy tính thꢐc thi  
ꢁ Sꢀn phꢘm là các chương trình  
ꢀ Chương trình  
ꢁ Mꢙt tꢇp hꢍp riêng biꢅt các hoꢄt ñꢙng có thꢓ tꢐ cho mꢙt  
máy tính thꢐc hiꢅn  
ꢁ Chương trình bao gꢚm mꢙt chuꢛi các chꢃ thꢂ lꢈn lưꢍt  
mà máy tính phꢀi tuân theo  
10  
Giꢊi thiꢈu (tt)  
ꢀ Lꢇp trình  
ꢁ Thao tác nhꢕm kiꢆn tꢄo nên các chương trình máy tính  
thông qua các ngôn ngꢎ lꢇp trình  
ꢁ Còn gꢊi là quá trình mã hoá thông tin tꢐ nhiên thành  
ngôn ngꢎ máy  
ꢁ Quá trình này còn ñưꢍc gꢊi là là "viꢆt mã“  
ꢀ Mã nguꢚn chương trình  
ꢁ Nhꢎng chꢃ thꢂ góp phꢈn tꢄo nên chương trình ñưꢍc gꢊi  
là mã nguꢚn cꢉa chương trình  
ꢁ Mꢛi NNLT cũng chính là mꢙt chương trình, ñưꢍc dùng  
ñꢏ tꢄo nên các chương trình khác  
11  
Ngôn ngꢋ lꢌp trình  
ꢀ NNLT là ngôn ngꢎ dùng ñꢏ viꢆt các chương trình  
cho máy tính  
ꢀ NNLT có tꢜ vꢐng, cú pháp và ngꢎ nghĩa (trình  
biên dꢂch)  
ꢀ Ba loꢄi NNLT:  
ꢁ Ngôn ngꢎ máy (nhꢂ phân)  
ꢁ Hꢍp ngꢎ (NN cꢑp thꢑp)  
ꢁ Ngôn ngꢎ cꢑp cao (Pascal, C, C++, Java,…)  
12  
ðꢍc tính cꢅa ngôn ngꢋ máy  
ꢀ Mã lꢅnh nhꢂ phân ñꢏ thꢐc thi tác vꢖ  
ꢀ Dòng ñiꢒu khiꢏn (control flow) dꢐa trên labels và  
rꢝ nhánh có ñiꢒu kiꢅn (conditional branches)  
ꢀ Tưꢞng minh vꢒ ñꢂa chꢃ (location), e.g. registers,  
cho các biꢆn và kꢆt quꢀ trung gian  
ꢀ Tưꢞng minh vꢒ quꢀn lý bꢙ nhꢋ (e.g stack)  
13  
ðꢍc tính cꢅa NNLT  
ꢀ Diꢁn ñꢄt ꢟ mꢓc phꢓc tꢄp (toán hꢊc, logic)  
ꢀ Có cꢑu trúc ñiꢒu khiꢏn (Loops, Selection, Cases)  
ꢀ Sꢐ kꢆt hꢍp kiꢏu cơ bꢀn (array, record, etc)  
ꢀ Khai báo và kiꢏm tra kiꢏu  
ꢀ Hꢛ trꢍ nhiꢒu cách lưu trꢎ (global/local/heap)  
ꢀ Procedure/function  
ꢀ Kiꢏu dꢎ liꢅu trù tưꢍng, module, object, etc  
14  
Lꢎch sꢏ phát triꢐn cꢅa máy tính  
Máy tính c  
•N 1837  
ðꢍ  
ꢅa Babbage  
ăm  
•
c ñiꢐm  
Store (memory)  
Mill (CPU)  
Looping  
Conditional  
=> Không thành công  
15  
Lꢎch sꢏ phát triꢐn cꢅa máy tính (tt)  
ꢀ
ENIAC: plug and play circa 1945  
16  
Lꢎch sꢏ phát triꢐn cꢅa NNLT  
ꢀ
Sꢐ phát triꢏn cꢉa NNLT gꢌng liꢒn vꢋi khoa hꢊc máy tính  
ꢁ
ꢁ
ꢁ
ꢁ
ꢁ
ꢁ
ꢁ
ꢁ
ꢁ
ꢁ
1920’s: computer ~ «person»  
1936: Church’s Lambda Calculus (= PL!)  
1937: Shannon’s digital circuit design  
1940’s: first digital computers  
1950’s: FORTRAN (= PL!)  
1958: LISP (LISt Processing language)  
1960’s: Unix  
1972: C Programming Language  
1981: TCP/IP  
1985: Microsoft Windows  
17  
Bꢑn biꢃt ñưꢒc nhꢋng NNLT nào?  
ꢀ FORTRAN, COBOL, RPG, (Visual) BASIC,  
ALGOL-60, ALGOL-68, PL/I,  
ꢀ C, C++, Java, C#, Pascal, Modula, Oberon, Lisp,  
Scheme, ML, Haskell,  
ꢀ Ada, Prolog, Goedel, Curry, Snobol, ICON,  
ꢀ . . .  
18  
19  
Tꢑi sao có rꢓt nhiꢔu NNLT  
ꢀ Sꢐ ña dꢄng vꢒ ñꢠc ñiꢏm  
ꢁ e.g. goto vs if-then, swich-case, while-do  
ꢁ Quꢀn lý bꢙ nhꢋ: programmer (C,C++) vs. language  
(Java through garbage collection)  
ꢀ Sꢐ ưa thích cꢉa lꢇp trình viên  
ꢁ procedure vs. function  
ꢀ Sꢐ phát triꢏn cꢉa phꢈn cꢓng  
ꢀ Mꢖc tiêu ñꢠc biꢅt cꢉa tꢜng NNLT  
20  
Tải về để xem bản đầy đủ
pdf 44 trang myanh 19000 Free
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Nguyên lý ngôn ngữ lập trình - Chương 1: Giới thiệu - Nguyễn Văn Hòa", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_nguyen_ly_ngon_ngu_lap_trinh_chuong_1_gioi_thieu_n.pdf