ПредишенСледващото

управленския цикъл в Делфи

В този пример, цикъл започва в което променливата и ще варира от -3 до 3. На всяка стъпка 10 е разделена на стойността на I и съхранява резултата променлива г.

При разделяне на използвания кръг функция, която кръга си тази стойност. Като начална стойност, ние го резултат на разделяне 10 променливата премине I, т.е. кръг (IO / I). Така, променливата г се записва закръглена до число резултат на разделяне.

Следващата стъпка е допълнение резултат на ListBox1 на, с едновременно превръщане на променливата Z в низа.

Нека да видим какво ще се случи, когато променливата и е равен на 0. В този случай, броят 10 ще бъде разделен на 0, което означава, че има грешка, защото не можете да се разделят с 0. Как тогава да се измъкнем от тази ситуация? Можете да на всеки етап от цикъла, за да проверите стойността на I, и ако тя е 0, като не извършва никакви действия. Два възможни решения са дадени в обявите:

процедура TForml.CalculateButt # 111; nКликнете върху (подателя: TObj др); Var

започнем защото: = - 3 3 да се направи

започне 11 Това е началото на оператора за ако аз<>0 след това

започнем // Това е началото на една декларация, ако

ListBoxi.Items.Add (40 / '+ IntToStr (I) +' = '+ IntToStr (с)); край; // тази цел, ако в края на оператора; // тази цел оператор за цел;

В този пример, при всеки етап проверява стойността на I, и ако не е 0, то е само в този случай, се извършват изчисленията.

Това е много просто решение за малки и прости програми. Но ако си цикъл е голям и не много екшън, решението ще бъде най-малко неудобно и може да се загуби "четливост" код. В най-лошия случай, няма да получите нищо. Тук идва на помощ продължи изявление.

процедура TFormi.CalculateButt # 111; nКликнете върху (подателя: TObj др); Var

I, R: цяло число; започнем защото: = - 3 3 да се направи

започне // Това е началото на оператора за ако 1 = 0, тогава

започнем /./ Това е началото на една декларация, ако

ListBoxi.Items.Add ( "не могат да се разделят от нула");

Продължи; край; // тази цел за оператора, ако

ListBoxi.Items.Add ('10 / '+ IntToStr (I) +' = 'VlntToStr (с)); приключи; // тази цел оператор за цел;


Управление на цикъла на Delphi, Delphi, Delphi компонент, източник Delphi

В този пример, ние проверяваме всяка стъпка от стойността на променливата аз. Ако тя е нула, съобщението в ListBox1 че не може да се раздели на нула, и изпълнява изявлението продължи. След като програмата отговаря на този оператор, той веднага прекъсва по-нататъшното изпълнение на цикъла и продължава към следващата стъпка. Това е същото, което се изпълни "Спри за продължаване на изпълнението на програмата,

увеличаване на стойността на променливата I и да започне цикъла със следващата стойност. "

След като програмата отговаря продължи оператор, тя скача до края на цикъла, където стойността на брояча се увеличава (в този случай, променливата и) и изпълнението продължава от следващата стъпка.

Фиг. Тя показва форма, с резултат от нашия пример.

Използване продължи с течение на доста удобно и безопасно, за разлика от примката на време, или се повтаря. до. Нека разгледаме следния пример:

докато аз<3 do begin if i=0 then continue;

Когато извършвате продължи изявление на време цикъл. удостовери, че промените контра. В този случай, е необходимо да се направят следните проверки:

ако аз = 0, тогава започва I: = I + L; продължи; приключи;

В този случай, преди стъпката на прекъсване на стойност цикъл на променливата I се увеличава с един, а след това на следващата стъпка няма да е нула.

Сега нека да се справят с изявление почивка. След като програмата отговаря на този оператор, цикълът се прекратява и изпълнението се предава на следващия отчет след изявлението на цикъла. Да вземем предишния пример и да го замени продължи да се прекъсне:

процедура TForml.CalculateButt # 111; nКликнете върху (подателя: TObj др); Var

I, R: цяло число; започнем защото: = - 3 3 да се направи

започне // Това е началото на оператора за ако 1 = 0, тогава

започнем // Това е началото, защото, ако ListBoxl.Items.Add оператор ( "Ха нула разделение не може '); прекъсване;

край; // тази цел за оператора, ако R: = кръг (10 / I);

ListBoxl.Iterns.Add ('10 / '+ IntToStr (I) +' = '+ IntToStr (с)); приключи; // тази цел за за ListBox1.Items.Add оператор ( "Изчисляване е над '); приключи;

В този случай, ако стойността на I е равна на нула, съобщението, че не може да се раздели на нула, и цикълът се прекъсва. След това, за контрол се предава на следващия отчет след цикъл.

Както можете да видите, след среща с нула в течение след това тя не прави нищо и просто да се прекъсне изявление приключи своята работа.

Помогнете на проекта! Кажи на приятел за този сайт:

Свързани статии

Подкрепете проекта - споделете линка, благодаря!