intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Tin học đại cương: Chương 5 - Lê Thị Ngọc Thảo

Chia sẻ: _ _ | Ngày: | Loại File: PDF | Số trang:17

11
lượt xem
4
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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!

Chủ đề:
Lưu

Nội dung Text: Bài giảng Tin học đại cương: Chương 5 - Lê Thị Ngọc Thảo

  1. 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
  2. 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
  3. 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
  4. 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
  5. 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
  6. 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
  7. 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
  8. 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
  9. Assembly Language (2) ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 166
  10. 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
  11. 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
  12. 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
  13. 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
  14. 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
  15. 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
  16. 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
  17. 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
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
11=>2