60955

РОЗГАЛУЖЕНІ АЛГОРИТМИ. ОПЕРАТОРИ ВИБОРУ

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

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

Структура умовного оператора. В Паскалі такими засобами є умовний оператор і оператор варіанту. Кожный умовний оператор припускає виконування однієї з двох дій в залежності від істинності деякої умови.

Украинкский

2014-05-22

70.5 KB

2 чел.

Т Е МА  7

РОЗГАЛУЖЕНІ АЛГОРИТМИ

ОПЕРАТОРИ  ВИБОРУ.

1. Структура умовного оператора.

    Якщо хід алгортиму розділяється на два шляхи  в  залежності від деяких умов,   то такий алгоритм  називається  розгалуженим.

    

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

оператор   припускає  виконування  однієї  з  двох  дій  в залежності  від істинності  деякої  умови.

    Схематично  умовний  оператор  можна   зобразити  таким чином :

     

             вхід

                        

                

                                                                    вихід

    На схемі A і B - деякі  оператори.

    Умовний   оператор  може  використовуватись  в  повній  або  вскороченій формі :

    

1. Повна форма :

            

                              if    < умова >   

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

                                         else   < оператор_2 >;

2. Скорочена  форма :

            

        if    < умова >    

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

    

Схема скороченої форми  умовного оператора виглядає так :

           вхід

           вихід

    Ключові слова, що використовуються в умовному операторі, мають такий сенс :

                         if     -   якщо

                         then   -    то

                         else   -   інакше

    Таким   чином,  умовний  оператор  турбо-Паскалю  є повним аналогом оператора розгалуження із алгоритмічної мови.

    Умовою  в  умовному  операторі  може  бути будь-який вираз логічного  типу, тобто вираз, який може приймати одне з  двох значень : True або False (істина або хибність).

    Простішими логічними виразами є вирази відношення:

            <вираз_1> <відношення> <вираз_2>.

    В Паскалі використовуються такі позначення для відношень :

 

 

більше

більше або дорівнює   

менше

менше або дорівнює

не дорівнює

дорівнює

>

>=

<

<=

<>

=

   Для повної форми умовного оператора :

-  якщо  <умова> є істина,  тобто  приймає  значення  True, то виконується  <оператор_1>,  а      

   потім  -  оператор, розташований в програмі  після  всього  умовного  оператора;

-   якщо   умова  хибна,  тобто  приймає  значення  False,  то виконується  <оператор_2>,  а  

    потім - оператор, розташований після   умовного   оператора.

    Для скороченої форми умовного оператора :

-  якщо  <умова> є істина, то оператор виконується також, як і повна форма;

-  якщо умова хибна, то виконується оператор, розташований після умовного оператора.

Приклад :

    Скласти програму обчислення значення функції:

                                    

                                    

Рішення :

            var

                 x, y : real;

            begin

       { перетворення значення змінної х в числовий формат }

                 if  x < 0

                             then  y := x

                             else  y := 2 * x;

                  { перетворення значення змінної у в текстовий формат }

            end.

    

Перед else символ "крапка з комою" (;) НЕ ставиться !!!

  


2. Лог
ічні операції.

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

(простими  або складеними), з'єднуються один з одним за допомогою

таких логічних операцій :

    not - заперечення (не);

    and - кон'юнкція або логічне множення (і);

    or  - діз'юнкція або логічне додавання (або).

    

Приклади :

                     not ( odd ( x ) );

                    ( a > 2 ) and ( a < 3 );

                    ( y = 2 ) or  ( y = 3 ) .

    При  обчисленні  значень  логічних  виразів   додержуються такого порядоку дій :

    1. Обчислюють значення логічних функцій;

    2. Обчислюють результати операцій  порівняння;

    3. Виконують логічні операції в такому порядку :

                               not

                               and

                               or.

    

