61896

ОПЕРАТОРИ ЦИКЛУ

Конспект урока

Педагогика и дидактика

Призначення операторів циклу. Кожний з трьох засобів організації циклу має свої особливості для кожного засобу є своє коло задач які найбільш природно вирішуються саме з його допомогою.

Украинкский

2014-06-02

93.5 KB

0 чел.

                          Т Е М А   6.

                        ОПЕРАТОРИ ЦИКЛУ.

  1.  Призначення операторів циклу.

    Лінійні  алгоритми і алгоритми з розгалудженням не дозволяють

в багатьох випадках эфективно використовувати    одну   з головних

складових продуктивності комп'ютера - його  швидкодію (до 10^9

операцій  в  секунду).   Для    цього   необхідні   програми, в

яких  окремі   фрагменти  виконуються  багаторазово.  Одним з

найбільш простих  засобів  організації повторного виконування серії команд є ЦИКЛИ.

Командою повторення або циклом називається така форма організації дій, при якій одна й та сама послідованість дій повторюється до тих пір, поки зберігається значення деякого логічного виразу. При змінюванні значення логнчного виразу на протилежне повторення припиняються (цикл завершується).

Розрізняють цикли з відомою кількістю повторень (цикл з параметром) і ітераційні (з перед- і постумовою).

    В мові Паскаль можлива організація циклів трьох видів:

            1. цикли з передумовою (поки - while);

            2. цикли з параметром (для - to/downto);

            3. цикли з постумовою (до - repeat/until).

Кожний  з трьох засобів організації циклу має свої особливості, для  кожного  засобу  є  своє  коло задач,  які найбільш  природно
вирішуються саме з його допомогою.

2. Оператор циклу з передумовою (цикл - поки/while).

    Цикл    "поки" використовують в тому випадку, коли необхідно,

щоб   спочатку   перевірялася деяка умова, а потім, якщо  умова є

істинною,  виконувались  деякі дії.  В процесі   виконування

цих дій видбувається зміна  значень   змінних, які  входять в

указану умову, в  якості  операндів.  Тому  при N-кратному

виконуванні   циклу   відбувається  зміна  значення  логічного

виразу  -  умови  з  TRUE  на FALSE. В  цьому  випадку виконування

циклу закінчується  і виконується перший оператор, що стоїть після

оператора   циклу.  Якщо  при  запису  умови  або  операторів, які

виконуються в  циклі, була  зроблена  помилка, то в такій сітуації

можливе   зациклювання  -  значення  логічного  виразу  ніколи  не

стане  FALSE  і,  як  наслідок,  група  операторів  в  циклі  буде

виконуватись  "вічно".

    Цикл ─ "поки"  служить для організації N-кратного виконування

групи   операторів   ( тіла  циклу ) до тих  пір, поки залишається

істинною    умова   виконування   циклу.  Цикл  з  передумовою  має такий  формат :

                      while  <умова>  do

                             <оператор> ;

Структурна схема циклу  з  передумовою

     вхід

     вихід

    Виконується  цей цикл таким  чином.

  •  Обчислюється значення виразу-умови.  
    Якщо  воно істинно   (приймає  значення  TRUE), то

виконується   тіло   циклу.

  •  В  протилежному  випадку  виконується

оператор, який  стоїть  після  оператора  циклу "поки    (тобто тіло циклу   виконується  до тих  пір,  поки  значення  умови  не стане дорівнювати FALSE).

