استفادۀ عملی از اپراتورها در قالب پروژۀ محاسبۀ وزن خود روی سایر سیارات


در این آموزش قصد داریم تا به بررسی نحوۀ به‌کارگیری اپراتورها در قالب یک پروژۀ عملی بپردازیم و در همین راستا سناریویی مد نظر قرار می‌دهیم که در آن قرار است تا عدد مربوط به وزن کنونی خود روی کرۀ زمین را وارد برنامه کرده سپس ببینیم که وزن معادل‌مان روی سیارات دیگری مانند مشتری و زحل چه‌قدر است.

برای این منظور، ابتدا بر اساس آنچه در آموزش‌های پیشین آموختیم، یک پروژۀ جدید ایجاد کرده و کلاسی به نام Operator در آن می‌سازیم که پس از باز کردن فایل، کدی مانند زیر خواهیم داشت:

public class Operator {
    /**
    * @param args
    */
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    }
}

همان‌طور که در آموزش نگاهی به کامنت‌گذاری در زبان برنامه‌نویسی جاوا توضیح داده شد، سه نوع کامنت در این زبان داریم که در کد بالا دو نوع از آن‌ها را مشاهده می‌کنیم؛ به علاوه اینکه گفتیم کامنت‌ها در روند اجرای برنامه بی‌تأثیر هستند و از همین روی کلیۀ کامنت‌ها را حذف کرده و در نتیجه کدی به شکل زیر خواهیم داشت:

public class Operator {
    public static void main(String[] args) {
    
    }
}

همچنین لازم به یادآوری است که برای حذف یک سطر از کد می‌توانیم نشانگر ماوس را روی سطر مورد نظر قرار داده سپس کلیدهای Ctrl + D را به صورت هم‌زمان فشار دهیم (البته نیاز به توضیح است که بسته به تنظیمات نرم‌افزار، این کلیدها می‌توانند از سیستمی به سیستم دیگر متفاوت باشند.)

به خاطر داشته باشید
نکته‌ای که می‌باید جزو عادات خود به عنوان یک برنامه‌نویس حرفه‌ای قرار دهیم، کامنت‌گذاری اصولی سورس‌کد است چرا که بدین ترتیب از سردرگمی خود و همچنین سایر دولوپرها در آینده جلوگیری می‌نماییم.

همچنین توجه داشته باشیم که در صورت تمایل می‌توانیم برخی کامنت‌ها را در قالب جملات فارسی در سورس‌کدِ خود درج کنیم با این توضیح که در حین ذخیره کردن فایل جاوای مربوطه نیاز است تا گزینۀ Save as UTF-8 را انتخاب نماییم.

حال شروع به نوشتن برنامۀ مورد نظر خود می‌کنیم به طوری که در ابتدا قصد داریم تا با اجرای برنامه، استرینگ «My weight on the Earth» در کنسول چاپ شود:

public class Operator {
    public static void main(String[] args) {
        // این بخش از کد مربوط وزن من روی کره زمین است
        System.out.print("My weight on the Earth");
    }
}

همان‌طور که می‌بینید، کامنتی در سطر مربوط به محاسبۀ وزن خود بر روی زمین درج می‌کنیم تا آن را از قسمت‌های مربوط به محاسبۀ وزن روی سایر سیارات جدا سازیم.

چرا وزن اجسام بر روی سیارات مختلف متفاوت می‌باشد؟

پیش از ادامۀ بحث، می‌باید به سؤال فوق پاسخ دهیم. در واقع، نیروی گرانشی یا نیروی جاذبه‌ای که از طرف سیارات مختلف بر اجسام وارد می‌شود متفاوت بوده و منجر بدین می‌شود تا اجسام از وزن متفاوتی برخوردار گردند. 

در حقیقت، هر یک از اجسام دارای جرمی ثابت می‌باشد که روی سیارات مختلف تغییری نمی‌کند چرا که جرم جسم را مؤلفه‌های ثابتی همچون تعداد کل اتم‌ها، تراکم اتم‌های درون آن و همچنین نوع این اتم‌ها تشکیل می‌دهند اما این در حالی است که اجسام مختلف بر اساس نیروی جاذبۀ متفاوتی که در هر یک از سیارات بر آن‌ها وارد می‌شود، وزن متفاوتی به خود می‌گیرند؛ به عبارت بهتر، می‌توان گفت که وزن هر شیئ بر روی سیارات مختلف از حاصل‌ضرب جرم جسم در نیروی جاذبۀ سیارۀ مربوطه به دست می‌آید.

با توجه به آنچه در بالا بدان اشاره کردیم، بهتر است تا معادل «نیروی وزن» را به جای واژۀ «وزن» برای هر یک از اجسام به کار برد چرا که نیرویی متشکل از نیروی جاذبۀ سیارۀ مورد نظر در جرم جسم می‌باشد که واحد آن نیز نیوتون است اما این در حالی است که واحد کیلوگرم به اشتباه هم برای جرم و هم برای وزن (نیروی وزن) شیئ به کار برده می‌شود. با توجه به آنچه که اشاره کردیم، نیروی وزن یک شیئ بر روی زمین از حاصل‌ضرب جرم جسم در نیروی گرانش زمین معادل عدد 9/8 به دست می‌آید.

