42758

Построение циклов с инструкциями „while” и „repeat”

Лабораторная работа

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

Инструкция whiledo Особенность этой инструкции состоит в том что условие проверяется перед входом в тело цикла поэтому цикл while называют еще циклом с предусловием.1 – Синтаксис инструкции whiledo В этом описании условие продолжения это выражение логического типа определяющее условие при котором выполняются инструкции тела цикла . В целом инструкция while выполняется следующим образом: Вычисляется значение выражения условие продолжения . Если значение выражения условие равно flse то есть условие не выполняется выполнение...

Русский

2013-10-31

162.5 KB

3 чел.

Лабораторная работа № 5.
Построение циклов с инструкциями „while” и „repeat”

Цели работы:

  •  Ознакомиться с принципами использования циклов While и Repeat.
  •  Разработать проект, обеспечивающий решение математических задач численными методами.

5.1 Краткое описание инструкций whiledo и repeatuntil.

 Инструкция whiledo

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

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

Рисунок 5.1 – Синтаксис инструкции whiledo

В этом описании <условие продолжения> - это выражение логического типа, определяющее условие при котором выполняются <инструкции тела цикла>.

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

  •  Вычисляется значение выражения <условие продолжения>.
  •  Если значение выражения условие равно false, то есть условие не выполняется, выполнение <инструкций тела цикла>прекращается.
  •  Если значение выражения <условие продолжения> равно true (условие выполняется), то выполняются <инструкции тела цикла>, расположенные между словами begin и end.
  •  После этого снова все повторяется.

Следует заметить, что для того чтобы цикл завершился, нужно чтобы последовательность инструкций, расположенных между begin и end, влияла на значение <условия продолжения >.

 Инструкция repeatuntil

Особенность этой инструкции состоит в том, что условие проверяется после выполнения операторов тела цикла, поэтому <инструкции тела цикла> выполняются, как минимум, один раз. Цикл Repeat называют еще циклом с постусловием.

На языке Delphi в общем виде инструкция Repeat записывается следующим образом.

Рисунок 5.2 – Синтаксис инструкции Repeat

Здесь <условие выхода из цикла> это выражение логического типа, определяющее условие завершения цикла.

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

  •  Сначала выполняются <инструкции тела цикла> находящиеся между словами repeat и until.
  •  Затем вычисляется значение выражения <условие выхода из цикла>. Если оно не выполняется (значение выражения равно false), то инструкции тела цикла выполняются еще раз.
  •  Если условие выполняется (значение выражения равно true), то выполнение цикла прекращается.

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

5.2 Описание новых компонентов, используемых в создаваемом проекте.

 Таблица 5.1 Новые компоненты

Компонент

Описание

PageControl

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

CheckBox

Основное свойство этого компонента Checked может принимать значения true или false (включено или выключено).

5.3 Условия индивидуальных заданий и схемы алгоритмов их решения.

 Таблица 5.2 Итерационный  алгоритм

1

a>0,b>0

a/b>6, x0< π/2

Таюлица 5.3 Бесконечный ряд

1

, для х<1

5.4 Тексты процедур для индивидуальных заданий с пояснениями в виде комментариев.

procedure TfrmWhileRepeat.Button1Click(Sender: TObject); //процедура для вычисления итерационной формулы

var a,b,xnew,xold,eps:real;

begin

 memo1.Clear;

 a:=strtofloat(edta.Text); //ввод исходных данных

 b:=strtofloat(edtb.Text);

 eps:=strtofloat(edtEps1.Text);

 xnew:=a; //установка начального значения

 repeat

   xold:=xnew;

    if (a=0) then break;

   xnew:=sqrt(b*sin(Xold)/a);

    if checksteps.Checked then

   memo1.Lines.Append(floattostr(xnew));

 until abs(xold-xnew)<eps;

 edtResult1.Text:=floattostr(xnew); // вывод результатов

 edtControl1.Text:=floattostr(sqrt(b*sin(Xnew)/a));

end;

procedure TfrmWhileRepeat.Button2Click(Sender: TObject); //процедура для вычисления экспоненты

 var x,eps,u,s:real; i:integer; s1:string;

begin

 memo1.Clear;

 x:=strtofloat(edtx.Text); //исходные данные

 eps:=strtofloat(edteps2.Text);

 i:=1; u:=x; s:=u;

  if abs(x)>1 then showmessage('Неверные данные') else  //проверка значения Х

    while abs(u)>eps do

       begin

        i:=i+1;

        u:=-u*x/i;

        s:=s+u;

          if checksteps.Checked then

            begin

            s1:=format('%10.7f %10.7f',[u,s]);

            memo1.Lines.Append(s1);

            end;

       end;

edtresult2.Text:=floattostr(s); //вывод результатов

edtControl2.Text:=floattostr(exp(x));

end;

5.5 Результаты тестирования проекта.

 Рисунок 5.3 Результаты тестирования 1

Рисунок 5.4 Результаты тестирования 2

Выводы: ознакомился с принципами использования циклов whiledo и repeatuntil, создал проект по своему варианту для вычисления значений по формуле, ознакомился с новими компонентами.


Начало

Xnew:=a

old:=Xnew

A=0

    Xnew-Xold    <=eps

Конец

Начало

   X   >1

ShowMessage

(‘Неверные данные’)

i:=1;  u:=x;  s:=u;

i:=i+1

S:=S+U

Конец

      U  >eps


 

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

53492. Построение таблицы по бинарному дереву поиска 22.96 KB
  Уровень узла в бинарном дереве определяется следующим образом: уровень корня всегда равен нулю, а далее номера уровней при движении по дереву от корня увеличиваются на 1 по отношению к своему непосредственному предку
53493. Расчет козлового крана по заданным параметрам 799 KB
  Повышение качества создаваемого механического оборудования и конструкций необходимо связывать, прежде всего, с уменьшением их веса и стоимости, повышением надежности и улучшением ряда других характеристик
53494. Особенности и результат левого поворота поддерева AVL дерева 131.17 KB
  После добавления нового элемента необходимо обновить коэффициенты сбалансированности родительских узлов. Если любой родительский узел принял значение -2 или 2, то необходимо выполнить балансировку поддерева путем поворота
53495. Алгоритм вставки вершины AVL дерево. Случай одного (левого) поворота 129.41 KB
  Следовать по пути поиска, пока не окажется, что узла нет в дереве. Включить новый узел и определить показатель сбалансированности. Пройти обратно по пути поиска, определяя сбалансированность.
53496. Каким должен быть урок русского языка и литературы? 26 KB
  Учители русского языка и литературы играют важную роль в жизни человека. Так же важную роль в этом играет урок русского языка. В этом нам помогают учители русского языка.
53497. ГЕОИНФОРМАТИКА. В.С.Тикунова 28.88 MB
  В учебнике освещены общие вопросы геоинформатики, функциональные возможности географических информационных систем (ГИС), принципы проектирования, интеграции данных и технологий, особенности интеллектуализации ГИС и систем поддержки принятия решений. Вместе с учебным пособием «Сборник задач и упражнений по геоинформатике», дополненным компакт-диском, составляет учебный комплект.