Microsoft Word - Bai 8.3.doc

2 1 0
Microsoft Word - Bai 8.3.doc

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

Thông tin tài liệu

Microsoft Word Bai 8 3 doc Trang 1 MÔN LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG Bài thực hành số 8 3 Xây dựng chương trình tính tổng 2 ma trận I Mục tiêu Giúp SV làm quen với cách thức viết code ₫ể ₫ọc dữ liệu ở dạn[.]

Trang MƠN : LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG Bài thực hành số 8.3 : Xây dựng chương trình tính tổng ma trận I Mục tiêu : ƒ Giúp SV làm quen với cách thức viết code ₫ể ₫ọc liệu dạng nhị phân từ file ₫ể xử lý/tính tốn bên máy mà khơng cần tốn chi phí mã hóa chúng, cách thức ₫ể ghi liệu nhị phân bên chương trình file nhị phân cho hiệu dung lượng chứa lẫn thời gian ghi tin (vì khơng cần tốn chi phí giải mã) II Nội dung : ƒ Viết code ₫ể ₫ọc liệu ma trận từ file nhị phân, tính ma trận tổng, xuất kết ma trận tổng file nhị phân ₫ể ₫ạt hiệu cao III Chuẩn ₫ầu : ƒ Sinh viên nắm vững lập trình thành thạo ₫oạn code ₫ể ₫ọc/ghi liệu nhị phân từ file nhị phân vào biến bên chương trình IV Qui trình : Vẫn giữ lại file c:\A.txt c:\B.txt chứa nội dung ma trận A B sau : Nội dung c:\A.txt sau : 5, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14 15, 16, 17, 18, 19, 20, 21 22, 23, 24, 25, 26, 27, 28 29, 30, 31, 32, 33, 34, 35 Và nội dung c:\B.txt sau : 5, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15 16, 17, 18, 19, 20, 21, 22 23, 24, 25, 26, 27, 28, 29 30, 31, 32, 33, 34, 35, 36 Nhân thư mục chứa Project thực hành 8.2 (thư mục TongMTTxt) thành thư mục ₫ặt tên cho thư mục TongMTBin Chạy VS Net, mở lại Porject thư mục TongMTBin Hiệu chỉnh lại hàm WriteMT sau : //hàm ghi ma trận file binary static void WriteMT(string path, double[,] A, int hang, int cot) { //1 tạo ₫ối tượng quản lý file FileStream stream = new FileStream(path, FileMode.Create); //2 tạo ₫ối tượng phục vụ ghi file BinaryWriter writer = new BinaryWriter(stream); //3 ₫ịnh nghĩa biến liệu theo yêu cầu chương trình int i, j; //4 ghi liệu từ biến file writer.Write(hang); //ghi số hàng writer.Write(cot); //ghi số cột //ghi ma trận for (i = 0; i < hang; i++) { //ghi hàng ma trận for (j = 0; j < cot; j++) { Trang writer.Write(A[i, j]); //ghi phần tử i,j } } //5 ₫óng ₫ối tượng ₫ược dùng lại writer.Close(); stream.Close(); } Duyệt tìm hàm Main(), tìm sửa lệnh gọi hàm WriteMT() thành : //xuất ma trận kết file c:\S.bin WriteMT("c:\\S.bin", S, hang, cot); Chọn menu Debug.Start Debugging ₫ể dịch chạy ứng dụng Nếu khơng có lỗi chương trình chạy tốt ghi nội dung ma trận tổng file S.bin So sánh kích thước file S.bin với file S.txt, lý giải kích thước file S.bin có 288 byte Copy file c:\S.bin thành file c:\A.bin c:\B.bin ₫ể tạo file miêu tả ma trận A B dạng nhị phân Hiệu chỉnh lại hàm ReadMT sau : //hàm ₫ọc ma trận từ file binary static void ReadMT(string path, ref double[,] A, ref int hang, ref int cot) { //1 tạo ₫ối tượng quản lý file FileStream stream = new FileStream(path, FileMode.Open); //2 tạo ₫ối tượng phục vụ ₫ọc file BinaryReader reader = new BinaryReader(stream); //3 ₫ịnh nghĩa biến liệu theo yêu cầu chương trình int i, j; //4 ₫ọc liệu từ file vào biến //₫ọc số hàng hang = reader.ReadInt32(); //₫ọc số nguyên 32 bit //₫ọc số cột cot = reader.ReadInt32(); //₫ọc số nguyên 32 bit //phân phối vùng nhớ cho ma trận A = new double[hang, cot]; //₫ọc phần tử ma trận for (i = 0; i < hang; i++) for (j = 0; j < cot; j++) { A[i, j] = reader.ReadDouble(); //₫ọc số thực } //5 ₫óng ₫ối tượng ₫ược dùng lại reader.Close(); stream.Close(); } Duyệt tìm hàm Main(), tìm sửa lệnh lệnh gọi hàm ReadMT() thành : //₫ọc ma trận A từ file c:\A.bin ReadMT("c:\\a.bin", ref A, ref hang, ref cot); //₫ọc ma trận B từ file c:\B.bin ReadMT("c:\\b.bin", ref B, ref h, ref c); 10 Duyệt tìm xóa hàm ReadItem khơng cần thiết 11 Chọn menu Debug.Start Debugging ₫ể dịch chạy ứng dụng Nếu lỗi chương trình chạy tốt, ₫ọc ma trận file nhị phân tương ứng vào chương trình, tình tổng ma trận ghi nội dung ma trận tổng file S.bin

Ngày đăng: 04/01/2023, 10:24

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

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

Tài liệu liên quan