Основи алгоритмізації та програмування Логічні вирази. Вказівка розгалуження.

Презентация:



Advertisements
Похожие презентации
Ковальчук О.М КОМАНДИ РОЗГАЛУЖЕННЯ (Turbo Pascal 7.0) КОМАНДИ РОЗГАЛУЖЕННЯ (Turbo Pascal 7.0) Інформатика-11 Тема-4 Ковальчук О.М., 2007.
Advertisements

Основи алгоритмізації та програмування Вказівка повторення. Цикли.
Програми з розгалуженнями.Команда IF Підготувала Крилік Анастасія 7-Д.
Основи алгоритмізації та програмування Надання значень величинам. Вказівки присвоєння та введення.
ТЕМА УРОКУ:. ВИБІР В ЖИТТІ ЛЮДИНА РОБИТЬ КОЖНОГО ДНЯ САМА. ВОНА ВИБИРАЄ ДОБРО ЧИ ЗЛО, ПРАВДУ ЧИ НЕПРАВДУ, ЧЕСТЬ ЧИ БЕЗЧЕСТЯ. КОМПЮТЕР РОБИТЬ ВИБІР ЗА.
Оператори. Введення і виведення даних. Оператор присвоювання Оператори це команди програми. Оператор присвоювання є основним оператором мови програмування.
Тема 2. Розгалуження. Алгоритми розгалуження Задача. Ввести два цілих числа і вивести на екран більше з них. Ідея розвязання: потрібно вивести на екран.
Числовим виразом називається запис, складений із чисел, знаків арифметичних дій і дужок. Числовий вираз має лише одне значення. Порядок операцій у числовому.
Що таке цикл? Чим характерний цикл як фрагмент алгоритму? Що таке розгалуження? Чим характерне розгалуження як фрагмент алгоритму?. Чим цикл відрізняється.
Основні поняття математичної логіки. Висловлення. Логічні константи. Логічні операції Один з розділів логіки - математична логіка є наукою про закони.
Основи алгоритмізації та програмування Опрацювання табличних величин. Заняття 1. Алгоритми формування масивів, виведення масивів, зміни значень елементів.
Основи алгоритмізації та програмування Програми з розгалуженнями.
Основи алгоритмізації та програмування Підпрограми.
Розгалуження в алгоритмах і програмах Алгоритми з розгалуженням.
Основи алгоритмізації та програмування Опрацювання табличних величин: знаходження мінімального або максимального значення серед елементів масиву, кількості.
Лекція 2 Тема: Операції. Вирази. Оператори.. План Операції Основні операції Порядок виконання операцій Додаткові операції Вирази Оператори Оператор присвоєння.
Електронні таблиці EXCEL Використання логічних формул і операцій при опрацюванні даних.
Урок 27 5 клас. АЛГОРИТМИ З РОЗГАЛУЖЕННЯМИ.
Запити в Access Запити в базі даних Запити використовуються для перегляду, зміни й аналізу даних різними способами. Основні операції з використанням.
Тема уроку. Практична робота Складання програм з розгалуженням М ета уроку: формувати вміння працювати в середовищі програмування ; створювати проект.
Транксрипт:

Основи алгоритмізації та програмування Логічні вирази. Вказівка розгалуження

Exit Порівняння величин та виразів в математиці Числові величини мають свої кількісні характеристики, а це означає, що їх можна між собою порівнювати, використавши знаки порівняння. Наприклад, 7=7 або 9>2 Числові вирази також мають свої кількісні характеристики, і їх також можна між собою порівнювати, використавши знаки порівняння. Наприклад, 3+7=2+8 або 9+1>2+5 Порівнювати можна також вирази, що містять змінні величини. Наприклад, y+7=x+8 або 9+a>2+b

Exit Порівняння величин та виразів в інформатиці В математиці порівняння має тлумачення твердження, тобто запис 2>3 означає "два більше трьох" і є помилковим твердженням. В інформатиці порівняння є запитанням, тобто запис 2>3 означає "два більше трьох?", на яке можна дати відповідь – "ні" Виходить, що в інформатиці порівняння є виразами, які мають значення "так" або "ні"

Exit Поняття логічного виразу в Паскалі Логічними виразами називаються такі вирази, внаслідок обчислення яких одержуються логічні значення true (істина) або false (хибність). Логічні вирази в свою чергу поділяються на прості та складені. В Паскалі результат логічного виразу має тип Boolean. Саме величини або вирази типу Boolean приймають значення True або False

