Bai 2 1

3 0 0
Bai 2 1

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

Thông tin tài liệu

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

Trang MƠN : LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG Bài thực hành số 2.1 : Viết chương trình thực giải thuật lặp I Mục tiêu : ƒ Giúp SV ôn lại qui trình viết ứng dụng VC# ₫ơn giản, hệ thống lại vấn ₫ề phần mềm này, ₫ể chương lại giải chúng II Nội dung : ƒ Xây dựng chương trình nhỏ chạy chế ₫ộ textmode (console), tính hàm số theo công thức lặp sau ₫ây : S1(x) = + x + x2/2! + x3/3! + + xn/n! S2(x) = - x + x2/2! - x3/3! + + (-1)nxn/n! S3(x) = + sin(x) + sin(2x) + + sin(nx) 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 IV Phân tích : Điểm chung hàm S1, S2, S3 dùng cơng thức lặp có dạng sau : ∞ S(x) = + ∑e n =1 n ₫ó thành phần en phụ thuộc vào x n, en thường nhỏ dần n tăng lên ₫ến ₫ủ nhỏ (nhỏ sai số epsilon qui ₫ịnh) ta bỏ ₫i : n - ₫ối với S1(x) en = x /n! n n - ₫ối với S2(x) en = (-1) x /n! - ₫ối với S3(x) en = sin(nx) Thuật giải lặp ₫ể tính cơng thức gồm bước sau : Lúc ₫ầu, thiết lập S = n = Tính en, tích lũy en vào S Kiểm tra en < epsilon Nếu thỏa dừng, khơng tăng n ₫ơn vị thực lại bước Lập trình chẳng qua dịch thuật giải dạng ngơn ngữ tự nhiên thành ngơn ngữ lập trình cho máy hiểu thực thi tự ₫ộng dùm người cần Sau ₫ây qui trình ₫iển hình ₫ể viết chương trình nhỏ thực cơng thức lặp VC# : 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 TínhLap), 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.Text; namespace TinhLap { class Program { Trang //₫ịnh nghĩa gợi nhớ miêu tả sai số mong muốn const double EPSILON = 0.0000001; //₫ịnh nghĩa hàm tính n! static long giaithua(int n) { if (n = EPSILON); //3 Lặp bước En >= epsilon //gởi kết lệnh gọi hàm return S; } //₫ịnh nghĩa hàm tính thành phần (-1)^nx^n/n! static double EnS2(double x, int n) { return Math.Pow(-1,n)*Math.Pow(x,n)/giaithua(n); } //₫ịnh nghĩa hàm tính cơng thức S2(x) static double S2(double x) { //1 Lúc ₫ầu, thiết lập S = n = double S = 1; int n = 1; double En; { //2 Tính En, tích lũy En vào S En = EnS2(x,n); S = S + En; n = n + 1; } while (Math.Abs(En) >= EPSILON); //3 Lặp bước En >= epsilon Trang //gởi kết lệnh gọi hàm return S; } //₫ịnh nghĩa hàm tính cơng thức S3(x) static double S3(double x) { //1 Lúc ₫ầu, thiết lập S = n = double S = 1; int n = 1; double En; { //2 Tính En, tích lũy En vào S En = Math.Sin(n*x); S = S + En; n++; } while (Math.Abs(En) >= EPSILON); //3 Lặp bước En >= epsilon //gởi kết lệnh gọi hàm return S; } //chương trình thử dùng hàm ₫ược viết static void Main(string[] args) { double x; String buf; //yêu cầu người dùng nhập x Console.Write("Nhập x : "); buf = Console.ReadLine(); x = Double.Parse(buf); //gọi thử hàm S1(x) Console.WriteLine("S1(" + x + ")= "+ S1(x)); //gọi thử hàm S2(x) Console.WriteLine("S2(" + x + ")= " + S2(x)); //gọi thử hàm S3(x) Console.WriteLine("S3(" + x + ")= " + S3(x)); } } } Chọn menu Debug.Start Debugging ₫ể dịch chạy ứng dụng Hãy thử nhập giá trị x ₫ó (nằm miền hội tự hàm) ₫ể chương trình tính hàm S1(x), S2(x), S3(x) hiển thị kết Lặp lại bước cho nhiều giá trị x khác kiếm tra xem chương trình chạy ₫úng khơng

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

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

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

Tài liệu liên quan