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
Phương pháp giải quyết vấn đề bằng máy tính
Bài toán
Giải thuật
Chương trình
Ngôn ngữ máy
Máy thực hiện
Chương trình máy tính
Tập hợp các câu lệnh/chỉ thị
Viết bằng một hoặc nhiều ngôn ngữ lập trình
Thực hiện nhiệm vụ/chức năng
Giải quyết vấn đề cụ thể
1.2. GIẢI THUẬT
Khái niệm giải thuật
Dãy hữu hạn các thao tác
Trình tự xác định
Tác động lên dữ liệu
Các tính chất của giải thuật
Đầu vào
Đầu ra
Tính hữu hạn
Tính xác định
Tính hiệu quả
Cách diễn đạt giải thuật
Ngôn ngữ tự nhiên
Liệt kê từng bước thực hiện
Lưu đồ
Bắt đầu / Kết thúc
Input / Output
Điều kiện
Thao tác
Giả mã
Kết hợp cấu trúc điều khiển
Ngôn ngữ tự nhiên
Ký hiệu toán học
Thiết kế giải thuật
Mô-đun hóa bài toán
Mô-đun chính
Mô-đun con
Tinh chỉnh từng bước
Ngôn ngữ tự nhiên
Giả ngôn ngữ
Ngôn ngữ lập trình
Ví dụ giải thuật sắp xếp
Chọn phần tử nhỏ nhất
Đưa vào vị trí tương ứng
Đổi chỗ
Lặp lại đến hết dãy
Độ phức tạp của giải thuật
Thời gian thực hiện
Dung lượng bộ nhớ
Độ phức tạp tính toán
Phụ thuộc kích thước dữ liệu đầu vào
T(n) là số phép toán sơ cấp
Các cấp độ
O(1)
O(log₂n)
O(n)
O(nlog₂n)
O(n²), O(n³), …, O(nᵏ)
O(2ⁿ), O(n!), O(nⁿ)
Quy tắc cộng
O(max{f(n),g(n)})
Quy tắc nhân
O(f(n)·g(n))
Quy tắc bỏ hằng số
O(c·f(n)) = O(f(n))
1.3. NGÔN NGỮ LẬP TRÌNH
Khái niệm về ngôn ngữ lập trình
Ngôn ngữ dùng để viết chương trình
Ký hiệu
Từ khóa
Cú pháp
Lịch sử phát triển / các loại ngôn ngữ
Ngôn ngữ máy
Mã nhị phân hoặc hệ 16
Thực hiện trực tiếp
Nhanh nhưng khó viết và khó sửa
Hợp ngữ
Ngôn ngữ bậc thấp
Mã chữ
Trình hợp dịch (Assembler)
Gần kiến trúc máy tính
Ngôn ngữ lập trình bậc cao
Gần ngôn ngữ tự nhiên và toán học
Dễ học, dễ đọc, dễ viết
Ít phụ thuộc phần cứng
Fortran, Pascal, C, C++, Java, PHP
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
Thực hiện ngay
Không tạo tệp mã đối tượng
Dễ dò tìm lỗi
BASIC, Visual Basic, Perl, Python
Trình biên dịch
Dịch toàn bộ chương trình
Tạo tệp mã đối tượng
Tạo chương trình thực thi
Phân tích từ vựng và cú pháp
Linker liên kết các đối tượng
Pascal, C, C++
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
Trình soạn thảo
Trình biên dịch
Bộ liên kết
Trình gỡ rối
Các bước xây dựng chương trình
Bước 1: Soạn thảo chương trình
Viết mã nguồn
Lưu tệp .pas, .c, .cpp
Bước 2: Biên dịch chương trình
Source code → Object code
Linker → Executable
Có lỗi → sửa chương trình
Bước 3: Chạy thử chương trình
Nhập dữ liệu đầu vào
Kiểm tra kết quả
Sai/lỗi → chỉnh sửa giải thuật
Quay lại bước 1
1.5. CÁC PHƯƠNG PHÁP LẬP TRÌNH
Lập trình tuyến tính
Lập trình phi cấu trúc
Dữ liệu toàn cục
Câu lệnh trong chương trình chính
Chương trình cồng kềnh
Không sử dụng lại được lệnh
Khó kiểm soát dữ liệu
Lập trình hướng cấu trúc
Chia thành chương trình con
Hàm, thủ tục
Dữ liệu toàn cục và cục bộ
Cấu trúc rõ ràng
Dễ xây dựng, phát hiện và sửa lỗi
Có thể sử dụng lại chương trình con
Kiểm soát tốt dữ liệu
Lập trình hướng đối tượng
Dựa trên lập trình cấu trúc
Trừu tượng hóa dữ liệu
Tập trung vào đối tượng
Dữ liệu + thao tác → Lớp
Có tính kế thừa
Dễ bảo trì, hiệu chỉnh, mở rộng