Зауваження:

    1. В   якості  тіла  циклу  може  бути  використаний  будь-

       який   оператор,  в   тому   числі складений.   Це  дає

        можливість  циклічно  повторювати  не одну, а декілька  

       дій.

  В цому  випадку  конструкція циклу "поки"  набуває   

  вигляду:

                   while <умова>  do

                        begin

                            <оператор_1> ;

                                 . . .

                            <оператор_n> ;

                        end {while};

     2. Якщо < умова >  в  операторі  while  має значення FALSE

        вже  при  першій перевірці, то тіло циклу не виконується

        жодного разу.

     3. Дозволяється  використання   вкладених   циклів,  тобто  

          конструкцій,  в  котрих  деякі  оператори   тіла  циклу

          самі  можуть  бути  циклами. Іньший  засіб вкладання

          циклів  НЕ ДОПУСКАЄТЬСЯ.

          Приклад:

                   while <умова_1>  do

                        while <умова_2>  do

                              begin

                                   <оператор_k>

                                       while <умова_3>  do

                                             <оператор_n>;

                                   <оператор_l>;

                              end {while};

       4. Треба   підбирати   умову   для   циклу   "поки"  таким

          чином,  щоб  в  якийсь  момент  вона   змінила значення

          з   TRUE   на   FALSE,  інакше  настане  "зациклювання"

          програми  -  тобто  виконування  тіла   циклу  до  того

          моменту,  коли   ресурси   комп'ютера  будуть вичерпані

          або до переривання   виконування програми користувачем.

       5. Вхід в тіло циклу  можливий  ТІЛЬКИ через його  

          заголовок.

Приклад  використання  оператора циклу  з  передумовою.

       Задача.

       Обчислити  суму  такого ряду :

                1 + 1/2 + 1/3 + 1/4 + ... + 1/n.

       Рішення.

        {---------------------------------------------}

        {обчислення суми ряда за допомогою циклу while}

        {---------------------------------------------}

        var

          Sum  :  real;

          i, n :  integer;

        begin

          i := n;

          Sum := 0;

          while  i >= 1  do

            begin

              Sum := Sum + 1/i;

              I := i - 1;

            end;

       

         end.

    Точність обчислення  суми   в  даному  випадку  (тобто  при

додаванні в  зворотному  порядку)вище,  ніж   при  додаванні в

прямому. Пов'язано  це з  кінцевісттю  розрядної  сітки комп'ютера.

Тому   додавання   послідовностей   завжди    треба   проводити з  того  кінця,  де елементи  мають  найменьше значення абсолютної

величини.

3. Оператор циклу з параметром.

    Цикл з  параметром  використовується звичайно в тих випадках,

коли  наперед  (до  початку  виконування  циклу)  можна  визначити

кількість  повторень   циклу.  

Цикл  з  параметром   служить   для організації   n-кратного   виконування   тіла  циклу  для  значень параметра циклу  із  деякої  упорядкованої   дискретної   множини.

    Оператор  циклу з параметром  має  дві  форми  запису :

    1.  for <параметр> := <вираз_1> to <вираз_2> do

                         <тіло_циклу>;

    2.  for <параметр> := <вираз_1> downto <вираз_2> do

                         <тіло циклу>;

    Параметр  (його  ще  називають  параметром  циклу,   керуючою

змінною,   індексом,   лічильником )  - це   змінна   діскретного

типу, тобто типу, на множині значень   котрого  визначені  поняття

"попередній   елемент"  та   "наступний   елемент".

Частіше  за все використовуються  змінні   типу  integer  (але  допустимі  char  іboolean). Не  дозволений  до  використання   параметр типу real.

    Вираз_1  (початкове  значення параметра) -   це    константа,

змінна  або  вираз  того же типу, що  і  параметр  циклу.

    Вираз_2  ( кінцеве  значення  параметру ) має  той  же  спосіб визначення, що і вираз_1.

    Тіло  циклу  - це  оператор, наступний за ключовым словом do.

Якщо  необхідно повторити  декілька операторів, то вони  беруться

в  операторні   дужки   begin   та   end,  і  тілом  циклу   стає

