23. Приложение на циклични конструкции. Цикъл for
В програмирането често пъти се налага да изпълним блок с команди няколко пъти. За целта се използват т.нар. цикли.
Цикълът започва с оператора for и преминава през всички стойности за дадена променлива в даден интервал, например всички числа от 1 до 10, и за всяка стойност изпълнява поредица от команди.
В декларацията на цикъла може да се зададе начална стойност и крайна стойност, като крайната стойност не е включена в диапазона. Тялото на цикъла представлява блок с една или няколко команди.
На фигурата по-долу е показана структурата на един for цикъл:
Вложените цикли представляват конструкция, при която в тялото на един цикъл (външен) се изпълнява друг цикъл (вътрешен). За всяко завъртане на външния цикъл, вътрешният се извърта целият. Това се случва по следния начин:
Вложените цикли са удобни за извеждане на различни фигури съставени от символи.
Задачи за упражнение
Създайте програма, която да отпечатва таблицата за умножение на едноцифрените числа.
За решаването нa задачата се използват вложени цикли, като този за променливата i е външен, а за променливата j е вътрешен.
При i = 1 вложеният (вътрешният) цикъл се изпълнява изцяло, а след изпълнението на функцията print() курсорът се премества на следващия ред. За да се изведат на един ред произведенията на вътрешния цикъл за край е посочено '\t' .
Създайте програма, която да извежда правоъгълник, съставен от 5 колони и 9 реда.
Тук е аналогично на предходната задача, но за край на изпълнението на функцията print() е избран празен низ (' '), за да се долепят символите във всеки ред.
Да се създаде програма, която изчислява крайната сума при олихвяване на първоначална сума s с лихвен процент p за определен брой години n.
При сложната лихва, след олихвяване новата сума се прибавя към първоначалната и при следващия период процентът се изчислява върху така получената сума. Действията олихвяване и добавяне към сумата се повтарят толкова пъти, колкото са годините, затова е удобно да се използва цикъл с известен брой повторения.