Щоб запобігти  помилок   доцільно  розставляти  дужки  в виразах  в тих випадках, коли є  які-небудь сумніви.   Треба звернути   увагу   на те,  що  елементарні логічні вирази, які є операндами логічних операцій,   ПОВИННІ  БУТИ ВЗЯТІ  В  ДУЖКИ.

   

 При  виконуванні  логічних  операцій  справедливі  такі таблиці  істинності  (показують  значення  результата  логічної операції в залежності від значень операндів) :

    

1. not (не) :

                        not False = True

                        not True  = False

    2 - and (і) :

                     True  and True  = True

                     True  and False = False

                     False and True  = False

                     False and False = False

    3 - or (або) :

                     True  or True  = True

                     True  or False = True

                     False or True  = True

                     False or False = False

  Або для більшої наглядності можна звести все в таку таблицю

  (A i B - деякі логічні вирази, 1 відповідає True, a 0 - False) :

 

A

not A  

A

B

A and B  

A or B  

1

0

1

1

1

1

0

1

1

0

0

1

0

1

0

1

0

0

0

0

     Відношення визначені як на множині числових, так і на

множині  логічних  та  символьних  величин.  Більшою  вважається

величина,  яка має більший код в таблиці символів. Для визначення

кода  символів  використовується функція Ord (x). Якщо аргументом

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

   

Наприклад :

                       Ord ( '0' ) = 48 ,

                       Ord ( 'x' ) =  120,

                       Ord ( X )  =  53 , тут X - змінна типу

                                          char, яка  має 

                                          значення '5'.


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

    В  умовному  операторі  після ключових слів then та else може

стояти   тільки  ОДИН   оператор.  Щоб  обійти  це   обмеження,

використовують складений оператор.

    Складений оператор має таку  структуру :

                     begin

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

                              . . .

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

                     end;

    Ключові слова begin та end виконують роль операторних дужок.

Тіло  будь-якої  програми  уявляє собою один складений оператор.

Складений оператор можна розташовувати в будь-якому місті Паскаль-програми,

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

постановкою задачи потребується декілька.

   

Умовний   оператор,   при   використанні  в  його  структурі

складеного оператора, виглядає так :

     

 if <умова>

                  then 

                      begin

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

                              . . .

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

                      end

                  else

                      begin

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

                              . . .

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

                      end;


4. Вкладені умови.

    В умовному операторі

            if    < умова >    

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

                              else   < оператор_2 >;

в   якості  оператора_1  і  оператора_2  в  Паскалі   можна

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

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

із схем :

  1.  if <умова_1>

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

                   else if <умова_2>

                                      then <оператор_2>

                                      else <оператор_3>;

  2.  if <умова_1>

                   then if <умова_2>

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

                                      else <оператор_2>   

                   else <оператор_3>;

  3.  if <умова_1>

                   then if <умова_2>

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

                                      else <оператор_2>   

                   else if <умова_3>

                                      then <оператор_3>

                                      else <оператор_4>;

    Треба особливо  звернути увагу  на те, що :

else завжди відноситься до найближчого if, який передує   йому

    Крім  того,  треба  звернути  увагу  на те,  що  в тих  випадках,  коли  ви  маєте  сумнів, до якої умови відносяться дії  в  конструкціях  "then  ..." або "else  ...", треба використати  операторні  дужки  "begin  ... end" (за аналогією  із звичайними дужками).

Приклад :

    Скласти програму  обчислення значення функції:

              

        

    

Рішення :

            var

                x, y : real;

            begin

               { перетворення значення змінної х в числовий формат }

               if x<0

                      then y := x

                      else if x<1

                                 then y := 0

                                 else y := x - 1;

              { перетворення значення змінної у в текстовий формат }

 

            end.


 

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

16322. ОПРЕДЕЛЕНИЕ УДЕЛЬНОГО ВРАЩЕНИЯ И НЕИЗВЕСТНОЙ КОНЦЕНТРАЦИИ САХАРНОГО РАСТВОРА ПРИ ПОМОЩИ ПОЛЯРИМЕТРА СМ – 3 164 KB
  Лабораторная работа ОПРЕДЕЛЕНИЕ УДЕЛЬНОГО ВРАЩЕНИЯ И НЕИЗВЕСТНОЙ КОНЦЕНТРАЦИИ САХАРНОГО РАСТВОРА ПРИ ПОМОЩИ ПОЛЯРИМЕТРА СМ 3 Описание лабораторной установки Поляриметр круговой СМ3 используемый в данной работе применяется для измерения угла вращения пл
