Добавил:
2200 7008 9480 6099 TKFF БЛАГОДАРНОСТЬ МОЖНО ТУТ ОСТАВИТЬ Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ДИПЛОМ 2025 / 4 курса_МТУСИ / 1 КУРС / Информатика / С# для чайников - Мюллер.pdf
Скачиваний:
0
Добавлен:
04.06.2025
Размер:
53.3 Mб
Скачать

-,

- ,

,

-

,-

, ,

Этот подход позволяет программе выполнять одни и теже действия как для строки Davis, так и для строки Hvidsten.

Циклы

Конструкция if позволяет программе выполняться различными путями в зависимости от результата вычисления значения типа bool. Она обеспечива­ ет возможность создавать программы, существенно более интересные, чем те, которые могут быть написаны без ее использования. Еще одним применением машинной команды условного перехода является возможность зл,eл 4?9lи :лЧ )? иитеративного выполнения блока кода.

Рассмотрим еще раз программу Calculatelnterest из раздела "Инструкция if' данной главы. Такие простые вычисления удобнее выполнять с помощью карманного калькулятора, чем писать для этого специальную программу.

Но что если необходимо вычислить проценты по вкладу для нескольких лет? Такая программа будет намного полезнее (конечно, простой макрос в Microsoft Excel все равно гораздо проще, чем требующаяся вам программа, но не стоит мелочиться). Итак, нужно выполнить некоторую последовательность инструкций несколько раз подряд. Это и есть .2ш: (loop).

йжкнчоко ямч

Наиболее фундаментальный вид цикла создается с помощью ключевого слова while следующим образом:

4:y, ,

т

 

 

цц

р

гд

р

цц

 

 

 

При первом обращении к циклу вычисляется условие в круглых скобках после ключевого слова while. Если оно истинно, выполняется следующий за

ГЛАВА 5 - нирыВкоск, нежехет, ыn неВокосо,

125

ним блок кода - тело цикла. По окончании выполнения тела цикла программа вновь возвращается к началу цикла и вычисляет условие в круглых скобках, и все начинается сначала. Если же в какой-то момент условие становится ложным, тело цикла не выполняется и управление передается коду, следующему за ним.

ЗАПОМНИ!

ВНИМАНИЕ!

Если при первом обращении к циклу условие ложно, тело цикла не выполняется ни одного раза.

Программисты зачастую косноязычны и могут не совсем корректно выражаться. Например, говоря о цикле while, они могут сказать, что тело цикла выполняется до тех пор, пока условие не станет ложным. Но такое определение не совсем корректно, так как можно решить, что выполнение цикла прервется в тот же момент, как только усло­ вие станет ложным Это не так. Программа не проверяет постоянно справедливость условия; проверка производится только тогда, когда управление передается в начало цикла.

Цикл while можно использовать для создания программы Calculateinterest­ TaЬle, являющейся версией программы Calculateinterest с применением цикла. Она вычисляет таблицу величин вкладов по годам.

