Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Examination_IT / ComputerScience_LaboratoryWork_ForStudent

.pdf
Скачиваний:
13
Добавлен:
16.05.2015
Размер:
5.86 Mб
Скачать

81

int i;

//J I L K % I !

//.

fa = Function(a); fb = Function(b);

g_C = (a + b)/2.0; // % % 9 :.

for(i=0; i<g_LimQuant; i++)

{

if (abs(a-b)<g_Eps)

return true; // Q ! .

fc = Function(g_C);

// "I %

if(fc*fa > 0) { a = g_C; fa = fc;} else { b = g_C; fb = fc; } g_C = (a + b)/2.0;

}

return false; // Q !

}

////////////////////////////////////////////////////////////////

//J % 9 JL Q x L . (

//; I ! % QI while.

bool HalvingWhile(double a, double b)

{

// k(v † ! ! :e L !. cout << "~ -I ;" << endl; return false;

}

////////////////////////////////////////////////////////////////

//J % 9 JL Q x L . (

//; I ! % QI do-while.

bool HalvingDo(double a, double b)

{

// k(v † ! ! :e L ! cout << "~ -I ;" << endl; return false;

}

////////////////////////////////////////////////////////////////

//J ! _ :. I e I - !J

//:, J JL % QI.

int Menu(void)

{

//R !J :, J L % QI. int MenuCommand;

//~, I :e L J

//% QI !J :.

bool flag;

82

//, % QI Q JL

//!J :.

flag = true; do

{

if(!flag)

cout << endl << "! ; JL! 9 L, " "% e I." << endl;

flag = false; // !J JL! cout << "1 - " % QI Q for" << endl; cout << "2 - " % QI Q while" << endl; cout << "3 - " % QI Q do" << endl; cout << "‘ 9 !J :> ";

cin >> MenuCommand;

} while (!(MenuCommand >= 1 && MenuCommand <= 3)); return MenuCommand;

}

//////////////////////////////////////////////////////

// $ K . void _tmain()

{

//R % % QI JL IJ. setlocale(LC_CTYPE, "Russian_Russia.1251"); double a; // 9 .

double b; // .

double fa, fb; // I K L .

//R !J :, J L % QI.

int MenuCommand;

//~, I :e L ! 9 L

//;.

bool AccuracyFlag;

MenuCommand = Menu();

cout

<< endl;

cout

<< "R 9 > ";

cin

>> a;

cout

<< " > ";

cin

>> b;

fa = Function(a); fb = Function(b); if(fa*fb > 0)

{

cout << " I Q " << endl;

system("PAUSE"); return;

}

switch (MenuCommand)

{

83

case 1: // % QI for. AccuracyFlag = HalvingFor(a, b); break;

case 2: // % QI while. AccuracyFlag = HalvingWhile(a, b); break;

case 3: // % QI do. AccuracyFlag = HalvingDo(a, b); break;

}

if(AccuracyFlag)

{

cout << setprecision(16);

cout << endl << "z Q x = " << g_C << endl; cout << "k K F(x) = " << Function(g_C)

<< endl;

}

else

{

cout << setprecision(16);

cout << endl << " Q ! . " "z Q : " << g_C << endl;

}

cout << endl << " I ." << endl; system("PAUSE");

}

