double x,y;
clrscr();
cout <<"введите х "; cin >> x;
if ((-4<=x)&&(x<-1)) y=-(x/3)+3+2/3;
if ((-1<=x)&&(x<0)) y=-4*x;
if ((0<=x)&&(x<1)) y=3*x;
if ((1<=x)&&(x<4)) y=3;
if ((4<=x)&&(x<6)) y=-1.5*x+9;
if (6<=x) y=0;
cout<<endl<<"y= "<<y<<endl;
getch();
}
4.Описание программы:
2.Определяем тип переменных. В данном случае переменные будут типа double.
3. Очищаем экран перед запуском программы. Clrscr();
4. Запрашиваем х.
5. Проверяем введенное значение х на принадлежность к заданным участкам функции.
6.Выводим получившееся значение у.
7. Для того чтобы программа закончила работу до того как пользователь нажмет на какую либо клавишу используем getch();
5.Результаты работы программы:
Пример №1
ввод:
x=3
вывод:
y=3
Пример №2
ввод:
x=2
вывод:
y=3
Пример №3
ввод:
x=0
вывод:
y=0
1. Разработать программу для вычисления корней кубического уравнения.
2. Блок-схема.
2). Если p = 0, то вычислить и перейти к п. 5.
3) Если , то нужно вычислить (знак r совпадает со знаком q);
4). Если , то нужно вычислить D
Ветвь 2 |
Ветвь 3 |
Ветвь 4 |
Все корни вещественные |
Один корень вещественный, а два - комплексные |
|
p<0 |
||
; |
||
5). Вычислить корни
- если все корни вещественные, то i = 1, 2, 3.
- если корни комплексные, то
где .
#include <conio.h>
#include <iostream.h>
#include <math.h>
void main()
{
double a, b, c, d, p, q, y1, y2, y3, r, z, D, f, U, V, x1, x2, x3, z2, z3, w;
int znak, key;
clrscr ();
cout<<" ax^3+bx^2+cx+d=0";
cout<<endl;
cout<<"a= "; cin>>a;
cout<<"b= "; cin>>b;
cout<<"c= "; cin>>c;
cout<<"d= "; cin>>d;
p=(3*a*c-b*b)/(3*a*a)/3;
q=(2*pow(b,3)/(27*pow(a,3))-b*c/(3*a*a)+d/a)/2;
if (p==0) { y1=y2=y3=pow(-2*q,1.0/3);
key=0; }
else { if (q<0) znak=-1;
if (q>0) znak=1;
r=znak*q/fabs(q)*sqrt(fabs(p));
z=q/(pow(r,3));
if (p<0) {D=pow(q,2)+pow(p,3);
if (D<=0) {f=acos(z);
y1=-2*r*cos(f/3);
y2=2*r*cos((M_PI/3)-(f/3));
y3=2*r*cos((M_PI/3)+(f/3));
key=0;
}
else {f=log(z+sqrt(pow(z,2)-1));
y1=-2*r*cosh(f/3);
U=r*cosh(f/3);
V=sqrt(3)*r*sinh(f/3);
key=1;
}}
if (p>0) {f=log(z+sqrt(pow(z,2)+1));
y1=-2*r*sinh(f/3);
U=r*sinh(f/3);
V=sqrt(3)*r*cosh(f/3);
key=1;
}
}
w=b/(3*a);
x1=y1-w;
if (key==0) {
x2=y2-w;
x3=y3-w;}
else {
x2=U-w;
x3=V;}
cout<<"key= "<<key; cout<<" "; cout<<"x1= "<<x1; cout<
getch();
}
Вывод:
В данной лабораторной работе мы познакомились с операторами ветвления if-else и if.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.