Exit Прості логічні вирази Простими логічними виразами називаються такі, які записуються за допомогою знаків співвідношень <-менше >-більше <=-не більше (менше або дорівнює) >=-не менше (більше або дорівнює) =-дорівнює <>-не дорівнює Зверніть увагу! Cпочатку виконуються арифметичні дії, а вже потім порівняння одержаних результатів.

Exit Склад простих логічних виразів Простий логічний вираз складається із двох частин, які порівнюються, а отже до його складу входять: - ліва частина, яка може бути сталою, змінною або виразом - знак порівняння - права частина, яка може бути сталою, змінною або виразом Права частина логічного виразу Ліва частина логічного виразу Знак порівняння

Exit Предикати та непредикати Якщо одна із частин логічного виразу містить хоча б одну змінну величину, то такий вираз називають предикатом. Непредикат Предикат

Exit Значення предикату Зрозуміло, що значення предикату залежить від значення змінних величин, що входять до його складу. Наприклад: Якщо X має значення 3, то предикат X>=2 матиме значення True Якщо X має значення 2, то предикат X>=2 матиме значення True Якщо X має значення 1, то предикат X>=2 матиме значення False

Exit Складені логічні вирази Складеними логічними виразами називаються такі, які складаються з простих логічних виразів, об'єднаних логічними операціями "and", "or", "not". Наведемо приклади. З математики вам відомі такі записи: х [а,Ь] та х [а,Ь] Спробуємо записати їх у вигляді логічних виразів: (х>=а) and (x =a) and (x<=b)) Другий вираз еквівалентний виразу: (x b) Зверніть увагу! При записуванні складених логічних виразів в Паскалі прості логічні вирази обов'язково беруться у круглі дужки!

Exit Логічна операція not Логічна операція not використовується для заміни значення логічної величини на протилежне. Перекладається якневірно, що

Exit Таблиця істинності для not Для обчислюються значення складених логічних виразів існують таблиці істинності. Розглянемо таблицю істинності для логічної операції not Anot A Для зручності у таблиці цифра "0" означає false, а цифра "1" - true. Anot A FalseTrue False

Exit Логічна операція and Логічна операція and ще має назвулогічний добуток. На відміну від операції not, операція and виконується над двома логічними величинами або виразами. Часто операція and використовується для запису перетину числових множин. X93 (x>=3) and (x<=9) В Паскалі В математиці Перекладається як і

Exit Таблиця істинності для and Якщо обидві логічні величини (вирази) мають значення True, то і їх логічний добуток дорівнюватиме True. В усіх інших випадках значення буде False. ABA and B AB False TrueFalse TrueFalse True Для зручності у таблиці цифра "0" означає false, а цифра "1" - true. Наприклад: (10>=3) and (10<=9) True and False False

Exit Логічна операція or Логічна операція or ще має назвулогічна сума. Операція or, як і операція and, виконується над двома логічними величинами або виразами. Часто операція or використовується для запису обєднання числових множин. X93 (x 9) В Паскалі В математиці Перекладається як або

Exit Таблиця істинності для or Якщо обидві логічні величини (вирази) мають значення False, то і їх логічна сума дорівнюватиме False. В усіх інших випадках значення буде True. ABA or B AB False True FalseTrue Для зручності у таблиці цифра "0" означає false, а цифра "1" - true. Наприклад: (10 9) False or True True

Exit Преорітети логічних операцій Серед логічних операцій найвищий преорітет має операція not, за нею іде операція and, а потім or. Наприклад, послідовність обчислення: (2>1) or not (1>2) and (1=2) True or not False and False True or True and False True or False True Зверніть увагу! Преорітет логічних операцій вищий за операції порівняння та деяких арифметичних. Тому прості логічні вирази, що входять до складу складених, необхідно завжди записувати в дужках.

Exit Використання складених логічних виразів Ми вели розмову про обчислення значень логічних виразів. Зрозумілим є запитання: "А де їх можна використовувати?" По-перше, використання логічних виразів так, як і арифметичних, можливе в операторі присвоювання. Наприклад: k:=a>b; h:=(N<=x) and (x<=M); f:=false; Умовою безпомилкового виконання таких операторів є співпадання типів, тобто змінні в лівій частині (в нашому випадку це k, h та f) цих операторів повинні бути описані типом boolean. По-друге, результат обчислення логічних виразів "true" та "false" можна ще трактувати як "так" та "ні". Це наводить на думку про використання логічних виразів для визначення оцінки деякої ситуації, що склалася, і прийняття рішення про те, що робити далі.

Exit Приклади використання логічних виразів в операторах присвоювання Розглянемо фрагмент програми: x:=2; y:=3; k:=(x>1) and (y=3); k=(2>1) and (3=3); k=True and True k=True f:=k or not (x<y); f:=True or not (2<3); f=True of False f=False Після виконання цього фрагменту програми змінна k отримає значення True, а змінна f значення False Ці значення надалі можна буде використати в обчислювальному процесі.

