Материал: 2ИТОГ

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

НИЖЕГОРОДСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

им. Р.Е.АЛЕКСЕЕВА

Кафедра «Прикладная математика» Дисциплина «Основы алгоритмизации»

Лабораторная работа №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;

}

Источник: https://studfile.net/preview/16480741/