نمایش نتایج 1 تا 21 از 21

نام تاپیک: data type برای اعداد گویا

  1. #1

    data type برای اعداد گویا

    میدونیم که تو هیچ زبان برنامه سازی data type برای اعداد گویا وجود ندارد
    چطوری اینdata type رو تعریف کنیم و عملیات مختلف بر روی اعداد گویا رو پشتیبانی کنیم.

  2. #2
    اگه منظورت از اعداد گویا مجموعه اعداد :

    a/b={(a,b) | a e IN , b e IN}


    میتونی با یه آرایه دوعنصری از مقادیر Integer به مقصودت برسی و در مورد پیاده سازی اعمال هم فرمولهای ریاضی وجود داره:



    (a/b) + (c/d)=(ad+cb)/(bd)
    (a/b) - (c/d)=(ad-cb)/(bd)
    (a/b) * (c/d)=(ac/bd)
    (a/b) / (c/d)=(ad)/(bc)

  3. #3
    سلام
    منظورم از اعداد گویا همون اعداد کسری هستش .
    منظورم اینه که مثلا فرض کنید تو زبان پاسکال می خواهیم با اعداد گویا کار کنیم.مثلا دو عدد گویا رو با هم جمع کنیم یا تفریق کنیم یا ضرب و...
    اولا:یک data type برای اعداد گویا تعریف کنیم.
    ثانیا:توابعی برای جمع -تفریق-ضرب و تقسیم اعداد گویا بنویسیم و در برنامه از این توابع استفاده کنیم.

  4. #4
    پس جواب همون بالاییه :mrgreen:

  5. #5
    سلام
    ببخشید إقای phantasm که من از اسمتون خیلی میترسم شما تو جوابتون فقط دو عدد کسری روبصورت ریاضی با هم جمع کردین. :mad:
    از شما که یک کاربر نقره ای هستین بعیده(البته ببخشید ها :موفق: )
    منظورم اینه که اگه من تو برنامه اصلی بخوام دو عدد کسری رو با هم جمع کنم برنامه های فرعی رو چطوری صدا بزنم.یا بخوام عددها رو منها یا ضرب کنم .
    یعنی تو function من برای هر عدد گویا دو تا آرگومان یکی برای صورت کسر و یکی برای مخرج کسر میخوام.
    اما من دقیقا نمیتونم کد functionها رو بنویسم.
    اگه میتونید کد function ها رو بنویسید. :wink:

  6. #6
    جواب بالایی رو یخورده اصلاح کردم!

    data type تشکیل شده از یه مجموعه داده و یه مجموعه از عملگرها (البته یسری اصول هم داره که فعلا بی خیال) ?خوب با این دید به نوع داده همونطور که خودت هم میدونی تنها لازمه مجموعه داده و عملگر ها رو معرفی کنی یعنی همون چیزی که در بالا نوشتم.

    مجموعه داده :
    a/b={(a,b) | a e IN , b e IN}

    که مجموعه داده تعریف شده در بالا میگه ما با اعدادی سر و کار داریم که از دو جزء a و b تشکیل شدند که هر دو تاشون هم مقدار صحیح میگیرن .حالا شما میتونی توی برنامت این دو جزء رو مثلا توی دوتا خونه یه آرایه ذخیره کنی مثلا:

    Type  AdaDGooya=array[1..2]  of integer;


    در مورد کد function یا همون عملگرها هم که توضیح دادم . مثلا یه پیاده سازی از function جمع میتونه به این صورت باشه:




    Procedure ADD(a,b:AdaDGooya,var c:AdaDGooya); 
    BEGIN
    c[1]:=(a[1]*b[2]+b [1]*a[2]);
    c[2]:=(a[2]*b[2]&# 41;;
    END;


    و در مورد فراخوانی اول دوتا متغیر از نوع AdaDGooya رو تعریف میکنی:
    Var M,N,P:AdaDGooya;


    و در نهایت :


    M[1]:=2; { مقداردهی M و N }
    M[2]:=7;
    N[1]:=6;
    N[2]:=13;
    ADD(M,N,P);


    توی کد بالا فرض کردم که قسمت صحیح رو توی عنصر اول آرایه میریزی و مخرج رو توی عنصر دوم.

    امیدوارم خوب توضیح داده باشم :)

    در مورد ID ایم هم از عمد اینو گذاشتم که دیگرانو بترسونم :evil2:

  7. #7
    سلام
    از کمکتون ممنونم گرفتم
    ولی فکر کنم تو اونprocedure که نوشتین یه جا اشتباه کردین تو خط سوم و چهارم بجای MوN باید ازaوb استفاده کنی نه؟ :kaf:
    در ضمن اون یه سری اصول که فعلا باید بی خیال شم چیه؟
    ******************************************
    [b]((موفقیت یک درصد از کاری است که 99٪ آن شکست بوده است.))

    چیرو هوندا[/b]

  8. #8
    ولی فکر کنم تو اونprocedure که نوشتین یه جا اشتباه کردین تو خط سوم و چهارم بجای MوN باید ازaوb استفاده کنی نه؟
    آره :wink:

    در ضمن اون یه سری اصول که فعلا باید بی خیال شم چیه؟
    در ریاضیات سیستم های ریاضی رو به شکلهای مختلفی تعریف و گاها میسازن ٬ بدیهیات یا اصول در اونجا مطرحه و به سوال شما ربطی نداره.

  9. #9
    کاربر دائمی آواتار MSK
    تاریخ عضویت
    تیر 1383
    محل زندگی
    فعلا تهران - بعدا خدا می‌دونه!
    پست
    331
    آیا صورت و مخرج اعداد گویا باید حتما صحیح باشن؟ یعنی مثلا 5/3.5 گویا نیست؟
    بهر حال استفاده از رکورد خیلی منطقی تر بنظر میاد:

    type adadgooya=record soorat,makhraj:real; end;


    :موفق: :sad2:

  10. #10
    سلام
    خب فرقی نداره بازم میشه ازیک آرایه اعشاری استفاده کنیم.
    ******************************************
    اگر برای یک اشتباه هزار دلیل بیاوریم میشود هزار و یک اشتباه.
    ((ابو علی سینا))

  11. #11
    کاربر دائمی
    تاریخ عضویت
    دی 1382
    محل زندگی
    پشت كامپيوتر
    پست
    381
    فرق نداره ولی رکورد خبلی خواناتر است
    بهتر است از رکورد استفاده کنی
    MSK :موفق:

  12. #12
    اولا که این مباحث ربطی به الگوریتم نداشت.
    فرق نداره ولی رکورد خبلی خواناتر است
    بهتر است از رکورد استفاده کنی
    ثانیا که خداوند - جل و علی- سالهاست که OOP رو خلق کرده
    ثالثا هم که تو اینجور موارد تجربه حقیرمیگه <span dir=ltr>C++‎</span> به خاطر امکان تعریف دوباره عملگر بهترین زبونه.

  13. #13
    اولا که این مباحث ربطی به الگوریتم نداشت
    به نظر شما به چی ربط داشت؟ :mrgreen:
    ثانیا که خداوند - جل و علی- سالهاست که OOP رو خلق کرده
    نخیر عزیز من چرا کفر میگی خدا که oop رو خلق نکرده. :strange:
    ثالثا هم که تو اینجور موارد تجربه حقیرمیگه C++‎ به خاطر امکان تعریف دوباره عملگر بهترین زبونه
    ما هم میدونیم کهC++‎ بهتره ولی میخواستیم با پاسکال یا c این کارو انجام بدیم. :wink:
    :sorry:

  14. #14
    ثانیا که خداوند - جل و علی- سالهاست که OOP رو خلق کرده
    سپیدار جان , برای اینکه مفهوم OOP رو کسی درک کنه(سپس اون رو بکار بگیره) ابتدا لازمه با جدا سازی مفهوم تعریف(Declaration) و پیاده سازی(ّImplementation) ساختارها آشنا بشه.هدف یادگیری مفاهیم بود و مسلمه که در عمل سیستم های جامع تری وجود داره.

    ثالثا هم که تو اینجور موارد تجربه حقیرمیگه C++‎ به خاطر امکان تعریف دوباره عملگر بهترین زبونه.
    کدوم موارد؟

  15. #15
    سپیدار جان , برای اینکه مفهوم OOP رو کسی درک کنه(سپس اون رو بکار بگیره) ابتدا لازمه با جدا سازی مفهوم تعریف(Declaration) و پیاده سازی(ّImplementation) ساختارها آشنا بشه.هدف یادگیری مفاهیم بود و مسلمه که در عمل سیستم های جامع تری وجود داره.
    در مورد تعریف (شامل شبه کدهایی برای مشخص کردن کلی توابعی که روی نوع داده جدید عمل میکنند) موافقم؛
    اما پیاده سازی یه مساله کاملا تکنیکیه که با محیطی که داریم در اون عمل پیاده سازی رو انجام میدیم، ارتباط مستقیم داره.

    کدوم موارد؟
    در مورد برنامه سازی در مواردی که با انواع ریاضی مختلف سر و کار داریم (شامل کار با ماتریسها، اعداد مختلط، بردارها، همین مثال و مثالهای متعدد دیگر)،‌ <span dir=ltr>C++‎</span> با فراهم آوردن ویژگی «تعریف مجدد عملگر» دو محسنه بزرگ برای برنامه نویسان به ارمغان آوردهاولا (بر خلاف اونچه که گفته میشه) خوانایی برنامه ها واقعا اضافه میشه. ثانیا (بالاخص در محاسات ریاضی) استفاده کننده از شئ، از سر و کله زدن بیخود با پشته، راحت میشه.

  16. #16
    نخیر عزیز من چرا کفر میگی خدا که oop رو خلق نکرده.
    یه کم بیشتر فکر کن.

    به نظر شما به چی ربط داشت؟
    چون مربوط به پیاده سازی بود به:
    ما هم میدونیم کهC++‎ بهتره ولی میخواستیم با پاسکال یا c این کارو انجام بدیم.
    ***

    در ضمن دیگه هم از این پستا نکن. چون آف تاپیک به حساب میاد.

  17. #17
    سلام آقای سپیدار
    به خدا من شرمنده ام :sorry: من منظور خاصی نداشتم خواستم شوخی کنم ولی فکر میکنم که شما از دست من ناراحت شدید ببخشید
    چند تا سوال دارم اگه ممکنه جواب بدبن
    1-منظورتون از (یه کم بیشتر فکر کن) چیه؟یعنی چه جوری خدا oop رو خلق کرده؟
    2-اونجا که نوشتین( چون مربوط به پیاده سازی بود) جملتون ناقصه.
    3-منظورتون از *** چی بوده؟
    4-آف تاپیک چیه؟
    اینم تقدیم میکنم به شما :flower:
    ***************************************
    برای پیروزی و موفقیت در زندگی سه چیز لازم است:
    اول پشتکار دوم پشتکار سوم پشتکار
    ((لرد آویبوری))

  18. #18
    <span dir=ltr>Never mind!</span>
    :موفق:

  19. #19
    سلام
    دوستی که گفتن مثلا ۳/۵.۵ گویا هست یا نه : دوست عزیز As a matter of definition عدد گویا به صورت کسری که صورت و مخرجش عدد صحیح هستن تعریف شده ۳/۵.۵ رو اگر بخواین به شکل گویا بنویسید کاری نداره میشه ۶/۱۱ .

    ضمنا جناب سپیدار درست میگن در این مواقع استفاده از Operator Overloading که از امکانات قوی C++‎ است خیلی کمک میکنه.

    در ضمن در زبان کفار! به عدد گویا Rational Number میگن اگر خواستین سرچ کنید این کلمه رو سرچ کنید.

    اتفاقا کاربردهای زیادی داره. به عنوان یه مسابقه کوچیک آیا کسی میتونه یه مثال از کاربرد اعداد گویا و اینکه یه کلاس براش بنویسیم بگه ؟؟

    ممنون علی

  20. #20
    آیا صورت و مخرج اعداد گویا باید حتما صحیح باشن؟ یعنی مثلا 5/3.5 گویا نیست؟
    خیر ! تعریف اعداد گویا این است که حتما صورت و مخرج صحیح باشند. 5/3.5 برابر 10/7 است.

    نقل قول:
    ولی فکر کنم تو اونprocedure که نوشتین یه جا اشتباه کردین تو خط سوم و چهارم بجای MوN باید ازaوb استفاده کنی نه؟

    آره
    من این مورد رو تو جواب ایشون ندیدم ! اصلاحش کردین یا چشم من مشکل داره ؟
    تو Procedure Add که همه چیز درسته و تو فراخوانی هم که M و N مشکلی نداره !

    ضمنا من فکر می کنم اگر ساده کردن کسر رو بتونیم تعریف کنیم خوب باشه ! توجه به بزرگ شدن صورت و مخرج حاصل جمع چند کسر دلیل این تعریف است.

  21. #21

    data type در sql server

    سلام
    میخواستم درباره ی تکنیک raid5 ,انواع داده ها در sql serverبرام توضیح بدید \mer30

تاپیک های مشابه

  1. فوری کمک لطف : Data type تاریخ و ساعت
    نوشته شده توسط Amirtak در بخش SQL Server
    پاسخ: 1
    آخرین پست: شنبه 23 دی 1385, 16:23 عصر
  2. data type بدون محدودیت تعداد کاراکتر
    نوشته شده توسط mmha_85 در بخش SQL Server
    پاسخ: 10
    آخرین پست: جمعه 15 دی 1385, 16:34 عصر
  3. Data type
    نوشته شده توسط mehdi58 در بخش SQL Server
    پاسخ: 4
    آخرین پست: جمعه 19 اسفند 1384, 07:58 صبح
  4. مشکل انتخاب data type در جدول برای ذخیره عدد 192.20
    نوشته شده توسط vbstar در بخش SQL Server
    پاسخ: 1
    آخرین پست: چهارشنبه 11 آبان 1384, 21:01 عصر

قوانین ایجاد تاپیک در تالار

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