складений  оператор.

   Роздивимось  процес виконування операторів циклу з параметром:

   1. Цикл for/to:

                     for  i := a  to  b  do

                          < тіло циклу >;

  1.  Параметру  циклу  i  надається   початкове   значеня  a.
  2.  Воно порівнюється  із  значенням  b.  
    Якщо  в упорядкованій  множині  i<= b, то  виконується тіло  циклу.
  3.  Потім  параметру  i  присвоюється   значення,  і + 1.    
  4.  Потім відбувається  повернення до порівняння з кінцевим значенням.
  5.  Якщо при перевірці з'ясувалося,  що  поточне значення i>b, то відбувається вихід  із циклу - виконується  наступний за тілом циклу оператор.

    

2. Цикл for/downto:

                   for  i := a  downto  b  do

                         < тіло циклу >;

   Цей  цикл  виконується   таким чином.

 

  •  Параметру   циклу і присвоюється  початкове  значення а.
  •  Значення параметра порівнюється
    з  кінцевим   значенням.   
       
  •  Якщо i< b  , то  відбувається вихід із циклу. В протилежному    випадку  виконується    тіло    циклу.
  •  Змінній i присвоюється  значення  i - 1 та програма  повертається до порівняння з кінцевим значенням.

Зауваження:

   1. Цикл  з параметром  зручно  використовувати в тих випадках,

      коли  кількість повторень можна  визначити  заздалегідь.

   2. Тіло   циклу   for   може  не  виконатися жодного  разу. Це

      відбудеться,  якщо    в   упорядкованій  множині   кінцеве

      значення  параметра  циклу  передує  початковому (в випадку

      to)  або  початкове  значення   передує   кінцевому   ( в

      випадку  downto).   Так  відбувається  тому,  що  перевірка

      умови, чи  виконуїться взагалі цикл for, відбувається ПЕРЕД

      виконуванням  циклу.  Тому  на  Паскалі  цикл  з параметром

      є  випадком  циклу  з передумовою  і  має таку ж структурну

 схему.

   3. Параметр    циклу   не   повинен  змінюватись   яким-небудь

      оператором  всередині   циклу.  Параметр   може довільним

      чином   використовуватись   в   виразах  в  тілі циклу, але

      присвоювати  йому нове значення в тілі циклу небажано, бо

 це може   призвести  до  непередбачених  наслідків.

   4. Параметр  циклу, як і  будь-яка  інша  змінна, повинен бути

      описаний  в  розділі  змінних.

   5. Після    виконування     оператора   циклу  параметр  циклу

      вважається  невизначеним  і  не  повинен  використовуватись

      в наступних  операторах  без  попередньго присвоєння йому

      значення.

   6. Вхід в тіло циклу  можливий ТІЛЬКИ через його заголовок.

   7. Дозволяється  використання  вкладених  циклів.Їх реалізація

      повинна проводитися за тими ж правилами, що і для циклів  з

      передумовою.

4. Приклади  використання операторів циклу з параметром.

    

  1.  Задача.

    Обчислити  суму  такого  ряду :

                1 + 1/2 + 1/3 + 1/4 + ... + 1/n.

    Рішення за  допомогою  циклу  for/to :

        {----------------------------------------------}

        {Обчислення суми ряду за допомогою циклу for/to}

        {----------------------------------------------}

           var

             Sum  : real;

             i, n : integer;

           begin

 {Введення n}

             Sum := 0;

             for i := 1 to n do

               Sum := Sum + 1/i;

           ;

           end.

  1.  Задача.
  2.  

    Обчислити значення n!.

    Рішення за  допомогою циклу  for/donto :

        {--------------------------------------------------}

        {Обчислення факторіала за допомогою циклу for/downto}

        {--------------------------------------------------}

           var

             Factorial,

             n, i : integer;

 begin

   {Введення n}

             Factorial := 1;

             for i := n downto 2 do

               Factorial := Factorial * i;

   

    {Виведення Factorial  }   

           end.

5. Оператор циклу з постумовою (цикл - до / repeat/until).

    Цикл  -  "до"  використовуїться в тому випадку, коли доцільно

організувати  повторення  так, щоб  спочатку  виконувалась   деяка

послідовність  дій, а  потім  перевірялася  умова   зупинки  її

