Лабораторная работа №2
Тема: Программирование разветвляющихся алгоритмов.
Задачи для индивидуального решения:
Задача №1. Даны действительные положительные числа x, y, z. Выяснить, существует ли треугольник с длинами сторон x, y, z.
#include <iostream>
using namespace std;
#include <conio.h>
#include <math.h>
int main(void)
{
float x, y, z;
cout<<"x=";
cin>>x;
cout<<"y=";
cin>>y;
cout<<"z=";
cin>>z;
if ((x>0) && (y>0) && (z>0) && (x+y>z) && (x+z>y) && (y+z>x))
cout<<"treugolnik sushestvuet"; else
cout<<"treugolnik NE sushestvuet";
_getch();
return
0;
}
З
адача
№2.
Дано
действительное а. Для функции f(a), график
которой представлен на рисунке, вычислить
f(a).
#include <iostream>
using namespace std;
#include <conio.h>
#include <math.h>
Int main(void)
{
float a, y;
cout<<"a=";
cin>>a;
if (a<-1) y=1/a; else
if ((a>=-1) && (a<=2)) y=a*a; else
y=4;
cout<<"y=";
cout<<y;
_getch();
return 0;
}
Задача №3. Пусть D - заштрихованная часть плоскости и пусть u определяется по x и y следующим образом:
Определить, лежит ли точка с координатами (x;y) в заштрихованной области.
а)
#include <iostream>
using namespace std;
#include <conio.h>
#include <math.h>
Int main(void)
{
float x, y;
cout<<"x=";
cin>>x;
cout<<"y=";
cin>>y;
if ((x*x+(y-2)*(y-2)<=4) && (y<=1-x*x))
{cout<<"M("; cout<<x; cout<<";"; cout<<y; cout<<")
prinadlezit zashtrihovannoy oblasti";} else
{cout<<"M("; cout<<x; cout<<";"; cout<<y; cout<<") NE
prinadlezit zashtrihovannoy oblasti";}
_getch();
return 0;
}
б)
#include <iostream>
using namespace std;
#include <conio.h>
#include <math.h>
Int main(void)
{
float x, y;
cout<<"x=";
cin>>x;
cout<<"y=";
cin>>y;
if ((x*x+y*y<=1) && (x*x+y*y>=0.5))
{cout<<"M("; cout<<x; cout<<";"; cout<<y; cout<<")
prinadlezit zashtrihovannoy oblasti";} else
{cout<<"M("; cout<<x; cout<<";"; cout<<y; cout<<") NE
prinadlezit zashtrihovannoy oblasti";}
_getch();
return 0;
}
З
адача
№4.
Даны
три действительных числа. Выбрать из
них те, которые принадлежат интервалу
(1, 3).
#include <iostream>
using namespace std;
#include <conio.h>
#include <math.h>
Int main(void)
{
float x, y, z;
cout<<"x=";
cin>>x;
cout<<"y=";
cin>>y;
cout<<"z=";
cin>>z;
if ((x>1) && (x<3)) {cout<<"x="; cout<<x;};
if ((y>1) && (y<3)) {cout<<" y="; cout<<y;};
if ((z>1) && (z<3)) {cout<<" z="; cout<<z;};
_getch();
return 0;
}
Задача №5. Даны действительные числа x, y. Если x, y отрицательны, то каждое значение заменить его модулем; если отрицательное только одно из них, то оба значения увеличить на 0.5; если оба значения не отрицательны и ни одно из них не принадлежит отрезку [0.5, 2.0], то оба значения уменьшить в 10 раз; в остальных случаях x, y оставить без изменения.
#include <iostream>
using namespace std;
#include <conio.h>
#include <math.h>
