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


 

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

77445. Приобретение АО своих акций не с целью уменьшения уставного капитала. Консолидация и дробление акций, их процедура 15.27 KB
  Консолидация и дробление акций их процедура. Общество не вправе принимать решение о приобретении обществом акций если номинальная стоимость акций общества находящихся в обращении составит менее 90 от уставного капитала общества. В противном случае общее собрание акционеров должно принять решение об уменьшении уставного капитала общества путем погашения указанных акций.
77446. Права акционеров: имущественные и неимущественные права, процедура их реализации 20.15 KB
  Имущественные права основные: право на получение дивидендов участие в управлении. Предоставляют гарантии и способы их защиты право на внесение акционера в реестр на получение информации вносить предложение в повестку дня выдвигать кандидатов в органы управления. По целевому назначению в зависимости от цели на достижение которой направлена реализация права...
77448. Совершение сделок по приобретению более 30% акций ОАО (поглощение АО) 16.74 KB
  Добровольное предложение также может содержать сделанное владельцам эмиссионных ценных бумаг конвертируемых в акции предложение приобрести у них такие ценные бумаги. Перечень сведений указанных в добровольном предложении устанавливается ФЗ Об АО Срок принятия добровольного предложения срок в течение которого заявление о продаже ценных бумаг должно быть получено лицом направившим добровольное предложение который не может быть менее чем 70 дней и более чем 90 дней с момента получения добровольного предложения открытым обществом; К...
77449. Соотношение терминов «несостоятельность» и «банкротство» 33.5 KB
  В само определение банкротства входит несостоятельность должника. Не всегда приводит к судебному подтверждению банкротства должника. Общая характеристика законодательства о несостоятельности банкротстве Возникновение ситуации неплатежеспособности у должника приводит к ситуации выбора относительно требований кредитора. С момента возбуждения данного процесса погашение долгов должника возможность только в специальном порядке установленном законом.
77451. Круг лиц, которые имеют право обратиться в суд с заявлением о банкротстве 37.5 KB
  Федерального закона о банкротстве правом на обращение в арбитражный суд с заявлением о признании должника банкротом обладают должник конкурсный кредитор уполномоченные органы. Право на обращение в арбитражный суд возникает у конкурсного кредитора уполномоченного органа по денежным обязательствам с даты вступления в законную силу решения суда арбитражного суда или третейского суда о взыскании с должника денежных средств. Должник вправе подать в арбитражный суд заявление должника в случае предвидения банкротства при наличии обстоятельств...