تاریخ امروز :
iOS
macOS
Xcode
iTunes
نمایش نتایج: از 1 به 9 از 9

موضوع: سوالات پایه ای Objective-C و کمک جهت پیدا کردن پاسخ در Documentation

  1. #1
    تاریخ عضویت
    Jun 2009
    محل سکونت
    Tehran
    نوشته ها
    111
    سپاس
    103
    از این کاربر 96 بار در 39 ارسال سپاس شده است.

    پیش فرض سوالات پایه ای Objective-C و کمک جهت پیدا کردن پاسخ در Documentation

    دوستان من تازه شروع به یادگیری Objective-C کردم و کتاب
    Objective-C Programming - The Big Nerd Ranch Guid
    Amazon.com: Objective-C Programming: The Big Nerd Ranch Guide (Big Nerd Ranch Guides) (9780321706287): Aaron Hillegass: Books
    رو میخونم.
    سوالات مفهومی برام پیش اومده که به تدریج ازتون میپرسم و ممنون میشم بهم کمک کنید.

    ولی در ابتدا، من نتونستم با محیط Documentation خوب ارتباط برقرار کنم و جواب سوالام رو از اونجا پیدا کنم.
    ممنون میشم اگه علاوه بر کمک به سوالاتم، بتونید کمک کنید که چطور جواب سوال رو در Documentaion پیدا کنم.

    به عوان اولین سوال:
    چرا وقتی
    کد PHP:
    float f=3.35 
    قرار میدم، مقدار 3.3499999 در اون قرار میگیره؟؟
    حتی اگر بنویسیم:
    کد PHP:
    float f=3.35f 
    باز هم به همین نتیجه میرسیم
    و مثلا اگر شرطی بگذارم که آیا
    کد PHP:
     if (f==3.35
    جواب منفی میگیرم؟؟
    ولی مثلا با
    کد PHP:
     float f=3.75 
    این مشکل رو نداره !! و همون مقدار f=3.75 رو قرار میده


    البته اگر من شرط رو به
    کد PHP:
    if (f==3.35f
    تغییر بدم شرط درست در میاد، ولی سوال من اینه:
    ۱. چرا همچین مسئله ای بوجود میاد و ایا همیشه باید از f بعد از عدد (3.35f) استفاده کنم؟
    ۲. چرا من نمیتونم اطلاعات کاملی در Documentation در باره floating Point numbers پیدا کنم؟ آیا این مسئله و راه حل اون، در اونجا توضیح داده شده ؟
    من کلی در documentation گشتم، بدنبال واژه هایی مثل
    data type
    variable type
    floating point number
    ولی نتونستم چیزی پیدا کنم.

    مهمتر از پیدا کردم جواب سوال، برام مهم هست که چطور به تنهایی بتونم جواب رو در documentaion پیدا کنم.

    سایر سوالات رو بتدریج میپرسم
    متشکرم
    ویرایش توسط dr_bijan : 02-07-2012 در ساعت 10:15 PM

  2. #2
    تاریخ عضویت
    Apr 2012
    محل سکونت
    isfahan
    نوشته ها
    84
    سپاس
    65
    از این کاربر 32 بار در 26 ارسال سپاس شده است.

    پیش فرض

    سلام
    من الان با c++ یه برنامه ساده نوشتم و چیزی رو که شما نوشتین نبود یعنی float=3.35 رو که چاپ کردم دقیقا ۳.۳۵ رو چاپ کرد

    ولی در عبارت های شرطی درست کار نمیکنه به دلیل این که کامپیوتر ها اعداد رو فقط بر مبنای دو میشناسند و موقع تبدیل اعداد اعشاری فقط مقدار تقریبی رو در متغیر ذخیره میکنه
    یک راه حل این هست که شما به جای استفاده از عبارت
    If(f==3.35)
    از عبارت
    Float f,g;
    F=g=3.35;
    If (f==g)
    استفاده کنید



    Sent from my iPad using Tapatalk HD
    ویرایش توسط Ehsanbagheri : 03-07-2012 در ساعت 12:33 AM

  3. 3 کاربر زیر از Ehsanbagheri عزیز به خاطر این پست مفید سپاس کرده اند .


  4. #3
    تاریخ عضویت
    Apr 2012
    محل سکونت
    isfahan
    نوشته ها
    84
    سپاس
    65
    از این کاربر 32 بار در 26 ارسال سپاس شده است.

    پیش فرض

    من با برنامه bloodshed dev c++ استفاده میکنم
    Http://www.bloodshed.net



    Sent from my iPad using Tapatalk HD

  5. #4
    تاریخ عضویت
    Sep 2011
    محل سکونت
     تبریز 
    نوشته ها
    276
    ورژن iOS
    11.0
    ورژن Mac
    10.13
    سپاس
    2,913
    از این کاربر 204 بار در 115 ارسال سپاس شده است.

    پیش فرض

    منم با احسان موافقم بهتر هست مقدار float رو اول در یک متغییر قرار بده بعد از اون متغییر در شرط if استفاده کن!
    این مشکلات اغلب از کامپایلر ها هست نه از زبان برنامه نویسی!

  6. کاربر زیر از a.p.p.l.e عزیز به خاطر این پست مفید سپاس کرده است:


  7. #5
    تاریخ عضویت
    Jun 2009
    محل سکونت
    Tehran
    نوشته ها
    111
    سپاس
    103
    از این کاربر 96 بار در 39 ارسال سپاس شده است.

    پیش فرض

    بله، در زمان چاپ، درست چاپ میکنه، ولی با شرط مشکل داره.
    البته نیازی نیست که از یک متغیر دیگه استفاده بشه، کافی هست همونطور که گفتم شرط رو به
    کد PHP:
    if (f==3.35f
    تغییر بدیم

    خوب چرا مسئله ای به این مهمی رو در هیچ جایی ذکر نکردن؟؟ آیا این مطلب در Documentation ذکر شده ؟
    ممنون میشم اگه بتونید لینکش رو بهم معرفی کنید.
    ویرایش توسط dr_bijan : 03-07-2012 در ساعت 12:50 PM

  8. #6
    تاریخ عضویت
    Apr 2012
    محل سکونت
    isfahan
    نوشته ها
    84
    سپاس
    65
    از این کاربر 32 بار در 26 ارسال سپاس شده است.

    پیش فرض

    سلام
    این مشکل نیست فقط از ناتوانی ماشین هاست
    البته یه راه بهتر هم داره شما میتونید از دستور زیر استفاده کنید
    If (fabs(f==3.35)<0.00001)


    Sent from my iPad using Tapatalk HD

  9. کاربر زیر از Ehsanbagheri عزیز به خاطر این پست مفید سپاس کرده است:


  10. #7
    تاریخ عضویت
    Jun 2009
    محل سکونت
    Tehran
    نوشته ها
    111
    سپاس
    103
    از این کاربر 96 بار در 39 ارسال سپاس شده است.

    پیش فرض

    مرسی

    سوال اول: جایی در Documentation هست که راجع به این مسئله توضیح داده باشه؟

    سوال دوم:
    فرض کنید که میخواهید بگویید:
    normalRang=10X +_2
    یعنی از 10X-2 تا 10X+2
    آیا فانکشنی هست که این گونه بازه ها رو در خودش جای بده؟

    متشکرم

  11. #8
    تاریخ عضویت
    Dec 2010
    محل سکونت
    XCODE
    نوشته ها
    2,046
    ورژن iOS
    10.3.3
    ورژن Mac
    10.11.6
    سپاس
    695
    از این کاربر 3,278 بار در 1,592 ارسال سپاس شده است.

    پیش فرض

    این کدهایی که شما تا این لحظه نوشتید همش C بوده و هنوز کاری به Objective C نداشته(البته بجز NSLOG که معادلش cout توی C++ و printf توی C هست ) و توی Documentation اپل هم بعید میدونم چیزی نوشته باشه.


    نقل قول نوشته اصلی توسط dr_bijan نمایش پست ها
    مرسی

    سوال اول: جایی در Documentation هست که راجع به این مسئله توضیح داده باشه؟

    سوال دوم:
    فرض کنید که میخواهید بگویید:
    normalRang=10X +_2
    یعنی از 10X-2 تا 10X+2
    آیا فانکشنی هست که این گونه بازه ها رو در خودش جای بده؟

    متشکرم

    باید اون function های ریاضیاتی را خودتون بنویسید. زبانهای برنامه نویسی دستورات پایه ریاضی را درونشون دارن اما اگر پیشرفته شد دیگه نه! منظورم از پایه مثل Sin ، Cos,Tan,Log,sqr و ... اگر دنبال چنین چیزی هستید باید برید سراع Matlab . راستی من جواب شمارو توی x-code.ir دادم که توی شرط هم از f استفاده کنید.
    ویرایش توسط E H S A N : 05-07-2012 در ساعت 12:13 AM

  12. کاربر زیر از E H S A N عزیز به خاطر این پست مفید سپاس کرده است:


  13. #9
    تاریخ عضویت
    Apr 2012
    محل سکونت
    isfahan
    نوشته ها
    84
    سپاس
    65
    از این کاربر 32 بار در 26 ارسال سپاس شده است.

    پیش فرض

    نقل قول نوشته اصلی توسط dr_bijan نمایش پست ها
    مرسی

    سوال اول: جایی در Documentation هست که راجع به این مسئله توضیح داده باشه؟

    سوال دوم:
    فرض کنید که میخواهید بگویید:
    normalRang=10X +_2
    یعنی از 10X-2 تا 10X+2
    آیا فانکشنی هست که این گونه بازه ها رو در خودش جای بده؟

    متشکرم
    منظور شما رو درست نفهمیدم لطفا واضح در بگید تا کمکتون بکنم


    Sent from my iPad using Tapatalk HD

اطلاعات موضوع

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

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

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

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  
اطلاعات سایت
لینک دوستان
درباره سایت
انجمن تخصصی آيفون در سال ۲۰۰۷ با عرضه‌ی اولين نسل گجت‌های iOS اپل فعاليت خود را آغاز نمود. مفتخر هستيم که تا اين لحظه پيشتاز خدمت رسانی به کاربران ايرانی محصولات اپل باشيم.

اکنون ساعت 07:36 AM برپایه ساعت جهانی (GMT - گرینویچ) +4.5 می باشد.

Powered by vBulletin® Version 4.2.3
Copyright © 2019 vBulletin Solutions, Inc. All rights reserved.