Tổng hợp tất cả tài liệu, ebook, giáo trình Công Nghệ Thông Tin chọn lọc và hay nhất.
• Do chịu ảnh hưởng của NNLT C nên NNLT
C++ có những quy định không dễ dàng
lắm về sử dụng dữ liệu động đối với người
lập trình nhất là trường hợp mảng động
nhiều chiều.
• Kiểu vector
30 trang | Chia sẻ: thanhle95 | Ngày: 30/06/2021 | Lượt xem: 471 | Lượt tải: 1
Kiểm tra cái gì để phát hiện lỗi ? • Kiểm tra mọi thao tác có thể gây lỗi khi viết CT – Nhập dữ liệu – Sử dụng dữ liệu • Ví dụ: – Kiểm tra mỗi lần mở một tệp tin hay cấp phát các ô nhớ. – Kiểm tra các phương thức người dùng nhập dữ liệu vào cho đến khi không còn nguy cơ gây ra dừng chương trình – Trong trường hợp tràn bộ nhớ (out of memory)...
128 trang | Chia sẻ: thanhle95 | Ngày: 30/06/2021 | Lượt xem: 571 | Lượt tải: 1
1. Một số khái niệm thường gặp • Biểu thức (expression): tính toán giá trị đích dựa trên giá trị nguồn • Lệnh gán (assigment): lưu trữ giá trị của biểu thức hoặc của biến nguồn vào trong 1 biến đícha. Hàm định nghĩa sẵn • Được định nghĩa trong các thư viện • Cần khai báo thư viện ở đầu chương trình để có thể dùng các hàm này • Ví dụ: trong...
49 trang | Chia sẻ: thanhle95 | Ngày: 30/06/2021 | Lượt xem: 618 | Lượt tải: 1
1. Nguyên tắc chung • Đơn giản: – Thể hiện giải thuật như nó vốn có, đừng quá kỳ bí – Lựa chọn cấu trúc dữ liệu sao cho việc viết giải thuật bằng NNLT cụ thể là đơn giản nhất – Tìm cách đơn giản hóa các biểu thức – Thay những biểu thức lặp đi lặp lại bằng CTC tương ứng • Trực tiếp: – Sử dụng thư viện mọi lúc có thể – Tránh việc kiểm tra đi...
135 trang | Chia sẻ: thanhle95 | Ngày: 30/06/2021 | Lượt xem: 556 | Lượt tải: 1
Viết mã nguồn hiệu quả • LTV vẫn có thể thực hiện những cải tiền mà trình dịch không thể • LTV phải loại bỏ tất cả những chỗ bất hợp lý trong mã nguồn • LTV phải làm cho chương trình hiệu quả nhất có thể • LTV có thể phải xem lại mã nguồn khi thấy chương trình chạy chậm • Vậy cần tập trung vào đâu để cải tiến nhanh nhất, tốt nhất ?
105 trang | Chia sẻ: thanhle95 | Ngày: 30/06/2021 | Lượt xem: 535 | Lượt tải: 0
- Mở đầu • Các bài toán thực tế thường phức tạp • Hiểu bài toán đặt ra để giải quyết bài toán, cần làm gì, không cần làm gì. Do đó, phải xác định được: - Các dữ liệu liên quan đến bài toán - Các thao tác cần thiết để giải quyết bài toán • Làm chủ ngôn ngữ lập trình để cài đặt giải pháp thành chương trình máy tính
40 trang | Chia sẻ: thanhle95 | Ngày: 30/06/2021 | Lượt xem: 485 | Lượt tải: 1
Bài tập • Trên lớp: cá nhân hoặc nhóm • Về nhà: nhóm 4 - 5 SV • Nội dung: – Lý thuyết + thực hành các kỹ thuật lập trình làm việc với biến, dữ liệu và các cấu trúc lập trình – Lý thuyết + thực hành các kỹ thuật xây dựng và sử dụng hàm/thủ tục – Lý thuyết + thực hành các kỹ thuật bẫy lỗi và lập trình phòng ngừa – Lý thuyết + thực hành các ...
8 trang | Chia sẻ: thanhle95 | Ngày: 30/06/2021 | Lượt xem: 483 | Lượt tải: 1
Chương 1. Tổng quan về kỹ thuật lập trình & các bước xây dựng chương trình 1.1. Các khái niệm 1.2. Phương pháp xây dựng chương trình 1.3. Tạo project chương trình Chương 2. Con trỏ 2.1. Con trỏ và địa chỉ 2.2. Con trỏ và mảng một chiều, nhiều chiều 2.3. Các phép toán trên con trỏ 2.4. Mảng con trỏ 2.5. Con trỏ tới hàm 2.6. Bài tập
10 trang | Chia sẻ: thanhle95 | Ngày: 30/06/2021 | Lượt xem: 503 | Lượt tải: 1
Kỹ thuật tối ưu các vòng lặp * Tách các lệnh không phụ thuộc vào chỉ số lặp ra khỏi vòng lặp. Thay các phép nhân thành phép cộng nếu được. * Giảm số toán tử phức tạp trong vòng lặp nhờ các biến phụ. * Giảm số vòng lặp chương trình. Thực hiện nhiều hơn trong mỗi vòng lặp. * Vòng lặp nào có số lần lặp ít sẽ nằm ngòai vòng lặp có số lần lặp n...
13 trang | Chia sẻ: thanhle95 | Ngày: 30/06/2021 | Lượt xem: 488 | Lượt tải: 1
Bài tập 1. Tính n! 2. In ra các ước số của số nguyên dương 3. Đếm số lượng ước số của số nguyên dương 4. Tìm ước số chung lớn nhất của 2 số nguyên dương 5. Kiểm tra số nguyên dương n có phải là số nguyên tố? 6. Nhập vào mảng 1 chiều số nguyên a, kích thước n 7. Xuất mảng 1 chiều số nguyên a, kích thước n 8. Tìm phần tử có giá trị x trong ...
13 trang | Chia sẻ: thanhle95 | Ngày: 30/06/2021 | Lượt xem: 550 | Lượt tải: 1