виконування.

    Цикл  -  "до" служить  для організації n-кратного виконування

групи операторів (тіла циклу) до тих пір, поки умова завершення

циклу не стане істинною.

    Оператор циклу з постумовою має такий формат :

                  

 repeat

                         <оператор 1> ;

                              . . .

                         <оператор N> ;

                    until <умова> ;

    Значення ключових слів : repeat - повторювати,  until - до.

    

Структурна схема оператора циклу з постумовою

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

  •  Спочатку   виконуються   оператори  тіла  циклу.  
  •  Потім  перевіряється значення  виразу-умови.
    Якщо  воно  хибне  (тобто  його  значення
    дорівнює  FALSE), то  знов виконується тіло циклу.
    В  протилежному випадку  виконується  черговий оператор.

Зауваження:

    1. Тіло  циклу  з  постумовою мати в собі  декілька

       операторів,  які  не треба брати в операторні   дужки. В

       даному  випадку ключові слова repeat та until грають роль

       операторних   дужок,   між   якими  може  знаходитись

       довільна    кількість   операторів.

    2.  <Умова>  є умовою ВИХОДУ із циклу на відміну від

       умови  ПРОДОВЖЕННЯ циклу в циклі з  передумовою  (while).

    3. Не  треба забувати, що тіло циклу з постумовою    завжди

       буде виконуватись хоча б один раз.

    4. Ввійти в тіло циклу  можливо ТІЛЬКИ через  його заголовок.

    5. Дозволяється  виконування  вкладених  циклів. Їх  

       Реалізація повинна  відбуватися за  тими ж  правилами, що  

       і для циклів з  передумовою.

7. Приклад  використання  оператора циклу з передумовою.

       Задача.

       Обчислити  суму  такого ряду :

                1 + 1/2 + 1/3 + 1/4 + ... + 1/n.

        {----------------------------------------------------}

        {Обчислення суми ряда за допомогою циклу repeat/until}

        {----------------------------------------------------}

          

var

            Sum  : real;

            i, n : integer;

          begin

 {Введення n}

                        

            i := n;

            Sum := 0;

            repeat

              Sum := Sum + 1/i;

              i := i - 1;

             until ( i < 1 );

{Виведення Sum}

 

          end.

 

Контрольні питання і завдання

  1.  Назвіть відмінність ітераційних циклів і циклу з параметром.
  2.  Яка структура оператора циклу з параметром? Як виконується цикл з парметром?
  3.  Якого типу повинен бути параметр циклу, його початкове і кінцеве значення в циклі з параметром в мові Pascal?
  4.  Чи можуть параметр циклу, його  початкове і кінцеве значення в циклі з параметром в мові Pascal бути різних типів?  Обгрунтуйте відповідь.
  5.  Чи може один цикл бути вкладеним всередину іншого? Якщо так, то яка глибина цій вкладеності?
  6.  Якою є структура циклів з перед- і постумовою? Як виконуються ці цикли?
  7.  Яка мінімальна і максимальна кількість виконувань циклів з перед- і постумовою? З чим це пов‘язане?
  8.  Скільки разів виконається фрагмент програми?

 For i := 1 to -1 Do

                          k:=k*i;

  1.  Скільки разів виконається фрагмент програми?

 For i := -1 to 1 Do

                          k:=k*i;

  1.  Скільки разів виконається фрагмент програми?

 For i := 1 downto -1 Do k:=k*i;

  1.   Скільки разів виконається фрагмент програми?

             M := 123;   

                While M <> 0 Do

                    M := M Mod 10;

  1.  Для цикла с параметром запишите его полный эквивалент с помощью циклов с пред- и постусловием.
  2.  Для циклу з передумовою запишіть його повний еквівалент за допомогою циклу з постумовою.
  3.  Для циклу з постумовою запишіть його повний еквівалент за допомогою циклу з передумовою


 

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