در واقع، با در نظر داشتن نیروی وزن یک جسم روی زمین معادل عددی دلخواه همچون 85/5 می‌توان نیروی وزن آن روی سایر سیارات را به دست آورد به طوری که کافی است تا عدد مربوطه را در نسبت نیروی گرانشی زمین به نیروی گرانشی سیارۀ مورد نظر ضرب کرد که در این آموزش ما قصد داریم تا نیروی وزن خود روی دو سیارۀ مشتری و زحل را محاسبه کنیم. در حقیقت، نیروی گرانش روی دو سیارۀ مشتری و زحل به ترتیب برابر با 24/79 و 10/44 می‌باشد بدین معنی که نیروی گرانش روی دو سیارۀ مشتری و زحل به ترتیب 2/52 و 1/06 برابرِ نیروی گرانش زمین است و از همین روی می‌توان نیروی وزن خود روی سیارات مشتری و زحل را از حاصل‌ضرب نیروی وزن خود روی زمین در اعداد مذکور به دست آورد.

اکنون با دانستن هر یک از مفاهیم جرم، نیروی وزن و نسبت نیروی جاذبۀ هر یک از سیارات مشتری و زحل نسبت به زمین، پروژۀ خود را در ادامه تکمیل می‌نماییم. ابتدا به ساکن نیاز است تا با استفاده از دیتا تایپ double متغیری به منظور نگهداری مقدار نیروی وزن خود تعریف کنیم (نوع دادۀ عدد اعشاری را بدین دلیل انتخاب نموده‌ایم که در بیشتر مواقع نیروی وزن افراد رُند نبوده بلکه در قالب یک عدد اعشاری است و از همین روی نوع دادۀ عدد صحیح جهت نگهداری مقدار نیروی وزن مناسب نمی‌باشد.) برای این منظور، کدی مانند زیر خواهیم داشت:

public class Operator {
    public static void main(String[] args) {
        // این بخش از کد مربوط به نیروی وزن من روی کره زمین است
        System.out.print("My weight on the Earth ");
        double myWeightOnEarth = 85.5;
        System.out.println(myWeightOnEarth);
    }
}

در کد فوق، پس از دستور مربوط به چاپ استرینگ «My weight on the Earth» متغیری تحت عنوان myWeightOnEarth با به‌کارگیری نوع دادۀ double تعریف کرده و عددی دلخواه مانند 85/5 را بدان منتسب کرده‌ایم سپس مقدار منتسب به متغیر مذکور را به عنوان آرگومان ورودی به متد ()println داده‌ایم تا مقدار منتسب‌شده به آن معادل نیروی وزن کاربر روی زمین را به همراه استرینگ «My weight on the Earth» در کنسول نمایش داده و به سطر بعد برود.

در واقع، نکتۀ قابل‌توجه در رابطه با کد فوق این است که از متد ()print برای چاپ استرینگ مذکور استفاده نموده‌ایم چرا که قصد داریم تا عدد مربوط به نیروی وزن کاربر به دنبال استرینگ مد نظر در کنسول چاپ شود و در ادامه نیز از متد ()println را برای چاپ نیروی وزن کاربر به کار گرفته‌ایم چرا که می‌خواهیم نیروی وزن معادل کاربر روی سیارات مختلف به همراه استرینگ متناظرشان در سطرهای جداگانه‌ای در معرض دیدمان قرار گیرند.

در این مرحله برنامۀ خود را به منظور محاسبۀ نیروی وزن معادل روی سایر سیارات تکمیل می‌نماییم و همان‌طور که پیش‌تر اشاره کردیم، برای محاسبۀ نیروی وزن روی هر یک از سیارات مشتری و زحل کافی است تا نیروی وزن خود روی زمین را به ترتیب در اعداد 2/52 و 1/06 ضرب نماییم که برای این منظور کد خود را به صورت زیر تکمیل می‌کنیم:

public class Operator {
    public static void main(String[] args) {
        // این بخش از کد مربوط به نیروی وزن من روی کره زمین است
        System.out.print("My weight on the Earth ");
        double myWeightOnEarth = 85.5;
        System.out.println(myWeightOnEarth);
        // این بخش از کد مربوط به نیروی وزن من روی سیاره مشتری است
        System.out.print("My weight on the Jupiter ");
        double myWeightOnJupiter = myWeightOnEarth * 2.52;
        System.out.println(myWeightOnJupiter);
        // این بخش از کد مربوط به نیروی وزن من روی سیاره زحل است
        System.out.print("My weight on the Saturn ");
        double myWeightOnSaturn = myWeightOnEarth * 1.06;
        System.out.println(myWeightOnSaturn);
    }
}

