Вопрос задан 09.08.2023 в 06:17.
Предмет Информатика.
Спрашивает Износова Наташка.
Заданы координаты трех вершин треугольника (x1,y1) (x2, y2) (x3, y3). Найти его периметр и площадь.
Написать программу в vbaОтветы на вопрос
Отвечает Янгас Валентина.
Sub PS()
Dim x1 As Double, y1 As Double, x2 As Double, y2 As Double
Dim x3 As Double, y3 As Double
x1 = Cells(2, 2): y1 = Cells(2, 3)
x2 = Cells(3, 2): y2 = Cells(3, 3)
x3 = Cells(4, 2): y3 = Cells(4, 3)
a = L(x1, y1, x2, y2)
b = L(x2, y2, x3, y3)
c = L(x3, y3, x1, y1)
P = a + b + c
Cells(6, 2) = P
p2 = P / 2
S = Sqr(p2 * (P - a) * (P - b) * (P - c))
Cells(7, 2) = S
End Sub
Function L(x1 As Double, y1 As Double, x2 As Double, y2 As Double) As Double
L = Sqr((x2 - x1) ^ 2 + (y2 - y1) ^ 2)
End Function
Dim x1 As Double, y1 As Double, x2 As Double, y2 As Double
Dim x3 As Double, y3 As Double
x1 = Cells(2, 2): y1 = Cells(2, 3)
x2 = Cells(3, 2): y2 = Cells(3, 3)
x3 = Cells(4, 2): y3 = Cells(4, 3)
a = L(x1, y1, x2, y2)
b = L(x2, y2, x3, y3)
c = L(x3, y3, x1, y1)
P = a + b + c
Cells(6, 2) = P
p2 = P / 2
S = Sqr(p2 * (P - a) * (P - b) * (P - c))
Cells(7, 2) = S
End Sub
Function L(x1 As Double, y1 As Double, x2 As Double, y2 As Double) As Double
L = Sqr((x2 - x1) ^ 2 + (y2 - y1) ^ 2)
End Function

Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.
Конечно, вот пример программы на VBA, которая вычисляет периметр и площадь треугольника по заданным координатам его вершин:
vbaFunction Distance(x1 As Double, y1 As Double, x2 As Double, y2 As Double) As Double Distance = Sqr((x2 - x1) ^ 2 + (y2 - y1) ^ 2) End Function Function TrianglePerimeter(x1 As Double, y1 As Double, x2 As Double, y2 As Double, x3 As Double, y3 As Double) As Double TrianglePerimeter = Distance(x1, y1, x2, y2) + Distance(x2, y2, x3, y3) + Distance(x3, y3, x1, y1) End Function Function TriangleArea(x1 As Double, y1 As Double, x2 As Double, y2 As Double, x3 As Double, y3 As Double) As Double Dim a As Double, b As Double, c As Double, s As Double a = Distance(x1, y1, x2, y2) b = Distance(x2, y2, x3, y3) c = Distance(x3, y3, x1, y1) s = (a + b + c) / 2 TriangleArea = Sqr(s * (s - a) * (s - b) * (s - c)) End Function Sub CalculateTriangleProperties() Dim x1 As Double, y1 As Double Dim x2 As Double, y2 As Double Dim x3 As Double, y3 As Double Dim perimeter As Double, area As Double x1 = InputBox("Введите x-координату первой вершины:") y1 = InputBox("Введите y-координату первой вершины:") x2 = InputBox("Введите x-координату второй вершины:") y2 = InputBox("Введите y-координату второй вершины:") x3 = InputBox("Введите x-координату третьей вершины:") y3 = InputBox("Введите y-координату третьей вершины:") perimeter = TrianglePerimeter(x1, y1, x2, y2, x3, y3) area = TriangleArea(x1, y1, x2, y2, x3, y3) MsgBox "Периметр треугольника: " & perimeter & vbNewLine & "Площадь треугольника: " & area End Sub
Скопируйте этот код в редактор VBA в Excel (например, нажмите ALT + F11), создайте новый модуль и вставьте код туда. Затем запустите макрос CalculateTriangleProperties(), чтобы ввести координаты вершин треугольника и получить периметр и площадь.
Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili
