PDA

View Full Version : نوشتن یک فرمول فیزیک



negar.rafie
جمعه 07 اسفند 1394, 05:52 صبح
سلام
دارم روی پروژه فیزیک کار میکنم که خیلی فرمول داره
نمیدونم چطوری برنامه نویسی کنم
مثلا چطوری یه برنامه بنویسم که فرمول زیر را محاسبه کنه:

139298

kamiloted
جمعه 07 اسفند 1394, 08:30 صبح
سلام دوست عزیز.
بنده به سی شارپ تسلط کافی ندارم.
اما میتونم با بقیه زبونها به راحتی برات بنویسم.بعد به dllتبدیل کنی. اگر میخوای با زبون دیگه بنویسی در خدمتم.
مثلا سی - سی پلاس پلاس -پرل- پایتون- متلب

negar.rafie
جمعه 07 اسفند 1394, 09:49 صبح
سلام
مشکلی نیست با همون سی پلاس هم باشه خوبه

ژیار رحیمی
جمعه 07 اسفند 1394, 10:10 صبح
سلام
مشکلی نیست با همون سی پلاس هم باشه خوبه

سلام پیاده سازی فرمول کار خاصی نداره آنچه لحاظ اهمیت هست نوع (Data Type)ی هست که برای متغییر های فرمول قرار میدی با توجه به Data Type های مختلف فرمول نتایج متفاوتی رو برمیگرداند.بهتره قبل از هر چیز فرمول هایی رو که میخوای پیاده سازی کنی از نظر نوع متغییرها بررسی جامع روی آنها انجام بدی.در فرمول بالا دو نوع پیاده سازی از یک فرمول رو داری که با چند ریختی میتونی پیاده سازی کنی.به نظر من اگر میخوای روی فرمول های فیزیک کار کنی بهتره به فرمول ساز براش بنویسی که کاربر خودش فرمول رو طراحی کنه که جامع تر از چند پیاده سازی مختلف باشه.

negar.rafie
جمعه 07 اسفند 1394, 11:46 صبح
ممنون
منم دقیقا مشکلم همینه
ولی اگر همین فرمول را راهنمایی کنید بقیه فرمول ها را خودم دیگه راه میافتم

negar.rafie
جمعه 07 اسفند 1394, 16:12 عصر
خواهشا کمک کنید
به چند تا از کاربران هم پیام زدم ولی کسی نتونست کمک کنه

fsuser
جمعه 07 اسفند 1394, 16:31 عصر
این کاری نداره متغییر هارو با اعدادی که میخوای پر میکنی . متغیر هایی که ثابت هستن رو از گوگل پیدا میکنی (مثلا p = 3.14).از کتاب خانه ریاضی استفاده میکنی (برای محاسبتی هم چون X بتوان y)و بعد فرمولش رو تبدیل میکنی
اول بالای پروژه using system.math;
بعد تعریف مغییر ها ...
و جاسازی
double f = (k * q1*q2)/pow(r,2);
باید توجه کنی که نوع داده ها هم یکی باشه در غیر انصورت باید عمل Casting رو انجام بدی

negar.rafie
جمعه 07 اسفند 1394, 17:07 عصر
مثلا همون k خیلی مشکل سازه
همش مقدارش اشتباه میشه
میشه کد کاملش را بذارید؟
میگم فرمول زیاده فقط همین را کدش را یاد بگیرم بقیه را خودم مینویسم

Mahmoud.Afrad
جمعه 07 اسفند 1394, 22:52 عصر
مثلا همون k خیلی مشکل سازه
همش مقدارش اشتباه میشه
میشه کد کاملش را بذارید؟
میگم فرمول زیاده فقط همین را کدش را یاد بگیرم بقیه را خودم مینویسم

مقدار K رو داری پس میتونی به صورت یک const تعریف کنی.

negar.rafie
شنبه 08 اسفند 1394, 03:00 صبح
کلا جناب Mahmoud.Afrad همونطور کخ میدونید ین فرمول جاگذاری هستش
یعنی تمام فرمول هایی که من دارم همینه
فقط من یکم تو نوشتن و تعریف متغییر مشکل دارم و مثلا نحوه محسبه همین ثابت k
اگر این یکی را حل کنید بقیه را خودم مینویسم

kamiloted
شنبه 08 اسفند 1394, 05:41 صبح
سلام دوست عزیز بنده که به زبان سی پلاس براتون ارسال کردم.
الان دارم به زبان سی شارپ مینویسم اونم به صورت کاندیبت تا ساعت 2 میزارم توی همین تاپیک برای دانلود.با مثال هم تست میشه.
بعد دوست من
مقدار K رو که داری و باید با توابع mathیا بگفته سی شارپی ها با کلاس mathمیتونی به دست بیاری.
در ضمن تابع math همه رو به صورت double بر میگرداند.
مثلا



double k=9*(int)math.pow(10,9);

negar.rafie
شنبه 08 اسفند 1394, 06:15 صبح
کجا فرستادید؟
یعنی مقدار k همینه فقط
پس n.m/c چیه؟

kamiloted
شنبه 08 اسفند 1394, 06:57 صبح
اون واحد اندازه گیریشه.نیوتون متر مربع همچین چیزی.
زمانی لحاظ میشه که بخواد تبدیل کرد یا یه مقدار داشته باشه.
مثلا وزن مرغ 3kg خب اگر بخوایم کیلوگرم رو تعریف کنیم مثلا میگیم kg=1000gr
اما در اینجا این واحد ها خودشون تعریف جداگانه ای دارن که زیاد مطرح نیستن.
چون k یعنی : ضريب ثابت كولن است كه مقدار آن در خلاء ميشود :9.0 x 109 N • m2 / C2
حالا در نظر بگیرید که این خلا نباشد.مثلا محیط آبی باشه.
اینطور مقدار ثابت کاهش پیدا میکنه که خیلی زیاد نیست نسبت به این مقدارپس واحد اندازه گیریش تغییر نمیکنه.

در این فرمول
بار 1 در 2 سانتی متری بار 2 قرار داد چه مقدار نیرو به هم وارد میکنن یا نیروی وارده بار 1 به بار 2.و جهتش به کجاست که با منفی یا مثبت تعیین میشه که صورت سوال رو باید به صورت کامل در نظر گرفت.در ضمن اینجا باید سانتی متر طبق صورت سوال تبدیل گردد.
و هر بار یک از آنها در سوالات فیزیکی مجهوله.
اما مقدار k که مجهول نمیشه.

negar.rafie
شنبه 08 اسفند 1394, 07:57 صبح
ممنون
برنامش را نوشتید؟

kamiloted
شنبه 08 اسفند 1394, 09:18 صبح
بدون نقص نیست.
اما کمکتون میکنه.
http://s7.picofile.com/file/8240888468/Coulon.zip.html

Mr.Csharp
شنبه 08 اسفند 1394, 09:23 صبح
سلام
دارم روی پروژه فیزیک کار میکنم که خیلی فرمول داره
نمیدونم چطوری برنامه نویسی کنم
مثلا چطوری یه برنامه بنویسم که فرمول زیر را محاسبه کنه:

139298

سلام دوست عزیز
این کدی که براتون میزارم تنها تنها برای این عکس هستش
شما خودتون میتونید خلاقیت به خرج داده و کد ها رو بهینه کنید
using System;

namespace ConsoleApplication13
{
class program
{
static void Main()
{
const Int64 k = 9000000000;
double Q1, Q2, R , F;
Console.WriteLine("Enter Q1 >");
Q1 = double.Parse(Console.ReadLine());
Console.WriteLine("Enter Q2 >");
Q2 = double.Parse(Console.ReadLine());
Console.WriteLine("Enter R >");
R = double.Parse(Console.ReadLine());
F = (Q1 * Q2) / (R * R * k);

Console.WriteLine("Result .....{0}......",F);

Console.ReadLine();
}
}
}

kamiloted
شنبه 08 اسفند 1394, 09:32 صبح
سلام دوست عزیز
این کدی که براتون میزارم تنها تنها برای این عکس هستش
شما خودتون میتونید خلاقیت به خرج داده و کد ها رو بهینه کنید
using System;

namespace ConsoleApplication13
{
class program
{
static void Main()
{
const Int64 k = 9000000000;
double Q1, Q2, R , F;
Console.WriteLine("Enter Q1 >");
Q1 = double.Parse(Console.ReadLine());
Console.WriteLine("Enter Q2 >");
Q2 = double.Parse(Console.ReadLine());
Console.WriteLine("Enter R >");
R = double.Parse(Console.ReadLine());
F = (Q1 * Q2) / (R * R * k);

Console.WriteLine("Result .....{0}......",F);

Console.ReadLine();
}
}
}



F = (Q1 * Q2 * k) / (R * R );

negar.rafie
شنبه 08 اسفند 1394, 11:52 صبح
ممنون از همگی