Tài liệu tham khảo và giới thiệu cấu trúc dữ liệu và giải thuật | GiỚI THIỆU CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT Nội dung Giới thiệu chung Mã giả Phương pháp phân tích thiết kế hướng đối tượng Trò chơi Life struct node{ int data1; int data2; } Giới thiệu chung Giải bài toán bằng phần mềm 1. Xác định bài toán 2. Thiết kế phần mềm 3. Thiết kế dữ liệu 4. Thiết kế và phân tích giải thuật 5. Lập trình và gỡ rối 6. Kiểm tra phần mềm 7. Bảo trì Giới thiệu chung (tt) Chương trình: Program = Data structures + Algorithms (Niklaus Wirth) Giải thuật: Các bước (logical steps) giải quyết một bài toán CTDL (Data Structures) Là một sự kết hợp của các kiểu dữ liệu nguyên tố, và/ hoặc các kiểu dữ liệu có cấu trúc, và / hoặc các CĐL khác vào một tập, cùng các quy tắc về các mối quan hệ giữa chúng CTDL~ADT Giới thiệu chung (tt) Vấn đề ngôn ngữ lập trình Dùng C++ Mã giả (pseudo code) Giả lập, thường là dễ hiểu, không chi tiết đến các kỹ thuật lập trình Ở cấp độ hết sức tổng quát: gần ngôn ngữ tự nhiên Hoặc rất chi tiết: như dùng ngôn ngữ tựa Pascal, tựa C++ . | GiỚI THIỆU CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT Nội dung Giới thiệu chung Mã giả Phương pháp phân tích thiết kế hướng đối tượng Trò chơi Life struct node{ int data1; int data2; } Giới thiệu chung Giải bài toán bằng phần mềm 1. Xác định bài toán 2. Thiết kế phần mềm 3. Thiết kế dữ liệu 4. Thiết kế và phân tích giải thuật 5. Lập trình và gỡ rối 6. Kiểm tra phần mềm 7. Bảo trì Giới thiệu chung (tt) Chương trình: Program = Data structures + Algorithms (Niklaus Wirth) Giải thuật: Các bước (logical steps) giải quyết một bài toán CTDL (Data Structures) Là một sự kết hợp của các kiểu dữ liệu nguyên tố, và/ hoặc các kiểu dữ liệu có cấu trúc, và / hoặc các CĐL khác vào một tập, cùng các quy tắc về các mối quan hệ giữa chúng CTDL~ADT Giới thiệu chung (tt) Vấn đề ngôn ngữ lập trình Dùng C++ Mã giả (pseudo code) Giả lập, thường là dễ hiểu, không chi tiết đến các kỹ thuật lập trình Ở cấp độ hết sức tổng quát: gần ngôn ngữ tự nhiên Hoặc rất chi tiết: như dùng ngôn ngữ tựa Pascal, tựa C++ Nội dung Giới thiệu chung Mã giả Phương pháp phân tích thiết kế hướng đối tượng Trò chơi Life struct node{ int data1; int data2; } Mã giả (Pseudocode) Algorithm Header Algorithm Body Mã giả (Pseudocode) Algorithm Header: Tên Các tham số và kiểu dữ liệu của từng tham số Mục đích Điều kiện ban đầu (Precondition) Kết quả (Postcondition, Return condition) Mã giả (Pseudocode) Algorithm Body: Các phát biểu Thứ tự các phát biểu Các biến Chú thích Ví dụ Algorithm average Pre nothing Post numbers read and their average printed 1 i = 0 2 loop (all data not read) 1 i = i + 1 2 read number 3 sum = sum + number 3 average = sum / i 4 print average 5 return End average Nội dung Giới thiệu chung Mã giả Phương pháp phân tích thiết kế hướng đối tượng Trò chơi Life struct node{ int data1; int data2; } Phương pháp lập trình Lập trình thủ tục chương trình chia nhỏ thành các chương trình con riêng rẽ Trình tự nghĩa là các câu lệnh được thực hiện theo trình tự nhất định: trên xuống. Lập .