Контрольные примеры
Контрольный пример 1:
Пример 1 представлен на рисунке 17.
Ввод: 5
Вывод: 268,46
Рисунок 17 – пример работы по задаче 7.
Пример 2:
Пример 2 представлен на рисунке 18.
Ввод: 10
Вывод:0,186
Рисунок 18 – пример работы по задаче 7.
Пример 3:
Пример 3 представлен на рисунке 19.
Ввод: 20
Вывод:17,59
Рисунок 19 – пример работы по задаче 7.
Пример 4:
Пример 4 представлен на рисунке 19.
Ввод: 15
Вывод:0,0131
Рисунок 19 – пример работы по задаче 7.
ЗАДАЧА 8
Задание
удалить оба ранее вставленных элемента.
Входные данные
Список
Выходные данные
Пустой список
Листинг программы:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace lab8_v6
{
class Round
{
double Xc, Yc, R, S, L;
public Round(double _Xc, double _Yc, double _R)
{
Xc = _Xc;
Yc = _Yc;
R = _R;
S = Math.PI * R * R;
L = 2 * Math.PI * R;
}
public bool checkOxy()
{
return (Xc * Xc + Yc * Yc) < (R * R);
}
public double getModule(double k, double b)
{
double d = Math.Pow((2 * Xc - 2 * k * b - 2 * Yc * k), 2) + 4 * (k * k + 1) * (R * R - Yc * Yc - 2 * Yc * b - Xc * Xc);
if (d <= 0) return 0;
else
{
double x1 = ((2 * Xc - 2 * k * b - 2 * Yc * k) + Math.Pow(d, 0.5)) / 2 / (k * k + 1);
double x2 = ((2 * Xc - 2 * k * b - 2 * Yc * k) - Math.Pow(d, 0.5)) / 2 / (k * k + 1);
double y1 = k * x1 + b;
double y2 = k * x2 + b;
return Math.Pow(Math.Pow(x1 - x2, 2) + Math.Pow(y1 - y2, 2), 0.5);
}
}
public void Print()
{
Console.WriteLine("Радиус: {0}, Площадь: {1}, Длина: {2}", R, S, L);
}
public double GetS
{
get { return S; }
}
public double GetL
{
get { return L; }
}
public double GetR
{
get { return R; }
}
}
class StaticRound
{
public static void PrintList(List<Round> list)
{
foreach (Round l in list)
l.Print();
}
}
class Program
{
static void Main(string[] args)
{
Random random = new Random();
List<Round> roundList = new List<Round>
{
new Round(random.Next(100), random.Next(100), random.Next(100)),
new Round(random.Next(100), random.Next(100), 42),
new Round(random.Next(100), random.Next(100), random.Next(100)),
new Round(random.Next(100), random.Next(100), random.Next(100)),
new Round(random.Next(100), random.Next(100), random.Next(100)),
};
Console.WriteLine("Список:");
StaticRound.PrintList(roundList);
Console.WriteLine("\nСписок в обратном порядке:");
roundList.Reverse();
StaticRound.PrintList(roundList);
Console.WriteLine("\nСписок отсортированный по площади:");
StaticRound.PrintList(roundList.OrderBy(n => n.GetS).ToList());
roundList.Add(new Round(random.Next(100), random.Next(100), random.Next(100)));
Console.WriteLine("\nСписок с добавленным в конец элементом:");
StaticRound.PrintList(roundList);
roundList.Insert(2, new Round(random.Next(100), random.Next(100), random.Next(100)));
Console.WriteLine("\nСписок со вставленным элементом:");
StaticRound.PrintList(roundList);
roundList.RemoveAt(2);
Console.WriteLine("\nСписок с удаленным вставленным элементом:");
StaticRound.PrintList(roundList);
int index = roundList.FindIndex(n => n.GetR == 42);
Console.WriteLine("\nНайденный эелемент списка:");
roundList[index].Print();
roundList.Clear();
Console.WriteLine("\nПустой список:");
StaticRound.PrintList(roundList);
Console.ReadKey();
}
}
}