Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа №2 С++.doc
Скачиваний:
3
Добавлен:
15.11.2019
Размер:
347.65 Кб
Скачать

Области определения функции z (X,y)

Таблица 5

Вариант

Графическое представление

Аналитическое представление

1

D1: 0  x  2, 0  y  1;

D2: y  -1; x2  1 – (y+1)2.

2

D1: y  -x + 1, x  0, y 0;

D2: 1 x2 + y2  4; x  0; y  0.

3

D1: 1  x 3; 0  y  1;

D2: x2 + y2  1, y  0, x  0.

4

D1: x2 + y2  1, y  0;

D2: y  0,5x – 1, y  -2.

5

D1: y  x, y  0, x  2.

D2: x2 + y2  4, y  0, x  0.

6

D1:

D2:

7

D1: x2 + y2  1, xy  0.

D2: y  -x-2, y  0, x  0

8

D1:

D2: y  -1.

9

D1:

D2: x  -2

10

D1: x2 + y2  4, y  1;

D2:

11

D1: y  x; y  -x; y  1.

D2: x2 + y2  4, x  0, y  0.

12

D1:

D2: x  2.

Пример решения задания для варианта №12 Словесно-формульный алгоритм

  1. Ввод координат точки (x, y).

  2. Формирование интегрального условия принадлежности точки (x, y) области D1 с помощью логической операции И:

d1 = (x2 + y2  1) И (y  -x+1) И (y  x – 1);

3. Вычисление значения функции z в области D1, с использованием промежуточных переменных:

если d1=true, то z1=|x3+1|;

z3=y2+2;

z4=sin(y-x);

z= .

4. Вычисление значения функции z в области D2 (x ≥ 2) с использованием промежуточных переменных:

если x ≥ 2, то

z2=2x3+1;

z3=arctg(y/x);

z= .

5. Вычисление значений функции z вне областей D1 и D2 с использованием промежуточных переменных:

z1=x ey tg y;

z2=ln|y+1|;

z3=y+z2;

z=z1/z3.

6. Вывод на печать значения z и координат исходной точки (x,y).

На основе словесно-формульного алгоритма можно построить блок-схему (рис. 3)

Рис. 3. Блок-схема алгоритма

Листинг программы

//Вариант №12 с использованием операторов if

#include <iostream.h>

#include <math.h>

void main()

{

double x,y,z,z1,z2,z3,z4;

cout<<"Введите координаты исходной точки"<<endl;

cout<<"x=";cin>>x;

cout<<"y=";cin>>y;

//Определение условий принадлежности области D1:

bool d1=x*x+y*y<=1 && y<=-(x-1) && y>=x-1;

if (d1)

{ //Вычисление z в области D1

z1=fabs(pow(x,3)+1);

z2=exp(x)*sqrt(z1);

z3=pow(y,2)+2;

z4=sin(y-x);

z=z2/(z3+z4);

}

else if(x>=2) //Вложенный оператор if

{ //Вычисление z в области D2

z1=sqrt(pow(y,2)+1);

z2=2*pow(x,3)+1;

z3=atan2(y,x);

z=z1*z2/(z3+2);

}

else

{ //Вычисление z вне областей D1 и D2

z1=x*exp(y)*tan(y);

z2=log(fabs(y+1));

z3=y+z2;

z=z1/z3;

}

cout<<"\n Полученный результат:"<<endl;

cout<<"z="<<z<<" при x="<<x<<" и y="<<y;

}