Bài giảng Nhập môn lập trình: Chương 1 – Phạm Minh Tuấn

31 23 0
Bài giảng Nhập môn lập trình: Chương 1 – Phạm Minh Tuấn

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Bài giảng “Nhập môn lập trình – Chương 1: Giới thiệu” cung cấp cho người học các kiến thức: Khái niệm về chương trình máy tính, các ngôn ngữ lập trình, các khái niệm cơ bản về lập trình, các vấn đề tìm hiểu mở rộng kiến thức nghề nghiệp,… Mời các bạn cùng tham khảo.

Nhập mơn lập trình Trình bày: Phạm Minh Tuấn; Email: pmtuan@fit.hcmus.edu.vn Khái niệm chương trình máy tính Các ngơn ngữ lập trình Các khái niệm lập trình Các vấn đề tìm hiểu mở rộng kiến thức nghề nghiệp Thuật ngữ đọc thêm tiếng Anh 11/10/2012 Khoa CNTT - ĐH Khoa học tự nhiên • Khái niệm – CPU máy tính thiết kế để thực chương trình mã máy (machine code program) hệ điều hành (HĐH) nạp vào RAM máy tính – Chương trình mã máy thường phải tương thích với họ máy cụ thể, bao gồm tập hợp thị viết lệnh CPU họ máy đó, lưu đĩa dạng tập tin mã thực thi (executable program file) HĐH cụ thể 11/10/2012 Khoa CNTT - ĐH Khoa học tự nhiên • Qui trình thực – B1 Người sử dụng (người dùng cuối – end user) lệnh thực (chạy) chương trình – B2 HĐH nhận lệnh thực hiện: • Tìm nạp tập tin mã thực thi chương trình (nằm đĩa) vào RAM máy tính • Bộ đếm lệnh CPU (CPU program counter) trỏ đến lệnh chương trình (cịn gọi ngõ chương trình – program entry point) 11/10/2012 Khoa CNTT - ĐH Khoa học tự nhiên • Qui trình thực (tiếp theo) – B3 CPU thực thị RAM gặp lệnh kết thúc: • Chép lệnh mã máy hành vào ghi lệnh • Tăng đếm lệnh (để trỏ đến lệnh kế tiếp) • Thi hành lệnh mã máy – B4 Kết thúc thực chương trình, HĐH chờ nhận lệnh 11/10/2012 Khoa CNTT - ĐH Khoa học tự nhiên • Đặc điểm – Mỗi thị chương trình lệnh mã máy (một dãy byte phù hợp với qui ước tập lệnh loại CPU đó) – Được cấu trúc hóa theo qui ước HĐH – Được chạy họ CPU HĐH cụ thể – Nội dung khó hiểu người dùng máy tính, có CPU thích hợp với hiểu rõ thi hành 11/10/2012 Khoa CNTT - ĐH Khoa học tự nhiên • Nhận xét – Khó sản xuất phần mềm cách viết trực tiếp chương trình mã máy – Nếu có làm theo cách thì: • Giá đắt q khó, tốn q nhiều thời gian cơng sức • Khả dùng lại giới hạn khơng thể bán cho người dùng họ máy tính khác hay người dùng sử dụng hệ điều hành khác 11/10/2012 Khoa CNTT - ĐH Khoa học tự nhiên • Khái niệm – Việc viết chương trình mã máy cực hiệu lập trình viên chuyên nghiệp giải pháp khởi đầu sử dụng NNLT cấp thấp hợp ngữ NNLT cấp cao (sẽ bàn phần sau) – Chương trình viết NNLT gọi chương trình nguồn (source code program) hay mã nguồn (source code) 11/10/2012 Khoa CNTT - ĐH Khoa học tự nhiên • Chương trình nguồn dịch sang chương trình mã máy chương trình dịch: – Trình hợp dịch (assembler) để dịch chương trình hợp ngữ – Trình thơng dịch (interpreter) trình biên dịch (compiler) để dịch chương trình cấp cao 11/10/2012 Khoa CNTT - ĐH Khoa học tự nhiên 10 • Một chương trình (program) dãy thị (instruction) điều khiển hoạt động máy tính nhằm giải cơng việc • Người viết chương trình (cịn gọi lập trình viên hay thảo chương viên – programmer) người tạo lập chương trình máy tính 11/10/2012 Khoa CNTT - ĐH Khoa học tự nhiên 17 • Hai chương trình đơn giản sau in dịng chữ có nội dung “Hello everybody!” NNLT Java C Chương trình Java 11/10/2012 // Hello.java import java.util.*; public class Hello { public static void main(String argv[]) { System.out.print(“Hello everybody!”); } } Chương trình C /* Hello.c */ #include void main(void) { pritnf(“Hello everybody!”); } Khoa CNTT - ĐH Khoa học tự nhiên 18 • Đối với NNLT cấp cao truyền thống (trước hệ Java C#), trình viết, dịch chạy chương trình gồm cơng đoạn sau: – – – – B1 Soạn chương trình nguồn lưu lên đĩa B2 Dịch chương trình nguồn nhờ trình biên dịch B3 Nối kết tập tin mã trung gian tạo B2 B4 Chạy chương trình ngôn ngữ máy tạo B3 11/10/2012 Khoa CNTT - ĐH Khoa học tự nhiên 19 • Hạn chế chương trình cấp cao truyền thống trình biên dịch chúng phát sinh trực tiếp mã thực thi phụ thuộc vào mã máy tính họ máy tính hệ điều hành cụ thể nên khơng thể mang sử dụng hệ điều hành khác 11/10/2012 Khoa CNTT - ĐH Khoa học tự nhiên 21 • NNLT đại Java hay C# trình biên dịch không dịch trực tiếp mã nguồn thành mã thực thi mà thiết kế để dịch thành mã thực thi trừu tượng (abstract executable code) độc lập máy hệ điều hành 11/10/2012 Khoa CNTT - ĐH Khoa học tự nhiên 22 • Do máy tính thật hiểu mã trừu tượng nên chương trình dạng mã thực thi trừu tượng chạy có sẵn máy ảo hỗ trợ cho việc thi hành loại mã thực thi – Chương trình nguồn Java (tập tin *.java) dịch thành mã thực thi khơng phụ thuộc máy tính (tập tin *.class) chạy máy tính cài đặt máy ảo Java (Java Virtual Machine – JVM) 11/10/2012 Khoa CNTT - ĐH Khoa học tự nhiên 23 • Trong năm gần đây, ứng dụng chạy web phát triển mạnh – Chạy internet thơng qua trình duyệt web – Được viết ngôn ngữ PHP, JSP, Java Script, VB Script… có tính tương thích cao, hoạt động máy tính có internet 11/10/2012 Khoa CNTT - ĐH Khoa học tự nhiên 24 • Tồn qui trình biên dịch thực cách dễ dàng thuận tiện nhờ vào công cụ gọi môi trường phát triển phần mềm (Integrated Development Environment – IDE) – – – – – Soạn thảo chương trình Quản lý hệ thống tập tin mã nguồn Quản lý hệ thống phiên mã nguồn Kiểm tra lỗi cú pháp, biên dịch, liên kết chương trình Chạy dịng lệnh (debug) để tìm lỗi 11/10/2012 Khoa CNTT - ĐH Khoa học tự nhiên 25 • Một số IDE thơng dụng: – Eclipse: hỗ trợ nhiều ngôn ngữ – C++ Visual Studio: ngôn ngữ C++ – C# Visual Studio: ngôn ngữ C# – Visual Café: ngôn ngữ Java – J Builder: ngôn ngữ Java 11/10/2012 Khoa CNTT - ĐH Khoa học tự nhiên 26 • • • • • • • • • • • • • abstract executable code: mã trừu tượng assembler: trình hợp dịch assembly language: hợp ngữ compiler: trình biên dịch data type: kiểu liệu debug: chạy chương trình theo dịng lệnh để tìm lỗi executable program file: tập tin mã thực thi end user(s): người sử dụng, người dùng cuối IDE: viết tắt “Integrated Development Environment”, mơi trường phát triển chương trình tích hợp instruction: thị interpreter: trình thơng dịch link: nối kết mã trung gian linker (hay link program): chương trình liên kết mã trung gian 11/10/2012 Khoa CNTT - ĐH Khoa học tự nhiên 28 • • machine code program: chương trình mã máy object code: mã đối tượng, loại mã trung gian chưa phải mã máy • • • • • • • • • • • program entry point: ngõ vào chương trình program: chương trình programmer: người viết chương trình, lập trình viên, từ cũ: “thảo chương viên” programming language: ngôn ngữ lập trình low-level programming language: ngơn ngữ lập trình cấp thấp high-level programming language: ngơn ngữ lập trình cấp cao programming: lập trình source code program: chương trình nguồn source code: mã nguồn syntax error: lỗi cú pháp text editor: trình soạn thảo văn (có thể dùng để soạn mã nguồn) thật 11/10/2012 Khoa CNTT - ĐH Khoa học tự nhiên 29 • Thinking in C, Bruce Eckel, E-book, 2006 • Theory and Problems of Fundamentals of Computing with C++, John R.Hubbard, Schaum’s Outlines Series, McGraw-Hill, 1998 11/10/2012 Khoa CNTT - ĐH Khoa học tự nhiên 30 ... tạo lập chương trình máy tính 11 /10 /2 012 Khoa CNTT - ĐH Khoa học tự nhiên 17 • Hai chương trình đơn giản sau in dịng chữ có nội dung “Hello everybody!” NNLT Java C Chương trình Java 11 /10 /2 012 ... tự nhiên 14 • NNLT cấp thấp – Hợp ngữ (assembly language) • NNLT cấp cao – C/C++ – COBOL – FORTRAN – Java, C# – PHP, Ruby, Perl – Ada, BASIC, Visual Basic (VB), Lisp, Pascal, … 11 /10 /2 012 Khoa... (source code) 11 /10 /2 012 Khoa CNTT - ĐH Khoa học tự nhiên • Chương trình nguồn dịch sang chương trình mã máy chương trình dịch: – Trình hợp dịch (assembler) để dịch chương trình hợp ngữ – Trình thơng

Ngày đăng: 03/11/2020, 05:11

Tài liệu cùng người dùng

Tài liệu liên quan