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, используется в программе в том случае, если необходимо выполнить повторные вычисления (организовать цикл), но число повторений во время разработки программы неизвестно и может быть определено только во время работы программы, т. е. определяется ходом вычислений.

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

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


 

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

83610. Классификация характеристик помещений 31.22 KB
  Применение или хранение на производстве взрывающихся и воспламеняющихся при определенных условиях веществ определяет их категорию по взрыво и пожароопасности. Всего предусмотрено пять категорий пожароопасности: А Б В Г Д. Категории пожароопасности Категории А и Б по взрыво пожароопасности присваиваются производствам на которых возможна нештатная ситуация воспламенения и при этом существует угроза взрыва с избыточным давлением более 5 кПа. Категория пожароопасности А На взрывоопасных производствах категории А в качестве причины...
83611. Определение расчетных нагрузок для жилого городского района напряжением до 1 кВ 39.53 KB
  Расчетная электрическая нагрузка квартир Pкв кВт приведенная к вводу жилого дома определяется по формуле Pкв = Pкв.1 кВт квартира; n количество квартир. Расчетная нагрузка силовых электроприемников Pс кВт приведенная к вводу жилого дома определяется по формуле Pс = Pр.л кВт определяется по формуле где kc коэффициент спроса по табл.
83612. Категории электроприёмников, надёжность электроснабжения 30.34 KB
  В отношении обеспечения надежности электроснабжения потребителей разделяют на следующие три категории:Потребители I категории электроприемники перерыв электроснабжения которых может повлечь за собой: опасность для жизни людей значительный ущерб народному хозяйству; повреждение дорогостоящего основного оборудования массовый брак продукции расстройство сложного технологического процесса нарушение функционирования особо важных элементов коммунального хозяйства.Из состава электроприемников I категории выделяют особую группу...
83613. Определение расчетных нагрузок для сельской местности напряжением до 1 кВ 50.72 KB
  В результате протяженность сетей на единицу мощности потребителя во много раз превышает эту величину в других отраслях народного хозяйства а стоимость электроснабжения в сельском хозяйстве составляет до 6575 от общей стоимости электрификации включая затраты на приобретение рабочих машин. Определяются суммарные мощности: 5. Определяют расчётную нагрузку осветительных приёмников цеха определяется по установленной мощности и коэффициенту спроса кВт РРО 5. Определяют отдельно дневную и вечернюю полные мощности: 6.
83614. Выбор разъединителей, отделителей и короткозамыкателей 41.03 KB
  Условиями выбора разъединителей являются где номинальное напряжение сети кВ; номинальное напряжение электрического аппарата или токоведущих частей кВ; максимально возможный ток в месте установки разъединителей в рабочем режиме кА; номинальный ток электрического аппарата или токоведущих частей кА. Условия проверки электродинамической стойкости разъединителей: по способности выдерживать ударный ток Условия проверки термической стойкости разъединителей Короткозамыкатели и отделители это специальные разъединители имеющие...
83615. Выбор трансформаторов тока 38.4 KB
  В режиме короткого замыкания необходимо проверить трансформатор тока на динамическую и термическую стойкость. Условия выбора трансформатора тока: номинальное напряжение: номинальный первичный ток: по вторичной нагрузке: Проверка трансформатора тока по динамической стойкости: где кратность тока динамической стойкости. Проверка трансформатора тока по термической стойкости: где кратность тока термической стойкости.
83616. Выбор силовых трансформаторов на напряжение выше 1 кВ 44.49 KB
  Нормальный режим работы – раздельная работа трансформаторов это предусматривается в целях уменьшения токов короткого замыкания и позволяет применить более легкую и дешевую аппаратуру на стороне низшего напряжения трансформаторов. Номинальная мощность цеховых SНТ выбирается по расчетной мощности исходя из условия экономичной работы трансформаторов 6080 в нормальном режиме и допустимой перегрузки на 3040 от SНТ в послеаварийном режиме. После выбора мощности трансформаторов определим их количество: где Кз это...
83617. Типы проводников, применяемые в основных электрических цепях 29.51 KB
  Все соединения внутри закрытого РУ 610 кВ включая сборные шины выполняются жесткими голыми алюминиевыми шинами прямоугольного или коробчатого сечения. Токоведущие части в РУ 35 кВ и выше обычно выполняются сталеалюминиевыми проводами АС. В некоторых конструкциях ОРУ часть или вся ошиновка может выполняться алюминиевыми трубами. От стены ГРУ до выводов установленного вблизи ГРУ соединение выполняется жесткими алюминиевыми шинами.
83618. Выбор кабелей, марки кабелей 43.25 KB
  Если условия применения проводов и кабелей отличаются от приведённых то длительно допустимые токовые нагрузки пересчитывают по формуле: I\'доп=Iдоп K1K2 где Iдоп – длительно допустимый ток одиночного кабеля провода; K1 – коэффициент учитывающий количество кабелей; К2 – коэффициент допустимой перегрузки кабельной линии. Для кабелей напряжением до 10 кВ с бумажной пропитанной изоляцией несущих нагрузки меньше номинальных для таких кабелей допускается перегрузки в течение 5 суток в пределах указанных в таблицах справочника. Для кабелей с...