Информация

Школа программирования Delphi

Портал DelphiSchool является бесплатным проектом, обеспечивающим пользователям быстрый и легкий доступ к урокам программирования на Delphi. Сайт позволяет научиться программировать на Делфи любому, кто хочеть писать свои программы, игры, Android приложения, программы для MAC OC или IOS. Кроме уроков Delphi и статей Delphi, на сайте доступны также и видеоуроки. Практически к каждому уроку, пользователю доступен исходник, изучив который, он сможет наглядно посмотреть как работает та или иная программа, написанная на Делфи. Кроме того мы постараемся прилагать к каждому материалу (статье, уроку, видеоуроку) файлы Delphi, которые будут помогать изучить предоставленный материал.

Каждый кто решил написать свою программу, создать свое приложение, научиться программировать и т.д., найдет на DelphiSchool статьи Delphi, уроки Delphi, видеоуроки Delphi, исходники Delphi, файлы Delphi, изучит компоненты Delphi, посмотрит Delphi примеры и многое другое абсолютно бесплатно. Все о Delphi программировании теперь собрано на одном сайте!!!

DelphiSchool

Полезное
Книга
Форма входа
Поиск по сайту
Статистика сайта


Онлайн всего: 1
Гостей: 1
Пользователей: 0
Новости
Рекламный блок
Главная » Уроки Delphi » Основы Delphi » Основные принципы программирования в Delphi. Начинаем программировать самостоятельно

Управление циклами в Delphi. Операторы Continue и Break.

Вы искали Управление циклами в Delphi. Операторы Continue и Break. и специально для вас мы подготовили этот урок Delphi. К каждому уроку мы стараемся предоставлять исходники Delphi, поэтому в конце статьи Управление циклами в Delphi. Операторы Continue и Break. вы можете посмотреть пример Delphi, или код Delphi, что позволит изучить Управление циклами в Delphi. Операторы Continue и Break. более детально.
Изучайте программирование онлайн на сайте www.DelphiSchool.3dn.ru и освойте основы программирования. Обучение программированию на DelphiSchool это программирование для начинающих и опытных программистов.
Управление циклами в Delphi. Операторы Continue и Break.
Работой цикла можно еще и управлять. В Delphi есть два оператора управления - break и continue. В этом уроке мы научимся работать с этими операторами и на примере рассмотрим, как в Делфи можно написать программу, используя операторы break и continue для управления циклами. Для началы мы начнем рассмотрение и изучение управления циклами в Делфи с оператора continue.
Допустим, нам нужно разделить число 10 на числа начиная от -3 до 3 и вывести результат в TListBox. Для решения этой проблемы напрашивается цикл, который будет выполняться от -3 до +3. Ниже можно увидеть примерный код такого цикла, в котором мы попытаемся реализовать заданное условие:

Код
procedure TForm1.Button1Click(Sender: TObject);
var
i, r:Integer;
begin
for i:=-3 to 3 do
begin
r:=round(10/i);  
ListBox1.Items.Add('10/'+IntToStr(i)+'='+IntToStr(r));
end;
end;


В этом примере запускается цикл, в котором переменная i будет изменяться от -3 до 3. На каждом шаге делится 10 на значение i и сохраняется результат в переменной r.
При делении используется функция round, которая округляет переданное ей значение. В качестве исходного значения мы передаем ей результат деления 10 на переменную i, т.е. round(10/i). Таким образом, в переменную г будет записан округленный до целого результат деления.
Следующим действием является добавление результата в ListBoxl, с одновременным преобразованием переменной г в строку.
Давайте посмотрим, что произойдет, когда переменная i будет равна 0. В этом случае число 10 будет делиться на 0, а значит, произойдет ошибка, потому что на 0 делить нельзя. Как же тогда выйти из этой ситуации? Можно на каждом этапе цикла проверять значение i, и если оно равно 0, то не выполнять никаких действий. Два возможных решения приведены в коде ниже:

Код
procedure TForm1.Button1Click(Sender: TObject);
var
i, r:Integer;
begin
for i:=-3 to 3 do
begin // начало для оператора for
if i<>0 then
begin // начало для оператора if
r:=round(10/i);  
ListBox1.Items.Add('10/'+IntToStr(i)+'='+IntToStr(r));
end; //Этот end для оператора if  
end; //Этот end для оператора for
end;


В этом примере на каждом этапе проверяется значение i, и если оно не равно 0, то только в этом случае производятся вычисления.
Это очень простое решение для маленьких и простых программ. Но если ваш цикл большой и выполняет много действий, то такое решение будет как минимум неудобно и может потеряться "читабельность" кода. В худшем случае, вообще может ничего не получиться. Вот тут на помощь приходит оператор continue.

Код
procedure TForm1.Button1Click(Sender: TObject);
var
i, r:Integer;
begin
for i:=-3 to 3 do
begin // начало для оператора for
if i=0 then
begin // начало для оператора if
ListBox1.Items.Add('На ноль делить нельзя');
Continue;
end; //Этот end для оператора if
r:=round(10/i);  
ListBox1.Items.Add('10/'+IntToStr(i)+'='+IntToStr(r));
end; //Этот end для оператора for
end;


В этом примере мы также проверяем на каждом этапе значение переменной i. Если оно равно нулю, то выводится сообщение в ListBoxl о том, что на ноль делить нельзя, и выполняется оператор continue. Как только программа встречает такой оператор, она сразу прерывает дальнейшее выполнение цикла и переходит на следующий шаг. Это то же самое, что выполнить команду "Остановить дальнейшее выполнение программы, увеличить значение переменной i и начать выполнение цикла со следующим значением".
Как только программа встречает оператор continue, она перескакивает на конец цикла, где увеличивается значение счетчика (в данном случае переменная i) и продолжается выполнение уже со следующего шага.
На рисунке ниже показана форма с результатом работы нашего примера.


Рисунок. Пример управления циклом с помощью оператора Continue


Использование continue вместе с циклом for достаточно удобно и безопасно, в отличие от циклов while или repeat … until. Посмотрим на следующий пример:
Код
i:=-3
while i<3 do  
begin if i=0 then  
continue;

r:=round(10/i);
ListBoxl.Items.Add('10/'+IntToStr(i)+'='+IntToStr(r));
i:=i+l;  
end;


В этом примере также 10 делится на числа от -3 до 3, но на этот раз задача решается с помощью цикла while. Чтобы не встретить ошибку деления на 0, в цикле проверяется переменная i на равенство нулю, и если это так, то выполняется оператор continue. А теперь подумайте, что произойдет, когда i действительно будет равна нулю. В начале цикла произойдет проверка, которая даст истину, и выполнится оператор continue. Шаг цикла прервется и начнется с самого начала, при этом переменная i не изменится, и она снова будет равна 0. Вот оно классическое зацикливание, которое приведет к зависанию программы.
Когда выполняете оператор continue в цикле while, убедитесь что счетчик изменяется. В данном случае нужно было сделать следующую проверку:

Код
if i=0 then  
begin
i:=i+l;
continue;
end;


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

Код
procedure TForm1.Button1Click(Sender: TObject);
var
i, r:Integer;
begin
for i:=-3 to 3 do
begin // начало для оператора for
if i=0 then
begin // начало для оператора if
ListBox1.Items.Add('На ноль делить нельзя');
break;
end; //Этот end для оператора if
r:=round(10/i);  
ListBox1.Items.Add('10/'+IntToStr(i)+'='+IntToStr(r));
end; //Этот end для оператора for
ListBox1.Items.Add('Расчет окончен');
end;


В этом случае если значение i будет равно нулю, то выводится сообщение о том, что на ноль делить нельзя и цикл прерывается. После этого управление передается следующему оператору после цикла. На рисунке ниже показан результат работы программы.


Рисунок. Пример управления циклом с помощью оператора Break


Как видно из примера, после встречи с нулем в цикле больше ничего не выполняется и оператор break просто завершает его работу.

К уроку (статье) Управление циклами в Delphi. Операторы Continue и Break. прилагается исходник, посмотрев который, вы можете ознакомиться с полным исходным кодом программы и посмотреть как работает созданная программа. Исходный код сопровождается комментариями, благодаря чему вы сможете легко в нем разобраться. Но я настоятельно рекомендую делать все самостоятельно. Так вы лучше и быстрее усвоите то, о чем говорилось в этом уроке

Для того чтобы получить возможность скачать исходник Delphi к этому уроку, необходимо посетить сайт рекламодателя. После этого, появится ссылка на исходник Delphi к уроку Управление циклами в Delphi. Операторы Continue и Break.
Нажмите на эту ссылку Ссылка

Категория: Основные принципы программирования в Delphi. Начинаем программировать самостоятельно | Добавлено: 30.06.2014 | Просмотров: 8564 | Комментарии: 18 | Рейтинг: 0.0/0

Добавить Управление циклами в Delphi. Операторы Continue и Break. в закладки:



Не забывайте писать свои отзывы об уроке Управление циклами в Delphi. Операторы Continue и Break.. Ваша информация об уроке Управление циклами в Delphi. Операторы Continue и Break. может помочь другим людям изучить программирование на Delphi. Также не забывайте проставлять рейтинг урока, ведь от этого зависит его попадание в список лучших уроков Delphi
Всего комментариев: 0
dth="100%" cellspacing="1" cellpadding="2" class="commTable">
Имя *: Email:
Код *: