Прокомментировать код - 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
}

Объяснение кода листинга программы

  1. В начале кода подключаются необходимые библиотеки: для работы с клавиатурой и для работы с выводом на экран, а также для выполнения математических операций.
  2. Затем определяются функции square1(double a, double b, double c), side(double x1,double y1,double x2,double y2) и per(double a,double b,double c).
  3. В функции main() создаются переменные x1,x2,x3,y1,y2,y3,a,b,c,s,p типа double.
  4. Затем этим переменным присваиваются начальные значения.
  5. Вызывается функция side(x1,x2,y1,y2), результат которой присваивается переменной a.
  6. Аналогично вызывается функция side(x2,x3,y2,y3) и результат присваивается переменной b.
  7. И наконец, вызывается функция side(x3,x1,y3,y1) и результат присваивается переменной c.
  8. Вычисляется площадь треугольника по формуле Герона, используя функцию square1(a,b,c). Результат присваивается переменной s.
  9. Вычисляется периметр треугольника по формуле сумма длин всех сторон, используя функцию per(a,b,c). Результат присваивается переменной p.
  10. Выводится на экран поясняющее сообщение perimetr: и значение переменной p с точностью до 6 знаков до запятой и 2 знаков после.
  11. Выводится на экран поясняющее сообщение square: и значение переменной s с точностью до 6 знаков до запятой и 2 знаков после.
  12. Программа ожидает ввода любого символа на экран с помощью функции getch().
  13. Функция side(double x1,double y1,double x2,double y2) вычисляет расстояние между двумя точками в векторном пространстве по формуле Евклида: sqrt((x2-x1)(x2-x1)+(y2-y1)(y2-y1)).
  14. Функция square1(double a, double b, double c) вычисляет площадь треугольника по формуле Герона: s=sqrt(p(p-a)(p-b)*(p-c)), где p=(a+b+c)/2 - полупериметр треугольника.
  15. Функция per(double a,double b,double c) вычисляет периметр треугольника по формуле сумма длин всех сторон: p=a+b+c.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.833 из 5