Янв
30th

Урок 8. Операторы повторения

Рубрика: Lazarus | Автор:admin

цикл с предусловиемУрок из серии “Программирование для школьников в среде Lazarus”

Алгоритм решения многих задач предполагает для достижения результата выполнение определенной последовательности действий несколько раз, то есть, являются циклическими.

В программе цикл может быть реализован при помощи конструкций for, while и repeat.

Оператор цикла for … do

Оператор FOR используется в том случае, когда  некоторую последовательность действий надо выполнить несколько раз, причем число повторений заранее известно.

Общий вид оператора:

For  <счетчик> := <нач_знач>  to <кон_знач> do

Begin

   <тело цикла>

End;

где:

счетчик – переменная-счетчик числа повторений;
нач_знач – выражение, определяющее начальное значение счетчика цикла;
кон_знач – выражение, определяющее конечное значение счетчика цикла;
тело цикла – операторы, которые будут повторяться.

Переменная-счетчик, выражения нач_знач и кон_знач должны быть целого типа.

Количество повторений цикла можно вычислить по формуле:  кон_знач – нач_знач +1.

Если между begin  и end   находится только один оператор, то begin и end можно не писать.

Например, в результате выполнения следующего программного кода:

tab1:=' ';
for i:= 1 to 5 do
begin
   tab1:= tab1 + IntToStr(i) + ' ' + IntToStr(i*i) + chr(13);
end;

переменная tabl будет содержать изображение таблицы квадратов чисел.

Если в операторе for  вместо слова to записать  downto, то после очередного выполнения тела цикла значение счетчика будет не увеличиваться, а уменьшаться.

Операторы цикла с условием while и repeat

Операторыwhile и repeat используются в том случае, когда некоторую последовательность действий надо выполнить несколько раз, причем необходимое число повторений во время разработки программы не известно и может быть определено только во время работы программы.

Оператор цикла с предусловием while .. do

Общий вид оператора:

While условие do

begin

   <тело цикла>

end;

где условие – выражение логического типа, определяющее условие выполнения тела цикла. Операторы тела цикла  выполняются, пока условие не станет ложным (False).

Оператор цикла с постусловием и repeat… until

Общий вид оператора:

repeat

   <тело цикла>

until условие

где условие – выражение логического типа, определяющее условие завершения цикла.

Операторы тела цикла выполняются до тех пор, пока условие не станет истинным (False).

Обратите внимание на различия. В операторе while do выход из цикла происходит тогда, когда условие станет ложным, а в операторе repeat … until – когда условие станет истинным.

Более подробно об операторах цикла можно посмотреть в уроках по языку Паскаль.

Практическая работа

Задание. Напишите программу, определяющую доход по вкладу с учетом выбранных простых или сложных процентов. Простые проценты начисляются по окончании срока вклада, сложные проценты начисляются ежемесячно и прибавляется к сумме вклада.

Доход по вкладу

Ход выполнения работы

1. Загрузите Lazarus, создайте новый проект. Сохраните файлы проекта в папке Доход по вкладу.

2. Создайте интерфейс по образцу.

3. Напишите обработчик события для кнопки Вычислить.

procedure TForm1.Button1Click(Sender: TObject);
var

   sum:real;                  // сумма вклада

   pr: real;                  // процентная ставка

   period: integer;           // срок вклада

   profit: real;              //доход по вкладу

   sum2: real;                //сумма при вычислении

                              //методом сложных процентов

   i: integer;

begin

   sum:=StrToFloat(Edit1.text);

   pr:=StrToFloat(Edit2.text);

   period:=StrToInt(Edit3.text);

   if RadioGroup1.ItemIndex=0 then

     // Выбран переключатель Простые проценты

     profit:=sum*(pr/100/12)*period

else

    // Выбран переключатель Сложные проценты

   begin

      sum2:=sum;

      for i:=1 to period do

         sum2:= sum2+sum2*(pr/100/12);

      profit:=sum2-sum;

   end;

   sum:=sum+profit;

   Label4.Caption:='Доход: '+FloatToStrF(profit,ffFixed,8,2)

   +#13+'Сумма в конце срока вклада: '+FloatToStrF(sum, ffFixed,8,2);

end;

4. Проверьте работу приложения.

До встречи в следующем уроке!

Поделиться с друзьями


Оставить комментарий или два