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
:
Ngôn ngữ lập trình
Khái niệm
Ngôn ngữ dùng để viết chương trình
Ký hiệu
Từ khóa / từ dành riêng
Từ vựng
Cú pháp
Phân loại
Ngôn ngữ máy
Dạng nhị phân / hệ 16
Máy thực hiện trực tiếp
Khó viết, khó đọc
Hợp ngữ
Ngôn ngữ bậc thấp
Mã chữ
Assembler → mã máy
Ngôn ngữ bậc cao
Gần ngôn ngữ tự nhiên / toán học
Dễ học
Dễ đọc / viết
Ít phụ thuộc phần cứng
Ví dụ:Pascal,C / C++,Java,PHP
Các cách phân loại khác
Theo mức trừu tượng
Theo hình thức lập trình
Theo họ ngôn ngữ
Chương trình dịch
Trình thông dịch
Dịch từng câu lệnh
Dịch → thực hiện ngay
Không tạo tệp mã đối tượng
Ví dụ: BASIC, Python, Perl...
Trình biên dịch
Dịch toàn bộ chương trình
Tạo mã đối tượng
Phân tích từ vựng và cú pháp
Thông báo lỗi
Ví dụ: Pascal, C, C++...
Các phương pháp lập trình
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 / cục bộ
Cấu trúc rõ ràng
Dễ phát hiện và sửa lỗi
Có thể sử dụng lại
Kiểm soát dữ liệu tốt
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
Trừu tượng hóa dữ liệu
Trừu tượng hóa dữ liệu
Tính kế thừa
Tái sử dụng code
Dễ bảo trì
Dễ mở rộng
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 nằm trong chương trình chính
Chương trình cồng kềnh
Khó sử dụng lại
Khó kiểm soát dữ liệu
Chương trình máy tính
Chương trình máy tính
Tập hợp câu lệnh / chỉ thị
Viết bằng một hoặc nhiều ngôn ngữ lập trình
Kết hợp dữ liệu / tài liệu liên quan
Thực hiện nhiệm vụ / chức năng hoặc giải quyết vấn đề cụ thể
Phương pháp giải quyết vấn đề bằng máy tính
Bài toán
Xác định dữ liệu vào và dữ liệu ra
Giải thuật
Tìm cách xử lý dữ liệu đầu vào
Chương trình
Viết giải thuật bằng ngôn ngữ lập trình
Ngôn ngữ máy
Biên dịch chương trình
Máy thực hiện
Xác định dữ liệu vào và dữ liệu ra
GIẢI THUẬT
Khái niệm
Dãy hữu hạn các thao tác / phép toán
Trình tự xác định
Tác động lên dữ liệu
Đạt kết quả mong muốn
Tính chấ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
Ngôn ngữ tự nhiên
Lưu đồ
Giả mã
Thiết kế giải thuật
Mô-đun hóa bài toán
Chia bài toán lớn → bài toán nhỏ
Tinh chỉnh từng bước
Tự nhiên → Giả ngôn ngữ → Ngôn ngữ lập trình
Ví dụ
Thuật toán Euclid
Tìm UCLN(a,b)
Sắp xếp lựa chọn
Chọn phần tử nhỏ nhất → đổi chỗ
Độ phức tạp
Tiêu chí đánh giá
Thời gian
Bộ nhớ
Big-O
O(g(n))
Các cấp độ
O(1),O(log n),O(n),O(n log n),O(n²), O(n³), ... O(nᵏ),O(2ⁿ), O(n!), O(nⁿ)
Quy tắc
Quy tắc cộng
Quy tắc nhân
Quy tắc bỏ hằng số
Môi trường lập trình và các bước xây dựng chương trình
Các bước xây dựng chương trình
Bước 1: Soạn thảo
Viết chương trình
Lưu mã nguồn
Bước 2: Biên dịch
Source code
Object code
Linker → Executable code
Bước 3: Chạy thử
Nhập dữ liệu mẫu
Kiểm tra kết quả
Nếu sai / lỗi: Kiểm tra giải thuật,Chỉnh sửa
Môi trường lập trình
IDE
Integrated Development Environment
Trình soạn thảo
Trình biên dịch
Bộ liên kết
Bộ gỡ rối
Chạy thử chương trình
: