4827

Управляющие структуры Object Pascal

Лекция

Информатика, кибернетика и программирование

Управляющие структуры ObjectPascal. Цель: Повторение со студентами управляющих структур Pascal. Задачи: Воспитательная: необходимость повторения. Учебная: повторение управляющих структур и их применение в среде разработки ObjectPascal. Р...

Русский

2012-11-27

273.5 KB

5 чел.

Управляющие структуры Object Pascal.

Цель:

Повторение со студентами управляющих структур Pascal.

Задачи:

Воспитательная: необходимость повторения.

Учебная: повторение управляющих структур и их применение в среде разработки Object Pascal.

Развивающая: развитие внимательности.

План занятия.

  1.  Организационный момент.
  2.  Изучение нового материала.
  3.  Контрольные вопросы.
  4.  Резюме.
  5.  Домашнее задание.

Изучение нового материала.

   На практике редко встречаются задачи, алгоритм решения которых является линейным. Часто оказывается, что алгоритм решения даже элементарной задачи не является линейным. В этом случае окажется не один исход, а несколько и, следовательно придется делать выбор одного из нескольких исходов. Выбор решения задачи осуществляется в зависимости от выполнения некоторого условия.

Условие

   В программе условие – это выражение логического типа (Boolean), которое может принимать одно из двух значений: True (истина) или False (ложь). Простое условие состоит из двух операндов и оператора сравнения.

   Оп1 Оператор Оп2

   Оп1 и Оп2 0 операнды условия, в качестве которых может выступать переменная, константа, функция или выражение;

   Оператор – оператор сравнения

   В Pascal есть шесть операторов сравнения.

Оператор

Описание

Результат сравнения

>

<

=

<>

>=

<=

Больше

Меньше

Равно

Не равно

Больше или равно

Меньше или равно

True, если первый операнд больше второго, иначе False

True, если первый операнд меньше второго, иначе False

True, если первый операнд равен второму, иначе False

True, если первый операнд не равен второму, иначе False

True, если первый операнд больше или равен второму, иначе False

True, если первый операнд меньше или равен второму, иначе False

   Ниже приведены примеры условий

   Summa < 1000 - Операндами условия являются переменная и константа. Значение этого условия зависит от значения переменной Summa. Условие будет верным, если значение переменной Summa меньше, чем 1000.

   Score >= HBound – В качестве операндов используются переменные. Значение этого условия будет True, если значение переменной Score больше или равно значению переменной HBound.

   Sim = Chr(13) – В качестве второго операнда используется функция. Значение этого условия будет True, если в переменной Sim находится символьный код клавиши Enter, равный 13.

   Из простых условий при помощи логических операторов: and – логическое И, or – логическое ИЛИ, not – отрицание можно строить сложные условия. В общем виде сложное условие записывается следующим образом:

   условие1 оператор условие2

   условие1 и условие2 – простые условия (выражения логического типа);

   оператор – оператор and или or.

   Результат применения логических операторов к операндам логического типа представлен в таблице.

Ор1

Ор2

Op1 and Op2

Op1 or Op2

not Op1

False

False

True

True

False

True

False

True

False

False

False

True

False

True

True

True

True

True

False

False

   Выбор очередного шага программы может быть реализован при помощи инструкций if и case. Инструкция if позволяет выбрать один из двух возможных вариантов, инструкция case – один из нескольких.

   Инструкция IF

   Инструкция IF позволяет выбрать один из двух возможных вариантов развития программы. Выбор осуществляется в зависимости от выполнения условия. В общем виде инструкция IF записывается так:

IF      условие  

then

begin

                    // здесь инструкции, которые надо выполнить,

                    // если условие истинно.

 end 

else

begin

                    //    здесь инструкции,   которые надо выполнить,

        //    если условие ложно.

end;

   Выполняется инструкция if следующим образом:       

  1.  Вычисляется значение условия (условие — выражение логического типа, значение которого может быть равно True или False).
  2.  Если условие истинно (значение выражения условие равно True), то выполняются инструкции, следующие за словом then. На этом выполнение операции if заканчивается, то есть инструкции, следующие за else, не будут выполнены.
  3.  Если условие ложно (значение выражения условие равно false), то выполняются инструкции, следующие за словом else.

   В качестве примера использования инструкции if рассмотрим программу вычисления стоимости разговора.

   Стоимость разговора по телефону в воскресные дни ниже, чем в обычные. Программа запрашивает длительность разговора и день недели, а затем вычисляет стоимость разговора. Если день недели – суббота или воскресенье, то стоимость уменьшается на величину скидки. Цена минуты разговора и величина скидки задаются в тексте программы как константы. Программа производит вычисления при щелчке командной кнопки Вычислить. Возникает событие OnClick, которое обрабатывается процедурой procedure TForm1.Button1Click.

   Листинг:

unit Phone_u;

interface

uses

 Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;

type

 TForm1 = class(TForm)

   Edit1: TEdit;       // поле ввода длительности разговора

   Edit2: TEdit;       // поле ввода номера дня недели

   Button1: TButton;   // кнопка Вычислить

   Label1: TLabel;

   Label2: TLabel;

   Label3: TLabel;

   procedure Button1Click(Sender: TObject);

  private

   { Private declarations }

  public

   { Public declarations }

 end;

var

 Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);

const

       PAY = 0.15;     // цена одной минуты разговора 0.15 рубля

       DISCOUNT = 0.2; // скидка 20 процентов

var

Time:Real; // длительность разговора

Day:integer; // день недели

Summa:real; // стоимость разговора

begin

       //получить исходные данные

       Time:=StrToFloat(Edit1.Text);

       Day:=StrToInt(Edit2.Text);

       // Вычислить стоимость разговора

Summa:= PAY*Time;

       // Если день суббота или воскресенье, то уменьшить стоимость на величину скидки

if (Day = 6) OR (Day = 7)

 then Summa:=Summa*(1 -DISCOUNT);

       // вывод результата вычисления

       label3.caption:='К оплате '+FloatToStr(Summa)+'руб.';

end;

end.

   Часто в программе необходимо реализовать выбор более чем из двух вариантов. В качестве примера рассмотрим решение квадратного уравнения.

   В данной программе вводится три числа и при нажатии на кнопке Вычислить производится вычисление, листинг которой дан

unit Unit1;

interface

uses

 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;

type

 TForm1 = class(TForm)

   Label1: TLabel;

   Label2: TLabel;

   Label3: TLabel;

   Edit1: TEdit;               // поле ввода числа а

   Edit2: TEdit;               // поле ввода числа b

   Edit3: TEdit;               // поле ввода числа c

   Button1: TButton;       // кнопка Вычислить

   Button2: TButton;       // кнопка Выход

   Label4: TLabel;

   Label5: TLabel;            // поле вывода результата

   procedure Button2Click(Sender: TObject);

   procedure Button1Click(Sender: TObject);

 private

   { Private declarations }

 public

   { Public declarations }

 end;

var

 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button2Click(Sender: TObject);

begin

Application.Terminate;

end;

procedure TForm1.Button1Click(Sender: TObject);

var a, b, c, d, x, x1, x2:Real;

begin

a:=StrToFloat(Edit1.Text);

b:=StrToFloat(Edit2.Text);

c:=StrToFloat(Edit3.Text);

d:=b*b-4*a*c;

if d>0 then begin

   x1:=(-b-sqrt(d))/(2*a);

   x2:=(-b+sqrt(d))/(2*a);

   Label5.Caption:= 'Дискриминант: ' + FloatToStr(d)+ #13+

   'x1= '+ FloatToStr(x1)+ #13+

   'x2= '+FloatToStr(d);

   end

   else

   if d=0 then begin

      x:=(-b)/(2*a);

      Label5.Caption:= 'Дискриминант: ' + FloatToStr(d)+ #13+

      'x= '+ FloatToStr(x);

       end

       else

           ShowMessage('Уравнение не имеет корней.');

