برای مشاهده مفیدترین ارسال در این موضوع اینجا کلیک کنید

نمایش نتایج: از شماره 1 تا 1 از مجموع 1
  1. #1
    مدیر بازنشسته
    تاریخ عضویت
    2011 June
    محل سکونت
    گرگان
    ارسال ها
    1,170
    تشکر
    62
    تشکر شده 1,587 بار در 809 پست
    نوشته های وبلاگ
    49


    1 امتياز مثبت از 1 راي
    آيا اين پست براي شما سودمند بود؟ بله | خیر

    شی گرایی برای اعداد کسری

    کلاس مورد نظر:
    using System;using System.Data;
    using System.Configuration;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;


    /// <summary>
    /// Summary description for Rational
    /// </summary>
    public class Rational
    {
    private int _s;


    public int Soorat
    {
    get { return _s; }
    set { _s = value; }
    }


    private int _m;


    public int Makhraj
    {
    get { return _m; }
    set {
    if (value != 0)
    _m = value;
    else
    throw new Exception("Makhraj sefr nemishavad");
    }
    }


    public Rational(int soorat,int makhraj)
    {
    //_s = soorat;
    //if (makhraj == 0)
    // throw new Exception("");
    //else
    // _m = makhraj;




    //int _m; _m , this._m
    this.Soorat = soorat;
    //if (makhraj == 0)
    // throw new Exception("makhraj sefr nemishavad");
    this.Makhraj = makhraj;


    //setting count
    Rational.count++;
    }
    public Rational():this(0,1)
    {
    //this.Soorat = 0;
    //this.Makhraj = 1;
    }
    public Rational(int soorat):this(soorat,1)
    {
    //this.Soorat = soorat;
    //this.Makhraj = 1;
    }


    ~Rational()
    {
    Rational.count--;
    }
    public void AddToMe(int soorat, int makhraj)
    {
    this.Soorat = this.Soorat * makhraj + this.Makhraj * soorat;
    this.Makhraj = this.Makhraj * makhraj;
    int b = bmm(this.Soorat, this.Makhraj);
    this.Soorat = this.Soorat / b;
    this.Makhraj /= b;
    }




    //توضیح داده شود
    public void AddToMe(Rational r)
    {
    this.AddToMe(r.Soorat, r.Makhraj);
    }
    public void AddToMe(int soorat)
    {
    this.AddToMe(soorat, 1);
    }
    /// <summary>
    /// این متد صورت و مخرج ورودی را می گیرد و آن را با همین کسر جمع می کند و بر می گرداند
    /// </summary>
    /// <param name="s">صورت کسر ورودی</param>
    /// <param name="m">مخرج کسر ورودی</param>
    /// <returns>حاصل جمع کسر ورودی با کسر جاری</returns>
    public Rational Add(int s, int m)
    {
    Rational r;
    r = new Rational();
    r.AddToMe(this);
    r.AddToMe(s, m);
    return r;
    }
    public Rational Add(Rational r)
    {
    return this.Add(r.Soorat, r.Makhraj);
    }
    public Rational Add(int s)
    {
    return this.Add(s, 1);
    }


    public static Rational Adding(Rational r1, Rational r2)
    {
    Rational r;
    r = r1.Add(r2);
    return r;
    }


    public static int count = 0;


    public static Rational operator +(Rational r1, Rational r2)
    {
    return Rational.Adding(r1, r2);
    }


    private int bmm(int i, int j)
    {
    int k = i % j;
    if (k == 0)
    return j;
    else
    return bmm(j, k);
    }


    public override string ToString()
    {
    string s;
    string s2 = base.ToString();
    s = s2 + ": (" + this.Soorat.ToString() + "," + this.Makhraj.ToString() + ")";
    return s;
    //return base.ToString();
    }


    }


    این نمونه های فراخوانی کلاس از ابتدایی ترین تا سطح تقریبا پیشرفتشه:
    بار اول اینطور نوشته شده بدون در نظر گرفتن کلاس:
    [CSHARP]using System;
    using System.Collections.Generic;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;


    public partial class add1 : System.Web.UI.Page
    {
    protected void Page_Load(object sender, EventArgs e)
    {


    }
    protected void Button1_Click(object sender, EventArgs e)
    {


    int s1 = 2, m1 = 3;
    int s2 = 3, m2 = 7;
    // 2/3 + 3/7 = (2*7+3*3)/3*7


    s1 = int.Parse( TextBox1.Text);
    m1 = Convert.ToInt32(TextBox2.Text);


    string[] str= TextBox3.Text.Split('/');
    s2= int.Parse( str[0]);
    m2 = int.Parse(str[1]);


    int s, m;
    s = s1 * m2 + s2 * m1;
    m = m1 * m2;


    //problems
    //پروژه های آینده
    //اضافه شدن کد
    //کدی که یک بار خطایابی شده، ازاین به بعد فقط استفاده
    //خوانایی برنامه


    int s3 = 5, m3 = 16;
    s = s3 * m + s * m3;
    m = m * m3;


    //int s4 = 6, m4 = 13;
    //s=s4+


    Label1.Text = string.Format("{0}/{1}",s,m);
    }
    }




    [/CSHARP]

    در دفعات بعدی از کلاس نمونه سازی شده:
    using System;using System.Collections.Generic;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;


    public partial class add1 : System.Web.UI.Page
    {
    protected void Page_Load(object sender, EventArgs e)
    {


    }
    protected void Button1_Click(object sender, EventArgs e)
    {


    int s1 = 2, m1 = 3;
    int s2 = 3, m2 = 7;
    // 2/3 + 3/7 = (2*7+3*3)/3*7


    s1 = int.Parse( TextBox1.Text);
    m1 = Convert.ToInt32(TextBox2.Text);


    string[] str= TextBox3.Text.Split('/');
    s2= int.Parse( str[0]);
    m2 = int.Parse(str[1]);


    int s, m;
    s = s1 * m2 + s2 * m1;
    m = m1 * m2;


    //problems
    //پروژه های آینده
    //اضافه شدن کد
    //کدی که یک بار خطایابی شده، ازاین به بعد فقط استفاده
    //خوانایی برنامه


    int s3 = 5, m3 = 16;
    s = s3 * m + s * m3;
    m = m * m3;


    //int s4 = 6, m4 = 13;
    //s=s4+


    Label1.Text = string.Format("{0}/{1}",s,m);
    }
    }




    در دفعه بعدی یه مقدار پیشرفته تر:
    using System;using System.Data;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;


    public partial class frmaddRational : System.Web.UI.Page
    {
    protected void Page_Load(object sender, EventArgs e)
    {


    }
    protected void Button1_Click(object sender, EventArgs e)
    {
    int s1, m1, s2, m2, s3, m3;
    s1 = Convert.ToInt32(TextBox1.Text);
    m1 = Convert.ToInt32(TextBox2.Text);
    s2 = Convert.ToInt32(TextBox3.Text);
    m2 = Convert.ToInt32(TextBox4.Text);
    s3 = s1 * m2 + s2 * m1;
    m3 = m1 * m2;
    int b = bmm(s3, m3);
    s3 = s3 / b;
    m3 /= b;
    Label1.Text ="(" + s3.ToString() + "/" + m3.ToString() + ")";
    }


    int bmm(int i, int j)
    {
    int k=i%j;
    if (k == 0)
    return j;
    else
    return bmm(j, k);
    }
    }




    در آخر از کلاس استفاده میکنه:
    using System;using System.Data;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;


    public partial class frmUSA : System.Web.UI.Page
    {
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void Button1_Click(object sender, EventArgs e)
    {
    Rational r1, r2, r3;
    r1 = new Rational(2,5);
    r2 = new Rational(2);
    r3 = new Rational();
    //r3 = r1.
    r1.Soorat = 4;

    try
    {
    r1.Makhraj = Convert.ToInt32(TextBox1.Text);
    }
    catch (Exception ex)
    {
    //Label1.Text = ex.Message;
    Label1.Text = "numinator could not be zero. don't do that again or you'll be ticketed";
    }


    //r7 = r1 + r2 + r3+r4+r5+r6;
    //Label1.Text = r7.ToString();


    }
    }




    یا:

    using System;using System.Collections.Generic;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;


    public partial class addOO : System.Web.UI.Page
    {
    int i = 14;
    protected void Page_Load(object sender, EventArgs e)
    {


    }
    protected void Button1_Click(object sender, EventArgs e)
    {
    int i = 13;
    i = 9;
    if (true)
    {
    //int i = 3;
    }
    Rational r1, r2, r3, r4, r5, r6, r7;
    r1 = new Rational(1, 3);
    r2 = new Rational(2);
    r3 = new Rational();


    r1.AddToMe(2, 4);


    r3.Soorat = 3;
    try
    {
    r3.Makhraj = int.Parse(TextBox1.Text);
    }
    catch (Exception ex)
    {
    //Label1.Text = "numinator could not be zero";
    Label1.Text = ex.Message;
    }

    //m3 = r3.Soorat + 1;


    //r3 = new Rational(TextBox1.Text);
    r3=Rational.Adding(r1,r2);
    r7 = r1 + r2 + r3 ;


    Label1.Text = r7.ToString();


    }
    }




    موضوعات مشابه:
    آرامش محصول تفکر نیست! آرامش هنر نیندیشیدن به انبوه مسائلیست که ارزش فکر کردن ندارد...

 

 

کاربران برچسب خورده در این موضوع

علاقه مندی ها (Bookmarks)

علاقه مندی ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  


Powered by vBulletin
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.6.0
Persian Language By Ustmb.ir
این انجمن کاملا مستقل بوده و هیچ ارتباطی با دانشگاه علوم و فنون مازندران و مسئولان آن ندارد..این انجمن و تمامی محتوای تولید شده در آن توسط دانشجویان فعلی و فارغ التحصیل ادوار گذشته این دانشگاه برای استفاده دانشجویان جدید این دانشگاه و جامعه دانشگاهی کشور فراهم شده است.لطفا برای اطلاعات بیشتر در رابطه با ماهیت انجمن با مدیریت انجمن ارتباط برقرار کنید
ساعت 09:46 PM بر حسب GMT +4 می باشد.