84094. Федерация: понятие и признаки, виды 23.76 KB
  Существуют следующие формы государственного устройства: 1 Унитарное государство 2 Федеративное государство 3 Конфедеративное на данный момент не существует в природе 4 Региональное государство Федеративное государство представляет собой добровольное объединение ранее самостоятельных государственных образований в одно союзное государство государство состоящее из государств членов или государственных образований субъектов федерации. На данный момент в мире насчитывается 24ре федерации. Федерации бывают: а Договорные и...
84095. Форма государственного устройства: понятие и виды 21.73 KB
  Территория федерации состоит из территорий ее отдельных субъектов: штатов кантов земель республик и т. Субъекты федерации имеют право принятия собственной конституции имеют свои высшие исполнительные законодательные и судебные органы 4. В большинстве федерации существует союзное гражданство и гражданство федеральных единиц. При федеральном государственном устройстве в парламенте имеется палата представляющая интересы членов федерации.
84096. Демократический режим и его признакии 22.3 KB
  В демократическом государстве существует взаимная ответственность государства и личности.Предоставление широкой свободы личности предприятиям и организациям в сфере экономической деятельности которая при демократическом политическом режиме составляет основу материального благосостояния граждан.Реальная гарантированность прав и свобод личности и реальная возможность реализовать данные права и свободы.Наличие эффективной и квалифицированной судебной защиты прав и свобод личности от произвола и беззакония со стороны кого бы то ни было.
84097. Антидемократические государственно-правовые режимы 25.92 KB
  Основными чертами тоталитарного политического режима являются следующие: государство стремится к глобальному господству над всеми сферами общественной жизни к всеохватывающей власти; общество полностью отчуждено от политической власти но оно не осознает этого ибо в политическом сознании формируется представление о единстве слиянии власти и народа; господствует монопольный контроль над экономикой средствами массовой информации культурой религией и т. фактически устраняется плюрализм; происходит централизация государственной...
84098. Функции государства: понятие, признаки, содержание 20.68 KB
  Функции государства это основные направления внутренней и внешней деятельности государства в которых выражаются и конкретизируются его классовая и общечеловеческая сущность и социальное назначение. В этом определении выделены наиболее существенные признаки функций государства. Функции государства непосредственно выражают и предметно конкретизируют его классовую и общечеловеческую сущность.
84099. Внутренние функции государства современного государства и их содержание 22.02 KB
  Охранительная функция: Это функция государственной деятельности проявляется в обеспечении государством общественного и правового порядка защите и охране прав и интересов граждан и организаций защите конституционного строя и государства от противоправных посягательств. Обеспечение внутреннего мира и согласия в обществе урегулирования общественных отношений снятие социальных противоречий неизбежных в обществе состоящем из различных классов групп слоев это насущная необходимость одна из тех причин которые вызывали возникновение...
84100. Внешние функции государства современного государства и их содержание 23.61 KB
  Защита государства от вооруженных нападений других государств. Функция защиты из вне: Данная функция является важнейшим направлением деятельности государства ибо она нацелена на защиту мирного труда суверенитета и территориальной целостности государства. 30 Формы и методы осуществления функций государства Государство должно выполнять свои функции в присущих ему формах применять в своей деятельности различные методы.
84101. Механизм государства, государственный аппарат: понятие и их соотношение 21.97 KB
  Механизм государства есть та реальная организационная материальная сила располагая которой государство осуществляет власть. Механизм является структурным и предметным олицетворением государства представляет собой материальное вещество из которого оно состоит. Можно сказать что механизм суть деятельное постоянно функционирующее выражение государства.
84102. Понятие государственного органа. Классификация государственных органов 24.37 KB
  Классификация государственных органов Первичным и важнейшим структурным элементом механизма государства является орган государства. Государственный орган это звено элемент механизма государства участвующее в осуществлении функций государства и наделенное для этого властными полномочиями. Раскрытие понятия признаков данного органа позволяет глубже познать механизм государства в целом. Хотя орган государства и обладает определенной самостоятельностью автономией он служит частью единого механизма государства занимает в государственной...