НИЖЕГОРОДСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
им. Р.Е.АЛЕКСЕЕВА
Кафедра «Прикладная математика» Дисциплина «Основы алгоритмизации»
Лабораторная работа №2
Вариант№23
Выполнил: Федоров К.Р. Группа 19-Э-5 Проверил: Лапшин И.В.
Нижний Новгород 2019
№1
Составить блок-схему и программу для вычисления таблицы значений функций Y и Z по заданным формулам
начало
„х“,“у“
x=xn
x<=xk Нет
у=е^(2*x)+acos(2x+0,1) конец
x,y
x=x+hx
#include "stdafx.h" #include <math.h> #include<iostream> using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
double x, y, z,xn=0 ,xk=0.4 ,hx=0.08; x = xn;
while (x<=xk)
{
z = 2 * x + 0.1;
y = exp(x * 2) + acos(z); cout << "x=" << x;
cout << " y=" << y << endl; x = x + hx;
}
}
x= |
0 y= |
2,47 |
x= |
0,08 y= |
2,48 |
x= |
0,16 y= |
2,51 |
x= |
0,24 y= |
2,57 |
x= |
0,32 y= |
2,63 |
x= |
0,4 y= |
2,68 |
xn 0 |
|
|
xk 0.4 |
O |
|
O augment("x" "y" ) |
|
|
|||
|
|
x xn |
|
|
|
while x xk |
|
|
|
|
z 2 x 0.1 |
|
|
|
|
|
|
|
y exp(2 x) acos(z) |
|
|
|
str augment(x y) |
|
|
|
O stack(O str) |
|
|
|
x x hx |
|
|
O |
|
hx 0.08
"x" |
"y" |
|
|
|
0 |
2.471 |
|
|
|
||
0.08 |
2.481 |
|
|
O |
0.16 |
2.514 |
|
|
0.24 |
2.568 |
|
|
|
||
|
0.32 |
2.634 |
|
|
|
2.677 |
|
0.4 |
|
||
Составить блок-схему и программу для вычисления таблицы значений функций Y и Z по заданным формулам
начало
„х“,“у“
x=xn
у=е^(2*x)+acos(2x+0,1)

x,y
x=x+hx
x<=xk Нет
конец
#include "stdafx.h" #include <math.h> #include<iostream> using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
double x,y,z, xn=0, xk=0.4, hx =0.08; x = xn;
do
{
z = 2 * x + 0.1;
y = exp(x * 2) + acos(z); cout << "x=" << x;
cout << " y=" << y << endl; x = x + hx;
} while (x <= xk);
}
x= |
0 y= |
2,47 |
x= |
0,08 y= |
2,48 |
x= |
0,16 y= |
2,51 |
x= |
0,24 y= |
2,57 |
x= |
0,32 y= |
2,63 |
x= |
0,4 y= |
2,68 |
Составить блок-схему и программу для вычисления таблицы значений функций Y и Z по заданным формулам
начало
„х“,“у“
x=xn
x<=xk Нет
у=е^(2*x)+acos(2x+0,1) конец
x,y
x=x+hx
#include "stdafx.h" #include <math.h> #include<iostream> using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
double x, y, z, xn=0, xk=0.4, hx=0.08; for (x = xn; x <= xk; x = x + hx)
{
z = 2 * x + 0.1; y = exp(x * 2) + acos(z);
cout << "x=" << x;
cout << " y=" << y << endl;
}
}
x= |
0 y= |
2,47 |
x= |
0,08 y= |
2,48 |
x= |
0,16 y= |
2,51 |
x= |
0,24 y= |
2,57 |
x= |
0,32 y= |
2,63 |
x= |
0,4 y= |
2,68 |
xn 0 |
|
|
xk 0.4 |
|
|
|
|
hx 0.08 |
|
O |
|
O augment("x" "y" ) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
for x (xn xn hx xn 2 hx xn 3hx xn 4hx xk) |
|||||||
|
|
|
z 2 x 0.1 |
|
|
"x" |
"y" |
|
|
|
|
|
|
|
|||||
|
|
|
y exp(2 x) acos(z) |
|
|
|
0 |
2.471 |
|
|
|
|
|
|
|
|
|||
|
|
|
str augment(x y) |
|
|
0.08 |
2.481 |
|
|
|
|
|
O stack(O str) |
O |
|
|
0.16 |
2.514 |
|
|
|
O |
|
|
|||||
|
|
|
|
|
0.24 |
2.568 |
|
||
|
|
|
|
||||||
|
|
|
|
|
|
|
0.32 |
2.634 |
|
|
|
|
|
|
|
|
|
2.677 |
|
|
|
|
|
|
|
0.4 |
|
||
№2
Составить блок-схему и программу для вычисления таблицы значений функций Y и Z по заданным формулам
начало |
|
|
||
„x“,“y“,P=1,S=0,zmin=100,zmax=-100 |
|
|||
|
x=xn |
|
|
|
x<=xk |
Нет P,S,zmin, |
конец |
||
zmax |
||||
|
|
|||
|
y=yn |
|
|
|
Нет |
y<=yk |
|
|
|
x=x+hx |
|
|
||
Да |
|
|
|
|
|x*x+y*y|<=5 |
|
|||
z=ctg(x+y) |
Да |
Нет |
|
|
|
|x*x+y*y|>=13 |
|
||
z=x-y |
z=x*x+y*y*y |
|
||
|
x,y,z |
|
|
|
S=S+z |
|
|
||
|
P=P*z |
|
|
|
даz>zmax |
|
|
||
zmax=z |
|
|
||
даz<zmin |
|
|
|
|
zmin=z |
|
|
|
|
y=y+hy |
|
|
|
|
#include "stdafx.h" #include <math.h> #include<iostream> using namespace std;
int _tmain(int argc, _TCHAR* argv[]) void main()
{
using namespace std;
double x, y, z, xn = 0, yn = 0.3, hx = 0.7, hy = 0.45, xk = 0.8, yk = 0.75, zmin = 10000, zmax = -10000, P = 1, S = 0;
for (x = xn; x <= xk; x = x + hx) for (y = yn; y <= yk; y = y + hy)
{
if ((fabs(x * x + y * y) <= 5))z = 1 / tan(x + y);
else if (fabs(x * x + y * y) < 13)z = x * x + y * y * y;
else if (fabs(x * x + y * y) >= 13)z = x - y;
else z = 1000; cout << "x=" << x;
cout << " y=" << y;
cout << " z=" << z << endl; if (z > zmax) zmax = z;
if (z < zmin)zmin = z; S = S + z;
P = P * z;
}
cout << endl << "zmin=" << zmin << " zmax=" << zmax << " P=" << P << " S=" << S << endl;
}