end;

end.

Инструкция CASE.

   В Delphi есть инструкция case, которая позволяет эффективно реализовать множественный выбор. В общем виде она записывается следующим образом:

case выражение of

Список1: begin

  Операции;

 end;

Список2: begin

  Операции;

 end;

 СписокN: begin

  Операции;

 end

                 else begin

  Операции;

      end;

end;

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

   СписокN – список констант.

   Выполняется инструкция case  следующим образом:

  1.  Сначала вычисляется значение выражения;
  2.  Выражение последовательно сравнивается с константами из списков констант;
  3.  Если значение совпадает с константой из списка, то выполняется соответствующая этому списку группа инструкций. На это выполнение инструкции case завершается;
  4.  Если значение выражения не совпало ни с одной из всех списков, то выполняется последовательность инструкций, следующих за else.

   Синтаксис инструкции Case позволяет не писать Else и соответствующую последовательность инструкций. В этом случае, если значение выражения не совпадает ни с одной константой из всех списков, то выполняется следующая за Case инструкция программы.

   В качестве примера использования инструкции Case рассмотрим программу, которая пересчитывает вес из фунтов в килограммы. Программа учитывает, что в разных странах фунт весит по разному. В диалоговом окне программы для выбора страны используется список Страна.

   Для выбора названия страны используется список – компонент ListBox. Значок компонента ListBox находится на вкладке Standard.

Таблица. Свойства компонента ListBox

Свойство

Определяет

Name

Имя компонента. В программе используется для доступа к свойствам компонента

Items

Элементы списка

Itemindex

Номер выбранного элемента списка. Номер первого элемента списка равен нулю

Left

Расстояние от левой границы списка до левой границы формы

Top

Расстояние от верхней границы списка до верхней границы формы

Height

Высоту поля списка

Width

Ширину поля списка

Font

Шрифт, используемый для отображения элементов списка

Parent-Font

Признак наследования свойств шрифта родительской формы

   У компонента ListBox1 свойство Items содержит элементы списка.

   Свойство ItemIndex задает номер выбранного элемента списка. Если ни один элемент не выбран, то значение свойства равно минус единице. Номер первого элемента списка равен нулю.

Список может быть сформирован во время создания формы. Для формирования списка надо в окне Object Inspector выбрать свойство Items и щелкнуть на кнопке запуска редактора списка строк.

   В открывшемся диалоговом окне String List Editor нужно ввести названия государств.  После ввода очередного элемента списка необходимо нажать клавишу Enter. Завершив ввод списка, следует щелкнуть на кнопке ОК. Процедура пересчета умножает вес в фунтах на коэффициент, равный количеству килограммов в одном фунте. Значение коэффициента определяется по номеру выбранного из списка элемента.

Листинг

unit Unit1;

interface

uses

 Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;

type

 TForm1 = class(TForm)

   Label2: TLabel;

   Edit1: TEdit;      // поле ввода веса в фунтах

   Button1: TButton;  // кнопка "Вычислить"

   Label1: TLabel;

   Label3: TLabel;

   ListBox1: TListBox; // список стран

   Label4: TLabel;     // поле вывода рез-та - веса в килограммах

   procedure FormCreate(Sender: TObject);

   procedure Button1Click(Sender: TObject);

  private

   { Private declarations }

 public

   { Public declarations }

 end;

var

 Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);

begin

{

    ListBox1.items.add('Россия');

    ListBox1.items.add('Австрия');

    ListBox1.items.add('Англия');

    ListBox1.items.add('Германия');

    ListBox1.items.add('Дания');

    ListBox1.items.add('Исландия');

    ListBox1.items.add('Италия');

    ListBox1.items.add('Нидерланды');

}

ListBox1.itemindex:=0;

end;

procedure TForm1.Button1Click(Sender: TObject);

var

  funt:real; // вес в фунтах 

  kg:real;   // вес в килограммах

  k:real;    // коэффициент пересчета

begin

 case ListBox1.ItemIndex of

     0: k:=0.4059;  // Россия 

     1: k:=0.453592; // Англия

     2: k:=0.56001; // Австрия 

     3..5,7:k:=0.5; // Германия, Дания, Исландия, Нидерланды

     6: k:=0.31762; // Италия 

 end;

funt:=StrToFloat(Edit1.Text);

kg:=k*funt;

label4.caption:=Edit1.Text

                + ' фунт. - '

                + FloatToStrF(kg,ffFixed,6,3)

                + ' кг.';

end;

end.

   Процедура обработки события FormCreate происходит в момент создания формы. Эту процедуру можно использовать для инициализации переменных программы, в том числе и для добавления элементов в список. В приведенном тексте программы инструкции создания списка закомментированы, т.к. список был создан при помощи редактора строк во время создания формы.

Циклы.

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

   Алгоритм, в котором есть последовательность операций (группа инструкций), которая должна быть выполнена несколько раз, называется циклическим, а сама последовательность операций именуется циклом. В программе цикл может быть реализован при помощи инструкций For, while и repeat.

   Инструкция FOR.

   В общем, виде инструкция for записывается следующим образом:

for счетчик := нач_знач to кон_знач do

 begin

 // здесь инструкции, которые надо выполнить несколько раз

 end;

   где счетчик – переменная-счетчик числа повторений инструкций цикла;

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

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

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

(кон_знач – нач_знач + l).

   Рассмотрим программу, которая вычисляет сумму первых 10 элементов ряда: 1+1/2+1/3+… (значение i-го элемента ряда связано с его номером формулой 1/i). Диалоговое окно программы должно содержать, по крайней мере, два компонента: поле метки (Label1) и командную кнопку (Button1).

   Вычисление суммы ряда и вывод результата выполняет процедура обработки события OnClick. После вычисления очередного элемента ряда процедура выводит в поле Label1 номер элемента и его значение в поле метки формы, предназначенное для вывода результата.

Листинг

unit Unit1;

interface

uses

 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;

type

 TForm1 = class(TForm)

   Label1: TLabel;

   Button1: TButton;

   procedure Button1Click(Sender: TObject);

  private

   { Private declarations }

  public

   { Public declarations }

 end;

var

 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

var

   i:integer;   // номер элемента ряда

   elem:real;  //  значение элемента ряда

   summ:real;  //  сумма элементов ряда

begin

   summ:=0;

   label1.Caption:=' ';

   for i:=0 to 10 do

      begin

         elem:=1/i;

         label1.Caption:=label1.Caption +

               inttostr(i) + ' ' + floattostr(elem) + #13;

         summ:=summ+elem;

      end;

   label1.Caption:=label1.Caption +

                   'Сумма ряда: ' + floattostr(summ);

end;

end.

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

Инструкция WHILE.

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

   Типичными примерами использования цикла while являются вычисления с заданной точностью, поиск в массиве или в файле.

   В общем виде инструкция while записывается следующим образом:

while условие do begin

   // здесь инструкции, которые надо выполнить несколько раз

