Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная_2 (текст).docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
855.62 Кб
Скачать

Int main(void)

{

float x0, y0, r, x, y, R;

cout<<"x0=";

cin>>x0;

cout<<"y0=";

cin>>y0;

cout<<"r=";

cin>>r;

cout<<"x=";

cin>>x;

cout<<"y=";

cin>>y;

R=sqrt(float(((x-x0)*(x-x0))+((y-y0)*(y-y0))));

if (R<=r) cout<<"POPADAET!"; else

cout<<"NE POPADAET!";

_getch();

return 0;

}

Задачи повышенной сложности:

Задача №1. Две точки заданы на плоскости своими координатами, которые могут быть как декартовыми, так и полярными. Требуется вычислить расстояние между этими двумя точками.

#include <iostream>

using namespace std;

#include <conio.h>

#include <math.h>

Int main(void)

{

double x1, y1, x2, y2, r1, fi1, r2, fi2, R;

char S;

cout<<"Vvedite D dlya dekartovoy sistemy koordinat ili P dlya

polyarnoy... \n";

cin>>S;

if (S=='D')

{

cout<<"x1=";

cin>>x1;

cout<<"y1=";

cin>>y1;

cout<<"x2=";

cin>>x2;

cout<<"y2=";

cin>>y2;

R=sqrt(double((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1)));

cout<<"R=";

cout<<R;

} else

if (S=='P')

{

cout<<"r1=";

cin>>r1;

cout<<"fi1=";

cin>>fi1;

cout<<"r2=";

cin>>r2;

cout<<"fi2=";

cin>>fi2;

R=sqrt(double(((r2*cos(fi2*3.14/180))-

(r1*cos(fi1*3.14/180)))*((r2*cos(fi2*3.14/180))-

(r1*cos(fi1*3.14/180)))+

((r2*sin(fi2*3.14/180))-

(r1*sin(fi1*3.14/180)))*((r2*sin(fi2*3.14/180))-

(r1*sin(fi1*3.14/180)))));

cout<<"R=";

cout<<R;

} else

if ((S!='D') && (S!='P')) cout<<"NE VIBRANA SISTEMA KOORDINAT!";

_getch();

return 0;

}

Задача №2. Даны действительные числа a, b, c, x, y. Выяснить, пройдет ли кирпич с ребрами a,b,c в прямоугольное отверстие со сторонами x и y. Просовывать кирпич в отверстие разрешается только так, чтобы каждое из его ребер было параллельно или перпендикулярно каждой из сторон отверстия.

#include <iostream>

using namespace std;

#include <conio.h>

#include <math.h>

Int main(void)

{

float x, y, a, b, c;

cout<<"x=";

cin>>x;

cout<<"y=";

cin>>y;

cout<<"a=";

cin>>a;

cout<<"b=";

cin>>b;

cout<<"c=";

cin>>c;

if (((a<y) && (b<x)) || ((b<y) && (a<x)) || ((a<y) && (c<x)) || ((c<y) && (a<x)) || ((b<y) && (c<x)) || ((c<y) && (b<x)))

cout<<"kirpich PROYDET"; else cout<<"kirpich NE PROYDET";

_getch();

return 0;

}

Задача №3. Сможет ли шар радиуса R пройти в ромбообразное отверстие со стороной P и острым углом Q?

# include <iostream>

using namespace std;

#include <conio.h>

#include <math.h>

Int main(void)

{

float Q, P, R, H;

cout<<"Q=";

cin>>Q;

cout<<"P=";

cin>>P;

cout<<"R=";

cin>>R;

H=P*cos(Q*3.14/360)*sin(Q*3.14/360);

if (R<H) cout<<"shar PROYDET v otverstie"; else

cout<<"shar NE PROYDET v otverstie";

_getch();

return 0;

}

Задача №4. Написать программу, которая печатает True или False в зависимости от того, выполняются или нет заданные условия:

1) квадрат заданного трехзначного числа равен кубу суммы цифр этого числа;

2) сумма двух первых цифр заданного четырехзначного числа равна сумме двух его последних цифр;

3) среди цифр заданного трехзначного числа есть одинаковые;

4) среди первых трех цифр из дробной части заданного положительного вещественного числа есть цифра 0.

1)

#include <iostream>

using namespace std;

#include <conio.h>

#include <math.h>

int main(void)

{

float a, b, c;

int x;

cout<<"Vvedite 3-znachnoe chislo... \n";

cout<<"x=";

cin>>x;

a=x/100;

b=(x%100)/10;

c=x%10;

if (x*x==(a+b+c)*(a+b+c)*(a+b+c)) cout<<"TRUE"; else

cout<<"FALSE";

_getch();

return 0;

}

2)

#include <iostream>

using namespace std;

#include <conio.h>

#include <math.h>

int main(void)

{

float a, b, c, d;

int x;

cout<<"Vvedite 4-znachnoe chislo... \n";

cout<<"x=";

cin>>x;

a=x/1000;

b=(x%1000)/100;

c=(x%100)/10;

d=x%10;

if ((a+b)==(c+d)) cout<<"TRUE"; else

cout<<"FALSE";

_getch();

return 0;

}

3 )

#include <iostream>

using namespace std;

#include <conio.h>

#include <math.h>

int main(void)

{

float a, b, c;

int x;

cout<<"Vvedite 3-znachnoe chislo... \n";

cout<<"x=";

cin>>x;

a=x/100;

b=(x%100)/10;

c=x%10;

if ((a==b) || (a==c) || (b==c)) cout<<"TRUE"; else

cout<<"FALSE";

_getch();

return 0;

}

4)

#include <iostream>

using namespace std;

#include <conio.h>

#include <math.h>

int main(void)

{

float x, a, b, c;

cout<<"Vvedite veshestvennoe chislo... \n";

cout<<"x=";

cin>>x;

a=(int(x*10)%10);

b=(int(x*100)%10);

c=(int(x*1000)%10);

if ((a==0) || (b==0) || (c==0)) cout<<"TRUE"; else

cout<<"FALSE";

_getch();

return 0;

}

З адача №5. Проверить, можно ли из четырех данных отрезков составить параллелограмм.

#include <iostream>

using namespace std;

#include <conio.h>

#include <math.h>