Прокомментировать код - C (СИ) (75820)
Формулировка задачи:
Не могли бы вы пояснить каждую строку в задаче:
Листинг программы
- #include <conio.h>
- #include <stdio.h>
- #include <math.h>
- double square1(double a, double b, double c);
- double side(double x1,double y1,double x2,double y2);
- double per(double a,double b,double c);
- main()
- {
- double x1,x2,x3;
- double y1,y2,y3;
- double a,b,c;
- double s,p;
- x1=2;x2=0;x3=4;
- y1=0;y2=2;y3=2;
- a=side(x1,x2,y1,y2);
- b=side(x2,x3,y2,y3);
- c=side(x3,x1,y3,y1);
- s=square1(a,b,c);
- p=per(a,b,c);
- printf("perimetr: \n");
- printf("%6.2f \n",p);
- printf("square: \n");
- printf("%6.2f \n",s);
- getch();
- }
- /*вычисление расстояния между двумя точками*/
- double side(double x1,double y1,double x2,double y2)
- {
- return sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1));
- }
- /*вычисление площади треугольника по трем сторонам*/
- double square1(double a, double b, double c)
- {
- double p,s;
- p=(a+b+c)/2;
- s=sqrt(p*(p-a)*(p-b)*(p-c));
- return s;
- }
- /*вычисление периметра*/
- double per(double a,double b,double c)
- {
- return (a+b+c);
- }
Решение задачи: «Прокомментировать код»
textual
Листинг программы
- // подключаемые библиотеки
- #include <conio.h>
- #include <stdio.h>
- #include <math.h>
- //
- // Заголовки функций
- double square1(double a, double b, double c);
- double side(double x1,double y1,double x2,double y2);
- double per(double a,double b,double c);
- //
- main() // Главная функция программы
- {
- double x1,x2,x3; // Создание вещественных переменных x1,x2,x3
- double y1,y2,y3; // Создание вещественных переменных y1,y2,y3
- double a,b,c; // Создание вещественных переменных a,b,c
- double s,p; // Создание вещественных переменных s,p
- x1=2;x2=0;x3=4; // Начальные значения переменных
- y1=0;y2=2;y3=2; // Начальные значения переменных
- a=side(x1,x2,y1,y2); // Вызов функции side и присвоение результата переменной a
- b=side(x2,x3,y2,y3); // Вызов функции side и присвоение результата переменной b
- c=side(x3,x1,y3,y1); // Вызов функции side и присвоение результата переменной c
- s=square1(a,b,c); // Вызов функции square1 и присвоение результата переменной s
- p=per(a,b,c); // Вызов функции per и присвоение результата переменной p
- printf("perimetr: \n"); // Вывод на экран поясняющего сообщения
- printf("%6.2f \n",p); // Вывод на экран значения переменной p, c точностью 6 знаков до запятой и 2 знака после
- printf("square: \n"); // Вывод на экран поясняющего сообщения
- printf("%6.2f \n",s); // Вывод на экран значения переменной s, c точностью 6 знаков до запятой и 2 знака после
- getch(); // Ожидание ввода любого символа на экран (это необязательно)
- }
- /*вычисление расстояния между двумя точками*/
- double side(double x1,double y1,double x2,double y2) // Функция и передаваемые в нее значения
- {
- return sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1)); // Возвращает результат вычислений типа double
- }
- /*вычисление площади треугольника по трем сторонам*/
- double square1(double a, double b, double c)
- {
- double p,s; // Cоздание вещественных переменных p, s
- p=(a+b+c)/2; // Вычисление полупериметра
- s=sqrt(p*(p-a)*(p-b)*(p-c)); // Вычисление площади треугольника
- return s; // Возвращает площадь типа double
- }
- /*вычисление периметра*/
- double per(double a,double b,double c)
- {
- return (a+b+c); // Возвращает результат вычислений типа double
- }
Объяснение кода листинга программы
- В начале кода подключаются необходимые библиотеки:
для работы с клавиатурой и для работы с выводом на экран, а также для выполнения математических операций. - Затем определяются функции square1(double a, double b, double c), side(double x1,double y1,double x2,double y2) и per(double a,double b,double c).
- В функции main() создаются переменные x1,x2,x3,y1,y2,y3,a,b,c,s,p типа double.
- Затем этим переменным присваиваются начальные значения.
- Вызывается функция side(x1,x2,y1,y2), результат которой присваивается переменной a.
- Аналогично вызывается функция side(x2,x3,y2,y3) и результат присваивается переменной b.
- И наконец, вызывается функция side(x3,x1,y3,y1) и результат присваивается переменной c.
- Вычисляется площадь треугольника по формуле Герона, используя функцию square1(a,b,c). Результат присваивается переменной s.
- Вычисляется периметр треугольника по формуле сумма длин всех сторон, используя функцию per(a,b,c). Результат присваивается переменной p.
- Выводится на экран поясняющее сообщение
perimetr:
и значение переменной p с точностью до 6 знаков до запятой и 2 знаков после. - Выводится на экран поясняющее сообщение
square:
и значение переменной s с точностью до 6 знаков до запятой и 2 знаков после. - Программа ожидает ввода любого символа на экран с помощью функции getch().
- Функция side(double x1,double y1,double x2,double y2) вычисляет расстояние между двумя точками в векторном пространстве по формуле Евклида: sqrt((x2-x1)(x2-x1)+(y2-y1)(y2-y1)).
- Функция square1(double a, double b, double c) вычисляет площадь треугольника по формуле Герона: s=sqrt(p(p-a)(p-b)*(p-c)), где p=(a+b+c)/2 - полупериметр треугольника.
- Функция per(double a,double b,double c) вычисляет периметр треугольника по формуле сумма длин всех сторон: p=a+b+c.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д