Loop изявления, докато и повторете
Добре дошли любители на програмиране и читатели progmatem.ru сайт. В една от предишните страници разгледахме оператора на цикъл с опция. така че е време да проучи други видове цикли - докато изявление и повторете.
✎ оператори и повтори цикъла, докато се използва, когато не е известна предварително общия брой повторения (изчисляване повторение) цикъл, и извършване на изчисления зависи от определени условия. Ако състоянието е поставен в началото на цикъла (на входа), тя използва Докато операторът, ако изходът - Повторете.
И сега разчитам каза: първо време, а след това по-ниско повторете.
цикъл, докато операторът има следната структура:
Това трябва да се разбира, както следва: докато условието е вярно. застанал между а и да направи, изпълнява изявлението след ми клас, наречен тялото на цикъла. Преди всяко обаждане в състояние една линия се изпитва: ако е вярно, то тогава конструкцията се изпълнява, ако е невярно, а след това автоматично излиза от цикъла.
Ако операторът е в цикъл от няколко оператора, те трябва да бъдат поставени в скоби оператор започне - край (за сравнение за цикъл). Не забравяйте, че самите оператори са разделени от оператор "и запетаята" (но преди края на затваряне в края да се сложи, че не е необходимо).
Споменатите демонстрира пример за изчисляване на сумата на кубчета от всички цели числа от 1 до 10. От код може да се види, че докато б ≤ 10 (линия 7), ще изпълни тялото верига, където във всяка итерация за добавяне на сумата от сумата б 3. Когато последната изчисляването на б = 10 изчислява сумата (линия 9) и по-ниско увеличение на б 1: б = 11, така че следващата стъпка е изход от цикъла, като вход условие б ≤ 10 нарушени.
Разглеждане на добре познат пример за разширяването на функция например х в серия Тейлър:
Ние изчисли стойността си с точност, например, 0.000001 (една милионна), и стойността е обозначена с С. Както се вижда, първа стойност на (количество) е равна на a0 = 1, и за да се изчисли за всяка следваща член на + 1, предишния се умножава с х и разделете на п. Наистина, една + 1 = х п + 1 / (п + 1)! = X п · х / (п! · N) = на · х / п. Това е демонстрирано в програмата по-долу.
Смисълът е: толкова дълго, колкото условията на повече от 0.000001, ще работят тялото на цикъла, в който се изчислява тази сума. След като член на редица става по-малка или равна на 0.000001, цикълът се излиза, а крайният резултат е изход.
Необходимо е да се избегнат случаите, когато състоянието на вход в цикъла винаги е вярно, тъй като след това програмата ще премине. Тази ситуация се нарича "безкраен цикъл." Ето един пример.
В програмата се показва поздрава "Здравей!" безкрайна, тоест, толкова дълго, колкото не го спре. Това е така, защото състоянието 1 <100 всегда истинно.
Вижте още един пример от хармоничните серии или други програми на секцията Докато Taskbook Абрахамян.
Резултат най-малкия делител на числа х, различна от 1
Печат минимален брой по-голяма от 200, което се дели на 17
повторение оператор цикъл има следната структура:
За разлика повтаря оператор цикъл, докато от него е, че условието се проверява на изхода от цикъла, ако не е изпълнено, тогава цикълът продължава, ако изпълни - направо от примката. По този начин, докато условието е вярно, програмата преминава към следващата итерация, състоянието е счупен - оставете. Ето защо, се повтаря повече оператор нарича клауза за бягство. Дори и в отчета за повторение не се нуждае от скоби оператора започват - край в продължение на няколко оператори:
Друга особеност на отчета за повторение - докато е, че най-малко веднъж оператор в тялото на цикъла се изпълнява като състоянието на изхода е тестван в края. Тази функция води до факта, че всеки оператор, с предпоставка докато може лесно да се превърне в един оператор с Postconditions повторение, а това не е лесно да се повтаря на всеки оператор се записва от известно време.
Изчислява се корен квадратен от въведения номер с клавиатурата. Стартирайте програмата и се опитайте да въведете отрицателно число, всеки път, когато ще се върнете в началото на цикъла, както можете да се измъкнем от цикъла, ако въведете неотрицателно число х: х> = 0.
С цифровата клавиатура, за да въведете толкова дълго, колкото техният размер не надвишава предварително определения брой предварително. Както можете да видите в ред 11, ако сумата надвишава сумата на броя на М, а след това излезе от цикъла и показва резултатите:
Въвеждане на поредните номера, 0-край последователност. За да се определи дали последователност включва най-малко две съседни числа еднакви.