• Bài giảng Kỹ Thuật lập trình - Chương 1: Những khái niệm cơ bản trong kỹ thuật lập trình - Vũ Thị Hương GiangBài giảng Kỹ Thuật lập trình - Chương 1: Những khái niệm cơ bản trong kỹ thuật lập trình - Vũ Thị Hương Giang

    Mô thức lập trình hướng đối tượng • Nguyên lý và ý tưởng: Các khái niệm và mô hình tương tác trong thế giới thực • Dữ liệu cũng như các thao tác trên dữ liệu được bao gói trong các đối tượng • Cơ chế che dấu thông tin nội bộ được sử dụng để tránh những tác động từ bên ngoài Mô thức lập trình hướng đối tượng – Các Objects tương tác với nhau...

    pdf27 trang | Chia sẻ: hachi492 | Ngày: 07/01/2022 | Lượt xem: 727 | Lượt tải: 0

  • Bài giảng Kỹ Thuật lập trình - Chương 5: Lập trình phòng thủ - Lương Mạnh BáBài giảng Kỹ Thuật lập trình - Chương 5: Lập trình phòng thủ - Lương Mạnh Bá

    12. IF-ELSE not used properly – dùng if-else không chuân 13. Left side of assignment not an L-value - phía trái phép gán không phải biến 14. Loop has no body – vòng lặp không có thân 15. Missing "&" or missing "const" with a call-by-reference function parameter – thiếu dấu & hay từ khóa const với lời gọi tham số hàm theo tham chiếu 16. Missing...

    ppt44 trang | Chia sẻ: hachi492 | Ngày: 07/01/2022 | Lượt xem: 640 | Lượt tải: 0

  • Bài giảng Kỹ Thuật lập trình - Chương 4, Phần 2: Một số cấu trúc dữ liệu và giải thuật căn bản - Lương Mạnh BáBài giảng Kỹ Thuật lập trình - Chương 4, Phần 2: Một số cấu trúc dữ liệu và giải thuật căn bản - Lương Mạnh Bá

    Cây quyết định (tự đọc) Dùng để biểu diễn lời giải của bài toán cần quyết định lựa chọn Bài toán 8 đồng tiền vàng: Có 8 đồng tiền vàng a, b, c, d, e, f, g, h Có một đồng có trọng lượng không chuẩn Sử dụng một cân Roberval (2 đĩa) Output: Đồng tiền k chuẩn là nặng hơn hay nhẹ hơn Số phép cân là ít nhất void EightCoins(a, b, c, d, e, f, g...

    ppt123 trang | Chia sẻ: hachi492 | Ngày: 07/01/2022 | Lượt xem: 662 | Lượt tải: 0

  • Bài giảng Kỹ Thuật lập trình - Chương 4, Phần 1: Một số cấu trúc dữ liệu và giải thuật căn bản - Lương Mạnh BáBài giảng Kỹ Thuật lập trình - Chương 4, Phần 1: Một số cấu trúc dữ liệu và giải thuật căn bản - Lương Mạnh Bá

    Khử đệ qui thủ tục Tháp Hà Nội . •Dạng đệ qui void THN(n , X , Y, Z ) { if( n > 0 ) { THN ( n -1 , X , Z , Y ) ; Move ( X , Y ) ; THN ( n -1 , Z , Y , X ) ; } } Giải thuật không đệ qui tương đương là: THN (n, X, Y, Z) { Creat_Stack (S) ; Push (S ,(n,X,Y,Z,1)) ; do while ( n > 0 ) { Push (S ,(n,X,Y,Z,2)) ; n := n...

    ppt66 trang | Chia sẻ: hachi492 | Ngày: 07/01/2022 | Lượt xem: 700 | Lượt tải: 0

  • Bài giảng Kỹ Thuật lập trình - Chương 3: Viết code hiệu quả - Lương Mạnh BáBài giảng Kỹ Thuật lập trình - Chương 3: Viết code hiệu quả - Lương Mạnh Bá

    Floating_point So sánh : x = x / 3.0; Và x = x * (1.0/3.0) ; ? (biểu thức hằng được thực hiện ngay khi dịch) Hãy dùng float thay vì double Tránh dùng sin, exp và log (chậm gấp 10 lần * ) Lưu ý : nếu x là float hay double thì : 3 * (x / 3) <> x. Thậm chí thứ tự tính toán cũng quan trọng: (a + b) + c <> a + (b + c). Tránh dùng ++, -- t...

    ppt94 trang | Chia sẻ: hachi492 | Ngày: 07/01/2022 | Lượt xem: 744 | Lượt tải: 0

  • Bài giảng Kỹ Thuật lập trình - Chương 2: Một số vấn đề trong kỹ thuật lập trình - Lương Mạnh BáBài giảng Kỹ Thuật lập trình - Chương 2: Một số vấn đề trong kỹ thuật lập trình - Lương Mạnh Bá

    C++ Trong ví dụ trên, ta dùng hàm để cài đặt các phép toán cộng và trừ hai số phức ; => phức tạp,không thoải mái khi sử dụng, vì thực chất thao tác cộng và trừ là các toán tử chứ không phải là hàm. C++ cho phép chúng ta có thể định nghĩa lại chức năng của các toán tử đã có sẵn một cách tiện lợi và tự nhiên hơn rất nhiều. Điều này gọi là chồng to...

    ppt72 trang | Chia sẻ: hachi492 | Ngày: 07/01/2022 | Lượt xem: 735 | Lượt tải: 0

  • Bài giảng Kỹ Thuật lập trình - Chương 1: Tổng quan kỹ thuật lập trình - Lương Mạnh BáBài giảng Kỹ Thuật lập trình - Chương 1: Tổng quan kỹ thuật lập trình - Lương Mạnh Bá

    object-oriented paradigm Mô thức hướng đối tượng thu hút được sự quan tâm và nổi tiếng từ khoảng 20 năm nay. Lý do là khả năng hỗ trợ mạnh của tính bao gói và gộp nhóm logic của các khía cạnh lập trình. Những thuộc tính này rất quan trọng khi mà kích cỡ các chương trình ngày càng lớn. Nguyên nhân cơ bản và sâu sắc dẫn đến thành công của Mô thức n...

    ppt67 trang | Chia sẻ: hachi492 | Ngày: 07/01/2022 | Lượt xem: 648 | Lượt tải: 0

  • Đề thi môn Kĩ thuật lập trìnhĐề thi môn Kĩ thuật lập trình

    Câu 8 : (2,0 đ) Cho x và y là hai mảng được cấp phát động với kích thước bằng đúng số phần tử của mảng và chứa hai dãy các số thực X = [x1, x2, , xn] và Y = [y1, y2, , ym] Sử dụng ngôn ngữ lập trình C/C++ để viết hàm DiffSym( ) với : Đầu vào : danh sách X và danh sách Y (và các tham số khác nếu cần ) Đầu ra : con trỏ đến danh sách Z; danh sác...

    pdf4 trang | Chia sẻ: hachi492 | Ngày: 07/01/2022 | Lượt xem: 826 | Lượt tải: 0

  • Bài giảng Kỹ Thuật lập trình - Chương 7: Code tuning and documentation - Vũ Đức VượngBài giảng Kỹ Thuật lập trình - Chương 7: Code tuning and documentation - Vũ Đức Vượng

    Viết tài liệu cho người dùng Đây chính là hướng dẫn sử dụng (user manual) Là phần không thể thiếu khi viết tài liệu cho 1 dự án phần mềm, nhưng không phải phần quan trọng nhất Viết tài liệu kiểm thử Tài liệu kiểm thử là 1 trong số các tài liệu quan trong của 1 dự án phần mềm Nếu được, bạn nên viết ra 1 số bằng chứng về việc bạn đã kiểm thử chư...

    ppt50 trang | Chia sẻ: hachi492 | Ngày: 07/01/2022 | Lượt xem: 811 | Lượt tải: 0

  • Bài giảng Kỹ Thuật lập trình - Chương 6: Testing - Vũ Đức VượngBài giảng Kỹ Thuật lập trình - Chương 6: Testing - Vũ Đức Vượng

    Summary External testing taxonomy Boundary testing Statement testing Path testing Stress testing Internal testing techniques Checking invariants Verifying conservation properties Checking function return values Changing code temporarily Leaving testing code intact General testing strategies Testing incrementally Regression testing Sc...

    ppt52 trang | Chia sẻ: hachi492 | Ngày: 07/01/2022 | Lượt xem: 630 | Lượt tải: 0