Вывести таблицу зависимости силы взаимодействия двух точечных зарядов от их величин 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);               
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4.429 из 5
Похожие ответы