|
С този урок се продължава серията уроци на паскал, които можете да намерите на страницата. Разгледани са някои важни конструкции, които са съпътствани с примери.
Оператор for-downto-do Синтаксисът на този оператор е CODE
където
за), downto (надолу до), do( прави) са запазени думи
променлива величина, наричана още управляваща променлива на цикъла. Възможните тирова за i са char, boolean, integer, изборен и подобласт
и V2 са изрази от тип, съвпадащ с типа на управляващата променлива i. V1 е началната стойност, а V2 – крайната.
произволен оператор, наричан тяло на цикъла. Управляващата променлива приема последователно всички стойности между началната и крайната. Тези стойности тя приема автоматично и затова е забранено нейната стойност да бъде променяна в тялото на цикъла. Операторът for i := V1 to V2 do S се изпълнява по следния начин: Първо се намират стойностите на V1 и V2 и се сравняват. Ако стойността на V1 е по-голяма или равна на стойността на V2 управляващата променлива получава последователно всички стойности от V1 до V2 и за всяка стойност се изпълнява операторът S. Ако стойността на V1 е по-малка от стойността на V2 операторът не се изпълнява нито веднъж. Вложени оператори for Тялото на оператора for е произволен оператор. В частни случаи той може да бъде оператор за цикъл. В такива случаи става дума за вложени цикли. Пример за вложен цикъл: CODE
Тук S е произволен оператор, тяло на вложен цикъл. Този вложен цикъл се изпълнява по следния начин: Управляващата променлива i получава последователно стойности 1, 2 .... 5, като за всяка от тези стойности j получава стойност 1, 2 или 3 и за тези стойности се изпълнява операторът S. 4.5.2 – Оператор while Чрез този оператор може да се реализира произволен цикличен процес. Препоръчително е обаче този оператор да бъде използван предимно за реализиране на интеративни циклични процеси. Пример за програма, използваща цикъла while: Да се напише програма, която пресмята сумата e x = 1 + (x/1!) + (x2 / 2!) + (x3 / 3!)….. докато абсолютната стойност на последното събираемо стане по-малка от стойността на променливата eps. (eps и x се въвеждат от клавиатурата). CODE
Изпълнение на програмата: След изпълнението на операторите x1:=1; S:=1; I:=0; имаме x1=1, S=1 и I=0. Нека въведем стойности за x и esp, например x=1 и esp=0.5. Операторът while се изпълнява по следния начин: намира се стойността на булевия израз abs(x1)>=eps за текущите стойности на x и eps. Тъй като условието е изпълнено и стойността на булевия израз е true се изпълнява тялото на цикъла. След това отново се намира стойността набулевия израз abs(x1)>=eps . Тя отново е true и тялото на цикъла се изпълнява още веднъж. Това се повтаря докато стойността на булевия израз abs(x1)>=eps не стане false, с което приключва изпълнението на цикъла. В оператора while B do S - while( докато) и do(повтаряй ) са запазени думи. - B е булев израз или условие, което трябва да има стойност при влизането в цикъла. - S – произволен оператор. Ако е необходимо да се изпълнят многократно няколко оператора, те трябва да се оформят като съставен оператор (с begin и end). Върху стойността на булевия израз В трябва да влияе поне един от операторите, изграждащи тялото на цикъла, за да може това условие да се проверява всеки път. В противен случай този оператор не може да завърши изпълнението си. 4.5.3 – Оператор repeat Предназначението на този оператор е за реализация на произволен цикличен процес. Препоръчително е използването му за реализация на интеративни циклични процеси. Пример за програма, която използва оператора repeat: като пример ще разгледаме програмата от миналата точка, но решена не с оператор while-do а с оператор repeat-until. CODE
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||









