Вторник, 12.11.2019, 17:22
Главная | Регистрация | Вход Приветствую Вас Гость | RSS


Меню сайта


Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0


Тестування онлайн
тестування онлайн 


Социальные закладк

Тема 11.  Величини логічного типу, операції над ними. Команда розгалуження.

Для вирішення більшості завдань лінійних алгоритмів недостатньо.

У проектах, які реалізують інші види алгоритмів, наприклад алгоритми з розгалуженням, використовують логічні вирази. 

Висловлювання - оповідне речення, про яке можна однозначно сказати, правильне (істине) воно чи неправильне (хибне) і позначається великими буквами англійського алфавіту

Основна властивість висловлювання - його істинність:

1 або true - якщо висловлювання істине   (А = "Київ - столиця України");
0 або false - якщо висловлення хибне  (В = "2 + 2 = 5").

Як порівнюють значення величин у програмах?

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

Логічна змінна - це змінна, яка може приймати тільки значення true або false

Результатом виконання операції порівняння значень двох величин є величина логічного типу, яка може набувати одного із двох значень: true, false.

Для опису логічних величин у мові програмування Object Pascal тип boolean

Порівняння значень величин різних типів має певні особливості:

  • Числові величини порівнюються за правилами математики.
  • Порівняння текстових величин мовою Free Pascal, у результаті якого отримано логічне значення True, продемонстровано нижче:

'Алгоритм' < 'алгоритм'   — код великої літери А менший  за  код літери  а;
'алгоритм'     'аго'   — довжина першої  величини більша за довжину другої;
'алгоритм'   <> 'alhoritm' ;   'алг' = 'алг'.

Для логічних величин:
а = True          b = False
Результатом виконання операції: а > b    буде значення True
Оскільки:
    
Істинне значення True інтерпретується як 1  а    хибне False — 0
                               
Зрозуміло,   що                       1 > 0

Окрім операцій порівняння над логічними величинами в усіх мовах програмування для запису складених висловлювань використовують логічні операції:

  • заперечення;
  • кон'юнкція;
  • диз'юнкція.

Результати виконання цих операцій над змінними А та В логічного типу, які набувають значень True (1) та False (0) наведені в таблиці істинності

Щоб визначити значення складеного логічного виразу, який містить кілька логічних операцій, використовують таблицю істинності та враховують пріоритет виконання операцій:
   not⇒ and⇒ or

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

Розгалуження мовою  програмування  Object Pascal

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

Для опису алгоритмічної структури розгалуження мовою програмування, як і в середовищі Скретч, використовують:
 

Оператор повного розгалуження:  if   <логічний вираз> then <команда 1> else <команда 2>;

Якщо в якості оператора повинна виконуватися серія операторів, то вони об'єднуються в операторні дужки Begin-End.


If  умова  then
   Begin
   [оператори1]
   End
Else
   begin
   [оператори2]
  End;

 

Оператор неповного розгалуження: if <логічний вираз> then <команда>;
Команда або блок команд в операторі неповного розгалуження буде виконуватися тільки у випадку, коли логічний вираз набуває значення True.

В операторі неповного розгалуження мовою програмування Free Pascal після службового слова then можна записати тільки одну команду або блок команд, які обмежені операторними дужками begin,   end.

begin
<команда 1>;
<команда 2>;

<команда n>;
end;

Зауваження. Перед ключовим словом else (інакше) крапка з комою не ставиться, вона ставиться після всього оператора If.

Умова є логічні вираження.

  • Прості умови записуються у вигляді рівності або нерівностей.
  • У складних умовах кілька простих умов об'єднуються за допомогою логічних операцій or, and... В цьому випадку прості умови полягають в круглі дужки

Якщо є потреба врахувати значення декількох логічних виразів, то використовують вкладені розгалуження.

if <логічний вираз  1>  then  <команда 1>
else if <логічний вираз 2> then <команда 2>