end

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

   Инструкция while выполняется следующим образом:

  1.  Сначала вычисляется значение выражения условие.
  2.  Если значение выражения условие равно False (условие не выполняется), то на этом выполнение  инструкции while завершается.
  3.  Если значение выражения условие равно True (условие выполняется), то выполняются  расположенные между begin и end инструкции тела цикла. После этого снова проверяется выполнение условия. Если условие выполняется, то инструкции цикла выполняются еще раз. И так до тех пор, пока условие не станет ложным (False).

   Рассмотрим программу, которая вычисляет значение числа π с точностью, задаваемой пользователем во время работы программы. В основе алгоритма вычисления лежит тот факт, что сумма ряда 1 - 1/3 + 1/5 -1/7 + 1/9 + ... приближается к значению π /4 при достаточно большом количестве членов ряда. Каждый член ряда с номером n вычисляется по формуле: 1/(2*n - 1) и умножается на минус один, если n четное (определить, является ли n четным, можно проверкой остатка от деления n на 2). Вычисление заканчивается тогда, когда значение очередного члена ряда становится меньше, чем заданная точность вычисления. Вид диалогового окна программы во время ее работы приведен на рис. Пользователь вводит точность вычисления в поле ввода (Edit1). После щелчка на командной кнопке Вычислить (Button1) программа вычисляет значение числа л и выводит результат в поле метки (Label1). Текст программы приведен в листинге. Основную работу выполняет процедура обработки события OnClick.

Листинг. Вычисление числа π

unit pi_;

interface

uses

   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;

type

   TForm1 = class(TForm)

       Edit1: TEdit; // точность вычисления 

       Button1: TButton; // кнопка Вычислить 

       Label1: TLabel;

       Label2: TLabel; // поле вывода результата 

       procedure ButtonlClick(Sender: TObject);

   private

       { Private declarations }

   public

       { Public declarations )

   end;

var

   Form1: TForm1;

implementation

   {$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);

var

   pi:real; // вычисляемое значение ПИ 

   t:real; // точность вычисления 

   n:integer; // номер члена ряда 

   elem:real; // значение члена ряда 

begin

   pi := 0;

   n := 1;

   t := StrToFloat(editl.text) ;

   elem := 1; // чтобы начать цикл 

   while elem >= t do

       begin

           elem := 1 / (2*n - 1) ;

            if n MOD 2=0

               then pi := pi — elem

               else pi := pi + elem;

           n := n + 1;

       end;

   pi: = pi * 4;

   label1.caption:= 'ПИ равно '+ FloatToStr(pi) + #13

                          + 'Просуммировано '+IntTostr(n)+' членов ряда.';

end;

end.

Инструкция repeat

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

   В общем виде инструкция repeat записывается следующим образом:

repeat

   // инструкции

unti1 условие

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

   Инструкция repeat выполняется следующим образом:

  1.  Сначала выполняются находящиеся между repeat и until инструкции тела цикла.
  2.  Затем вычисляется значение выражения условие. Если условие ложно (значение выражения условие равно False), то инструкции тела цикла выполняются еще раз.
  3.  Если условие истинно (значение выражения условие равно True), то выполнение цикла  прекращается.

   Таким образом, инструкции цикла, находящиеся между repeat и until, выполняются до тех пор, пока  условие ложно (значение выражения условие  равно False).

   В качестве примера использования инструкции repeat рассмотрим программу, которая проверяет, является ли введенное пользователем число простым (как известно, число называется простым, если оно делится только на единицу и само на себя). Например, число 21 — обычное (делится на 3), а число 17 — простое (делится только на 1 и на 17). Проверить, является ли число n простым, можно делением числа n на два, на три и т. д. до n и проверкой остатка после каждого деления. Если после очередного деления остаток равен нулю, то это означает, что найдено число, на которое n делится без остатка. Сравнив n и число, на которое n разделилось без остатка, можно определить, является ли n простым числом.

   Форма приложения Простое число изображена на рис., программа приведена в листинге.

Листинг. Простое число 

unit simple_;

interface

uses

   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;

type

   TForm1 = class(TForm)

       Button1: TButton; // кнопка Проверить 

       Label1: TLabel;

       Edit1: TEdit; // поле ввода числа 

       Label2: TLabel; // поле вывода результата 

       procedure Button1ClickfSender: TObject);

   private

       { Private declarations }

   public

       { Public declarations }

   end;

var

   Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.ButtonlClick(Sender: TObject) ;

var

   n: integer; // проверяемое число 

   d: integer; // делитель 

   r: integer; // остаток от деления n на d 

begin

   n:=StrToInt(Editl.text);

   d := 2; // сначала будем делить на два 

   repeat

       r := n mod d;

       if r <> 0 // n не разделилось нацело на d 

           then d := d + 1;

   until r = 0; // найдено число, на которое n разделилось без остатка 

   label2.caption:=Edit1.text;

   if d = n

       then Label2.caption:=label2.caption + ' – простое число.'

       else label2.caption:=label2.caption + ' – обычное число.';

end;

end.

Инструкция goto

   Инструкции if и case используются для перехода к последовательности инструкций программы в зависимости от некоторого условия. Поэтому их иногда называют инструкциями условного перехода. Помимо этих инструкций управления ходом выполнения программы существует еще одна — инструкция безусловного перехода goto.

   В общем виде инструкция goto записывается следующим образом:

goto Метка

   где метка — это идентификатор, находящийся перед инструкцией, которая должна быть выполнена после инструкции goto.

   Метка, используемая в инструкции goto, должна быть объявлена в разделе меток, который начинается словом label и располагается перед разделом объявления переменных. В программе метка ставится перед инструкцией, к которой должен быть выполнен переход в результате выполнения инструкции goto. Сразу после метки ставится двоеточие.

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

Листинг. Простое число (использование инструкции goto)

procedure TForm1.Button1Click(Sender: TObject);

   label // раздел объявления меток 

   bye;

var

   n: integer; // проверяемое число 

   d: integer; // делитель 

   r: integer; // остаток от деления n на d 

begin

   n:=StrToInt(Edit1.text);

   if n <= 0 then

       begin

           MessageDlg('Число должно быть больше нуля.',

                                mtError, [mbOk] , 0) ;

           Edit1.text:= ";

           goto bye;

       end;

   // введено положительное число

   d:= 2; // сначала будем делить на два 

   repeat

       r:= n mod d;

       if r <> 0 // n не разделилось нацело на d 

           then d:= d + 1;

   until r = 0;

   label2.caption:=Editl.text;

   if d = n

       then label2.caption:=label2.caption

                                                            + ' – простое число.'

       else label2.caption:=label2.caption

                                                            +' – обычное число.';

bye:

end;

Контрольные вопросы

  1.  Понятие условия.
  2.  Инструкция IF и ее запись в программе.
  3.  Инструкция CASE и ее запись  в программе.
  4.  Понятие цикла.
  5.  Инструкция FOR и ее запись в программе.
  6.  Инструкция WHILE и ее запись в программе.
  7.  Инструкция repeat и ее запись в программе.
  8.  Инструкция goto и ее запись в программе.

Резюме

  1.  В программе условие – это выражение логического типа (Boolean), которое может принимать одно из двух значений: True (истина) или False (ложь).
  2.  Инструкция IF позволяет выбрать один из двух возможных вариантов развития программы. Выбор осуществляется в зависимости от выполнения условия.
  3.  Инструкция case позволяет эффективно реализовать множественный выбор.
  4.  Алгоритм, в котором есть последовательность операций (группа инструкций), которая должна быть выполнена несколько раз, называется циклическим, а сама последовательность операций именуется циклом.
  5.  Инструкция (цикл) while используется в том случае, если некоторую последовательность действий (инструкций программы) надо выполнить несколько раз, причем необходимое число повторений во время разработки программы неизвестно и может быть определено только во время работы программы.
  6.  Инструкция repeat, используется в программе в том случае, если необходимо выполнить повторные вычисления (организовать цикл), но число повторений во время разработки программы неизвестно и может быть определено только во время работы программы, т. е. определяется ходом вычислений.

Домашнее задание

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


 

А также другие работы, которые могут Вас заинтересовать