Exit Вказівка розгалуження При вивченні теми Базові структури алгоритмів ми мали справу з вказівкою розгалуження. Пригадаємо її запис у вигляді блок-схеми на прикладі: В Паскалі логічному операторному блоку відповідає оператор If (якщо), а арифметичному операторному блоку оператор := (присвоїти) If thenelse If a>b then Max:=a else Max:=b; Фрагмент Паскаль-програми, що відповідає наведеному фрагменту блок-схеми:

Exit Запис алгоритмів з використанням вказівки розгалуження Механізм роботи оператора умовного переходу: - обчислюється ; - якщо значення логічного виразу True, то управління передається оператору P1, інакше (при значенні логічного виразу False) – управління передається оператору P2; - управління передається на наступний оператор програми. if – якщо then – то else – інакше Загальний вигляд повного оператора умовного переходу: if then P1 else P2; де може набувати одне з двох значень true або false, P1 та Р2 - це оператори. В Паскалі вказівка розгалуження реалізується оператором умовного переходу, який буває повним або скороченим.

Exit Схема алгоритму повного оператора умовного переходу Схема алгоритму наочно демонструє, що після аналізу значення логічного виразу буде вибраний лише один з наступних напрямків виконання алгоритму (Р1 або Р2), після чого цей алгоритм буде виконуватися далі. if then P1 else P2; Якщо логічний вираз має значення істина, то виконати оператор P1, інакше виконати оператор P2. Це означає:

Exit Скорочений оператор умовного переходу Загальний вигляд скороченого оператора умовного переходу: if then P; де значення параметрів такі самі, як і в повній формі.

Exit Скорочений оператор умовного переходу У скороченій формі оператору умовного переходу у випадку, коли логічний вираз набуде значення true, будуть виконані дії задані оператором P, а потім продовжено виконання алгоритму, а у випадку, коли логічний вираз набуде значення false, алгоритм відразу ж буде продовжено далі. if then P; Якщо логічний вираз має значення істина, то виконати оператор P. Це означає:

Exit Складений оператор Досі ми з вами мали справу лише з простим оператором присвоювання та оператором умовного переходу. А що робити, коли після службових слів then або else нам потрібно вказати не один такий оператор, а декілька? Для такого випадку у Паскалі введене поняття складеного оператора. Складеним оператором називають послідовність декількох операторів, розділених символом ";" та взятих в операторні дужки begin.. end Наприклад, if x>y then begin r:=y; y:=x; x:=y end else begin y:=0; x:=0 end; логічний вираз складений оператор 1 складений оператор 2

Exit Приклад програми з розгалуженням Program Prog1; var x, y : Real; Begin readln(x); if x<=9 then y:=2*x else y:=2+x; writeln(y); End. Записати програму визначення значення змінної y та виведення його на екран, якщо:

Exit Приклад програми з розгалуженням Program Prog1; var x, y : Real; Begin readln(x); if (x>=1) and (x<=9) then y:=2*x else y:=2+x; writeln(y); End. Записати програму визначення значення змінної y та виведення його на екран, якщо:

Exit Деякі зауваження На голубому фоні зліва та внизу показано дві ідентичні програми. За правилами запису програми на Паскалі не забороняється записувати елементи програми в рядок, як показано внизу. Але при цьому програма погано читається. Щоб програма була більш зрозумілою, її записують так, як показано ліворуч. Рамкою обведена одна вказівка, яка є вказівкою розгалуження. Її також можна було б записати в один рядок, але так вона зрозуміліша. Program Prog1; var x, y : Real; Begin readln(x); if x<=9 then y:=2*x else y:=2+x; writeln(y); End. Program Prog1; var x, y : Real; Begin readln(x); if x<=9 then y:=2*x else y:=2+x; writeln(y); End.

Exit Питання для самоконтролю: 1. Що називають логічними виразами? На які два типи вони поділяються? 2. Які знаки співвідношень використовуються для запису простих логічних виразів? 3. Назвіть логічні операції. 4. Поясність використання логічних операцій за таблицями Істинності. 5. Що називають складеним оператором? Які правила його запису? 6. Яким чином організоване розгалуження у Паскалі? 7. Чим відрізняються повна та скорочена форми оператора умовного переходу? 8. Запишіть загальний вигляд повної форми розгалуження. 9. Запишіть загальний вигляд скороченої форми розгалуження. 10. Намалюйте схеми алгоритмів обох варіантів розгалуження.