Прокомментировать код - 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.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д