BÁO CÁO MÔN KĨ THUẬT LẬP TRÌNH

3 694 3
BÁO CÁO MÔN KĨ THUẬT LẬP TRÌNH

Đang tải... (xem toàn văn)

Thông tin tài liệu

BÁO CÁO MÔN KĨ THUẬT LẬP TRÌNH Giảng viên: TS.Vũ Thị Hương Giang Phần chữa bài tập nhóm 11 Lớp KSCLC K55 – Nhóm 10 1. Nguyễn Công Chính MSSV 20100088 2. Hoàng Tiến Đạt 20101344 Trưởng nhóm 3. Dương Văn Hưởng 20101689 4. Phan Văn Toàn 20102340 5. Trần Viết Vũ 20104362 Bài tập: A. 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 ADT này cho phép thực hiện một số thao tác trên mảng số thực: i. Khởi tạo một phiên bản mới của chính nó. ii. Gán giá trị cho các thành phần thông tin của một đối tương Array. iii. Sắp xếp các phần tử của mảng theo giải thuật bubble sort. iv. Sắp xếp các phần tử của mảng theo giải thuật insertion sort. v. Sắp xếp các phần tử của mảng theo giải thuật selection sort. vi. 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. vii. 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. viii. Tìm giá trị trung bình của các phần tử trong mảng. ix. Tìm độ lệch về giá trị giữa 2 phần tử có vị trí biết trước trong mảng. x. Tìm độ lệch trung bình về giá trị của các phần tử trong mảng. xi. Tìm kiếm (theo giải thuật sequential search) phần tử của mảng có giá trị là x ; nếu tìm thấy thì đưa ra vị trí của phần tử đó trong mảng, nếu không thì trả lại giá trị là 0. xii. Tìm kiếm (theo giải thuật binary search) phần tử của mảng có giá trị là x ; nếu tìm thấy thì đưa ra vị trí của phần tử đó trong mảng, nếu không thì thông báo là không tìm thấy phần tử như vậy. xiii. 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. B. Viết một chương trình cung cấp các chức năng để kiểm tra ADT này; chương trình được lưu trữ trong file CheckArray.c. Hàm menu() : gồm các tùy chọn 1-13: các chức năng tính toán trên mảng Tùy chọn 1: có menu con cho phép Nạp thông tin vào từ bàn phím hoặc từ 1 file dữ liệu vào/ra (I/O data file) Quay lại menu chính Tùy chọn 2-13: có menu con cho phép In kết quả ra màn hình hoặc ra 1 file dữ liệu vào/ra (I/O data file) Quay lại menu chính Nhận xét chương trình của nhóm 11: I. Nhận xét chung - Công cụ được sử dụng là Dev-C++ 4.9.9.2, ngôn ngữ viết C++. - Chương trình chạy không có lỗi, thử với các bộ số kiểm tra đều cho ra kết quả đúng. - Code viết rõ ràng, dễ đọc, mỗi chức năng đều có phần giải thích cụ thể. - Chương trình đáp ứng được đa số các trường hợp thực tế có thể xảy ra. Chỉ trừ trường hợp nếu quá trình nhập có lẫn kí tự không phải số, vòng lặp sẽ bị lỗi. Đây là điểm yếu khó xử lí (nhóm 10 chúng em cũng mắc phải tương tự). II. Chi tiết 1. Chức năng nhập/xuất dữ liệu. - Thông tin lưu trữ dưới dạng cấu trúc (struct). - Mảng lưu trữ số thực dưới dạng mảng động, số lượng phần tử có thể khai báo trong lúc chạy chương trình, vậy nên tiết kiệm được bộ nhớ so với dùng mảng tĩnh, hạn chế trường hợp tràn mảng hay thiếu bộ nhớ. - Dữ liệu nhập từ bàn phím, quá trình nhập bắt buộc không được lẫn kí tự khác số. 2. Chức năng sắp xếp. - Ba chức năng sắp xếp là Bubble Sort, Insertion Sort và Selection Sort đều được cài đặt đúng. 3. Chức năng tìm kiếm. - Sequential Search và Binary Search được cài đặt đúng. 4. Các chức năng khác (tìm giá trị trung bình, độ lệch trung bình, ….) - Các chức năng này đều được cài đặt đúng, thuật toán đơn giản, dễ hiểu. 5. Chương trình kiểm tra và hình thức trình bày. - Chương trình kiểm tra được cài đặt đúng, có đầy đủ các menu như yêu cầu bài tập. - Code viết rõ ràng, dễ đọc, các câu lệnh, vòng lặp, rẽ nhánh đều có khoảng cách hợp lí, phù hợp. - Giao diện chương trình hợp lí, dễ dàng thao tác lựa chọn các chức năng. III. Kết luận - Bài tập này không quá khó nhưng cũng không dễ. Với chương trình của nhóm 11 theo nhóm 10 chúng em đã đáp ứng được khá đầy đủ các yêu cầu. Một vài hạn chế do thời gian có không quá nhiều (thời gian làm bài rơi vào Tết) và trình độ của chúng em còn chưa cao, vẫn cần phải học thêm nhiều kiến thức mới. - Qua bài tập này chắc chắn nhóm em và các nhóm khác sẽ học thêm được nhiều kiến thức mới về kĩ thuật lập trình. Chúng em mong cô sẽ tiếp tục gửi thêm nhiều bài tập để chúng em có thể tiếp tục học tập và rèn luyện thêm. . BÁO CÁO MÔN KĨ THUẬT LẬP TRÌNH Giảng viên: TS.Vũ Thị Hương Giang Phần chữa bài tập nhóm 11 Lớp KSCLC K55 – Nhóm. và trình độ của chúng em còn chưa cao, vẫn cần phải học thêm nhiều kiến thức mới. - Qua bài tập này chắc chắn nhóm em và các nhóm khác sẽ học thêm được nhiều kiến thức mới về kĩ thuật lập trình. . bình, ….) - Các chức năng này đều được cài đặt đúng, thuật toán đơn giản, dễ hiểu. 5. Chương trình kiểm tra và hình thức trình bày. - Chương trình kiểm tra được cài đặt đúng, có đầy đủ các menu

Ngày đăng: 16/05/2015, 13:10

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan