Определить время, через которое встретятся два тела, равноускоренно движущиеся навстречу - C#
Формулировка задачи:
Разработка консольных приложений
Линейные алгоритмы
Определить время, через которое встретятся два тела, равноускоренно движущиеся навстречу друг другу, если известны их начальные скорости, ускорения и начальное расстояние между ними.
Решение задачи: «Определить время, через которое встретятся два тела, равноускоренно движущиеся навстречу»
textual
Листинг программы
using System;
namespace SpeedRuner
{
class Program
{
static void Main(string[] args)
{
Console.SetWindowSize(80, 15);
Background();
Motion();
}
private static void Motion()
{
char bibi = '=';
DateTime startTime = DateTime.Now;
for (int i = 0; i < 37; i++)
{
Console.CursorTop = 10;
Console.ForegroundColor = ConsoleColor.Green;
if (i == 36)
{
Console.ForegroundColor = ConsoleColor.Red;
}
if ((i & 1) == 0)
{
Console.CursorLeft = 4 + i;
Console.Write(bibi);
}
else
{
Console.CursorLeft = 75 - i;
Console.Write(bibi);
}
Console.Beep();
Timer(startTime);
}
End();
Console.CursorLeft = 0;
Console.CursorTop = 14;
Console.CursorVisible = false;
}
private static void End()
{
Console.ResetColor();
Console.CursorLeft = 38;
Console.CursorTop = 7;
Console.WriteLine("End...");
}
private static void Timer(DateTime startTime)
{
Console.ForegroundColor = ConsoleColor.Yellow;
Console.CursorTop = 5;
Console.CursorLeft = 36;
Console.Write($"{(DateTime.Now - startTime).TotalSeconds: 0.##} s.");
}
private static void Background()
{
Line();
for (int i = 0; i < 12; i++)
{
Console.CursorLeft = 1;
Console.Write("*");
Console.CursorLeft = 78;
Console.WriteLine("*");
}
Line();
}
private static void Line()
{
Console.CursorLeft = 1;
Console.WriteLine($"{new string('*', 78)}");
}
}
}