D [ :

(6.1) g2; 4h. D -

mcnopqr = 3.484508116820889 ( . 6.4), C , -

Mathcad ( . 6.3). D C -

,

ucvwxcy mcnopqr

s = t t 100% =

mcnopqr

= B3.484508116820758 3.484508116820889 B 100% = 3.484508116820889

=3,785 ∙ 104 %

ucvwxcy – (6.1),

Mathcad, mcnopqr – , B A -

Halving ( 6.1) . 6.4. . , C

,

C A.

84

H. 6.4. H Halving

` > (6.1) mcnopqr = 3.484508116820889

2,22044 × 104 >, A

C .

H , . 6.4,

g_LimQuant == 100

eps == 1.0e-5.

= , -

( . 6.3) g0, 10h.

4 &

- ( 6.1) -

:

// r€ Q J % J.

const

int

g_LimQuant = 10;

// % ! Q .

const

double

g_Eps = 1.0e-5;

// Q ;.

double

g_C;

// Q .

85

2 A -

.

2 g_C , -

A > , R -

. =

C ( 6.1) R -

, > -

C -

C C. P-

^ g_C ^ ,

B > -

(B > -

n 7).

e g_LimitQuant g_Eps, ^ > const, R -

. ! ,

> - C . 7 R ! - R - ^ R > _tmain

> HalvingFor, HalvingWile HalvingDo. D ,

R

. -C >

.

6.3.+ ,+ 34 )+*+ ,5

-, -

, A > A n4,

[ A.

 

 

86

 

 

 

%

:

;

 

 

 

1

1

P C ,

[ > >.

 

 

 

 

P C ,

2

2

[ > >. H-

 

 

-

3

3

P C ,

> >.

 

 

 

 

P C ,

4

4

> >. H-

 

 

-

5

5

- n4, >

.

 

 

3

D ^ g_LimitQuant g_Eps

> _tmain -

1.

D

> A _tmain ( -

n7) 1.

6.4. ( *( 641(. - , +E(34

H

, -

, 3.

1.P C 6.1.

2.- C++ >-C

HalvingWhile HalvingDo.

3.- > -

> C cpp, > -

>.

4.; -.

87

5.= Mathcad, > -

> , -

AB .

6.P -

, A Mathcad A -

.

7.- C C C -

C Mathcad.

8.D .

9.R .

6.5.-E(6+ , (*- 2+ ,j (3D-3+

. :

1)> ;

2);

3)> >

Mathcad;

4), -

;

5)- ;

6)C -

. -

C Y;

.

8), AB A

Y ( -

);

9)C C C Mathcad.

10)> cpp h.

11)R .

88

( 3 (./ 4- 6(1 ( 4

1.! A ?

2.D C -

.

3.! , -

«A»?

4.e -?

5.P C > A, B AB A > -

for.

6.P C > A, B AB A 0 n.

7.P C > A, B AB A

1 n.

8.!

break?

9.! -

?

10.e ?

11.! B ?

12.D .

13.! > -

?

14.e > ;++?

15.D > C++.

16.! > A ?

17.e > -

?

18.> > ?

19.! A C C, -

?

20.! h->?

21.! C ?

89

7. 7. 7.

&8 .11& 9 8 !# &8 .11& 9 8 !#

7.1. %-./ +E(34

G A :

1);

2)( -

) B > -

;

3).

7.2.-( -3,D- ,- 6-*- ,

- -

B .

6-*- , ,) )4 + C++

R , -

.

8 ;++ :

&

* ( ).

. & A ^-

1. H R

, ^. 2 , -

A, AB A ( -

).

1D , > -

. 4 , > ,

C .

90

e B A, :

1)^ (R -

AB );

2)C ^ > A;

3)>.

D B

> 7.1.

, 3, 0 7.1. #+5. Triangle.cpp

#include "stdafx.h"

//

!/J !.

#include <iostream>

#include <cmath>

//

! .

using namespace std;

 

 

//////////////////////////////////////////////////////////////////

//J % e !Q % Q Q Area

//% I gypot % I J k1 k2.

void Triangle(

double k1, // % JL Q. double k2, // L Q. double *area, // % e !Q Q. double *gypot // % I Q.

)

{

//J % e !Q Q. *area = k1*k2/2.0;

//J % I Q. *gypot = sqrt(k1*k1 + k2*k2);

//I Q J : % J, ! J J

//% ! J I (% J) area gypot.

}

/////////////////////////////////////////////////////////

// $ K . void _tmain()

{

double

kat1 = 4.5, kat2 = 7.8;

double

Square, Length; // % e !Q % I.

//JI K Triangl % %

//I ! ! € Area Length. Triangle(kat1, kat2, &Square, &Length);

cout << "Square = " << Square << " Length = " << Length; system("pause");

}

Соседние файлы в папке Examination_IT