همان‌طور که ملاحظه می‌شود، در ادامه دستور مربوط به چاپ استرینگ «My weight on the Jupiter» را نوشته سپس با استفاده از دیتا تایپ double متغیری به نام myWeightOnJupiter تعریف کرده که در ادامه مقدار منتسب به متغیر myWeightOnEarth برابر با نیروی وزن خود روی زمین را در نسبت نیروی جاذبۀ سیارۀ مشتری به زمین معادل عدد 2/52 ضرب کرده و مقدار حاصل را به متغیر myWeightOnJupiter منتسب می‌نماییم سپس مقدار متغیر مذکور را به عنوان آرگومان وروی به متد ()println می‌دهیم تا عدد مربوط به نیروی وزن کاربر روی سیارۀ مشتری را به همراه استرینگ «My weight on the Jupiter» در کنسول نمایش داده و به سطر بعد برود.

به همین ترتیب، با استفاده از دیتا تایپ double متغیر دیگری تحت عنوان myWeightOnSaturn تعریف کرده و مقدار منتسب به متغیر myWeightOnEarth را در نسبت نیروی جاذبۀ سیارۀ زحل به زمین معادل با عدد 1/06 ضرب نموده و مقدار حاصل را در متغیر مذکور ذخیره می‌کنیم و در ادامه مشابه روش پیشین آن را در کنسول نمایش می‌دهیم که در نهایت خروجی حاصل از اجرای کد فوق به صورت زیر می‌باشد:

My weight on the Earth 85.5
My weight on the Jupiter 215.46
My weight on the Saturn 90.63000000000001

همچنین بدیهی است که بر اساس نیروی وزن متفاوتی که ممکن است به ازای افراد مختلف در برنامۀ فوق وارد کنیم، نتیجۀ متفاوتی نیز در خروجی دریافت خواهیم کرد.


لیست نظرات
کاربر میهمان
دیدگاه شما چیست؟
کاربر میهمان
jahani_zhr
jahani_zhr
۱۳۹۷/۰۶/۰۴
سلام. من تازه برنامه نویسی رو شروع کردم که با سایت شما یاد بگیرم. این کد اولین تمرینی بود که خودم انجام دادم. تا اینجا آموزشهاتون عالی بود. ممنون ازتون.
امیدوارم منم بتونم در زبان برنامه نویسی جاوا حرفه ای بشم .
مرسی از زحماتتون.
red fire
red fire
۱۳۹۵/۰۹/۰۷
سلام و درود به اساتید محترم و با تشکر از توضیحات عالیتان

من یک مبتدی هستم و چند سوال اساسی دارم و امید وارم که اساتید گرامی پاسخ مرا بدهد :

1.ایا جاوا برای ساخت app است؟؟؟اگر اری برای چه نوع سیستم عاملی ؟؟؟
2.اگر برای ساخت app است چه نوع از ان را میتوان ساخت ؟؟؟ ایا برنامه هایی مثل برنامه اندروید "بازار" و یا برنامه های پخش mp3 mp4 را میتوان ساخت؟؟؟
3.چگونه میتوان کد را به برنامه تبدیل کرد؟؟؟
4.برای ظاهر بخشیدن به برنامه مثل اضافه کردن background و style باید چه کرد ؟؟؟

منتظر جواب شما بزرگواران هستم
با تشکر
کاربر میهمان
امیرمن یک کاربر مهمان هستم
۱۳۹۵/۰۵/۲۴
درجه یک :)
hamid7394
hamid7394
۱۳۹۵/۰۴/۰۴
سلام.بسیار عالی نوشتین.
فقط نمیدونم چرا خط ها ی دوم وسوم پشت سر هم قرار میگیرن با اینکه مثل شما نوشتم.
M.reza Nasiri
M.reza Nasiri
۱۳۹۵/۰۳/۱۶
بسیار بسیار عالــــــی
hamid_r_9750
hamid_r_9750
۱۳۹۵/۰۲/۲۲
خیلی عالی بود.قبل از اینکه آموزش رو بخونم خودم سعی کردم بنویسمش.و راحت نوشتمش.این نشون میده چقد آموزشتون قویه.
Mohsen.A
Mohsen.A
۱۳۹۴/۱۲/۰۱
سلام
در هنگام run برنامه به جای اعداد وارد شده متن نوشته را در جواب می نویسد
مثلا به جای My weight on the earth 85
My weight on the earth myweightonearth چاپ می شود.
مشکل چیه؟؟؟
ممنون از سایت عالیتون
عیسی پور
عیسی پور
۱۳۹۴/۰۹/۰۸

اینکه مطالب قبلی رو تو مطالب پیش رو تکرار میکنید خیلی خوبه و ملکه ذهن میشه
موفق و پایدار باشید
کاربر میهمان
محمدمن یک کاربر مهمان هستم
۱۳۹۴/۰۹/۰۷
بسیار عالی و ساده
کاربر میهمان
علیمن یک کاربر مهمان هستم
۱۳۹۴/۰۸/۲۹
تشکر