Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Trang 2 của 3 Đầu tiênĐầu tiên 123 CuốiCuối
Kết quả 11 đến 20 của 24
  1. #11
    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

  2. #12
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi nguyenntit
    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
    Hihi bạn nói đúng rồi đấy
    Minh vừa sữa lại ok lắm

  3. #13
    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!

  4. #14
    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()); }  
    ở hàm main() sẽ ko phải gọi nhap() nữa mà gọi thẳng hien() luôn.

  5. #15
    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

  6. #16
    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

  7. #17
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi gaconnho

    À cho em hỏi đây là lập trình hướng đối tượng chưa nhỉ hì code chép ra em chả bít bác nào bít chỉ rùm em nhé…
    Trích dẫn Gửi bởi gaconnho
    Các bác ơi cho em hỏi bài trên đã phải là lập trình hướng đối tượng chưa ạ (em vẫn còn lung mung về cấy nầy mong được sụ giải đáp hì có cái sách nào về hướng đối tượng thì cho em nhé)
    Chỗ sai của code các bạn khác đã chỉ rồi. Riêng vấn đề này bạn hỏi hai lần cho nên tôi trả lời riêng:

    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 đủ.


  8. #18
    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();
    }
    }
    }

  9. #19
    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!
    Hướng đối tượng hoàn toàn chỉ có mình java thôi, C++ và C# đều là kết hợp lập trình cấu trúc và lập trình hướng đối tượng

  10. #20
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi noone2407
    Hướng đối tượng hoàn toàn chỉ có mình java thôi, C++ và C# đều là kết hợp lập trình cấu trúc và lập trình hướng đối tượng
    Lần đầu tiên thấy một người nói như bạn @@.

 

 
Trang 2 của 3 Đầu tiênĐầu tiên 123 CuốiCuối

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •