BÀI TẬP NHÓM MÔN HỌC KỸ THUẬT LẬP TRÌNH Tạo một ADT có tên Array.h và viết một chương trình CheckArray.c để kiểm tra

14 654 0
BÀI TẬP NHÓM MÔN HỌC KỸ THUẬT LẬP TRÌNH Tạo một ADT có tên Array.h và viết một chương trình CheckArray.c để kiểm tra

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Trường Đại học Bách Khoa Hà Nội Viện Công nghệ thông tin truyền thông Báo cáo kiểm thử gỡ rối làm nhóm 11 Đề tài : Tạo ADT có tên Array.h viết chương trình CheckArray.c để kiểm tra Giảng viên hướng dẫn : TS Vũ thị Hương Giang Nhóm sinh viên thực 5: Vũ Văn Bảo Trần Trung Hiếu Nguyễn Minh Tiến Nguyễn Văn Tùng Nguyễn Hồng Vinh Lớp : KSCLC – K55 Năm học : 2012 - 2013 Hà Nội, 2013 Mục lục Mục lục I.Kiểm thử 1.Kiểm thử void Creat (Array &a) 2.Kiểm thử thủ tục void PrintArray(Array a) 3.Kiểm thử thủ tục void BubleSort(Array &a) 4.Kiểm thử hàm thủ tục InsertSort(Array &a) 5.Kiểm thử thủ tục void InsertSort(Array &a) 6.Kiểm thử hàm float Max(Array a) 7.Kiểm thử hàm float Min(Array a) .7 8.Kiểm thử hàm void Average(Array a) 9.Kiểm thử thủ tục void Gap(Array a) 10.Kiểm thử thủ tục void Averagedeviation(Array a) .8 11.Kiểm thử hàm int Search(Array a) .8 12.Kiểm thử hàm int SearchBinary(Array a) 13.Kiểm thử thủ tục void Times(Array a, Array b) .11 14.Tổng kết lỗi: .11 II.Sửa lỗi, gỡ rối 11 1.Lỗi tìm kiếm tuần tự: .11 2.Lỗi tìm kiếm nhị phân: 12 3.Lỗi tính thời gian: 13 Tài liệu tham khảo 14 I Kiểm thử Kiểm thử void Creat (Array &a) a Trường hợp kiểm thử 1: nhập số phần tử mảng kí tự bất kỳ, khơng phải số • Dữ liệu kiểm thử: count = e • Yêu cầu: Cho phép nhâp lại • Kết quả: • Chương trình chạy yêu cầu b Trường hợp kiểm thử 2:nhập vào số phần tử số mà khơng phải số ngun • Dữ liệu kiểm thử: count = 3.5 • Yêu cầu: Lấy phần nguyên số vừa nhập • Kết quả:  Chương trình chạy yêu cầu c Trường hợp kiểm thử 4: Nhập vào số phần tử mảng số nguyên nhập liệu cho mảng có phần tử ký tự bất kỳ, khơng phải số • Dữ liệu kiểm thử: count = 7; max = {e;2.4;6;7.23;9;12.6;*); • Yêu cầu: kí tự coi nhập vào số • Kết quả:  Chương tình chạy với yêu cầu d Trường hợp kiểm thử 6: Nhập vào số phần tử mảng số nguyên thuộc [1;1000] nhập liệu cho mảng số thực nằm phạm vi kích thước kiểu float • Dữ liệu kiểm thử: count = array = {16.66;13.32;32,123;2;5}.Yêu cầu: • Yêu cầu: Dữ liệu nhập, in thơng báo nhập liệu thành cơng • Kết quả:  Chương trình chạy với yêu cầu Kiểm thử thủ tục void PrintArray(Array a) • Dữ liệu kiểm thử: count = array = {16.66;13.32;32,123;2;5} • Yêu cầu: In hình giá trị biến mang1 • Kết :  Chương trình chạy theo yêu cầu Kiểm thử thủ tục void BubleSort(Array &a) • Dữ liệu kiểm thử: count = array = {16.66;13.32;32,123;2;5} • Yêu cầu:trả mảng mang1.max xếp tăng dần {2;5;6.7; 13.32;13.32;16.66;123} • Kết quả:  Chương trình chạy theo yêu cầu Kiểm thử hàm thủ tục InsertSort(Array &a) • Dữ liệu kiểm thử: count = array = {16.66;13.32;32,123;2;5} • Yêu cầu: trả mảng mang1.max xếp tăng dần mang1.max = {2;5;6.7; 13.32;13.32;16.66;123} • Kết quả:  Chương trình chạy theo yêu cầu Kiểm thử thủ tục void InsertSort(Array &a) • Dữ liệu kiểm thử: count = array = {16.66;13.32;32,123;2;5} • Yêu cầu: trả mảng mang1.max xếp tăng dần {2;5; 13.32;13.32;16.66;123} • Kết quả:  Chương trình chạy theo yêu cầu Kiểm thử hàm float Max(Array a) • Dữ liệu kiểm thử: count = array = {16.66;13.32;32,123;2;5} • Yêu cầu: In giá trị lớn mảng 123, phần tử lớn phần tử thứ • Kết quả:  Chương trình chạy yêu cầu Kiểm thử hàm float Min(Array a) • Dữ liệu kiểm thử: count = array = {16.66;13.32;32,123;2;5} • Yêu cầu: In giá trị nhỏ mảng 2, phần tử lớn phần tử thứ • Kết quả:  Chương trình chạy yêu cầu Kiểm thử hàm void Average(Array a) • Dữ liệu kiểm thử: count = array = {16.66;13.32;32,123;2;5} • Yêu cầu: Trả giá trị tb phần tử mảng: avg = 31.9967 • Kết quả:  Chương trình chạy theo yêu càu Kiểm thử thủ tục void Gap(Array a) a Khơng có hai phần tử thứ i j: • Dữ liệu kiểm thử: count = array = {16.66;13.32;32,123;2;5} i=10; j = 14 • u cầu: thơng báo nhập lỗi • Kết quả:  Chương trình chạy theo yêu cầu b Có hai phần tử i j: • Dữ liệu kiểm thử: count = array = {16.66;13.32;32,123;2;5} i = 3, j =6 • Yêu cầu: trả giá trị độ lệch hai phần tử 27 • Kết quả:  Chương trình chạy yêu cầu 10.Kiểm thử thủ tục void Averagedeviation(Array a) • Dữ liệu kiểm thử: count = array = {16.66;13.32;32,123;2;5} • Yêu cầu: trả giá trị độ lệch trung bình phần tử mảng 108.16 • Kết quả:  Chương trình chạy với yêu cầu 11.Kiểm thử hàm int Search(Array a) a Trường hợp thử 1: khơng có phần tử có giá trị x • Dữ liệu kiểm thử: count = array = {16.66;13.32;32,123;2;5} x = 35.5 • Yêu cầu: In hình số thể cho khơng tìm thấy phần tử • Kết quả:  Chương trình chạy với yêu cầu b Trường hợp thử 2: có phần tử có giá trị x • Dữ liệu kiểm thử: count = array = {16.66;13.32;32,123;2;5} x = 16.66 • Yêu cầu: In vị trí phần tử có giá trị x =16.66 • Kết quả:  Chương trình chạy với yêu cầu c Trường hợp thử 3: có nhiều phần tử có giá trị x • Dữ liệu kiểm thử: count = array = {16.66;13.32;32,123;2;5;13.32} x = 13.32 • Yêu cầu: In đủ vị trí số phần tử có giá trị x= 13.32 • Kết quả:  Chương trình chạy khơng với u cầu 12.Kiểm thử hàm int SearchBinary(Array a) a Trường hợp thử 1: khơng có phần tử có giá trị giatri • Dữ liệu kiểm thử: count = array = {16.66;13.32;32,123;2;5;13.32} x = 35.5 • Yêu cầu: In hình (k0 thấy phần tử) • Kết quả:  Chương trình chạy với yêu cầu b Trường hợp thử 2: có phần tử có giá trị giatri • Dữ liệu kiểm thử: count = array = {16.66;13.32;32,123;2;5;13.32} x = 16.66 • Yêu cầu: In vị trí số phần tử có giá trị x =16.66 mảng xếp • Kết quả:  Chương trình chạy khơng với yêu cầu c Trường hợp thử 3: có nhieu phần tử có giá trị giá trị • Dữ liệu kiểm thử: count = array = {16.66;13.32;32,123;2;5;13.32} sau sap xep array = {2;5;13.32,13.32;16.66;32;123} x = 13.32 • Yêu cầu: In đủ vị trí số phần tử có giá trị x= 13.32 • Kết quả: 10  Chương trình chạy với yêu cầu 13.Kiểm thử thủ tục void Times(Array a, Array b) Từ kết kiểm thử hàm thủ tục trên, xem thời gian thực hàm/thủ tục:  Chương trình chạy saivới yêu cầu 14.Tổng kết lỗi: • Ở chức tìm kiếm : có nhiều phần tử chương trình đưa kết sai, đưa giá tri • Ở chức tìm kiếm nhị phân: có phần tử chương trình chạy sai: o Có phần tử chương trình đưa giá trị tức khơng có phần tử o Có nhiều phần tử chương trình đưa vị trí, đưa khơng đủ vị trí phần tử cần tìm • Ngồi ra, cấu trúc chương trình, đặt tên filed array kiểu liệu Array khiến người đọc rối mắt, II Sửa lỗi, gỡ rối Lỗi tìm kiếm tuần tự: Sử dụng thủ tục in vị trí phần tử với giá trị cần tìm Nếu khơng có in hình số void sequentialSearch(mang mang1,float x) { int i, e; int cs[mang1.count]; e = 0; /* tim kiem theo giai thuat sequential search*/ for (i = 0; i < mang1.count; i++){ if (mang1.max[i] == x){ cs[e] = i; /*copy cac chi so tim duoc vao mang cs[] */ e++; } 11 } /* in ket qua */ if (e == 0) printf("\n %3d", e); else { printf("\n Chi so cua phan tu co gia tri %7.3f tim theo giai thuat sequentialSearch la: ", x); for (i = 0; i < e; i++) printf("%3d", cs[i]); // in cac chi so can tim } } Lỗi tìm kiếm nhị phân: void SearchBinary(Array a) { float key; printf ("\nNhap gia tri can tim theo kieu nhi phan mang :"); key = InPutf(); int left = 0, right, e = 0,d= 0, i,j,k=0, mid, cs1[a.count],cs2[a.count]; right = a.count - 1; do{ mid = (left + right)/2 ; if(key == a.array[mid]) { e++; cs1[e] = mid; } if (key < a.array [mid]) right = mid - ; else left = mid + ; }while(left

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

Từ khóa liên quan

Mục lục

  • Mục lục

  • I. Kiểm thử

    • 1. Kiểm thử void Creat (Array &a)

    • 2. Kiểm thử thủ tục void PrintArray(Array a)

    • 3. Kiểm thử thủ tục void BubleSort(Array &a)

    • 4. Kiểm thử hàm thủ tục InsertSort(Array &a).

    • 5. Kiểm thử thủ tục void InsertSort(Array &a).

    • 6. Kiểm thử hàm float Max(Array a).

    • 7. Kiểm thử hàm float Min(Array a).

    • 8. Kiểm thử hàm void Average(Array a).

    • 9. Kiểm thử thủ tục void Gap(Array a).

    • 10. Kiểm thử thủ tục void Averagedeviation(Array a).

    • 11. Kiểm thử hàm int Search(Array a).

    • 12. Kiểm thử hàm int SearchBinary(Array a)

    • 13. Kiểm thử thủ tục void Times(Array a, Array b)

    • 14. Tổng kết các lỗi:

    • II. Sửa lỗi, gỡ rối

      • 1. Lỗi ở tìm kiếm tuần tự:

      • 2. Lỗi ở tìm kiếm nhị phân:

      • 3. Lỗi ở tính thời gian:

      • Tài liệu tham khảo

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

Tài liệu liên quan