Написать программу, которая находит площадь треугольника по формуле. С использованием делегатов
Ответы на вопрос
using System;
namespace kp9p_pr_10_zad_6
{
class Program
{
delegate void Square(double a1, double b1, double alfa1);
static void Main(string[] args)
{
double a, b; // переменные для сторон a и b
double alpha; // переменная для угла альфа
Console.WriteLine("Введите значения треугольника:\n ");
Console.Write("a: ");
a = double.Parse(Console.ReadLine()); // ввод стороны a
Console.Write("b: ");
b = double.Parse(Console.ReadLine()); // ввод стороны b
Console.Write("Угол альфа: ");
alpha = double.Parse(Console.ReadLine()); // ввод угла альфа
sq(a, b, alpha);
static void sq(double a1, double b1, double alpha1) // функция sq расчета и вывода площади
{
Console.WriteLine("\nПлощадь: {0}", (a1 * b1 * Math.Sin(alpha1)) / 2); // вывод и расчет площади
}
}
}
}
Для решения этой задачи мы можем определить делегат, который будет представлять собой функцию для вычисления площади треугольника по формуле Герона. Затем мы создадим функцию, которая будет использовать этот делегат для вычисления площади. Вот как это можно сделать на языке C#:
csharpusing System;
delegate double TriangleAreaDelegate(double a, double b, double c);
class Program
{
static double CalculateTriangleArea(double a, double b, double c)
{
double s = (a + b + c) / 2;
return Math.Sqrt(s * (s - a) * (s - b) * (s - c));
}
static void Main(string[] args)
{
TriangleAreaDelegate triangleAreaCalculator = CalculateTriangleArea;
Console.WriteLine("Введите длины сторон треугольника:");
Console.Write("Сторона A: ");
double sideA = Convert.ToDouble(Console.ReadLine());
Console.Write("Сторона B: ");
double sideB = Convert.ToDouble(Console.ReadLine());
Console.Write("Сторона C: ");
double sideC = Convert.ToDouble(Console.ReadLine());
double area = triangleAreaCalculator(sideA, sideB, sideC);
Console.WriteLine($"Площадь треугольника: {area}");
}
}
Здесь мы определяем делегат TriangleAreaDelegate, который принимает три параметра типа double и возвращает double. Функция CalculateTriangleArea вычисляет площадь треугольника по формуле Герона. В Main мы создаем экземпляр делегата, вводим длины сторон треугольника и используем делегат для вычисления и вывода площади.
Не забудьте, что делегаты - это более старый способ работы с функциональными возможностями в C#. В современных версиях C# (начиная с C# 3.0) рекомендуется использовать анонимные методы или лямбда-выражения вместо делегатов.
Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili
