Программисты на языке С, помогите пожалуйста! Р.s. нужно начертить блок-схему алгоритма решения и написать код:
Задача 1
Вычислить площадь правильного шестиугольника со стороной а, используя функцию вычисления площади треугольника. Функция должна иметь формальные параметры
Задача 2
Рассчитать значение z = modd(x)- modd(у), написав и используя функцию modd(a), равную modd(a) = а, если а >= 0, modd(a) = -а, если а<0. Функция должна иметь формальные параметры.
Ответы
Ответ:
Задание 1
#include <stdio.h>
#include <math.h>
// Функция для вычисления площади треугольника по формуле Герона
double calculateTriangleArea(double a, double b, double c) {
double s = (a + b + c) / 2.0;
return sqrt(s * (s - a) * (s - b) * (s - c));
}
// Функция для вычисления площади правильного шестиугольника
double calculateHexagonArea(double side) {
// Разбиваем шестиугольник на шесть равносторонних треугольников
double triangleSide = side;
double triangleHeight = sqrt(3.0) / 2.0 * triangleSide;
// Вычисляем площадь одного треугольника
double triangleArea = calculateTriangleArea(side, side, triangleHeight);
// Площадь шестиугольника равна площади одного треугольника, умноженной на количество треугольников
double hexagonArea = 6 * triangleArea;
return hexagonArea;
}
int main() {
double side;
// Ввод стороны правильного шестиугольника
printf("Введите длину стороны правильного шестиугольника: ");
scanf("%lf", &side);
// Проверка на корректность ввода
if (side <= 0) {
printf("Ошибка: сторона должна быть положительным числом.\n");
return 1;
}
// Вычисление и вывод площади правильного шестиугольника
double hexagonArea = calculateHexagonArea(side);
printf("Площадь правильного шестиугольника со стороной %.2lf равна %.2lf\n", side, hexagonArea);
return 0;
}
Объяснение принципа работы
Программа сначала запрашивает у пользователя длину стороны правильного шестиугольника, затем использует функцию calculateHexagonArea для вычисления и вывода площади. Функция calculateTriangleArea используется для вычисления площади треугольников.
Задание 2
#include <stdio.h>
// Функция для вычисления modd(a)
int modd(int a) {
return (a >= 0) ? a : -a;
}
int main() {
int x, y, z;
// Ввод значений x и y
printf("Введите значение x: ");
scanf("%d", &x);
printf("Введите значение y: ");
scanf("%d", &y);
// Вычисление z = modd(x) - modd(y)
z = modd(x) - modd(y);
// Вывод результата
printf("z = modd(%d) - modd(%d) = %d\n", x, y, z);
return 0;
}
Объяснение принципа работы
Программа запрашивает у пользователя значения x и y, затем использует функцию modd(a) для вычисления модуля каждого из них и, наконец, вычисляет разность z. Результат выводится на экран.