Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
кусовая работа.docx
Скачиваний:
5
Добавлен:
21.09.2019
Размер:
619.11 Кб
Скачать
    1. Контрольные примеры

Контрольный пример 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.

  1. ЗАДАЧА 8

    1. Задание

удалить оба ранее вставленных элемента.

    1. Входные данные

Список

    1. Выходные данные

Пустой список

    1. Листинг программы:

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();

}

}

}