Bài giảng Tin học đại cương: Chương 5 - Lê Thị Ngọc Thảo
lượt xem 4
download
Bài giảng Tin học đại cương: Chương 5 Các ngôn ngữ lập trình, cung cấp cho người học những kiến thức như khái niệm ngôn ngữ lập trình; Sự tiến hóa của ngôn ngữ lập trình; Các ngôn ngữ lập trình tiêu biểu; Biên dịch và thông dịch; Các phương pháp lập trình. Mời các bạn cùng tham khảo!
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Tin học đại cương: Chương 5 - Lê Thị Ngọc Thảo
- CHƯƠNG 5: CÁC NGÔN NGỮ LẬP TRÌNH ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 158
- Chương 5: Các ngôn ngữ lập trình Khái niệm ngôn ngữ lập trình Sự tiến hóa của ngôn ngữ lập trình Các ngôn ngữ lập trình tiêu biểu Biên dịch và thông dịch Các phương pháp lập trình ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 159
- Khái niệm ngôn ngữ lập trình (1) Con người “nói chuyện” với nhau: • Ngôn ngữ tự nhiên Con người “nói chuyện” với máy tính: • Ngôn ngữ lập trình ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 160
- Khái niệm ngôn ngữ lập trình (2) Ngôn ngữ lập trình(Programming language) là một hệ thống dùng để viết các chương trình cho máy tính bao gồm: • Một tập hữu hạn các kí hiệu • Một tập hữu hạn các qui ước về • Cú pháp(Syntax): một chuỗi các kí hiệu hợp lệ • Ngữ nghĩa(Semantic): ý nghĩa của các kí hiệu Chương trình (Program) là một tập lệnh (instruction) điều khiển việc xử lý dữ liệu (data) của máy tính Program = Data Structures + Algorithms ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 161
- Sự tiến hóa của ngôn ngữ lập trình High Level Language (Pascal, C, C++, Java, C#, Prolog, Lisp, . . .) Được dịch bởi Compiler hoặc Interpreter Assembly language (Assembly language) Được dịch bởi Assembler Machine Language ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 162
- Machine Language (1) Là ngôn ngữ duy nhất được máy tính hiểu trực tiếp Sử dụng hệ thống số nhị phân để biểu diễn lệnh (Instruction) Instruction = mẫu bit (bit pattern) được hiểu bởi phần cứng máy tính • Instruction: Opcode | Operands • Chương trình là một dãy các chỉ thị Memory CPU 010001001100 . . . 000110100010 I/O ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 163
- Machine Language (2) Ưu điểm Chương trình viết bằng ngôn ngữ máy thực thi nhanh Nhược điểm Lập trình khó Phụ thuộc cấu hình phần cứng của máy Dễ dẫn đến sai sót Khó bảo trì và sửa lỗi ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 164
- Assembly Language (1) Dùng Alphanumberic code để biểu diễn lệnh và địa chỉ ô nhớ thay vì bit pattern • Ví dụ 1: MOV r0,B #move B into register r0 ADD r0,C #add MOV A, r0 #store • Ví dụ 2: Tính (A+B)2 = A2 + 2AB + B2 LOAD A MULT A STORE H1 # H1 chứa A2 LOAD A MULT B MULT 2 STORE H2 # H2 chứa 2AB LOAD B MULT B ADD H1 ADD H2 # H2 chứa kết quả ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 165
- Assembly Language (2) ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 166
- Assembly Language (3) Chương trình được viết bằng ngôn ngữ Assembly trước khi được thực thi bởi CPU nó phải được dịch sang mã máy (machine code). Assembler Source code in Object code in Assembly language Machine language Ưu điểm • Việc lập trình nhanh hơn, và chương trình đọc dễ hiểu hơn ngôn ngữ mã máy • Nguời lập trình dễ nhớ lệnh hơn dùng mã máy Nhược điểm • Chương trình phụ thuộc bộ xử lý • Chương trình chạy chậm hơn khi được viết bằng mã máy ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 167
- Ngôn ngữ lập trình cấp cao Thân thiện với người sử dụng, bởi vì nó dùng các khái niệm, thuật ngữ gần với ngôn ngữ tự nhiên. • Ví dụ 1: if A > B then print “A larger than B” else print “A less than B” 1 n=0 • Ví dụ 2: n!= int fact(int n) { if (n==0) n*(n-1)! n>0 return 1 else return n*fact(n-1) } Độc lập với các hệ máy Chương trình dễ đọc, dễ hiểu, dễ bảo trì Khả chuyển trên nhiều hệ máy khác nhau Chương trình phải được dịch sang mã máy trước khi được thực thi ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 168
- Một số ngôn ngữ lập trình cấp cao BASIC, Beginner's All-Purpose Symbolic Instruction Code • John Kermeny và Thomas Kurtz (1964) tại trường đại học Dartmouth. COBOL, COmmon Business Oriented Language, • Bộ quốc phòng Hoa Kỳ (1960) hình thức tựa tiếng Anh C • Dennis Ritchie, phòng thí nghiệm Bell vào năm 1972 FORTRAN, FORmula TRANslator • IBM, John Backus (1957) dành cho khoa học, kỹ sư & toán học PASCAL • Niklaus Wirth, Zurich, Thụy Sĩ,1968, giảng dạy lập trình. • Blaise Pascal (1623 - 1662) người đầu tiên tạo ra máy tính ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 169
- Lịch sử phát triển các NNLT ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 170
- Quá Trình Dịch Một Chương Trình ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 171
- Thông dịch & Biên dịch (1) Source program Compiler Target program Biên dịch Input Target program Output Source program Interpreter Output Thông dịch Input ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 172
- Thông dịch & Biên dịch (2) Compiler Interpreter Dịch toàn bộ chương trình nguồn Dịch và thực thi từng dòng lệnh thành mã đối tượng. một của chương trình nguồn. Mã đối tượng được lưu lại thành Mỗi lần thực thi chương trình các tập tin .Obj để sử dụng cho đều phải dịch lại mã nguồn các lần thực thi chương trình sau làm cho chương trình chạy đó, mà không cần phải dịch lại chậm. chương trình làm cho chương trình chạy nhanh hơn. Trong quá trình dịch, nếu phát Hiển thị lỗi từng dòng lệnh của hiện lỗi, compiler sẽ hiển thị lỗi chương trình nguồn của toàn bộ chương trình nguồn. ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 173
- Các phương pháp lập trình Lập trình cấu trúc (Structural Programming) • Tính đơn thể, • Cấu trúc điều khiển • Vào/Ra đơn. • Dễ: viết, đọc, hiểu, kiểm lỗi và hiệu chỉnh. Lập trình hướng đối tượng (Object Oriented Programming – OOP) • Phương pháp kết hợp cả dữ liệu và các câu lệnh của chương trình. • Tạo ra các đối tượng (object) ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 174
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Tin học đại cương: Chương 1 - Học viện ngân hàng
7 p | 383 | 24
-
Bài giảng Tin học đại cương: Bài 4 - ĐH Bách khoa Hà Nội
8 p | 155 | 13
-
Bài giảng Tin học đại cương: Bài 5 - ĐH Bách khoa Hà Nội
7 p | 134 | 13
-
Bài giảng Tin học đại cương: Bài 9 - ĐH Bách khoa Hà Nội
16 p | 129 | 11
-
Bài giảng Tin học đại cương: Chương 2 - Tin học và công nghệ thông tin
12 p | 184 | 10
-
Bài giảng Tin học đại cương: Bài 6 - ĐH Bách khoa Hà Nội
13 p | 137 | 10
-
Bài giảng Tin học đại cương: Bài 8 - ĐH Bách khoa Hà Nội
10 p | 111 | 8
-
Bài giảng Tin học đại cương: Bài 3 - ĐH Bách khoa Hà Nội
14 p | 144 | 8
-
Bài giảng Tin học đại cương: Bài 10 - ĐH Bách khoa Hà Nội
7 p | 105 | 7
-
Bài giảng Tin học đại cương: Bài 7 - ĐH Bách khoa Hà Nội
18 p | 119 | 7
-
Bài giảng Tin học đại cương: Phần 1 - ThS. Phạm Thanh Bình
18 p | 93 | 6
-
Bài giảng Tin học đại cương: Bài 11 - ĐH Bách khoa Hà Nội
8 p | 99 | 6
-
Bài giảng Tin học đại cương: Chương 1 - Đại cương về tin học
16 p | 124 | 5
-
Bài giảng Tin học đại cương: Bài 0 - TS. Đỗ Bá Lâm
8 p | 147 | 5
-
Bài giảng Tin học đại cương: Bài mở đầu - Phạm Xuân Cường
7 p | 66 | 3
-
Bài giảng Tin học đại cương: Chương 1 - Đặng Xuân Hà
10 p | 85 | 2
-
Bài giảng Tin học đại cương: Bài 13 - Bùi Thị Thu Cúc
10 p | 79 | 2
-
Bài giảng Tin học đại cương: Tổng quan về cơ sở dữ liệu - ThS. Ngô Cao Định
11 p | 7 | 2
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn