Скачиваний:
11
Добавлен:
01.09.2021
Размер:
133.75 Кб
Скачать

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

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

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

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

}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

xn 0

 

xk 0.8

hx 0.7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

yn 0.3

yk 0.75

 

 

 

hy 0.45

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y yn

Sz 0

 

 

 

P 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

zmax 100000

 

 

 

zmin 1000000

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

O

 

 

Urav augment("zmin" "zmax" "Sz" "P" )

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

O augment("x" "y" "z" "zmax" "zmin" "Sz" "P" )

 

 

 

 

 

 

 

 

 

 

 

 

 

 

for

x (xn hx xn)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

for y (yn 0.75)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

z if

 

x x y y

 

 

5

 

1

 

if (

 

 

x x y y

 

13 x x y y y if (

 

x x y y

 

 

13 x y 1000))

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

tan(x

y)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Sz Sz z

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

P P z

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

zmin if (z zmin z zmin)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

zmax if (z zmax z zmax)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

str augment(x y z 0 0 0 0)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

O stack(O str)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

strochka augment(0 0 0 zmin zmax Sz P)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

O stack(O strochka)

 

 

 

 

 

 

 

 

 

"x"

 

"y"

"z"

"zmax"

"zmin"

"Sz"

"P"

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0.3

3.233

0

 

0

 

0

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0.75

1.073

0

 

0

 

0

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

O

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0.7

0.3

0.642

0

 

0

 

0

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0.7

0.75

0.121

0

 

0

 

0

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0

0

0.121

 

3.233

5.07

0.27

№3

Составить блок-схему и программу для вычисления таблицы значений функций Y и Z по заданным формулам

 

 

 

 

 

 

 

 

#include "stdafx.h"

 

 

 

Начало

#include <math.h>

 

 

 

#include<iostream>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

using namespace std;

 

 

 

 

 

 

 

 

 

 

“x“,“y“,max

int _tmain(int argc, _TCHAR* argv[])

 

 

void main()

 

 

 

 

 

 

 

 

{

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

double x, y, z, d, t, xn = 0.15, xk = 0.55,

 

 

 

 

x=xn

 

hx = 0.4, yn = 0.4, yk = 4, hy = 3;

 

 

 

 

 

 

 

 

float aa, bb, cc;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x = xn;

 

 

 

x<=xk

Нет Конец

y = yn;

 

 

 

while (x <= xk)

 

 

 

 

 

 

 

 

{

x=x+hx

y=yn

 

while (y <= yk)

 

 

{

 

 

 

 

d = cos(x * x * x - pow(y, 0.5));

 

 

 

aa = 1;

 

нет

 

 

bb = 3;

 

y<=yk

 

cc = aa / bb;

 

 

 

 

 

t = pow(x * y * y, cc);

 

 

 

if (t > d) z = t;

 

 

 

else z = d;

 

max=cos(x*x*x-pow(y,1/2)

cout << "x=" << x;

cout << "

y=" << y;

 

 

 

cout << " z=" << z << endl;

Да

z>max

Нет

y = hy + y;

 

x = hx + x;

 

 

 

 

}

 

 

 

 

y = yn;

 

z= pow(x*y*y,1/3)

z=max

}

 

}

 

 

 

 

 

 

x,y,z

 

 

 

 

y=y+hy

 

 

 

xn 0.15

xk 0.55

hx 0.4

 

 

 

 

 

 

 

yn 0.4

yk 4

 

 

hy 3

 

 

 

 

 

 

 

y yn

O

 

 

O augment("x" "y" "z" )

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x xn

 

 

 

 

 

 

 

 

 

 

 

 

while

x xk

 

 

 

 

 

 

 

 

 

 

 

 

while

y yk

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

z

max cos x x x y

2

(x y y) 3

 

 

 

 

 

 

str augment(x y z)

 

 

 

 

 

 

 

 

 

 

 

 

O stack(O str)

 

 

 

 

 

 

 

 

 

 

 

 

y y hy

 

 

 

 

 

 

 

 

 

 

 

 

y yn

 

 

 

 

 

 

 

 

 

 

 

 

x x hx

"x"

"y"

"z"

 

 

 

 

 

O

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0.15

 

0.4

0.809

 

 

 

 

 

 

 

 

 

O 0.15

 

3.4

1.201

 

 

 

 

 

 

 

 

0.55

 

0.4

0.893

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0.55

 

3.4

1.853

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Соседние файлы в папке Информатика 1 семестр МОРОЗОВСКАЯ