Вывести таблицу зависимости силы взаимодействия двух точечных зарядов от их величин q1 и q2 - C#
Формулировка задачи:
Реализовать программу, которая выводит на дисплей таблицу зависимости силы взаимодействия двух точечных зарядов от их величин q1 и q2. Интервалы и шаги изменения значений зарядов, диэлектрическая проницаемость среды и расстояние между зарядами задаются пользователем. Применить цветное выделение тех значений силы, превышающие некоторое критическое значение, заданное пользователем. Предусмотреть возможность выбора пользователем единицы измерения зарядов (мкКл, мКл, Кл), а также точности исходных значений (количества знаков после запятой).
Можете помочь очень нужно сдать лабу а в физике ни бе ни ме и получаеться что сделать не могу(
Решение задачи: «Вывести таблицу зависимости силы взаимодействия двух точечных зарядов от их величин q1 и q2»
textual
Листинг программы
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Console_CSharp { class Program { static void Main(string[] args) { Console.Title = "lol"; double MaxCurrent; double k, r, E1; double q2start, q2stop, q2step; double q1start, q1stop, q1step; double E = 8.85 * Math.Pow(10, -12); int Precision; string TimeUnit; Console.WriteLine("Введите единицу времени ('мкКл', 'мКл' або 'Кл'):"); TimeUnit = Console.ReadLine(); switch (TimeUnit) { case "мкКл" : k = 1 * Math.Pow(10, -6); break; case "мКл" : k = 1 * Math.Pow(10, -3); break; case "Кл" : k = 1; break; default: k = 1; TimeUnit = "Кл"; Console.WriteLine("Будет использовано единицу '" + TimeUnit + "'!"); break; } Console.WriteLine("Введите максимальное критическое значение, (" + TimeUnit + ")"); MaxCurrent = Convert.ToDouble(Console.ReadLine()); Console.WriteLine("Введите начальное, конечное и шаговое значение сопротивления нагревателя, К:"); q2start = Convert.ToDouble(Console.ReadLine()); q2stop = Convert.ToDouble(Console.ReadLine()); q2step = Convert.ToDouble(Console.ReadLine()); Console.WriteLine("Введите начальное, конечное и шаговое значение напряжения питания, К:"); q1start = Convert.ToDouble(Console.ReadLine()); q1stop = Convert.ToDouble(Console.ReadLine()); q1step = Convert.ToDouble(Console.ReadLine()); Console.WriteLine("Введите растояния, м:"); r = Convert.ToDouble(Console.ReadLine()); Console.WriteLine("Введите относительную, Е:"); E1 = Convert.ToDouble(Console.ReadLine()) * E; Console.WriteLine("Введите точность исчисления (количество знаков после комы):"); Precision = Convert.ToInt32(Console.ReadLine()); Console.Clear(); Console.ForegroundColor = ConsoleColor.Green; Console.Write("\t"); for (double q1 = q1start; q1 <= q1stop; q1 += q1step) { Console.Write("{0, " + (5 + Precision) + ":F0} Кл ", q1); } Console.WriteLine(); for (double q2 = q2start; q2 <= q2stop; q2 += q2step) { Console.ForegroundColor = ConsoleColor.Blue; Console.Write("{0:F0} Кл\t", q2); for (double q1 = q1start; q1 <= q1stop; q1 += q1step) { double Z = Math.Abs(q1) * Math.Abs(q2); double F = k * (Z / E * Math.Pow(r, 2)); Console.ForegroundColor = Z > MaxCurrent ? ConsoleColor.Red : ConsoleColor.White; Console.Write("{0, 6:E" + Precision + "} ", F); } Console.WriteLine(); } Console.WriteLine("\nНажмите кнопку для завершения..."); Console.ReadKey(true); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д