Loop for: Pascal за начинаещи

Основата на програмиране - цикли, например за. Паскал. Подобно на всеки компютърен език, той съдържа и такива конструкции в синтаксиса си.

Назначаване на циклични оператори

Типична задача е да се принуди компютърът да извърши същата операция няколко пъти. Тук и запазете дизайните, които ви позволяват да организирате повторението на кода. Така че цикълът на програмиране е повтарящо се действие, което се организира с помощта на езикови средства. Програмният език Pascal включва няколко такива конструкции:
  • за - повторение с параметъра;
  • докато - повторете с предпоставка;
  • повторете до - повторете с postvital.
  • Въпреки очевидната простота и очевидност на цикличните проекти, начинаещите програмисти се сблъскват с редица проблеми с тяхното изпълнение. Най-голямата трудност е определянето на условията за излизане от цикъла. В това отношение операторът на броене е най-прост.


    Структура

    За да напишете конструкцията на повторение с параметъра, трябва да въведете следния код: FOR {a}: = {b} TO {c} DO {d}. В примера, запазените думи на езика за удобство са главни букви, на практика можете да използвате линеен чертеж. Използваните променливи и оператори се показват в къдрави скоби. Те означават:
  • {a} е променлива от всеки тип сметка, най-често INTEGER;
  • {b}, {c} - изрази на типа сметка, същите като {a};
  • {d} е произволен оператор /езиков оператор, наричан още тялото на цикъла.
  • Разработване на дизайна за, Паскализчислява стойността {b}, присвоява {a}: = {c} и след това повтаря действието:


  • проверете условието {b}
  • стартирайте оператора {d};
  • увеличават стойността на {a} на едно, което е {a}: = {a} + 1.
  • Тъй като броят на повторенията в тялото за известни, тази конструкция се отнася до детерминистични цикли.

    Пример

    За да разберем как да продължим по-далеч, има пример за паскален код за манекени.
  • s: = 0;
  • за a: = 1 до 5 do
  • започва
  • s: = s + a;
  • край;
  • writeln (s);
  • Разбирайки писмените инструкции, можете да напишете стойността във всяка итерация:
  • 1-ва итерация: a = 1; s = 1;
  • 2-ра итерация: a = 2; s = 3;
  • Трета итерация: a = 3; s = 6;
  • 4-та итерация: a = 4; s = 10;
  • Пета итерация: a = 5; s = 15
  • В резултат на това потребителят ще види на екрана числото "15" - сумата от числа от 1 до 5. За да направи първата програма по-гъвкава, заменете числата 1 и 5 с променливи.

    Чести грешки

    Когато се използва loop for, Pascal изисква внимателно разглеждане на стойностите {a}, {b}, {c}. Ако не следвате правилата за писане на програми, компилаторът ще докладва за грешка. Има пет такива правила.
  • Броячът (параметърът на цикъла) {a} се дава от цяло число.
  • Стойностите {b} и {c} трябва също да имат цяло число. Например, трябва да изчислите стойността на ъгъла, зададен в радиани от 0 до p. Но следващото въвеждане на код ще бъде неправилно за a: = 0 до pi do. Решението е да се използва функцията за закръгляване trunc () или round (). Първият отхвърля дробната част на реалното число, втората - кръгадо най-близкото цяло.
  • Ако потребителят е допуснал грешка и е посочил {b}
  • След завършване на цикъла, броячът {a} може да има всякаква стойност. Въпреки че това противоречи на логиката, но на практика {a} & lt; & gt; {C}. Заключение: Не се препоръчва да се свързвате с {a} след изпълнение на изявлението.
  • В тялото на цикъла (т.е. след думата do) не се препоръчва да се използват оператори, които променят стойността на {a}. Спазването на това правило няма да доведе до грешка, но логиката на програмата ще бъде нарушена.
  • Това правило е общоприето и съответства на "добър тон" в програмирането: би било удобно да се работи с код, който трябва да бъде записан от операторите на тялото на цикъла, а не от първата колона. Например, правите интервал от 2-3 в ляво или с клавиша Tab.

    Този указ се отнася не само до езика на Паскал. За "манекени" тя ви позволява бързо да намерите и поправите грешката в инструкциите.

    Типични задачи

    Да предположим, че е необходимо да се направи таблица на функцията f (x) = 3 * x + 15, т.е. да се получи таблица от M стойности на функции в обхвата [x1; x2], където x 1 и x 2 са минималните и максималните стойности на аргумента. За решаването на тези и подобни задачи помага за проектирането. Pascal препоръчва програмният код да бъде записан по следния начин:
  • за a: = 1 до M do
  • begin
  • x: = x1 + (x2-x1) * (a-1) /-1);
  • f: = 3 x x 15;
  • ​​
  • writeln (x, '', f);
  • край
  • Тъй като стъпката за промяна x не е определена, стойността на аргумента се изчислява по време на програмата с всяка итерация, като се използва формулата: x: = x1 + (x2- x1) * (a-1) /(M-1).

    Включете цикълацикли

    Като се има предвид, че е позволено да се използват оператори вътре в конструкцията, е позволено да се постави друга линия за него в тялото. Pascal има стандартно описание за тази задача, подобно на други езици за програмиране:
  • FOR {a}: = {b} TO {c} DO
  • FOR {a1}: = {b1} TO {c1} DO
  • За да може конструкцията да работи правилно, условието трябва да се спазва: броячите във всеки цикъл трябва да бъдат различни. В противен случай вътрешният цикъл ще промени стойността на параметъра на външния контур, което ще доведе до логически грешки.

    Свързани публикации