цц тщr( rщ

,>имх, ,

r,

 

цц

 

 

 

 

 

цц

 

,гW

 

 

 

им:1 6

,>имч, ,

r,

имщг,

тщ(,тщr( rщ

 

1:им6

,гV

 

 

 

т

y:( (rщ

,хр1хщг

 

 

т

:(

:(щ

р:, "щ:имn

х1:имl К щх1 т

 

цц

 

 

 

 

 

цц

 

 

 

 

 

:им гщ :г г>им ,х,

=

 

 

 

 

=

=

=

 

 

 

=

 

 

 

 

 

 

=

=

126 ЧАСТЬ 1 Основы программирования на С#

=

==

==

==

==

=

=

=

ГЛАВА 5 Управление потоком выполнения '127

Вот как выглядит вывод программ ы eарптрано(енооодн,ап рол v hn/Эг

 

v hn в # г

 

v . ,

 

- Odi

тз

- O y lи

 

- ,

- r - ess т lO

 

Or . lo - yrt

 

dr. rlr y ,,

 

i r . t r o yoO

 

lrOO O dт ,r

 

orOl, 2 y oo

 

rrOs- i y dr

 

s т d - ooy -r

 

tтdlo- ­ti

 

-,ri ,,r v 0s

 

ки

y y y

Каждое значение представляет общую сумму в клада по истечении указан­ ного срока в предположении, что начисленные проценты добавляются к основ­ ному вкладу. Так, сумма 1 234 доллара при ставке 1 2,5% за 9 лет превращается в 356 1 ,94 доллара.

ТЕХНИЧЕСКИЕ ПОДРОБНОСТИ

! .ВЕТВТМ!ЗАКИЧ!Н И"'JМХЕТБ' ЕТМ ИЗАКН!ВоИИ! КСХИЕТБИАЗБХКИСМ!e ТС Е!Х!Н!В К !И!Вt> ВТAТ КИТЗМБТА, ЧНКИТТНРЧМИ !ЕЕТМЕВЧЕА !И КСe

КВХМАВЗБpМp!НоТИЕИТ ЗЕЕЕН

ЕВ!ИА В!НЧНАВЗБКСКИХИ!!В' !Н!

\t>ОСТВоВКИХИ!МИА, ЕВ!!В

МЗоТНКИАВ оВЕВ

ВР ЗоИСМНЕТВ!СТ

!ВТЕН МТЕРЧМТ ЗМЕКВЕТВКВоМЗСКНИЕСТ: К eЕТНКИЧ

Н.ВАНЗВ ЗАТВ

!НЕМ -А, КИТЗМИРd,М.ВЕТИИоВЧХ"'JМТКСКВХБАЧНКИТЕХНРЧМИ !ЕЕТМоВ ЕЕВЕТ Н"'JМР!1

128 ЧАСТЬ 1 Основы программирования на С#

=

 

 

 

­

 

=

 

 

= ­

 

­

 

=

 

­

 

 

­

 

 

­=

=

 

=

=­ ­

= ­=

 

 

= =

 

­

=

­

 

­

­= ­ ­

­

­ = ­= =

­

=

­­

 

 

 

 

 

 

­

 

 

 

­= ­

 

 

=

 

=

 

 

 

 

= ­=

=

=­==

=

­=

= = ­

 

=

 

=

 

==

 

­

 

 

=

­= ­ =

 

­ =

=

= =

 

­

 

 

=

= = = =

 

 

­

=

 

=

 

 

=

 

­

 

 

 

 

 

 

 

 

 

 

 

­

­ ­ = = =

 

=

= ­ ­­

 

 

 

­

= ­

 

= ­

=

=

 

=

 

=

 

= =­­ ­ = ­ ­= ­

 

 

 

 

 

 

 

= = =

=

129

 

=

 

 

 

 

 

 

 

 

 

 

=

 

 

 

 

 

 

 

 

 

 

=*(+)=(=(=(=)(5+= i);==

+(=(Si);=(

s

 

=5(S

===(=)=o

(+5==( ;*(=)(= -(*( (=))

*(= )(=(=)5)-( (+ =)(E())=

=(*(-())(=

 

s{

=E=E=E=EGG-=;+G=G-=====;G

 

 

 

 

 

 

s{

====*(==())=i); =(- )-(=+5= ==(5=(i)(==)=

(=(*(+(*(

S

)

 

{{=(*(+(*S

S=====((+=*(;*(l())(

===(=)())= i);=( ) =(*(o

=(E===*(==())==(*=(-===*(=())=

)(=(5*(=5+=())( =( i);=(-

(-()=(

s{

{

=(*(=((+S ==*(==())( =)(E(=(

i);=(

; =*(=(*;( (

(=5=(=)=

 

­*(==(=(=) == (+)+(=*(;*(+)+====(=)())( *(55-(+*)=(=i(=5=*()((

=*(

*(--=;(;

+(==;( 5=--(=;=(=(=*(==5)+)(E(==)== =)(

+(*((

=(*()((

=(=())((

E)5=( *(= )(=(=)5)-( (+ +(

( ;(;(=

5*(; =*(i(= =( m+(

-( (-()

+(

+(-(=)(

=(

;(5=(=(+==(=(=)==+(=( i);=(

5=(===l)( 5+*(;)

 

 

=

=

==

S=RISTn(n H= (=i=)( ))= =+) (=) + ) G

Соседние файлы в папке Информатика