Компьютерные книги
Главное меню
Главная Поиск по сайту Добавить материал О нас Карта книг Карта сайта
Реклама
computersbooks.net -> Добавить материал -> Языки программирования -> Ватсон К. -> "С#" -> 38

С# - Ватсон К.

Ватсон К. С# — Лори, 2005 . — 879 c.
ISBN 1-861004-98-2
Скачать (прямая ссылка): vatsonc2005.pdf
Предыдущая << 1 .. 32 33 34 35 36 37 < 38 > 39 40 41 42 43 44 .. 404 >> Следующая


Практикун: использование цикла while

1. Откройте консольное приложение с именем ch04Ex05

В Директории C:\BegCSharp\Chapter4.

2. Модифицируйте код следующим образом (в качестве отправной точки используйте код из ch04Ex04 и не забудьте удалить оператор while

в конце исходного цикла):

static void Kain(otring [) args)

(

double balance, interestRate, targetBalance)

Console.WriteLine('What is your current balance?'); balance = Convert.ToDouble(Console.ReadLine(I);

Console.WriteLine('What is your current annual interest rate (in %)?'); interestRate = 1 + Convert.ToDouble(Console.ReadLine()) / 100.0; Console. WriteLine ('What balance would you like to have?'); targetBalance = Convert.ToDouble(Console.ReadLine());

int totalYearв = 0;

while (balance < targetBalance)

{

balance *- interestRate;

++totalYeara;

>

Console.WriteLine('In (0) year(l) you'll have a balance of (2).',

totalYears, totalYears ==* 1 ? " : 's', balance);

3. Запустите программу еще раз, однако теперь введите требуемый баланс меньше начального:

м

щ

.._________________________________________________________________________Ь]

ht: .......... I ' •

ЕЛ Вс р\ ehapixi-.i'vCtiO-iEHO^.

it ipuiif cui'i'Lin ЬлJ-itI¦ e

1 oat.n I

Шин I icnifffittt x'k11llui 1 mts < in 's.Vi

4.2

Hiiat fi.iliince uonLrt you i ilic со haue?

iaio

In И iji-.ii'- <лт II hir.'i: i b.i I ¦ m с« n: ll3t>klW-

PjtcsS .liiy to i: Г.-ii, t iF1ll€
Управление порядком выполнения

69

Как это работает

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

Конечно, в данном случае существуют и альтернативные варианты. Например, можно осуществлять проверку вводимой пользователем информации, чтобы убедиться в превышении начальной суммы конечным балансом. Для этого поместим в цикл соответствующий код:

Console. WriteLine ('What balance would you like to have?') ;

do

targetBalance - Convert.ToDouble(Console.ReadLine()); if (targetBalance <=¦ balance)

Conaole.WriteLine('You must enter an amount greater than * *

'your current balance!\nPleaee enter another value.');

>

while (tercetBalance <¦¦ balance) г

Это позволит отвергнуть значения, лишенные смысла, и выходной поток будет выглядеть так:

': С :\Й ЩС5t№p\ Ch П-1Е ни j\bi ц\ОДВД\СЬ04Ек#Э c-.4tr

I-'- J^rilll" 11ГГ: III ll.r Llllb il T

ШШ

WlKit jr. :Щ'0 I*’ limuill ГЛТ.Г - in 'Л ? f

¦3.2

yjtdf Jj.,1 i ‘ * 1111ЬI ШЦ» I i li.f ti. 11 fc * -i • - V

t№ft

Vuit i inf; | !: j | I :: г m :h|,iSiHU ¦¦\pis* I Li; i Llu\i| i/Liur ^Ufl'irliL- tl-чЬгмН?

'--hi U I1 4HML, ti'Jr Sul'

ШШ)

[ ^ i 4И у t/ i ¦ \y\ in' i.l i.,1 л * • . \ L-щ cc (if Li I м Л1 i - 22 1 'J ? V ijjj'i -

!?t*iq «Hi1,- I.i' 'j С i.l «<>i 11 i uni.

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

Цикл for

Последний тип цикла, который рассматривается в дайной главе,— это цикл for. Он относится к тому типу циклов, которые выполняются заранее заданное количество раз и сами отвечают за организацию счетчика цикла. Для организации цикла for требуется следующая информация:

? Начальное значение для инициализации переменной цикла

? Условие для продолжения выполнения цикла, зависящее от переменной цикла

? Операция, которая будет выполняться над переменной цикла по завершении очередного прохода цикла

Например, если необходимо организовать цикл с переменной цикла, изменяющейся от 1 до 10 с шагом, равным единице, то в этом случае начальное значение
70 Глава 4

равно 1, условием для продолжения цикла будет “переменная цикла меньше или равна 10", а операцией, выполняющейся по окончании каждого прохода цикла, будет прибавление значению переменной цикла единицы. Эта информация должна быть размещена в структуре цикла for следующим образом:

for 1 <яшквешх>ват№* t <уеяовие>г <операция>) t , <код. аыаолшащнйся а цикле> )
Этот код работает так же, как и следующий цикл while:
«инициализация^ while {<yojotwa>) ¦ < <ход. ашюхшявщийся а цккле> <оперлцжя> -

Однако формат цикла for оказывается более понятным, поскольку все необходимые параметры, определяющие цикл, собраны воедино, а не распределены по разным операторам.

При рассмотрении циклов do и while мы приводили пример с выводом чисел от 1 до 10, Давайте взглянем на код, позволяющий сделать то же самое с помощью цикла for:

¦ ^ . , ;

jPbs i I - L; ; ^- I0( ++I)

1 ¦ ¦ " ¦ .'Coneoie.VfriteLioeC'tQi r, i)i

Целой переменной цикла с именем i присваивается начальное значение I, после чего она увеличивается на 1 в конце каждого прохода. В теле цикла происходит вывод значения i иа консоль.

Обратите внимание, что когда начинает выполняться код, расположенный за циклом, переменная i обладает значением, равным N. Дело в том, что в конце прохода цикла, в котором переменная i равняется 10, ее значение увеличивается на единицу до проверки условия i <= ю. Очевидно, что после проверки выполнение цикла прекращается.
Предыдущая << 1 .. 32 33 34 35 36 37 < 38 > 39 40 41 42 43 44 .. 404 >> Следующая
Книги
Web-программирован-
ие
Аппаратное обеспечение Графика Руководство по П.О. Самоучитель Теория программирования Фотошоп Языки программирования
Новые книги
Вирт Н. "Систематическое программирование " (Теория программирования)

Эком "Microsoft Excel 2000 шаг за шагом Русская версия самоучитель " (Самоучитель)

Поляков А.Ю. "Методы и алгоритмы компьютерной графики в примерах Vizual C++" (Графика)

Баяковский Ю.М. "Графическая библиотека Open GL " (Графика)

Валиков А. "Технология " (Языки программирования)
Авторские права © 2013 ComputersBooks. Все права защищены.