32262. Методы наращивания и подращивания поясов 26.5 KB
  Метод наращивания поясов резервуаров осуществляется на высоте путем сборки отдельных листов. Это позволяет возводить резервуары любого объема в основном для резервуаров с плавающей крышей. Недостаток данного метода возведения резервуаров монтаж конструкции неподвижной крыши осуществляется на значительной высоте что требует определенной квалификации рабочих задействование определенной техники и технологии возведения.
32263. Разработка грунта в траншее грейферным оборудованием для устройства «стены в грунте» 127 KB
  Схема разработки захватки траншеи за один проход грейфера представлена на рис. После разработки траншеи на полную глубину производится проверка глубины траншеи зачистка траншеи от слоя осыпавшего грунта и осадка глинистого раствора путем плавного опускания и перемещения грейфера по всей плоскости траншеи. Разработка захватки траншеи за один проход грейфера.
32264. Метод опускного колодца при строительстве сооружений водопровода и канализации 60 KB
  Сущность метода состоит в том что первоначально на поверхности земли возводят стены колодца оборудованные ножевой частью а затем внутри его разрабатывают грунт в направлении от центра к периметру стен.Первым этапом сооружения колодца является устройство основания под нож которое гарантирует надежное опирание последнего при возведении стен.По окончании устройства стен приступают к погружению колодца под действием его собственной силы тяжести.
32265. Устройство анкерного крепления котлованов 42 KB
  Грунтовые анкера относятся тоже к ограждению котлованов и применяются взамен распорной системы. Грунтовые анкера компенсируют опрокидывающий момент действующий со стороны грунта на конструкцию. Анкера располагаются за пределами котлована и как правило выходят за пределы участка застройки. Вовторых сами анкера не должны препятствовать дальнейшему городскому строительству в том числе подземному.
32267. Состав и порядок ведения исполнительной документации 143 KB
  Состав и порядок ведения исполнительной документации при осуществлении строительства реконструкции капитальном ремонте объектов капитального строительства разработан в соответствии с Градостроительным кодексом Российской Федерации иными нормативными правовыми актами Российской Федерации и обязательными требованиями технических регламентов норм и правил. В случае отсутствия технических регламентов проводится проверка соответствия выполняемых работ требованиям строительных норм и правил правил безопасности государственных стандартов...
32268. Виды вантовых покрытий 215.5 KB
  Системы с замкнутым контуром поэтому являются более экономичными. ПРЯМОУГОЛЬНЫЕ В ПЛАНЕ СИСТЕМЫ В таких зданиях применяют системы из параллельных вант или вантовых ферм; поверхность оболочки имеет цилиндрическую форму. Перед замоноличиванием швов ванты вновь натягивают гидравлическими домкратами чем создают требуемое предварительное натяжение вантовой системы. Системы могут быть однопролетными или многопролетными.
32269. ОПУСКНЫЕ КОЛОДЦЫ 79.5 KB
  Способ закрепления основных осей опускных колодцев кессонов на местности должен обеспечивать возможность проверки их положения в плане в любой момент времени опускания. Створные знаки и реперы для контроля закрепления основных осей и вертикальных отметок колодцев кессонов надлежит устанавливать за пределами участков с возможными деформациями грунта вызванными опусканием сооружения в местах безопасных в отношении размыва и оползней. Размещение в пределах призмы обрушения временных сооружений и оборудования для строительства опускных...
32270. Строительство одноэтажных промышленных зданий 57 KB
  Так при монтаже одноэтажного здания раздельным методом за первую проходку крана устанавливают все колонны; за вторую проходку подкрановые балки и подстропильные фермы с продольными связями а затем фермы и плиты покрытия; комплексный совмещенный метод. В этом случае кран двигаясь вдоль пролета монтирует все колонны а затем перемещаясь поперек пролета ведет секционный монтаж. Железобетонные колонны как правило монтируют непосредственно с транспортных средств. Предварительно доставленные на строительную площадку легкие колонны...