Введение
В этом лабораторном практикуме вы научитесь вычислять площадь трапеции с помощью языка программирования C. Практикум охватывает шаги по вводу двух параллельных оснований и высоты трапеции, а затем вычислению её площади по формуле: Площадь = 0.5 _ (a+b) _ h. Программа запрашивает у пользователя необходимые значения, а затем вычисляет и отображает площадь трапеции.
Чтение двух параллельных сторон и высоты
В этом шаге вы узнаете, как считать две параллельные стороны и высоту трапеции для подготовки к вычислению её площади на языке C.
Сначала создадим новый файл C для вычисления площади трапеции:
cd ~/project
nano trapezoid_area.c
Теперь добавим следующий код для чтения параллельных сторон и высоты:
#include <stdio.h>
int main() {
float side1, side2, height;
// Запрос ввода первой параллельной стороны
printf("Введите длину первой параллельной стороны: ");
scanf("%f", &side1);
// Запрос ввода второй параллельной стороны
printf("Введите длину второй параллельной стороны: ");
scanf("%f", &side2);
// Запрос ввода высоты
printf("Введите высоту трапеции: ");
scanf("%f", &height);
// Вывод введенных значений для проверки
printf("Первая сторона: %.2f\n", side1);
printf("Вторая сторона: %.2f\n", side2);
printf("Высота: %.2f\n", height);
return 0;
}
Компилируем и запускаем программу:
gcc trapezoid_area.c -o trapezoid_area
./trapezoid_area
Пример вывода:
Введите длину первой параллельной стороны: 5
Введите длину второй параллельной стороны: 7
Введите высоту трапеции: 3
Первая сторона: 5.00
Вторая сторона: 7.00
Высота: 3.00
Объяснение
- Мы используем
floatдля хранения десятичных чисел для длин сторон и высоты printf()используется для запроса ввода у пользователяscanf()считывает введенные пользователем значения с плавающей точкой- Мы выводим введенные значения для проверки, что они были правильно получены
Вычисление площади = 0.5*(a+b)*h
В этом шаге вы измените предыдущую программу на C для вычисления площади трапеции по формуле: Площадь = 0.5 _ (a+b) _ h.
Откройте существующий файл и обновите код:
cd ~/project
nano trapezoid_area.c
Замените предыдущий код следующим:
#include <stdio.h>
int main() {
float side1, side2, height, area;
// Запрос ввода первой параллельной стороны
printf("Введите длину первой параллельной стороны: ");
scanf("%f", &side1);
// Запрос ввода второй параллельной стороны
printf("Введите длину второй параллельной стороны: ");
scanf("%f", &side2);
// Запрос ввода высоты
printf("Введите высоту трапеции: ");
scanf("%f", &height);
// Вычисление площади по формуле площади трапеции
area = 0.5 * (side1 + side2) * height;
// Вывод вычисленной площади
printf("Площадь трапеции: %.2f\n", area);
return 0;
}
Компилируем и запускаем программу:
gcc trapezoid_area.c -o trapezoid_area
./trapezoid_area
Пример вывода:
Введите длину первой параллельной стороны: 5
Введите длину второй параллельной стороны: 7
Введите высоту трапеции: 3
Площадь трапеции: 18.00
Объяснение
- Мы добавили новую переменную
areaдля хранения вычисленной площади - Формула
0.5 * (side1 + side2) * heightвычисляет площадь трапеции printf()отображает вычисленную площадь с двумя десятичными знаками- Вычисление использует стандартную формулу площади трапеции: S = 0.5(a+b)h
Вывод площади
В этом шаге вы улучшите программу вычисления площади трапеции, добавив форматированный вывод и обработку ошибок для повышения удобства пользователя.
Откройте существующий файл и обновите код:
cd ~/project
nano trapezoid_area.c
Замените предыдущий код следующим:
#include <stdio.h>
int main() {
float side1, side2, height, area;
// Валидация ввода
printf("Калькулятор площади трапеции\n");
printf("----------------------------\n");
// Запрос ввода первой параллельной стороны
printf("Введите длину первой параллельной стороны: ");
if (scanf("%f", &side1) != 1 || side1 <= 0) {
printf("Ошибка: Неверный ввод для первой стороны.\n");
return 1;
}
// Запрос ввода второй параллельной стороны
printf("Введите длину второй параллельной стороны: ");
if (scanf("%f", &side2) != 1 || side2 <= 0) {
printf("Ошибка: Неверный ввод для второй стороны.\n");
return 1;
}
// Запрос ввода высоты
printf("Введите высоту трапеции: ");
if (scanf("%f", &height) != 1 || height <= 0) {
printf("Ошибка: Неверный ввод для высоты.\n");
return 1;
}
// Вычисление площади по формуле площади трапеции
area = 0.5 * (side1 + side2) * height;
// Форматированный вывод результатов
printf("\nРезультаты вычисления площади трапеции:\n");
printf("-------------------------------------\n");
printf("Первая сторона: %.2f\n", side1);
printf("Вторая сторона: %.2f\n", side2);
printf("Высота: %.2f\n", height);
printf("Площадь: %.2f квадратных единиц\n", area);
return 0;
}
Компилируем и запускаем программу:
gcc trapezoid_area.c -o trapezoid_area
./trapezoid_area
Пример вывода:
Калькулятор площади трапеции
----------------------------
Введите длину первой параллельной стороны: 5
Введите длину второй параллельной стороны: 7
Введите высоту трапеции: 3
Результаты вычисления площади трапеции:
-------------------------------------
Первая сторона: 5.00
Вторая сторона: 7.00
Высота: 3.00
Площадь: 18.00 квадратных единиц
Объяснение
- Добавлена валидация ввода для предотвращения некорректных значений.
- Улучшен форматированный вывод с заголовками и ясными метками.
- Добавлена обработка ошибок для некорректных типов ввода.
- Включен описательный вывод со всеми входными параметрами и вычисленной площадью.
- Используется
%.2fдля отображения чисел с плавающей точкой с двумя десятичными знаками.
Резюме
В этом лабораторном практикуме вы сначала изучили, как считывать две параллельные стороны и высоту трапеции с помощью функций printf() и scanf(). Затем вы вычислили площадь трапеции по формуле: Площадь = 0.5 _ (a+b) _ h, где a и b — параллельные стороны, а h — высота. Наконец, вы вывели вычисленную площадь на консоль.