16323. Определение удельного вращения и неизвестной концентрации сахарного раствора при помощи сахариметра СУ-3 244 KB
  Лабораторная работа Определение удельного вращения и неизвестной концентрации сахарного раствора при помощи сахариметра СУ3 Описание лабораторной установки Сахариметр СУ3 используемый в данной работе применяется для измерения угла вращения плоскости
16324. ОПРЕДЕЛЕНИЕ ПОКАЗАТЕЛЯ ПРЕЛОМЛЕНИЯ И СРЕДНЕЙ ДИСПЕРСИИ ЖИДКОСТИ С ПОМОЩЬЮ РЕФРАКТОМЕТРА ИРФ-22 373.5 KB
  ОПРЕДЕЛЕНИЕ ПОКАЗАТЕЛЯ ПРЕЛОМЛЕНИЯ И СРЕДНЕЙ ДИСПЕРСИИ ЖИДКОСТИ С ПОМОЩЬЮ РЕФРАКТОМЕТРА ИРФ22 Методические указания содержат подробное описание одной лабораторной работы общего физического практикума по оптике. Целью работы является определение показателей пре...
16325. ИЗУЧЕНИЕ ВНЕШЕНЕГО ФОТОЭФФЕКТА 174.5 KB
  ИЗУЧЕНИЕ ВНЕШЕНЕГО ФОТОЭФФЕКТА Теоретическая часть Описание явления. Свет падающий на вещество передает этому веществу энергию в результате чего могут возникать разнообразные эффекты. Среди этих явлений важное место занимает внешний фотоэлектрический эффект ...
16326. ОПРЕДЕЛЕНИЕ ПОКАЗАТЕЛЯ ПРЕЛОМЛЕНИЯ СТЕКЛА ПРИ ПОМОЩИ МИКРОСКОПА 137.5 KB
  ОПРЕДЕЛЕНИЕ ПОКАЗАТЕЛЯ ПРЕЛОМЛЕНИЯ СТЕКЛА ПРИ ПОМОЩИ МИКРОСКОПА Теоретическая часть В основе определения показателя преломления стекла в данной работе используется один из фундаментальных законов геометрической оптики: закон преломления света. Согласно ...
16327. ИЗУЧЕНИЕ МИКРООБЪЕКТОВ ПРИ ПОМОЩИ МИКРОСКОПА 259.5 KB
  Лабораторная работа ИЗУЧЕНИЕ МИКРООБЪЕКТОВ ПРИ ПОМОЩИ МИКРОСКОПА Теоретические основы эксперимента Принцип действия микроскопа основан на формировании увеличенного изображения исследуемого объекта за счет увеличения угла зрения линзами. На рис.1 показан ход ...
16328. Поляризация света. Лабораторный практикум по общей физике 648.5 KB
  Поляризация света Лабораторный практикум по общей физике Оптика Содержание Часть I Теоретические основы эксперимента Электромагнитная природа света. Уравнения Максвелла Поперечность световой волны и поляризация света Поляризация при отражении
16329. Программирование алгоритмов линейной структуры 131.5 KB
  Лабораторная работа № 1 Программирование алгоритмов линейной структуры Цель: приобретение навыков программирования алгоритмов линейной структуры с помощью подпрограммыфункции вычисляющей значение арифметических выражений. Индивидуальные варианты лаборатор
16330. Программирование алгоритмов разветвляющейся структуры 293 KB
  Лабораторная работа № 2 Программирование алгоритмов разветвляющейся структуры Цель: приобретение навыков программирования алгоритмов разветвляющейся структуры с помощью пользовательской подпрограммыпроцедуры где на определенном этапе производится выбор очеред...