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


 

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

20562. Звільнення України від німецько-фашистських загарбників. Участь України в створенні ООН 25 KB
  Звільнення України від німецькофашистських загарбників. Участь України в створенні ООН. Після перемоги під Сталінградом радянське командування силами Південного ПівденноЗахідного та Воронезького фронтів почало визволення України від німецьких окупантів.Новий етап визволення України розпочався влітку 1943 р.
20563. Україна після другої світової війни. Перехід до мирного будівництва 25.5 KB
  Особлива увага приділялась відродженню важкої промисловості і залізничного транспорту вугільної промисловості республіки.Відбудова промисловості відбувалася виключно за рахунок зусиль населення і примусових заходів уряду щодо нього. була проведена грошова реформа що мала на меті примусове вилучення коштів у населення на відбудову промисловості.
20564. Повоєнний сталінський режим в Україні, репресії 40-50 рр 56 KB
  В цей же час сотні тисяч селян України інших республік вмирали від голоду. Поряд із цим у повоєнному розвитку України існувало чимало проблем. Серйозною проблемою для влади стала колективізація в селах Західної України котра викликала масовий спротив місцевого населення. Малося на увазі зокрема добровільне переселення українців Закерзоння назва походить від лінії Керзона за якою знаходилися землі Лемківщини Надсяння Холмщини та Підляшшя до радянської України.
20565. Національне питання в Радянській Україні в 60-х першій половині 80-х років. Дисидентський рух і його придушення 52.5 KB
  Через самвидав громадськість України СРСР закордону познайомилася з творами І. Так починався в СРСР рух який згодом одержав назву правозахисного й охопив переважно інтелігенцію. Метою правозахисного руху було: захист прав людини і прав народів СРСР боротьба проти русифікації боротьба за незалежну Україну та національне відродження. Першою в СРСР легальною організацією що виступила на захист прав людини була ініціативна група захисту прав людини в СРСР до якої належав харків'янин Г.
20566. Курс на перебудову: плани та реальності його здійснення в Україні 43.5 KB
  Перш ніж горбачовські реформи дійшли до України тут сталася катастрофа глобального значення: 26 квітня 1986 р. Величезна радіоактивна хмара незмірне більша ніж хіросимська покрила багато районів України Росії Білорусії а згодом поширилася на землі Польщі та Скандинавії. Компартію України очолив С. Постали Українська республіканська партія Демократична партія України партія зелених та ін.
20567. Проголошення незалежності України. Розпад СРСР 38 KB
  Проголошення незалежності України. Прийняття Верховною Радою УРСР _Декларації про державний суверенітет України Криза союзних структур політичне протиборство погіршення економічної ситуації зростання національної самосвідомості неухильно посилювали потяг до суверенності відновлення незалежної української держави. було ухвалено закон про економічну незалежність України. Консерватори в союзних структурах активно протидіяли зростанню суверенності й самостійності національних республік у тому числі й України.
20568. Визнання Української держави світовим співтовариством. Міжнародне співробітництво незалежної України. Взаємодія з членами СНД 66 KB
  Міжнародне співробітництво незалежної України. Швидке визнання державної незалежності України десятками країн світу певною мірою породжувало ілюзію того що труднощі пов'язані з перехідним періодом будуть розв'язані безболісно і в короткий термін. Політичні партії і рухи України обстоювали різні нерідко полярні позиції в питаннях зовнішньої політики. Основним документом який визначав принципові засади розбудови державотворчих процесів у тому числі в сфері зовнішньої політики став Акт проголошення незалежності України прийнятий 24 серпня...
20569. Відродження української національної свідомості у першій половині XIX ст 40 KB
  24 березня 1847 року за участь у КирилоМефодіївському товаристві заарештований і засланий солдатом до Орської фортеці Оренбурзького окремого корпусу. КирилоМефодіївське товариство Твори молодого поета згуртували навколо нього університетську молодь. Прагнення звільнити народ від кріпацтва і привело їх до участі в КирилоМефодіївському товаристві 1845 1847 назване на честь слов'янських просвітителів Кирила і Мефодія створенню якого сприяло загальне духовне піднесення українського народу. Соціальний склад КирилоМефодіївського...