Определить, принадлежит ли точка с координатами (x, y) единичной окружности - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Всем привет. помогите понять задачу. задача 1 Функции: Описать логическую функцию Yes(x,y), которая определит, принадлежит ли точка с координатами (x,y) единичной окружности, центр которой совпадает с началом координат. Обратиться с координатами точек, лежащими на параболе x=[-2;+2], шаг =0.5. т.е. мне нужно задать окружность и параболу, и определить есть ли на промежутке x=[-2;+2], шаг =0.5. общие точки?

Решение задачи: «Определить, принадлежит ли точка с координатами (x, y) единичной окружности»

textual
Листинг программы
  1. /*Описать логическую функцию Yes(x,y), которая определит, принадлежит ли точка с координатами (x,y) единичной окружности,
  2. центр которой совпадает с началом координат. Обратиться с координатами точек, лежащими на параболе x=[-2;+2], шаг =0.5.
  3. */
  4. #include <stdio.h>
  5. #include <math.h>
  6.  
  7. /*парабола у = x^2*/
  8. double Parabole (double x)
  9. {   return x*x;
  10. }
  11.  
  12. /*верхняя часть окружности x^2 + y^2 = 1*/
  13. double UpperCircle (double x)
  14. {   return sqrt(1 - x*x);
  15. }
  16.  
  17. /*функция Yes*/
  18. int Yes (double x, double y)
  19. {   double epsilon = 0.05;          /*точность для у*/
  20.     if (fabs (y - UpperCircle (x)) < epsilon)
  21.         return 1;
  22.     return 0;
  23. }
  24.  
  25. int main()
  26. {   double x = -2., step = 0.05;    /*шаг для х*/
  27.  
  28.     printf("x\t\ty\tYes/No as 1 or 0\n");
  29.     while (x < 2.05)
  30.     {   printf("%10.2lf%10.2lf%10d\n", x, Parabole(x), Yes(x, Parabole(x)));
  31.         x += step;
  32.     }
  33.  
  34.     getchar();
  35.     return 0;
  36. }

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

  1. В начале определяются две функции: Parabole, которая вычисляет значение параболы x^2, и UpperCircle, которая вычисляет верхнюю часть окружности x^2 + y^2 = 1.
  2. Затем определена функция Yes, которая принимает координаты точки (x, y) и проверяет, принадлежит ли точка единичной окружности с центром в начале координат. Если расстояние от точки до окружности меньше заданной точности epsilon, то функция возвращает 1, иначе 0.
  3. В функции main задаются начальные значения x и step, а также выводится шаблон вывода.
  4. Затем в цикле while происходит обход всех точек на параболе x = [-2; +2] с заданным шагом step.
  5. Для каждой точки вычисляется значение параболы Parabole(x), затем вызывается функция Yes, которая проверяет, принадлежит ли точка единичной окружности. Результат проверки выводится на экран.
  6. В конце программы ожидается нажатие клавиши для выхода.

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


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

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

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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы