Sơ Đồ Thực Hiện: 0. Phân công công việc Mô tả yêu cầu bài toán Biểu đồ IPO Thiết Kế Chương Trình Thiết kế dữ liệu Thiết kế giải thuật Các kỹ thuật lập trình áp dụng Demo Chương trình Mô tả yêu cầu bài toán Tạo một ADT có tên là Array và lưu trữ trong file Array.h ADT này bao gồm 2 thành phần thông tin: Max: mảng các giá trị số thực Count: số lượng các giá trị lưu trữ trong mảng Max
Kỹ Thuật Lập Trình Hà Nội, Tháng 5 - 2012 Nhóm sinh viên thực hiện: Nhóm 32 Thành Viên Nhóm: Trần Anh Đức Trần Xuân Tới Vũ Duy Anh Đỗ Văn Tuyên Nguyễn Duy Tuấn Đề Tài: Thao tác với ADT Mảng • Sơ Đồ Thực Hiện: 0. Phân công công việc 1. Mô tả yêu cầu bài toán 2. Biểu đồ IPO 3. Thiết Kế Chương Trình 4. Thiết kế dữ liệu 5. Thiết kế giải thuật 6. Các kỹ thuật lập trình áp dụng 7. Demo Chương trình Kỹ Thuật Lập Trình Hà Nội, Tháng 5 - 2012 1. Mô tả yêu cầu bài toán Tạo một ADT có tên là Array và lưu trữ trong file Array.h ADT này bao gồm 2 thành phần thông tin: Max: mảng các giá trị số thực Count: số lượng các giá trị lưu trữ trong mảng Max Kỹ Thuật Lập Trình Hà Nội, Tháng 5 - 2012 1. Mô tả yêu cầu bài toán ADT này cho phép thực hiện một số thao tác trên mảng số thực: Khởi tạo một phiên bản mới của chính nó Gán giá trị cho các thành phần thông tin của một đối tương Array Sắp xếp các phần tử của mảng theo giải thuật bubble sort Sắp xếp các phần tử của mảng theo giải thuật insertion sort Kỹ Thuật Lập Trình Hà Nội, Tháng 5 - 2012 1. Mô tả yêu cầu bài toán Sắp xếp các phần tử của mảng theo giải thuật selection sort Tìm giá trị lớn nhất được lưu trữ trong mảng và vị trí của các phần tử có giá trị lớn nhất trong mảng Tìm giá trị nhỏ nhất được lưu trữ trong mảng và vị trí của các phần tử có giá trị nhỏ nhất trong mảng Tìm giá trị trung bình của các phần tử trong mảng Kỹ Thuật Lập Trình Hà Nội, Tháng 5 - 2012 1. Mô tả yêu cầu bài toán Tìm độ lệch về giá trị giữa 2 phần tử có vị trí biết trước trong mảng Tìm độ lệch trung bình về giá trị của các phần tử trong mảng Tìm kiếm (theo giải thuật sequential search Tìm kiếm (theo giải thuật binary search) Biểu diễn độ phức tạp tính toán theo ký pháp big-O và hiện thị thời gian tính toán thực tế bằng micro-second. Kỹ Thuật Lập Trình Hà Nội, Tháng 5 - 2012 • Viết chương trình để kiểm tra các chức năng trên Cho phép người dùng chọn cách nhập dữ liệu và cách hiển thị kết quả. Kỹ Thuật Lập Trình Hà Nội, Tháng 5 - 2012 Thành Viên Công việc <Tất cả thành viên tham gia fix lỗi> Trạng thái Trần Anh Đức Viết menu, thiết kế cấu trúc chương trình và dữ liệu cho bài toán, tính độ lệch trung bình, Viết báo cáo và đặc biệt chuyên đi tối ưu hóa các bài toán con của các thành viên. Chưa tốt Trần Xuân Tới Viết các giải thuật sắp xếp. Tìm kiếm phần tử nhỏ nhất, lớn nhất, độ lẹch 2 phần tử Tốt Vũ Duy Anh Tính toán thời gian thực hiện các giải thuật sắp xếp. Tốt Đỗ Văn Tuyên Viết các giải thuật sắp xếp. Chưa tốt Nguyễn Duy Tuấn Tính toán và tìm kiếm trên mảng. Viết tài liệu present. Chưa tốt Kỹ Thuật Lập Trình Hà Nội, Tháng 5 - 2012 0. Phân công công việc 2. Biểu đồ IPO Kỹ Thuật Lập Trình Hà Nội, Tháng 5 - 2012 INPUT PROCESS OUTPUT Array Sắp xếp theo ba thuật toán bubble sort, selection sort, insertion sort Array được sắp xếp Array Tính giá trị trung bình Giá trị trung bình Array Tính độ lệch 2 phần tử Giá trị độ lệch hai phần tử Array Tính độ lệch trung bình Giá trị độ lệch trung bình Array, và giá trị cần tìm Tìm kiếm theo thuật toán nhị phân hoặc tuần tự In ra vị trí tìm thấy, nếu ko thấy thì in ra thông báo ko tìm được Array Tìm các vị trí min và max In ra một mảng các ví trị ở đó có giá trị là min hoặc max Array Tính thời gian thi hành các giải thuật sắp xếp cho các phần tử Thời gian thi hành các thuật toán sắp xêp Kỹ Thuật Lập Trình Hà Nội, Tháng 5 - 2012 3. Thiết kế chương trình Main menu Enter array Print the array Make a copy A = B Find maxs Find mins Average Difference Average Difference two element Sorting Searching Calc time From stdin From a file Bubble sort Selection sort Insertion sort Bubble sort Selection sort Insertion sort Binary search Sequential search [...]... dụng thuật làm việc 2 Sử dụng các kiểu dữ liệu hợp lý Toàn bộ chương trình Sử dụng cho việc nhập tên chuỗi để mở với biến 3 Khai báo hạn chế giá trị file 4 Khởi tạo 1 lần dùng nhiều lần Sử dụng hầu hết trong mọi hàm 5 Giá trị khởi tạo Sử dụng cho mảng ban đầu để kiểm tra người dùng đã nhập mảng hay chưa 6 Khai báo biến tĩnh 7 Thêm biến trung gian Dùng HANDLE stdout để điều khiển giao diện chương trình... nhau Toàn bộ chương trình Nhập sự lựa chọn, file ko đúng quy định… Dùng trong các thuật toán sắp xếp < VI.Phon Vì tất cả các mã nguồn thành viên được nhóm trưởng kết hợp lại, toàn bộ g cách chương trình đều mang style của nhóm trưởng Kỹ Thuật Lập Trình Hà Nội, Tháng 5 - 2012 7 Demo Chương Trình Giao diện được thiết kế đơn giản sử dụng các hàm API console của Windows Trân trọng cảm ơn sự hướng dẫn của . array Kỹ Thuật Lập Trình Hà Nội, Tháng 5 - 2012 6. Các kỹ thuật lập trình áp dụng Kỹ Thuật Lập Trình Hà Nội, Tháng 5 - 2012 6. Các kỹ thuật lập trình áp dụng V.Các kỹ thuật bẫy lỗi và lập trình. không có gì phức tạp 6. Các kỹ thuật lập trình áp dụng Kỹ Thuật Lập Trình Hà Nội, Tháng 5 - 2012 STT Kỹ thuật / quy tắc Đối tượng áp dụng và phạm vi áp dụng I.Các kỹ thuật làm việc với biến 1. ISO =)) :D Kỹ Thuật Lập Trình Hà Nội, Tháng 5 - 2012 6. Các kỹ thuật lập trình áp dụng IV.Các kỹ thuật xây dựng hàm/thủ tục 1 Đặt tên hàm dễ nhớ theo đúng chức năng Toàn bộ chương trình 2 Trừu