Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Uchebnoe_posobie_dn_PYaVU_SI_15_nach2.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
4.24 Mб
Скачать

Пример разработки математической модели и схемы алгоритма решения задачи для варианта задания вида:

Математическая модель (условия принадлежности точек выделенным областям)

- условие 1 (принадлежность области М1):

(x-1)2 + y2 > 1 {вне правой окружности}

x < 2 {левее линии x = 2}

x > 1 {правее линии x = 1}

y > 0 {выше линии y = 0}

y < 2 {ниже линии y = 2}

Площадь области М1:

площадь прямоугольника (2 * 1) – площадь четверти круга (πr2 / 4) = 2 – π / 4≈1.2146

- условие 2 (принадлежность области М2):

(x + 1)2 + y2 > 1 {вне левой окружности}

x > -2 {правее линии x = -2}

y < 1 {ниже линии y = 1}

x < -1 {левее линии x = -1}

y > 0 {выше оси x }

Площадь области М2:

площадь квадрата (1 * 1) – площадь четверти круга (πr2 / 4) = 1 – π / 4 ≈0.2146

- условие 3 (принадлежность области М3):

(x + 1)2 + y2 < 1 {внутри левой окружности}

x2 + y2 < 1 {внутри центральной окружности}

y > 0 {выше оси x }

Площадь области М3:

площадь сектора 1200 (πr2 / 3) – площадь треугольника ( / 2 * 0.5) =

π / 3 – / 2 *0.5 = π / 3 – / 4 =0.6142

- условие 4 (принадлежность области М4):

x2 + y2 > 1 {вне центральной окружности}

(x – 1)2 + y2 < 1 {внутри правой окружности}

x2 + (y + 1)2 > 1 {вне нижней окружности}

Площадь области М4:

площадь квадрата (1 * 1) - четверть площади круга (πr2 / 4) – 2*(площадь прямоугольника (1 * (1 - /2)) – площадь сектора 600 (πr2 / 6) + площадь треугольника ( / 2 * 0.5)) = 1 - π / 4 – 2 * (1 - / 4 - π / 6) = / 2 + π / 3 - π / 4 – 1 ≈ 0.1278

- условие 5 (принадлежность области М5):

x2 + (y+1)2 > 1 {вне нижней окружности}

y > -2 {выше линии y = -2}

y < -1 {ниже линии y = -1}

x > -1 {правее линии x = -1}

x < 0 {левее оси y}

Площадь области М5:

площадь квадрата (1 * 1) – площадь четверти круга (πr2 / 4) = 1 – π / 4 ≈ 0.2146

Схема алгоритма решения

да нет

да нет

да нет

i=1

да нет

i=2

да нет

i=3

i=4

i=5

1

2

3

4

5

Текст программы

//Определение номера области, в которую попадает точка с произвольно заданными координатами на плоскости, и площади этой области

#include<iostream.h>

#include<math.h>

int main()

{int i = 0 ; //номер области на рисунке

float x, y, //координаты точки

s1, s2, s3, s4, s5 ; //площади областей

cout << "Введите координаты точки: x, y " ;

cin >> x >> y ;

if(y > 0 && y < 2 && x > 1 && x < 2 && x * x + (y - 1) * (y -1) >1)

{cout << "Точка в области M1. " ; i = 1 ;

}

else if(x > -2 && y < 1 && x < -1 && y > 0 &&

(x + 1) * (x + 1) + y * y > 1)

{cout << "Точка в области М2. " ; i = 2 ;

}

else if((x+1) * (x+1) + y * y < 1 && x * x + y * y < 1 && y > 0)

{cout << "Точка в области М3. " ; i = 3 ;

}

else if(x * x + y * y > 1 && (x - 1) * (x - 1) + y * y < 1 &&

x * x + (y + 1) * (y + 1) < 1)

{cout << "Точка в области М4. " ; i = 4 ;

}

else if(y < -1 && y > -2 && x < 0 && x > -1 &&

x * x + (y + 1) * (y + 1) > 1)

{cout << "Точка в области М5. " ; i = 5 ;

}

else cout << "Точка вне выделенных областей" ;

cout.precision(4); //число знаков после дес. точки

switch(i)

{case 1: cout << "S1 = " << (s1 = 2 - M_PI / 4) ;

break ;

case 2: cout << "S2 = " << (s2 = 1 - M_PI / 4) ;

break ;

case 3: cout << "S3 = " << (s3 = M_PI/3 – sqrt(3)/4) ;

break ;

case 4: cout << "S4 = " << (s4 = sqrt(3)/2 + M_PI/3 - M_PI/4-1) ;

break ;

case 5: cout << "S5 = " << (s5 = 1 - M_PI / 4) ;

}

return 0 ;

}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]