Please enable JavaScript.
Coggle requires JavaScript to display documents.
CHƯƠNG 1: TỔNG QUAN VỀ KỸ THUẬT LẬP TRÌNH - Coggle Diagram
CHƯƠNG 1: TỔNG QUAN VỀ
KỸ THUẬT LẬP TRÌNH
1.1. Chương trình máy tính
Chương trình máy tính
Tập hợp các câu lệnh được viết bằng ngôn ngữ lập trình theo trật tự xác định
Phương pháp giải quyết vấn đề bằng máy tính
cần phải xây dựng chương trình máy tính tương ứng
xử lý thông tin có sẵn
1.2. Giải thuật
Khái niệm giải thuật
Là một dãy hữu hạn các thao tác, có thể thực hiện được theo một trình tự xác định
Phải xác định rõ giải thuật tác động lên dữ liệu nào.
Các tính chất của giải thuật
Tính hữu hạn: Giải thuật phải kết thúc sau một số hữu hạn bước.
Tính xác định
Mỗi bước phải chính xác, chặt chẽ, rõ ràng.
Với cùng một dữ liệu đầu vào → chỉ trả về 1 kết quả duy nhất.
Tính hiệu quả: Giải thuật đơn giản, dễ cài đặt, không tốn nhiều bộ nhớ, thực hiện nhanh.
Cách diễn đạt giải thuật
3 cách chính
Cách 1: Liệt kê từng bước bằng ngôn ngữ tự nhiên
Bước 1: So sánh a và b, nếu a = b thì dừng giải thuật và thông báo (a,b) = b. Nếu a ≠ b thì chuyển sang bước 2
Bước 2: Nếu a > b thì thay thế a bởi a-b, nếu a < b thì thay thế b bởi b-a. Quay lại thực hiện bước 1
Cách 2: Dùng lưu đồ
Sử dụng các hình khối cơ bản (Bắt đầu, Kết thúc, Khối Input, Khối Output, Khối điều kiện, Khối thao tác)
Cách 3: Sử dụng giả mã
Sử dụng cấu trúc điều khiển của ngôn ngữ lập trình.
Kết hợp linh hoạt với ngôn ngữ tự nhiên và ký hiệu
toán học đơn giản.
Thiết kế giải thuật
Mô-đun hóa bài toán: Chia nhỏ bài toán thành các bài toán nhỏ hơn
Sơ đồ chuyển đổi:Ngôn ngữ tự nhiên → Giả ngôn ngữ → Ngôn ngữ lập trình.
Độ phức tạp của giải thuật
Thời gian thực hiện giải thuật
Kích thước của dữ liệu đầu vào
Không phụ thuộc vào máy tính và các yếu tố liên quan
Sắp xếp theo thứ tự tăng dần: Hằng số, logarit, tuyến tính, nlog₂n, hàm đa thức, hàm mũ
Theo quy tắc cộng, nhân, bỏ hằng số
1.3. Ngôn ngữ lập trình
Khái niệm về ngôn ngữ lập trình
Ngôn ngữ lập trình :
dùng để viết các chương trình máy tính
Lịch sử phát triển của ngôn ngữ lập trình
Chia ra 3 loại chính
Ngôn ngữ máy: Là ngôn ngữ duy
nhất mà Bộ vi xử lý có thể hiểu được
Hợp ngữ
Trình hợp dịch: Chương trình hợp ngữ → mã máy thông qua Assembler.
Ứng dụng
Trình điều khiển (Driver)
Hệ nhúng bậc thấp
Hệ thống thời gian thực.
Ngôn ngữ lập trình bậc cao
Tên gọi khác: Ngôn ngữ giải thuật.
Chương trình dịch: Phải được dịch sang ngôn ngữ máy nhờ chương trình dịch thì máy tính mới thực thi được.
Trình biên dịch và trình thông dịch
Trình thông dịch
Dịch từng câu lệnh sang ngôn ngữ máy mà không lưu lại đoạn mã máy
Không tạo tệp mã đối tượng: Mỗi lần chạy chương trình → phải thông dịch lại.
Trình biên dịch
Dịch toàn bộ chương trình nguồn sang ngôn ngữ máy và tạo ra tệp mã đối tượng
Khi thực hiện: Sử dụng chương trình thực thi đã tạo, không cần biên dịch lại
1.4. Môi trường lập trình và các bước xây dựng chương trình
Môi trường lập trình
IDE: Tích hợp trình soạn thảo, trình
biên dịch, bộ liên kết, trình gỡ rối,... và
cho phép chạy thử chương trình.
Các bước xây dựng chương trình
Bước 1: Soạn thảo chương trình
Sử dụng ngôn ngữ lập trình và một trình soạn thảo chuyên dụng để nhập nội dung chương trình
Bước 2: Biên dịch chương trình
Trình biên dịch (Compiler): Biên dịch tệp chương trình nguồn → tệp mã máy (tệp đối tượng/Object Code).
Nếu có lỗi cú pháp: Trình biên dịch thông báo tất cả lỗi → quay lại trình soạn thảo để chỉnh sửa chương trình nguồn.
Bộ liên kết (Linker): Khi có tệp đối tượng, liên kết các đối tượng thành phần
Bước 3: Chạy thử chương trình
Chạy chương trình (kích hoạt tệp thực thi), nhập các dữ liệu đầu vào (các dữ liệu mẫu dùng để kiểm tra)
1.5. Các phương pháp lập trình
Lập trình tuyến tính
Tên gọi khác: Lập trình phi cấu trúc.
Câu lệnh: Nằm trong chương trình chính, tác động trực tiếp vào dữ liệu toàn cục.
Lập trình hướng cấu trúc
Chương trình: Được chia nhỏ, tổ chức
thành chương trình con
Dữ liệu: Phân định rõ dữ liệu toàn cục và dữ liệu cục bộ.
Lập trình hướng đối tượng
Nền tảng: Dựa trên lập trình cấu trúc
và trừu tượng hóa dữ liệu.
Dữ liệu: Sử dụng cấu trúc dữ liệu mà không cần quan tâm chi tiết bên trong.
Tập trung: Vào đối tượng hơn là chức năng.
Kết hợp dữ liệu + thao tác trên dữ liệu → kiểu dữ liệu trừu tượng Lớp.