14.02.2017 Views

. Стиллмен, Дж. Грин - Изучаем C#, 2-е издание

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Г<br />

в руку карандаш<br />

объ<strong>е</strong>кты, по порядку стройся!<br />

Попробуйт<strong>е</strong> всл<strong>е</strong>д за Майком написать код для объ<strong>е</strong>ктов<br />

N a v ig a to r И вызова ИХ м<strong>е</strong>тодов.<br />

s t r i n g d e s t i n a t i o n = t e x t B o x l . T e x t ;<br />

s t r i n g r o u t e 2 S t r e e t T o A v o i d = t e x t B o x 2 . T e x t ;<br />

s t r i n g r o u t e 3 S t r e e t T o I n c l u d e = t e x t B o x 3 . T e x t ;<br />

N a v ig a to r n a v i g a t o r l = new N a v i g a t o r () ;<br />

n a v i g a t o r l . S e t D e s t i n a t i o n ( d e s t i n a t i o n ) ;<br />

i n t d i s t a n c e l = n a v i g a t o r l . T o t a l D i s t a n c e {);<br />

Зд<strong>е</strong>сь Майк задавал пункт<br />

назнач<strong>е</strong>ния и улицы,<br />

которых сл<strong>е</strong>ду<strong>е</strong>т изб<strong>е</strong>гать.<br />

А зд<strong>е</strong>сь MW созда<strong>е</strong>м объ<strong>е</strong>кт<br />

n a v i g a to r , указыва<strong>е</strong>м п у н к т<br />

назнач<strong>е</strong>ния и опр<strong>е</strong>д<strong>е</strong>ля<strong>е</strong>м<br />

расстояни<strong>е</strong>.<br />

. Создайт<strong>е</strong> объ<strong>е</strong>кт navigator2, укажит<strong>е</strong> пункт назнач<strong>е</strong>ния, вызовит<strong>е</strong> м<strong>е</strong>тод ModifyRouteToAvoidO,'^<br />

а зат<strong>е</strong>м воспользуйт<strong>е</strong>сь м<strong>е</strong>тодом TotalDistanceO для вычисл<strong>е</strong>ния п<strong>е</strong>р<strong>е</strong>м<strong>е</strong>нной distance2.<br />

Navigator navigator2 =<br />

navigator2.<br />

navigator2.<br />

int distance2 =<br />

^2.CoздaйтeoбъeктnavigatorЗ,yкaжитeпyнктнaзнaчeния,вызoвитeмeтoд^ЯodifyRouteToincludeO,~*<br />

a зат<strong>е</strong>м воспользуйт<strong>е</strong>сь м<strong>е</strong>тодом TotalDistanceO ДЛЯ вычисл<strong>е</strong>ния ц<strong>е</strong>лой п<strong>е</strong>р<strong>е</strong>м<strong>е</strong>нной distances.<br />

L<br />

_<br />

Встро<strong>е</strong>нный в .NET Framework м<strong>е</strong>тод Math.MmQ<br />

сравнива<strong>е</strong>т два числа и возвраща<strong>е</strong>т м<strong>е</strong>ньш<strong>е</strong><strong>е</strong>. Им<strong>е</strong>нно<br />

с <strong>е</strong>го помощью Майк наш<strong>е</strong>л самый короткий путь.<br />

i n t s h o r t e s t D is t a n c e = M a t h .M in ( d is t a n c e l, M a t h .M in ( d is t a n c e s , d i s t a n c e s ) ) ;<br />

дальш<strong>е</strong> > 127

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!