1. Trang chủ
  2. » Công Nghệ Thông Tin

Bai 2 2

4 2 0

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

THÔNG TIN TÀI LIỆU

Nội dung

Microsoft Word Bai 2 2 doc Trang 1 MÔN LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG Bài thực hành số 2 2 Viết chương trình xử lý ₫a thức I Mục tiêu Giúp SV ôn lại qui trình viết 1 ứng dụng VC# ₫ơn giản, tập trung vào vi[.]

Trang MƠN : LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG Bài thực hành số 2.2 : Viết chương trình xử lý ₫a thức I Mục tiêu : ƒ Giúp SV ôn lại qui trình viết ứng dụng VC# ₫ơn giản, tập trung vào việc sử dụng kiểu liệu ₫ịnh sẵn II Nội dung : ƒ Xây dựng chương trình nhỏ chạy chế ₫ộ textmode (console), thực yêu cầu sau : miêu tả kiểu ₫ể lưu giữ toán hạng ₫a thức gồm thông tin : hệ số số mũ xếp danh sách toán hạng ₫a thức theo thứ tự giảm dần số mũ, phương pháp xếp Insertion Sort chuẩn hóa ₫a thức : số mũ xuất ₫a thức lần Thí dụ có ₫a thức gốc R(x)= x^3 + x^2 + x + 2x^2 + 2x + sau chuẩn hóa thành R(x)= x^3 + 3x^2 + 3x + Nhân ₫a thức III Chuẩn ₫ầu : ƒ Sinh viên nắm vững viết thành thạo ứng dụng nhỏ chạy chế ₫ộ textmode biết cách dùng kiễu liệu ₫ịnh sẵn cần IV Phân tích : Ta dùng kiểu struct ₫ể miêu tả thông tin số hạng ₫a thức sau : struct Sohang { public int somu; //số mũ public float heso; //hệ số }; Ý tưởng xếp danh sách theo giải thuật "Insertion Sort" sau : Lặp xác ₫ịnh vị trí ₫úng cho số hạng i (từ tới n) ₫a thức : - Lặp tìm số hạng có số mũ lớn từ vị trí i tới n - Hốn vị với số hạng i Từ thuật giải ₫ược viết ngôn ngữ tự nhiên trên, ta dịch thành hàm SortItems() ₫ược viết VC# mã nguồn ₫ây Chuẩn hóa ₫a thức : ₫ược thực thơng qua bước : xếp ₫a thức theo thứ tự số mũ giảm dần (gọi hàm SortItems() bước 2) duyệt từ ₫ầu ₫ến cuối ₫a thức ₫ể cộng số hạng liên tiếp có số mũ lại thành số hạng Từ thuật giải ₫ược viết ngôn ngữ tự nhiên trên, ta dịch thành hàm Chuanhoa() ₫ược viết VC# mã nguồn ₫ây Nhân ₫a thức : ₫ược thực thơng qua bước : lặp nhân số hạng ₫a thức với tất số hạng ₫a thức Kết ₫ược lưu vào ₫a thức kết Chuẩn hóa ₫a thức kết Từ thuật giải ₫ược viết ngơn ngữ tự nhiên trên, ta dịch thành hàm Nhan() ₫ược viết VC# mã nguồn ₫ây Trang V Qui trình : Chạy VS Net, chọn menu File.New.Project ₫ể hiển thị cửa sổ New Project Mở rộng mục Visual C# TreeView "Project Types", chọn mục Windows, chọn icon "Console Application" listbox "Templates" bên phải, thiết lập thư mục chứa Project listbox "Location", nhập tên Project vào textbox "Name:" (td Dathuc), click button OK ₫ể tạo Project theo thông số ₫ã khai báo Ngay sau Project vừa ₫ược tạo ra, cửa sổ soạn code cho chương trình ₫ược hiển thị Hiệu chỉnh code file Program.cs ₫ể có nội dung sau : using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Dathuc { class Program { //₫ịnh nghĩa kiểu miêu tả số mũ private struct Sohang { public float heso; //hệ số public int somu; //số mũ public Sohang(float h, int s) { heso = h; somu = s; } }; //hàm xếp ₫a thức theo thứ tự số mũ giảm dần static void SortItems (Sohang[] dathuc, int soluong) { //₫ịnh nghĩa biến cần dùng int i,j, max; Sohang temp; //Lặp xác ₫ịnh vị trí ₫úng cho từ số mũ for (i = 0; i < soluong-1; i++) { //Tìm phần tử có số mũ lớn từ vị trí i max = i; for (j = i + 1; j < soluong; j++) if (dathuc[max].somu < dathuc[j].somu) max = j; //hoán vị phần tử có số mũ lớn vị trí i temp = dathuc[i]; dathuc[i] = dathuc[max]; dathuc[max] = temp; } } //hàm chuẩn hóa ₫a thức, số mũ có phần tử static int Chuanhoa (Sohang[] dathuc, int soluong) { //₫ịnh nghĩa biến cần dùng int i,j; Sohang[] temp = new Sohang[soluong]; //sắp xếp thự tự phần tử ₫a thức SortItems(dathuc,soluong); //Lặp việc gộp phần tử có số mũ giống j = 0; temp[0] = dathuc[0]; i = 1; Trang while (i < soluong) if (temp[j].somu == dathuc[i].somu) { temp[j].heso += dathuc[i].heso; i++; } else { j++; temp[j] = dathuc[i]; i++; } //copy kết dathuc gốc for (i =0; i

Ngày đăng: 09/04/2023, 06:40

w