else if <логічний вираз n> then <команда n>
else <команда  інакше>;


 

В описаних вкладених розгалуженнях:

  • Якщо значення логічного виразу 1True, то виконується команда  1 чи блок команд 1.
  • Якщо значення логічного виразу 1False і значення логічного виразу 2True, то виконується команда 2 чи блок команд 2 і т.д.
  • В іншому разі виконується команда інакше  або блок  команд  інакше.

 

Завдання 1Таблиця істинності для логічного виразу. Визначте, якого значення може набувати логічний вираз

(not A) orand А)
залежно від значень, яких набуватимуть логічні змінні А та В.

            1.     Обчислимо кількість можливих наборів значень логічних змінних за формулою N = 2", де N – кількість наборів значень, n– кількість змінних. У нашому випадку N = 22 = 4.  Це число визначає кількість рядків у таблиці Істинності.

2.     Визначимо кількість і порядок логічних операцій у виразі.

1          3           2
    
(not  A)   or   (В and A)

3.     Ця кількість і кількість логічних змінних визначає кількість стовпців у таблиці істинності. Для нашого випадку: 3 + 2 = 5.

4.     Побудуємо таблицю істинності. Для зручності запису приймемо True = 1, False = 0. Для визначення значень кожної логічної операції використаємо таблицю істинності.

                  

5.     Зробимо висновок: логічний вираз набуде значення False тільки тоді, коли змінна А набуде значення True, а змінна В – значення False. В усіх інших випадках логічний вираз матиме значення True.


Вправа 2.Агрегатний стан води.

Завдання. Розробіть проект у середовищі Lazarus, у якому за введеним значенням температури води буде визначатись її агрегатний стан.

  1. Сплануйте проект. Передбачте, які об'єкти будуть використані на екранній формі та які події відбуватимуться з ними.
     
  2. Відкрийте середовище Lazarus, створіть новий проект і збережіть його складові в папку Стан_води. Змініть властивості об'єкта Form1, розмістіть на формі потрібні об'єкти та надайте значень їх властивостям, щоб отримати форму, як на малюнку
  3. Візьміть до уваги, що для всіх об'єктів використовується властивість шрифта – ArialUnicode MS, розмір – 16. Стиль шрифта визначте за малюнком. Задайте значення False властивості Enabled текстового поля для виведення значення (в прикладі варіанту інтерфейса проекту  заміна текстового поля на напис Label2) .
  4. Створіть процедуру опрацювання події натиснення кнопки Пуск. У вікні редактора коду введіть програмний код.   

Зверніть увагу на структуру команди розгалуження.

if <логічний вираз  1>  then  <команда 1>
else if <логічний вираз 2> then <команда 2>

else if <логічний вираз n> then <команда n>
else <команда  інакше>;

 

  5. Запустіть проект на виконання. Введіть значення температури, наприклад, 12.  Перевірте отриманий результат. Установіть, яка умова відповідає отриманому значенню.
 

   6. Запустіть проект на виконання ще раз для значення -10,5. Поясніть, чому проект не виконується. Внесіть зміни до проекту так, щоб користувач міг задавати температуру води дійсним числом. Зауважте, що:
                            дійсне число, яке вводиться в текстове поле, записується із десятковою комою,
                            а в програмному коді використовують число, записане з десятковою крапкою
.

  7. Збережіть зміни у проекті.
   8. Завершіть роботу з проектом і середовищем програмування.

 eлементи для введення даних: прапорець, перемикач.
группы переключателей (radioGroup) и группы флажков (CeckGroup)
додавання декількох форм в проект
список, що розкриваеться

 

Форма входа
Поиск
Календарь
«  Ноябрь 2019  »
ПнВтСрЧтПтСбВс
    123
45678910
11121314151617
18192021222324
252627282930
Архив записей
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz

  • Рейтинг@Mail.ru
    Copyright MyCorp © 2019
    Конструктор сайтов - uCoz