-
11-09-2010, 03:52 PM #11Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Các code trên của các bạn đều không cho kết quả chính xác. Về giải thuật thì không có gì sai. Nếu các câu lệnh tính kết quả cho nghiệm x cuối cùng các bạn không dùng () cho 2*a thì kết quả là hoàn toàn sai. Đây là cái chính mà chúng ta cần cho một phần mềm, nên các bạn cần lưu ý tới kết quả chứ chưa nói tới dùng giải thuật để tiết kiệm thời gian thực hiện.
VD:
x = -b / 2 * a; -> Sai
x = -b / (2 * a); -> Đúng
hay:
x1 = (-b - (float)Math.Sqrt(delta)) / 2 * a; -> Sai
x1 = (-b - (float)Math.Sqrt(delta)) / (2 * a); -> Đúng
-
12-09-2010, 03:55 PM #12Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Gửi bởi nguyenntit
Minh vừa sữa lại ok lắm
-
15-09-2010, 02:58 PM #13Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
C# là một ngôn ngữ lập trình hướng đối tượng hoàn toàn rồi đấy bạn!
-
15-09-2010, 05:27 PM #14Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
bài này để tránh lỗi gặp phải của chủ topic (là cho gọi hien() trước nhap()) thì tốt nhất là dùng constructor
Mã nguồn PHP:public PhuongTrinh2() { Console.WriteLine("Nhap vao bien thu nhat"); a = float.Parse(Console.ReadLine()); Console.WriteLine("Nhap vao bien thu hai "); b = float.Parse(Console.ReadLine()); Console.WriteLine("Nhap vao bien thu ba"); c = Convert.ToSingle(Console.ReadLine()); }
-
21-10-2010, 03:02 PM #15Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
co ai co bai tap ve c# gui cho minh voi minh moi hoc c#. cam on truoc nha
-
15-03-2011, 04:53 PM #16Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
using System;
namespace phuongtrinhbac2
{
class baitap
{
static void Main()
{
Console.WriteLine("nhap a:");
int a = int.Parse(Console.ReadLine());
Console.WriteLine("nhap b:");
int b = int.Parse(Console.ReadLine());
Console.WriteLine("nhap c:");
int c = int.Parse(Console.ReadLine());
int delta=(b*b-4*a*c);
if (delta<0)
{
Console.WriteLine("phuong trinh vo nghiem");
}
else if (delta>0)
{
float x1 = (-b - (float)Math.Sqrt(delta)) / 2 * a;
float x2 = (-b + (float)Math.Sqrt(delta)) / 2 * a;
Console.WriteLine("nghiem thu nhat x1="+ x1.ToString());
Console.WriteLine("nghiem thu hai x2=" + x2.ToString());
}
else
{
float x = -b / 2 * a;
Console.WriteLine("Phuong trinh co nghiem" + x.ToString());
}
}
}
}
Bạn xem chương trình này đi
-
16-03-2011, 04:12 PM #17Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Gửi bởi gaconnhoGửi bởi gaconnho
Lập trình hễ có đối tượng thì gọi là hướng đối tượng. Tuy nhiên, nếu muốn theo đúng tinh thần hướng đối tượng thì phải hội đủ hai giai đoạn, phân tích thiết kế và viết code.
Xét về mặt tinh thần thì bài trên thiết kế chưa hòan hảo. Lớp của bạn viết ra là một loại lớp công cụ. Xem kỹ thì nó chỉ làm việc thôi chứ chẳng cần tính chất riêng gì cả. Nói cách khác, cách viết của bạn là cách viết lớp tĩnh (static class)
Nếu tôi thiết kế, thì lớp PTBac2 của tôi phải có các tính chất sau:
(i) Chứa thuộc tính a, b, và c; căn bản phương trình bậc 2 có 3 thuộc tính này (theo đúng toán học thì có những dạng khác nhưng ở đây ta đơn giản bằng dạng này thôi)
(ii) Code của bạn dựng xong đối tượng rồi mới dùng đối tượng đẻ gọi hàm nhập dữ liệu. Theo đúng tinh thần thì lúc dựng đối tượng, hàm dựng có khả năng thành lập toàn bộ đối tượng. Như vậy nên viết một hàm dựng, hàm này gọi hàm nhập để nhập dữ liệu.
(iii) Lớp phương trình nên có khả năng tự giải. Vì vậy không nên gọi hàm giải. Nên lập một hàm truy vấn đáp số. Hàm này gọi hàm giải để tính.
(iv) viết các hàm hiện, truy vấn dữ liệu tùy theo nhu cầu.
tb. Nếu chỉ 'giải phương trình bằng C#' thì làm sao cũng được. Ở đây bạn hỏi 'hướng đối tượng' nến tôi trả lời cho đầy đủ.
-
28-10-2012, 04:11 PM #18Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
C#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace GiaiPTBac2
{
class PhuongTrinhbac2
{
static void Main(string[] args)
{
float a, b, c;
float del = 0, x1 = 0, x2 = 0,x = 0;
Console.Write("Nhap a: ");
a = float.Parse(Console.ReadLine());
Console.Write("Nhap b: ");
b = float.Parse(Console.ReadLine());
Console.Write("Nhap c: ");
c = float.Parse(Console.ReadLine());
if (a == 0)
{
x = -(c / b);
Console.WriteLine("Phuong trinh co nghiem bac nhat: {0}", x);
}
else
{
del = b * b - 4 * a * c;
if (del < 0)
Console.WriteLine("Phuong trinh vo nghiem");
else if (del == 0)
{
x1 = x2 = -(b / (2 * a));
Console.WriteLine("Phuong trinh co nghiem kep: x1 = x2 = {0} ", x1,x2);
}
else if (del > 0)
{
x1 = (-b + (float)Math.Sqrt(del)) / (2 * a);
x2 = (-b + (float)Math.Sqrt(del)) / (2 * a);
Console.WriteLine("Phuong trinh co 2 nghiem phan biet x1 = {0} x2 = {1}", x1, x2);
}
}
Console.ReadLine();
}
}
}
-
28-10-2012, 06:12 PM #19Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
C# là một ngôn ngữ lập trình hướng đối tượng hoàn toàn rồi đấy bạn!
-
30-06-2016, 04:39 PM #20Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Gửi bởi noone2407
Ngọc Bích xanh bản chất thuộc dòng đá đá hoa (jade). Và cẩm thạch là tên gọi chung của ngọc bích. Vì thực chất chúng thuộc dòng đá đa khoáng được hình thành từ chất Silicat dưới dạng dioxy. Ngọc bích...
Chia sẻ Vòng tay ngọc bích xanh là...