Examination_IT / ComputerScience_LaboratoryWork_ForStudent
.pdf81
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");
}