🗊Презентация Умовний оператор

Нажмите для полного просмотра!
Умовний оператор, слайд №1Умовний оператор, слайд №2Умовний оператор, слайд №3Умовний оператор, слайд №4Умовний оператор, слайд №5Умовний оператор, слайд №6Умовний оператор, слайд №7Умовний оператор, слайд №8Умовний оператор, слайд №9Умовний оператор, слайд №10Умовний оператор, слайд №11Умовний оператор, слайд №12Умовний оператор, слайд №13Умовний оператор, слайд №14Умовний оператор, слайд №15Умовний оператор, слайд №16Умовний оператор, слайд №17Умовний оператор, слайд №18Умовний оператор, слайд №19Умовний оператор, слайд №20Умовний оператор, слайд №21Умовний оператор, слайд №22Умовний оператор, слайд №23Умовний оператор, слайд №24Умовний оператор, слайд №25Умовний оператор, слайд №26Умовний оператор, слайд №27Умовний оператор, слайд №28Умовний оператор, слайд №29Умовний оператор, слайд №30Умовний оператор, слайд №31Умовний оператор, слайд №32Умовний оператор, слайд №33Умовний оператор, слайд №34Умовний оператор, слайд №35Умовний оператор, слайд №36Умовний оператор, слайд №37Умовний оператор, слайд №38Умовний оператор, слайд №39Умовний оператор, слайд №40Умовний оператор, слайд №41Умовний оператор, слайд №42Умовний оператор, слайд №43Умовний оператор, слайд №44Умовний оператор, слайд №45Умовний оператор, слайд №46Умовний оператор, слайд №47Умовний оператор, слайд №48Умовний оператор, слайд №49

Содержание

Вы можете ознакомиться и скачать презентацию на тему Умовний оператор. Доклад-сообщение содержит 49 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1






Кафедра інформаційних технологій
Описание слайда:
Кафедра інформаційних технологій

Слайд 2





Поняття умови
Описание слайда:
Поняття умови

Слайд 3





Поняття умови
Дуже часто в житті складаються ситуації, коли людина стоїть перед вибором. Піти в кіно чи підготуватися до уроку, допомогти матусі у домашній справах чи почитати книжку, взяти з собою парасольку чи залишити її вдома тощо. 
Врешті решт найвідоміша дилема «Бути чи не бути?» також ставить людину в ситуацію, коли потрібно зробити вибір. Усі ці проблеми можна вирішити тільки за певних умов. Якщо на уроці буде контрольна робота, скоріш за все переважить підготовка до уроку, якщо книжка не є програмним матеріалом, потрібно допомогти матусі, а якщо на вулиці йде дощ, парасолька є необхідною при виході на вулицю.
Описание слайда:
Поняття умови Дуже часто в житті складаються ситуації, коли людина стоїть перед вибором. Піти в кіно чи підготуватися до уроку, допомогти матусі у домашній справах чи почитати книжку, взяти з собою парасольку чи залишити її вдома тощо. Врешті решт найвідоміша дилема «Бути чи не бути?» також ставить людину в ситуацію, коли потрібно зробити вибір. Усі ці проблеми можна вирішити тільки за певних умов. Якщо на уроці буде контрольна робота, скоріш за все переважить підготовка до уроку, якщо книжка не є програмним матеріалом, потрібно допомогти матусі, а якщо на вулиці йде дощ, парасолька є необхідною при виході на вулицю.

Слайд 4





Поняття умови
З точки зору комп’ютера, який завжди повинен розв’язувати задачу досконало, вибір відбувається однозначно, незалежно від часу, стану системи або поганого самопочуття користувача. Забезпечується це перш за все поняттям умови.
З точки зору програмування умовою називається речення, на яке можна дати відповідь «так» або «ні». Більш наукове визначення умова – це вираз логічного типу, тобто це вираз, що може приймати значення «істина» або «хибність». З цієї точки зору речення «Яка зараз на вулиці погода?» не є умовою, а речення «На вулиці йде дощ?» – є.
Описание слайда:
Поняття умови З точки зору комп’ютера, який завжди повинен розв’язувати задачу досконало, вибір відбувається однозначно, незалежно від часу, стану системи або поганого самопочуття користувача. Забезпечується це перш за все поняттям умови. З точки зору програмування умовою називається речення, на яке можна дати відповідь «так» або «ні». Більш наукове визначення умова – це вираз логічного типу, тобто це вираз, що може приймати значення «істина» або «хибність». З цієї точки зору речення «Яка зараз на вулиці погода?» не є умовою, а речення «На вулиці йде дощ?» – є.

Слайд 5





Поняття умови
Найпростішим прикладом умови є будь-який вираз, що містить порівняння. Наприклад, x<5, sin(x)+cos(x)>2*sin(x), 5=3. 
Останній вираз, правда, викликає непорозуміння і бажання сказати, що він є неправильним, але давайте трохи поміркуємо. Цей вираз можна трактувати, як питання «число 5 дорівнює числу 3?». Очевидно, що на таке питання не вагаючись усі дадуть відповідь «ні». Повернемося тепер до поняття умови (умова – це речення, на яке…). Виходячи з цього означення, запропонований вираз є умовою, правда її значення завжди буде хибним. Комп’ютер може визначити «істинний» даний вираз чи ні, а тому запропонований запис буде сприйматися, як умова.
Описание слайда:
Поняття умови Найпростішим прикладом умови є будь-який вираз, що містить порівняння. Наприклад, x<5, sin(x)+cos(x)>2*sin(x), 5=3. Останній вираз, правда, викликає непорозуміння і бажання сказати, що він є неправильним, але давайте трохи поміркуємо. Цей вираз можна трактувати, як питання «число 5 дорівнює числу 3?». Очевидно, що на таке питання не вагаючись усі дадуть відповідь «ні». Повернемося тепер до поняття умови (умова – це речення, на яке…). Виходячи з цього означення, запропонований вираз є умовою, правда її значення завжди буде хибним. Комп’ютер може визначити «істинний» даний вираз чи ні, а тому запропонований запис буде сприйматися, як умова.

Слайд 6





Поняття умови
 
Описание слайда:
Поняття умови  

Слайд 7





Поняття умови
Пояснимо, як формуються складені умови. Для вказаного випадку наші міркування були наступними: щоб число належало вказаному діапазону, воно одночасно повинно бути більшим 0 та не меншим за 10. Тобто навіть у словесному описі прозвучало слово «ТА» (and – англійською мовою).
Одночасне справдження умов потрібне не завжди. Наприклад, щоб точка належала одній з осей координатної площини, достатньо, щоб хоча б одна з її координат дорівнювала 0. Словесно ми проговорюємо це як: координата x дорівнює 0 АБО (or – англійською мовою) координата y дорівнює 0. Запис мовою програмування Паскаль виглядає наступним чином:(x=0) or (y=0).
При цьому, якщо обидві координати дорівнюють 0, точка все одно належить осям, причому обом.
Описание слайда:
Поняття умови Пояснимо, як формуються складені умови. Для вказаного випадку наші міркування були наступними: щоб число належало вказаному діапазону, воно одночасно повинно бути більшим 0 та не меншим за 10. Тобто навіть у словесному описі прозвучало слово «ТА» (and – англійською мовою). Одночасне справдження умов потрібне не завжди. Наприклад, щоб точка належала одній з осей координатної площини, достатньо, щоб хоча б одна з її координат дорівнювала 0. Словесно ми проговорюємо це як: координата x дорівнює 0 АБО (or – англійською мовою) координата y дорівнює 0. Запис мовою програмування Паскаль виглядає наступним чином:(x=0) or (y=0). При цьому, якщо обидві координати дорівнюють 0, точка все одно належить осям, причому обом.

Слайд 8





Поняття умови
Достатньо рідко, але все ж таки трапляються випадки, коли потрібно справдження ТІЛЬКИ однієї умови. Наприклад, якби у попередньому випадку постала задача виокремити точку перетину координат і визначити, чи належить точка осям та не належить центру координат, ми б словесно сказали, що потрібно, щоб при нульовому значенні однієї координати інша була ненульовою. Це можна записати таким чином:((x=0)and(y<>0))or((y=0)and(x<>0)).
Записані вирази містять у собі крім констант, змінних, дужок та знаків порівнянь, ще так звані логічні операції and та or.
Існує ще одна логічна операція «виключне або» (xor), яка надає більш «вишуканий» спосіб записати останню наведену умову. Ця операція дає істинний результат тільки тоді, коли одна з наведених умов істинна, а друга хибна, тобто вираз (x=0)xor(y=0) буде істинним тоді і тільки тоді, коли одна координата нульова, а друга ненульова.
Описание слайда:
Поняття умови Достатньо рідко, але все ж таки трапляються випадки, коли потрібно справдження ТІЛЬКИ однієї умови. Наприклад, якби у попередньому випадку постала задача виокремити точку перетину координат і визначити, чи належить точка осям та не належить центру координат, ми б словесно сказали, що потрібно, щоб при нульовому значенні однієї координати інша була ненульовою. Це можна записати таким чином:((x=0)and(y<>0))or((y=0)and(x<>0)). Записані вирази містять у собі крім констант, змінних, дужок та знаків порівнянь, ще так звані логічні операції and та or. Існує ще одна логічна операція «виключне або» (xor), яка надає більш «вишуканий» спосіб записати останню наведену умову. Ця операція дає істинний результат тільки тоді, коли одна з наведених умов істинна, а друга хибна, тобто вираз (x=0)xor(y=0) буде істинним тоді і тільки тоді, коли одна координата нульова, а друга ненульова.

Слайд 9





Поняття умови
Для трьох вказаних логічних операцій існують так звані таблиці істинності, які пояснюють їх виконання:
Крім перелічених бінарних операцій (у кожній з цих операцій по два операнди) існує ще одна операція, що має один операнд – унарна операція not. Вона є протилежністю до вказаної умови або її інверсією, тобто вираз «x – не додатне число» можна записати таким чином: not(x>0).
Таблиця істинності цієї операції
наступна:
Описание слайда:
Поняття умови Для трьох вказаних логічних операцій існують так звані таблиці істинності, які пояснюють їх виконання: Крім перелічених бінарних операцій (у кожній з цих операцій по два операнди) існує ще одна операція, що має один операнд – унарна операція not. Вона є протилежністю до вказаної умови або її інверсією, тобто вираз «x – не додатне число» можна записати таким чином: not(x>0). Таблиця істинності цієї операції наступна:

Слайд 10





Команда розгалуження
Часто задача при різних вхідних даних може мати різні відповіді. Наприклад, квадратне рівняння може мати один корінь, два кореня або взагалі не мати коренів, точка на координатній площині може знаходитись у одній з чотирьох можливих чвертей, а трикутник може бути рівностороннім, рівнобічним, прямокутним, гострокутним, тупокутним тощо. Для обробки різних ситуацій в програмуванні існують два умовних оператора – if та case, які називаються операторами розгалуження. Вони дозволяють реалізувати в алгоритмі перевірку деякої умови й обробку ситуації у відповідності до неї.
Хоча обидва ці оператори за своєю суттю є умовними, однак, історично склалося так, що оператором розгалуження (умовним оператором) називають оператор if, а оператор case називають оператором вибору або оператором варіанта. У подальшому будемо дотримуватися цієї історичної термінології.
Описание слайда:
Команда розгалуження Часто задача при різних вхідних даних може мати різні відповіді. Наприклад, квадратне рівняння може мати один корінь, два кореня або взагалі не мати коренів, точка на координатній площині може знаходитись у одній з чотирьох можливих чвертей, а трикутник може бути рівностороннім, рівнобічним, прямокутним, гострокутним, тупокутним тощо. Для обробки різних ситуацій в програмуванні існують два умовних оператора – if та case, які називаються операторами розгалуження. Вони дозволяють реалізувати в алгоритмі перевірку деякої умови й обробку ситуації у відповідності до неї. Хоча обидва ці оператори за своєю суттю є умовними, однак, історично склалося так, що оператором розгалуження (умовним оператором) називають оператор if, а оператор case називають оператором вибору або оператором варіанта. У подальшому будемо дотримуватися цієї історичної термінології.

Слайд 11





Команда розгалуження
Вибір одного з двох можливих шляхів обчислення задають за допомогою оператору розгалуження (умовного оператору), що має такий вигляд.
if <умова> then <оператор1> [else <оператор2>];
Квадратні дужки у запису означають, що відповідна гілка може бути відсутньою, тобто оператор розгалуження можна записати у такому вигляді:
if <умова> then <оператор1>;
Перша форма запису оператора називається повною (дивись її представлення мовою блок-схем на рис. 1,а), а друга – скороченою (див. рис. 1,б).
Описание слайда:
Команда розгалуження Вибір одного з двох можливих шляхів обчислення задають за допомогою оператору розгалуження (умовного оператору), що має такий вигляд. if <умова> then <оператор1> [else <оператор2>]; Квадратні дужки у запису означають, що відповідна гілка може бути відсутньою, тобто оператор розгалуження можна записати у такому вигляді: if <умова> then <оператор1>; Перша форма запису оператора називається повною (дивись її представлення мовою блок-схем на рис. 1,а), а друга – скороченою (див. рис. 1,б).

Слайд 12





Команда розгалуження
При виконанні оператора розгалуження спочатку обчислюється значення умови. Якщо отримано значення true, то виконується оператор, записаний після слова then, і на цьому виконання закінчується. Якщо отримано значення false, виконується оператор, записаний після else. Обидва оператори довільні і можуть бути як простими, так і складеними.
Увага! Наголосимо ще раз на тому, що оператори розділяються символом «;». Це означає, що усередині умовного оператора символ «;» зустрічатися не повинен, інакше усе, що стоїть після нього, буде вважатися іншим оператором. Перед ключовим словом else символ «;» ніколи не ставиться!
Описание слайда:
Команда розгалуження При виконанні оператора розгалуження спочатку обчислюється значення умови. Якщо отримано значення true, то виконується оператор, записаний після слова then, і на цьому виконання закінчується. Якщо отримано значення false, виконується оператор, записаний після else. Обидва оператори довільні і можуть бути як простими, так і складеними. Увага! Наголосимо ще раз на тому, що оператори розділяються символом «;». Це означає, що усередині умовного оператора символ «;» зустрічатися не повинен, інакше усе, що стоїть після нього, буде вважатися іншим оператором. Перед ключовим словом else символ «;» ніколи не ставиться!

Слайд 13





Команда розгалуження
Ще одна складність використання оператора if виникає при написанні вкладених операторів рогалуження. У випадку, якщо вкладений оператор if міститься в межах складеного оператора, великих проблем не виникає, оскільки рятують операторні дужки begin ...end, а якщо вкладений умовний оператор є єдиним оператором у гілки else, виникає неоднозначність: якому if відповідає else. Наприклад,
if <умова 1>  then if <умова 2> 
                                          then <оператор1>
                                        else <оператор2>;
У таких випадках слід пам’ятати таке правило:
Ключове слово else зв'язується з найближчим, що стоїть перед ним ключовим словом if, яке ще не було зв’язане з яким-небудь ключовим словом else.
Описание слайда:
Команда розгалуження Ще одна складність використання оператора if виникає при написанні вкладених операторів рогалуження. У випадку, якщо вкладений оператор if міститься в межах складеного оператора, великих проблем не виникає, оскільки рятують операторні дужки begin ...end, а якщо вкладений умовний оператор є єдиним оператором у гілки else, виникає неоднозначність: якому if відповідає else. Наприклад, if <умова 1> then if <умова 2> then <оператор1> else <оператор2>; У таких випадках слід пам’ятати таке правило: Ключове слово else зв'язується з найближчим, що стоїть перед ним ключовим словом if, яке ще не було зв’язане з яким-небудь ключовим словом else.

Слайд 14





Команда вибору
Оператор вибору case є узагальненням оператора if. Він дає можливість виконання одного з декількох операторів в залежності від значення перемикача. Конструкція цього оператору є ідеальним засобом для обробки ситуацій з декількома виходами, коли умова може приймати більше двох значень.
Оператор має такий вигляд: 
case <вираз-селектор> of
    <список констант 1>: <оператор 1>;
    <список констант 2>: <оператор 2>;
            . . . 
    <список констант N>: <оператор N>;
   [else <оператор N+1>]
end;
Описание слайда:
Команда вибору Оператор вибору case є узагальненням оператора if. Він дає можливість виконання одного з декількох операторів в залежності від значення перемикача. Конструкція цього оператору є ідеальним засобом для обробки ситуацій з декількома виходами, коли умова може приймати більше двох значень. Оператор має такий вигляд: case <вираз-селектор> of <список констант 1>: <оператор 1>; <список констант 2>: <оператор 2>; . . . <список констант N>: <оператор N>; [else <оператор N+1>] end;

Слайд 15





Команда вибору
Оператор вибору case є узагальненням оператора if. Він дає Як і в умовному операторі квадратними дужками показано, що гілка else може бути відсутньою, утворюючи скорочену форму команди вибору. 
case <вираз-селектор> of
    <список констант 1>: <оператор 1>;
. . . 
    <список констант N>: <оператор N>;
end;
Оператори, що стоять після двокрапки можуть бути як простими, так і структурованими. У ролі виразу-селектора використовується той, що розташовується між ключовими словами case і of. Цей вираз може бути тільки порядкового типу, до якого відносяться усі цілі числові типи, крім восьмибайтового, символьні та логічні типи. Всі константи вибору повинні бути унікальними і мати тип, сумісний з типом перемикача.
Описание слайда:
Команда вибору Оператор вибору case є узагальненням оператора if. Він дає Як і в умовному операторі квадратними дужками показано, що гілка else може бути відсутньою, утворюючи скорочену форму команди вибору. case <вираз-селектор> of <список констант 1>: <оператор 1>; . . . <список констант N>: <оператор N>; end; Оператори, що стоять після двокрапки можуть бути як простими, так і структурованими. У ролі виразу-селектора використовується той, що розташовується між ключовими словами case і of. Цей вираз може бути тільки порядкового типу, до якого відносяться усі цілі числові типи, крім восьмибайтового, символьні та логічні типи. Всі константи вибору повинні бути унікальними і мати тип, сумісний з типом перемикача.

Слайд 16





Команда вибору
Список констант може складатися з однієї, двох і більше констант, які вказуються через кому або, у разі послідовних значень, вказуються два крайніх значення, розділених двома крапками (символом діапазону).
case <вираз-селектор> of
  const_one:<оператор>;		// одна константа
  const1, const2: <оператор1>; 	// список констант
  min..max: <оператор2>;		// діапазон констант
end;
Виконання оператора вибору починається з обчислення виразу-селектора. Якщо результат обчислення дорівнює одній із вказаних констант, виконується відповідний оператор з подальшим передаванням керування за межі оператора вибору. Якщо зна­чення виразу не збігається з жодною з констант, виконується оператор, що стоїть після гілки else (у разі її наявності), або управління передається на оператор, який слідує за end.
Описание слайда:
Команда вибору Список констант може складатися з однієї, двох і більше констант, які вказуються через кому або, у разі послідовних значень, вказуються два крайніх значення, розділених двома крапками (символом діапазону). case <вираз-селектор> of const_one:<оператор>; // одна константа const1, const2: <оператор1>; // список констант min..max: <оператор2>; // діапазон констант end; Виконання оператора вибору починається з обчислення виразу-селектора. Якщо результат обчислення дорівнює одній із вказаних констант, виконується відповідний оператор з подальшим передаванням керування за межі оператора вибору. Якщо зна­чення виразу не збігається з жодною з констант, виконується оператор, що стоїть після гілки else (у разі її наявності), або управління передається на оператор, який слідує за end.

Слайд 17





Вчимося розв’язувати задачі
Авторами була розглянута велика кількість задач із застосуванням команд розгалуження. Деякі з них можна згрупувати за методом розв’язання, а тому вашій увазі пропонується розбиття на категорії, в якому спочатку представлена базова задача з розбором, а потім умови подібних задач. Пропануємо вам розглянути 9 категорій задач:
Описание слайда:
Вчимося розв’язувати задачі Авторами була розглянута велика кількість задач із застосуванням команд розгалуження. Деякі з них можна згрупувати за методом розв’язання, а тому вашій увазі пропонується розбиття на категорії, в якому спочатку представлена базова задача з розбором, а потім умови подібних задач. Пропануємо вам розглянути 9 категорій задач:

Слайд 18





І категорія. 
 
Описание слайда:
І категорія.  

Слайд 19





І категорія. 
Фрагмент тексту програми має вигляд:
var a,b,c:real;
Begin    write(‘Input number  ’);  {Уведення вхідних даних}   readln(a,b,c);
   if (a>=b)and(b>=c) {Команда розгалуження, що відповідає умові}
   then begin      a:=2*a; b:=2*b; c:=2*c;
        end
   else begin
      a:=abs(a); b:=abs(b); c:=abs(c);
       end;
   writeln(‘a=’,a:8:2);     {Виведення результатів}
   writeln(‘b=’,b:8:2);     {у відформатованому вигляді}
   writeln(‘c=’,c:8:2);
   end.
Описание слайда:
І категорія. Фрагмент тексту програми має вигляд: var a,b,c:real; Begin write(‘Input number ’); {Уведення вхідних даних} readln(a,b,c); if (a>=b)and(b>=c) {Команда розгалуження, що відповідає умові} then begin a:=2*a; b:=2*b; c:=2*c; end else begin a:=abs(a); b:=abs(b); c:=abs(c); end; writeln(‘a=’,a:8:2); {Виведення результатів} writeln(‘b=’,b:8:2); {у відформатованому вигляді} writeln(‘c=’,c:8:2); end.

Слайд 20





ІІ категорія
 
Описание слайда:
ІІ категорія  

Слайд 21





ІІ категорія
Фрагмент тексту програми має вигляд:
var x,y:real;
begin   write(‘Input number  ’);   readln(x);
   if (2*x-10>=0)and(sqr(x)-1<>0)
   then begin 
      y:=sqrt(2*x-10)/(sqr(x)-1);
      writeln(‘y=’,y:0:2);
   end
   else writeln(‘Error’);
   readln;
end.
Описание слайда:
ІІ категорія Фрагмент тексту програми має вигляд: var x,y:real; begin write(‘Input number ’); readln(x); if (2*x-10>=0)and(sqr(x)-1<>0) then begin y:=sqrt(2*x-10)/(sqr(x)-1); writeln(‘y=’,y:0:2); end else writeln(‘Error’); readln; end.

Слайд 22





ІІ категорія
 
Описание слайда:
ІІ категорія  

Слайд 23





ІII категорія. 
Знайти максимальне (мінімальне) значення з двох (трьох) чисел.
Умова задачі. Дано два числа. Знайти серед них число з найбільшим значенням.
Розв’язок задачі:
У запропонованій задачі вперше ми стикнулися з ситуацією, коли в умові не оговорені типи вхідних значень. Такі задачі зустрічаються досить часто, оскільки програмування, як прикладна дисципліна, вимагає від програміста вміння аналізувати можливі варіанти вхідних даних та обробляти усі ситуації, навіть такі, що здаються неможливими з точки зору «здорового глузду». Адже користувачем програми іноді може бути людина недосвідчена, а іноді і така, що навмисно буде намагатися привести до аварійного завершення програми.
Запропонована задача, очевидно, повинна вміти обробляти будь-які числа (цілі або дійсні), а тому всі змінні для програми має сенс вибирати дійсними, щоб надати можливість працювати як з цілими (вони є підмножиною дійсних чисел) так і з дробовими числами.
Описание слайда:
ІII категорія. Знайти максимальне (мінімальне) значення з двох (трьох) чисел. Умова задачі. Дано два числа. Знайти серед них число з найбільшим значенням. Розв’язок задачі: У запропонованій задачі вперше ми стикнулися з ситуацією, коли в умові не оговорені типи вхідних значень. Такі задачі зустрічаються досить часто, оскільки програмування, як прикладна дисципліна, вимагає від програміста вміння аналізувати можливі варіанти вхідних даних та обробляти усі ситуації, навіть такі, що здаються неможливими з точки зору «здорового глузду». Адже користувачем програми іноді може бути людина недосвідчена, а іноді і така, що навмисно буде намагатися привести до аварійного завершення програми. Запропонована задача, очевидно, повинна вміти обробляти будь-які числа (цілі або дійсні), а тому всі змінні для програми має сенс вибирати дійсними, щоб надати можливість працювати як з цілими (вони є підмножиною дійсних чисел) так і з дробовими числами.

Слайд 24





ІII категорія. 
Крім того, зауважимо, що має сенс увести ще одну змінну, яка буде зберігати знайдене максимальне значення, оскільки в більшості випадків сам пошук максимуму буду підзадачею деякої іншої задачі, що використовуватиме знайдене найбільше значення для подальших обрахунків. Зверніть також увагу, що при рівних числах з точки зору програмування вони обидва є максимальними, а тому така ситуація окремо не обробляється і максимуму надається будь-яке з двох значень.
Фрагмент тексту програми має вигляд:
var x,y,max:real;
begin   write(‘Input numbers  ’);   readln(x,y);
   if x>y {Умову можна переформулювати, як x>=y}
            then max:=x   else max:=y;
   writeln(‘max=’,max:0:2);
   end.
Описание слайда:
ІII категорія. Крім того, зауважимо, що має сенс увести ще одну змінну, яка буде зберігати знайдене максимальне значення, оскільки в більшості випадків сам пошук максимуму буду підзадачею деякої іншої задачі, що використовуватиме знайдене найбільше значення для подальших обрахунків. Зверніть також увагу, що при рівних числах з точки зору програмування вони обидва є максимальними, а тому така ситуація окремо не обробляється і максимуму надається будь-яке з двох значень. Фрагмент тексту програми має вигляд: var x,y,max:real; begin write(‘Input numbers ’); readln(x,y); if x>y {Умову можна переформулювати, як x>=y} then max:=x else max:=y; writeln(‘max=’,max:0:2); end.

Слайд 25





ІII категорія. 
При пошуку максимуму з трьох чисел можна отримати розв’язок трьома методами. Пропонуємо подумати, який із запропонованих нижче розв’язків буде оптимальнішим за часом (менша кількість зайвих перевірок).
1 метод. Трьох чисел максимальне може бути тільки одне з них, а тому можна отримати три ситуації, які обробляються скороченими оператора розгалуження:
   if (x>=y)and(x>=z) then max:=x;
   if (y>=x)and(y>=z) then max:=y;
   if (z>=x)and(z>=y) then max:=z;
2 метод. При пошуку максимального значення з трьох чисел можна спочатку знайти максимум з двох чисел, а потім максимум зі знайденого максимуму та третього числа. Тобто
   if x>y   then max:=x   else max:=y;
   if max<z   then max:=z;
Описание слайда:
ІII категорія. При пошуку максимуму з трьох чисел можна отримати розв’язок трьома методами. Пропонуємо подумати, який із запропонованих нижче розв’язків буде оптимальнішим за часом (менша кількість зайвих перевірок). 1 метод. Трьох чисел максимальне може бути тільки одне з них, а тому можна отримати три ситуації, які обробляються скороченими оператора розгалуження: if (x>=y)and(x>=z) then max:=x; if (y>=x)and(y>=z) then max:=y; if (z>=x)and(z>=y) then max:=z; 2 метод. При пошуку максимального значення з трьох чисел можна спочатку знайти максимум з двох чисел, а потім максимум зі знайденого максимуму та третього числа. Тобто if x>y then max:=x else max:=y; if max<z then max:=z;

Слайд 26





ІII категорія. 
3 метод. Підхід пошуку максимуму не змінюється відносно попереднього випадку, змінюється тільки форма запису:
   if x>y
   then {На цій гілці більшим з двох (x або y) є x}
        if x>z
        then max:=x
        else max:=z
   else {На цій гілці більшим з двох (x або y) є y}
        if y>z
        then max:=y
        else max:=z;
Описание слайда:
ІII категорія. 3 метод. Підхід пошуку максимуму не змінюється відносно попереднього випадку, змінюється тільки форма запису: if x>y then {На цій гілці більшим з двох (x або y) є x} if x>z then max:=x else max:=z else {На цій гілці більшим з двох (x або y) є y} if y>z then max:=y else max:=z;

Слайд 27





ІV категорія
Задачі про координатну площину. Більшість цих задач пов’язана з визначенням належності точки визначеної області координатної площини. 
Умова задачі. Не будемо розглядати очевидні задачі типу, якій чверті координатної площини належить задана точка, а розглянемо задачу з більш складною областю, що відмічена штриховкою. Наприклад таку:
Розв’язок задачі: Задачі такого типу розв’язуються, виходячи з наступних міркувань: щоб точка лежала на прямій, потрібно справдження рівності, в якій координати точки підставляються у рівняння заданої прямої. Відповідно, якщо точка не лежить на прямій, рівність перетворюється на нерівність, причому нижче прямої у нерівність типу
Описание слайда:
ІV категорія Задачі про координатну площину. Більшість цих задач пов’язана з визначенням належності точки визначеної області координатної площини. Умова задачі. Не будемо розглядати очевидні задачі типу, якій чверті координатної площини належить задана точка, а розглянемо задачу з більш складною областю, що відмічена штриховкою. Наприклад таку: Розв’язок задачі: Задачі такого типу розв’язуються, виходячи з наступних міркувань: щоб точка лежала на прямій, потрібно справдження рівності, в якій координати точки підставляються у рівняння заданої прямої. Відповідно, якщо точка не лежить на прямій, рівність перетворюється на нерівність, причому нижче прямої у нерівність типу

Слайд 28





ІV категорія
 
Описание слайда:
ІV категорія  

Слайд 29





ІV категорія
 
Описание слайда:
ІV категорія  

Слайд 30





V категорія. 
Задачі на перевірку властивостей цілих чисел. Майже всі ці задачі передбачають розбиття числа на окремі цифри з наступним їх аналізом.
Умова задачі. Дано чотирицифрове натуральне число N. Перевірити, чи є це число:
паліндромом (число, яке читається з обох боків однаково, наприклад, 1331);
щасливим (сума перших двох цифр числа дорівнює сумі других двох, наприклад, 1203);
таким, що всі його цифри парні.
Розв’язок задачі:
Ці задачі, по-перше, також вимагають перевірки коректності вхідних даних, оскільки розбиття числа на цифри залежить від їх кількості. По-друге, щоб розбити число на цифри, потрібно застосувати операції цілочисельного ділення та знаходження залишку від цілочисельного ділення числа на 10.
Описание слайда:
V категорія. Задачі на перевірку властивостей цілих чисел. Майже всі ці задачі передбачають розбиття числа на окремі цифри з наступним їх аналізом. Умова задачі. Дано чотирицифрове натуральне число N. Перевірити, чи є це число: паліндромом (число, яке читається з обох боків однаково, наприклад, 1331); щасливим (сума перших двох цифр числа дорівнює сумі других двох, наприклад, 1203); таким, що всі його цифри парні. Розв’язок задачі: Ці задачі, по-перше, також вимагають перевірки коректності вхідних даних, оскільки розбиття числа на цифри залежить від їх кількості. По-друге, щоб розбити число на цифри, потрібно застосувати операції цілочисельного ділення та знаходження залишку від цілочисельного ділення числа на 10.

Слайд 31





V категорія. 
Так, наприклад, операція N mod 10 дозволяє отримати останню цифру числа (цифру одиниць), оскільки залишок від ділення числа на 10 дорівнює саме цій цифрі, а операція N div 10 дозволяє «відкинути» цифру від числа. Не пояснюючи докладно усі команди, наведемо ті, які дозволяють отримати з чотирицифрового числа його окремі цифри (цифри нумеруються справа наліво):
c1:=N mod 10;
c2:=(N div 10) mod 10;
c3:=(N div 100) mod 10;
c4:=N div 1000;
Далі розв’язок стає очевидним, оскільки потрібно або порівняти відповідні цифри, або знайти суму деяких цифр, або перевірити властивості самих цифр.
Описание слайда:
V категорія. Так, наприклад, операція N mod 10 дозволяє отримати останню цифру числа (цифру одиниць), оскільки залишок від ділення числа на 10 дорівнює саме цій цифрі, а операція N div 10 дозволяє «відкинути» цифру від числа. Не пояснюючи докладно усі команди, наведемо ті, які дозволяють отримати з чотирицифрового числа його окремі цифри (цифри нумеруються справа наліво): c1:=N mod 10; c2:=(N div 10) mod 10; c3:=(N div 100) mod 10; c4:=N div 1000; Далі розв’язок стає очевидним, оскільки потрібно або порівняти відповідні цифри, або знайти суму деяких цифр, або перевірити властивості самих цифр.

Слайд 32





V категорія. 
Фрагмент тексту програми має вигляд:
var c1,c2,c3,c4:byte; N:word;
Begin    write(‘Input numbers  ’);   readln(N);
   if (N<1000)or(N>9999) {Перевірка коректності вхідних даних}   then               
                  writeln(‘Input error’)   else begin
                      c1:=N mod 10;         c2:=(N div 10) mod 10;
                    c3:=(N div 100) mod 10;          c4:=N div 1000;
               if (c1=c4)and(c2=c3   {Крайні та середні цифри рівні між собою}
                then writeln(‘Palindrom’)     else writeln(‘Not palindrom’);
         if c1+c2=c3+c4     {Сума перших двох цифр дорівнює сум двох останніх}
         then writeln(‘Happy)    else writeln(‘Not happy);
        if (c1 mod 2 = 0)and(c2 mod 2 = 0)and(c3 mod 2 = 0)and(c4 mod 2 = 0)
         {кожна цифра числа є парною}
         then writeln(‘Numbers parity’)   else writeln(‘Numbers not parity’);
   end;  
end.
Описание слайда:
V категорія. Фрагмент тексту програми має вигляд: var c1,c2,c3,c4:byte; N:word; Begin write(‘Input numbers ’); readln(N); if (N<1000)or(N>9999) {Перевірка коректності вхідних даних} then writeln(‘Input error’) else begin c1:=N mod 10; c2:=(N div 10) mod 10; c3:=(N div 100) mod 10; c4:=N div 1000; if (c1=c4)and(c2=c3 {Крайні та середні цифри рівні між собою} then writeln(‘Palindrom’) else writeln(‘Not palindrom’); if c1+c2=c3+c4 {Сума перших двох цифр дорівнює сум двох останніх} then writeln(‘Happy) else writeln(‘Not happy); if (c1 mod 2 = 0)and(c2 mod 2 = 0)and(c3 mod 2 = 0)and(c4 mod 2 = 0) {кожна цифра числа є парною} then writeln(‘Numbers parity’) else writeln(‘Numbers not parity’); end; end.

Слайд 33





VI категорія
Геометричні задачі. Ці задачі також можна умовно поділити на задачі кількох підгруп:
задачі на можливість існування певної фігури – трикутника, квадрата, ромба, прямокутника тощо;
задачі на різновиди трикутників – прямокутний, гострокутний, тупокутний або рівносторонній, рівнобічний, різносторонній;
належність точки прямій.
Задача V.1. Дано три числа a, b та c. З’ясувати, чи можна побудувати трикутник, довжини сторін якого дорівнюють цим числам.
Розв’язок задачі:
У задачах даної категорії вперше з’являється поняття некоректних вхідних даних. Так, наприклад, довжини сторін не можуть бути від’ємними або нульовими. А тому після уведення вхідних даних обов’язково потрібно перевірити їх коректність і, якщо дані некоректні, вивести про це повідомлення.
Описание слайда:
VI категорія Геометричні задачі. Ці задачі також можна умовно поділити на задачі кількох підгруп: задачі на можливість існування певної фігури – трикутника, квадрата, ромба, прямокутника тощо; задачі на різновиди трикутників – прямокутний, гострокутний, тупокутний або рівносторонній, рівнобічний, різносторонній; належність точки прямій. Задача V.1. Дано три числа a, b та c. З’ясувати, чи можна побудувати трикутник, довжини сторін якого дорівнюють цим числам. Розв’язок задачі: У задачах даної категорії вперше з’являється поняття некоректних вхідних даних. Так, наприклад, довжини сторін не можуть бути від’ємними або нульовими. А тому після уведення вхідних даних обов’язково потрібно перевірити їх коректність і, якщо дані некоректні, вивести про це повідомлення.

Слайд 34





VI категорія
Спроба використати беззнакові цілі типи для збереження вхідних даних не є слушною, оскільки довжини довільних трикутників можуть мати дробові значення.
Тепер розглянемо математичну модель задачі. Очевидно, що навіть маючи три додатних числа, ми не завжди зможемо побудувати трикутник з такими сторонами. З курсу математики учням відоме таке правило: трикутник можна побудувати тоді і тільки тоді, коли сума довжин двох менших сторін буде більшою за довжину третьої сторони. Часто стереотип мислення помилково підказує, що меншими повинні бути сторони a та b, а с – це найбільша сторона. І тому на прикладі цієї задачі потрібно привчати учнів розглядати всі можливі випадки і перевіряти всі умови. Для даної задачі можливі три випадки, коли найбільшою буде одна з трьох сторін і тому повний розв’язок буде містить складену умову з трьох простих умов, поєднаних логічною операцією and (одночасне справдження трьох умов). Відповідь у цій задачі, як і раніше, буде у вигляді «YES» або «NO» в залежності від того можна чи не можна побудувати трикутник.
Описание слайда:
VI категорія Спроба використати беззнакові цілі типи для збереження вхідних даних не є слушною, оскільки довжини довільних трикутників можуть мати дробові значення. Тепер розглянемо математичну модель задачі. Очевидно, що навіть маючи три додатних числа, ми не завжди зможемо побудувати трикутник з такими сторонами. З курсу математики учням відоме таке правило: трикутник можна побудувати тоді і тільки тоді, коли сума довжин двох менших сторін буде більшою за довжину третьої сторони. Часто стереотип мислення помилково підказує, що меншими повинні бути сторони a та b, а с – це найбільша сторона. І тому на прикладі цієї задачі потрібно привчати учнів розглядати всі можливі випадки і перевіряти всі умови. Для даної задачі можливі три випадки, коли найбільшою буде одна з трьох сторін і тому повний розв’язок буде містить складену умову з трьох простих умов, поєднаних логічною операцією and (одночасне справдження трьох умов). Відповідь у цій задачі, як і раніше, буде у вигляді «YES» або «NO» в залежності від того можна чи не можна побудувати трикутник.

Слайд 35





VI категорія
Фрагмент тексту програми має вигляд:
var a,b,c:real;
begin   write(‘Input numbers  ’);   readln(a,b,c);
   if (a<=0)or(b<=0)or(c<=0)   {Перевірка коректності вхідних даних}   then writeln(‘Input error’)
     else if (a+b>c)and(a+c>b)and(c+b>a)
              then writeln(‘YES’)    else writeln(‘NO’);
   readln;
end.
Зауважимо, що теоретично відповідь можна виводити будь-якими літерами (великими чи малими), оскільки людина сприймає їх зміст однаково. Але, готуючись до машинної перевірки розв’язків, можна привчати учнів до строгості навіть у цьому, чітко оговорюючи, якими саме літерами потрібно виводити результат.
Описание слайда:
VI категорія Фрагмент тексту програми має вигляд: var a,b,c:real; begin write(‘Input numbers ’); readln(a,b,c); if (a<=0)or(b<=0)or(c<=0) {Перевірка коректності вхідних даних} then writeln(‘Input error’) else if (a+b>c)and(a+c>b)and(c+b>a) then writeln(‘YES’) else writeln(‘NO’); readln; end. Зауважимо, що теоретично відповідь можна виводити будь-якими літерами (великими чи малими), оскільки людина сприймає їх зміст однаково. Але, готуючись до машинної перевірки розв’язків, можна привчати учнів до строгості навіть у цьому, чітко оговорюючи, якими саме літерами потрібно виводити результат.

Слайд 36





VI категорія
 
Описание слайда:
VI категорія  

Слайд 37





VI категорія
Задача V.2. Дано три числа a, b та c. Визначити чи є трикутник, довжини сторін якого дорівнюють заданим числам, прямокутним.
Розв’язок задачі:
Задачі даного типу є продовженням попереднього, оскільки її повний розв’язок передбачає спочатку перевірку можливості існування даного трикутника. Зверніть увагу, що теоретично задані числа можуть бути і кутами трикутника. І крім того, можна ще задавати трикутник координатами точок на площині. У перших двох випадках (сторони і кути) потрібно обов’язково перевіряти коректність вхідних даних.
Якщо трикутник існує, то визначення, чи є він прямокутним, виконується з використанням теореми Піфагора. Зауважимо при цьому, що шкільний стереотип, який наголошує, що a та b – катети, а с – гіпотенуза, є необов’язковим у програмуванні. А тому потрібно перевірити три можливих випадки справдження цього рівняння.
Описание слайда:
VI категорія Задача V.2. Дано три числа a, b та c. Визначити чи є трикутник, довжини сторін якого дорівнюють заданим числам, прямокутним. Розв’язок задачі: Задачі даного типу є продовженням попереднього, оскільки її повний розв’язок передбачає спочатку перевірку можливості існування даного трикутника. Зверніть увагу, що теоретично задані числа можуть бути і кутами трикутника. І крім того, можна ще задавати трикутник координатами точок на площині. У перших двох випадках (сторони і кути) потрібно обов’язково перевіряти коректність вхідних даних. Якщо трикутник існує, то визначення, чи є він прямокутним, виконується з використанням теореми Піфагора. Зауважимо при цьому, що шкільний стереотип, який наголошує, що a та b – катети, а с – гіпотенуза, є необов’язковим у програмуванні. А тому потрібно перевірити три можливих випадки справдження цього рівняння.

Слайд 38





VI категорія
Фрагмент тексту програми має вигляд:
var a,b,c:real;
Begin    write(‘Input numbers  ’);   readln(a,b,c);
   if (a<=0)or(b<=0)or(c<=0)   {Перевірка коректності вхідних даних}
   then writeln(‘Input error’)
   else if (a+b>c)and(a+c>b)and(c+b>a)  {Перевірка можливості побудови}
      then if (a*a+b*b=c*c)or(a*a+c*c=b*b)or(c*c+b*b=a*a)
             then writeln(‘Right triangel’)
             else writeln(‘Not right triangel’)
        else writeln(‘NO’);
   end.
Описание слайда:
VI категорія Фрагмент тексту програми має вигляд: var a,b,c:real; Begin write(‘Input numbers ’); readln(a,b,c); if (a<=0)or(b<=0)or(c<=0) {Перевірка коректності вхідних даних} then writeln(‘Input error’) else if (a+b>c)and(a+c>b)and(c+b>a) {Перевірка можливості побудови} then if (a*a+b*b=c*c)or(a*a+c*c=b*b)or(c*c+b*b=a*a) then writeln(‘Right triangel’) else writeln(‘Not right triangel’) else writeln(‘NO’); end.

Слайд 39





VI категорія
Фрагмент тексту програми має вигляд:
var a,b,c:real;
Begin    write(‘Input numbers  ’);   readln(a,b,c);
   if (a<=0)or(b<=0)or(c<=0)   {Перевірка коректності вхідних даних}
   then writeln(‘Input error’)
   else if (a+b>c)and(a+c>b)and(c+b>a)  {Перевірка можливості побудови}
      then if (a*a+b*b=c*c)or(a*a+c*c=b*b)or(c*c+b*b=a*a)
             then writeln(‘Right triangel’)
             else writeln(‘Not right triangel’)
        else writeln(‘NO’);
   readln;
end.
Описание слайда:
VI категорія Фрагмент тексту програми має вигляд: var a,b,c:real; Begin write(‘Input numbers ’); readln(a,b,c); if (a<=0)or(b<=0)or(c<=0) {Перевірка коректності вхідних даних} then writeln(‘Input error’) else if (a+b>c)and(a+c>b)and(c+b>a) {Перевірка можливості побудови} then if (a*a+b*b=c*c)or(a*a+c*c=b*b)or(c*c+b*b=a*a) then writeln(‘Right triangel’) else writeln(‘Not right triangel’) else writeln(‘NO’); readln; end.

Слайд 40





VI категорія
Задача V.3. Дано координати трьох точок на координатній площині. Визначити, чи лежать ці точки на одній прямій.
Розв’язок задачі: Для розв’язання даного класу задач знову повернемось до рівняння прямої, що проходить через дві точки:
Очевидно, що якщо всі задані точки лежать на одній прямій, підстановка координат третьої точки в рівняння прямої повинно перетворити рівняння у рівність. Рекомендуємо при цьому позбавитись у рівнянні операції ділення нескладним алгебраїчним перетворенням:
Фрагмент тексту програми має вигляд:
var x1,y1,x2,y1,x3,y3:real;
Begin    write(‘Input points 1  ’);   readln(x1,y1);
   write(‘Input points 2  ’);   readln(x2,y2);
   write(‘Input points 3  ’);   readln(x3,y3);
   if (x3-x1)*(y1-y2)=(y3-y1)*(x1-x2)
   then writeln(‘Straight line’)    else writeln(‘Not straight line’);
   end.
Описание слайда:
VI категорія Задача V.3. Дано координати трьох точок на координатній площині. Визначити, чи лежать ці точки на одній прямій. Розв’язок задачі: Для розв’язання даного класу задач знову повернемось до рівняння прямої, що проходить через дві точки: Очевидно, що якщо всі задані точки лежать на одній прямій, підстановка координат третьої точки в рівняння прямої повинно перетворити рівняння у рівність. Рекомендуємо при цьому позбавитись у рівнянні операції ділення нескладним алгебраїчним перетворенням: Фрагмент тексту програми має вигляд: var x1,y1,x2,y1,x3,y3:real; Begin write(‘Input points 1 ’); readln(x1,y1); write(‘Input points 2 ’); readln(x2,y2); write(‘Input points 3 ’); readln(x3,y3); if (x3-x1)*(y1-y2)=(y3-y1)*(x1-x2) then writeln(‘Straight line’) else writeln(‘Not straight line’); end.

Слайд 41





VІІ категорія. 
 
Описание слайда:
VІІ категорія.  

Слайд 42





VІІ категорія. 
 
Описание слайда:
VІІ категорія.  

Слайд 43





VІІ категорія. 
Запишемо фрагмент тексту програми з урахуванням, що якщо коефіцієнт a дорівнює 0, вхідні дані вважаються некоректними:
var a,b,c,x1,x2,d:real;
Begin    write(‘Input numbers  ’);   readln(a,b,c);
   if (a=0)     {Перевірка коректності вхідних даних}
   then writeln(‘Input error’)
   else begin  d:=b*b-4*a*c;
         if (d<0)  then writeln(‘Solution of equation no exist’)
            else if d=0  then begin x1:=-b/(2*a);   writeln(‘x=’,x:0:3);  end
              else begin  x1:=(-b+sqrt(d))/(2*a);  x2:=(-b-sqrt(d))/(2*a);
                    writeln(‘x1=’,x1:0:3);   writeln(‘x2=’,x2:0:3);
              end;   end;
   end.
Описание слайда:
VІІ категорія. Запишемо фрагмент тексту програми з урахуванням, що якщо коефіцієнт a дорівнює 0, вхідні дані вважаються некоректними: var a,b,c,x1,x2,d:real; Begin write(‘Input numbers ’); readln(a,b,c); if (a=0) {Перевірка коректності вхідних даних} then writeln(‘Input error’) else begin d:=b*b-4*a*c; if (d<0) then writeln(‘Solution of equation no exist’) else if d=0 then begin x1:=-b/(2*a); writeln(‘x=’,x:0:3); end else begin x1:=(-b+sqrt(d))/(2*a); x2:=(-b-sqrt(d))/(2*a); writeln(‘x1=’,x1:0:3); writeln(‘x2=’,x2:0:3); end; end; end.

Слайд 44





VIII категорія
Задачі з шаховою дошкою.
Умова задачі. Дано два числа row та col, що є номером рядка та стовпчика на шаховій дошці. Визначити, якого кольору клітинка з цими координатами.
Розв’язок задачі: Спочатку визначимося, як задаються координати клітинки шахової дошки. На реальній шаховій дошці рядки нумеруються числами від 1 до 8 , а стовпчики задаються буквами від a до h. Оскільки в програмуванні змішувати різні типи даних досить складно, домовимося, що і рядки, і стовпчики задаються цілими числами від 1 до 8. Таким чином перевірка коректності вхідних даних тут обов’язкова.
Тепер спробуємо проаналізувати колір різних клітинок дошки. Оскільки нижня ліва клітинка з координатами (1,1) біла, то далі білі клітинки першого ряду будуть мати непарні номери стовпчиків. Відповідно клітинки першого ряду з парними номерами стовпчиків будуть чорними. У другому рядочку ситуація протилежна: клітинки з непарними номерами стовпчиків мають чорний колір, а клітинки з парними номерами – білий. Далі картина повторюється.
Описание слайда:
VIII категорія Задачі з шаховою дошкою. Умова задачі. Дано два числа row та col, що є номером рядка та стовпчика на шаховій дошці. Визначити, якого кольору клітинка з цими координатами. Розв’язок задачі: Спочатку визначимося, як задаються координати клітинки шахової дошки. На реальній шаховій дошці рядки нумеруються числами від 1 до 8 , а стовпчики задаються буквами від a до h. Оскільки в програмуванні змішувати різні типи даних досить складно, домовимося, що і рядки, і стовпчики задаються цілими числами від 1 до 8. Таким чином перевірка коректності вхідних даних тут обов’язкова. Тепер спробуємо проаналізувати колір різних клітинок дошки. Оскільки нижня ліва клітинка з координатами (1,1) біла, то далі білі клітинки першого ряду будуть мати непарні номери стовпчиків. Відповідно клітинки першого ряду з парними номерами стовпчиків будуть чорними. У другому рядочку ситуація протилежна: клітинки з непарними номерами стовпчиків мають чорний колір, а клітинки з парними номерами – білий. Далі картина повторюється.

Слайд 45





VIII категорія
Підіб’ємо підсумок: рядочки з непарними номерами мають білими клітинки з непарними номерами стовпчиків, а рядочки з парними номерами навпаки. Тобто можна сказати, що у білих клітинок парність номерів рядочків і стовпчиків співпадає. 
З усього вище сказаного перевірку клітинки на білий колір можна оформити двома способами:
перевірка парності номерів рядків та стовпчиків окремо;
(row mod 2 = 0)and(col mod 2 = 0) or (row mod 2 = 1)and(col mod 2 = 1)
співпадання парності номерів рядків та стовпчиків: (row mod 2 = col mod 2)
Фрагмент програми має такий вигляд:
var row,col:byte;
Begin    write(‘Input numbers  ’);   readln(row,col);
if (row<1)or(row>8)or(col<1)or(col>8) {Перевірка коректності вхідних даних}
then writeln(‘Input error’) else 
if row mod 2 = col mod 2   then writeln(‘White’)    else writeln(‘Black’);
   end.
Описание слайда:
VIII категорія Підіб’ємо підсумок: рядочки з непарними номерами мають білими клітинки з непарними номерами стовпчиків, а рядочки з парними номерами навпаки. Тобто можна сказати, що у білих клітинок парність номерів рядочків і стовпчиків співпадає. З усього вище сказаного перевірку клітинки на білий колір можна оформити двома способами: перевірка парності номерів рядків та стовпчиків окремо; (row mod 2 = 0)and(col mod 2 = 0) or (row mod 2 = 1)and(col mod 2 = 1) співпадання парності номерів рядків та стовпчиків: (row mod 2 = col mod 2) Фрагмент програми має такий вигляд: var row,col:byte; Begin write(‘Input numbers ’); readln(row,col); if (row<1)or(row>8)or(col<1)or(col>8) {Перевірка коректності вхідних даних} then writeln(‘Input error’) else if row mod 2 = col mod 2 then writeln(‘White’) else writeln(‘Black’); end.

Слайд 46





ІX категорія. 
Задачі, які потребують для свого розв’язання використання команди вибору.
Умова задачі. Дано натуральне число N , яке визначає вік людини (в роках). Додати до цього числа найменування «рік», «роки» або «років», наприклад 1 рік, 42 роки, 26 років.
Розв’язок задачі:
Після введення числа з клавіатури обов’язкова, як і раніше, перевірка коректності вхідних даних, інакше відповідь може бути отримана неправильна (подумайте чому).
Далі очевидно, що слово, яке дописується до числівника, залежить від останньої цифри числа. Якщо ця цифра «1» – дописується слово «рік», якщо цифри «2» або «3» – дописується слово «роки», в усіх інших випадках – дописується слово «років». Винятком є числа другого десятка, оскільки до них завжди дописується слово «років» незалежно від останньої цифри. Ці числа потрібно перевірити окремо командою умовного переходу.
Описание слайда:
ІX категорія. Задачі, які потребують для свого розв’язання використання команди вибору. Умова задачі. Дано натуральне число N , яке визначає вік людини (в роках). Додати до цього числа найменування «рік», «роки» або «років», наприклад 1 рік, 42 роки, 26 років. Розв’язок задачі: Після введення числа з клавіатури обов’язкова, як і раніше, перевірка коректності вхідних даних, інакше відповідь може бути отримана неправильна (подумайте чому). Далі очевидно, що слово, яке дописується до числівника, залежить від останньої цифри числа. Якщо ця цифра «1» – дописується слово «рік», якщо цифри «2» або «3» – дописується слово «роки», в усіх інших випадках – дописується слово «років». Винятком є числа другого десятка, оскільки до них завжди дописується слово «років» незалежно від останньої цифри. Ці числа потрібно перевірити окремо командою умовного переходу.

Слайд 47





ІX категорія. 
Відповідь має три варіанти, а тому для наочності має сенс використовувати команду вибору. Зверніть увагу, що оскільки кириличний текст виводиться на консоль некоректно, для виведення застосовується транслітерація.
Фрагмент програми має такий вигляд:
var Year:byte;
begin   write(‘Input year  ’);   readln(year);
   if year>100 {Перевірка коректності уведення}  then writeln(‘Input.error.’)
   else if (year>=10)and(year<=20) then writeln(Year,‘  rokiv.’)
        else case Year mod 10 of
              1: writeln(Year,‘  rik.’);
              2..4: writeln(Year,‘  roky.’);
              else writeln(Year,‘  rokiv.’)
            end;
   end.
Описание слайда:
ІX категорія. Відповідь має три варіанти, а тому для наочності має сенс використовувати команду вибору. Зверніть увагу, що оскільки кириличний текст виводиться на консоль некоректно, для виведення застосовується транслітерація. Фрагмент програми має такий вигляд: var Year:byte; begin write(‘Input year ’); readln(year); if year>100 {Перевірка коректності уведення} then writeln(‘Input.error.’) else if (year>=10)and(year<=20) then writeln(Year,‘ rokiv.’) else case Year mod 10 of 1: writeln(Year,‘ rik.’); 2..4: writeln(Year,‘ roky.’); else writeln(Year,‘ rokiv.’) end; end.

Слайд 48


Умовний оператор, слайд №48
Описание слайда:

Слайд 49





Матеріал для презентації
За матеріалом статті «Що буде, якщо…?» Автори М.Єгорова, І.Скляр (ж.Інформатика №10, 11 2013 р.. Видавництво «Основа» м.Харків)
Описание слайда:
Матеріал для презентації За матеріалом статті «Що буде, якщо…?» Автори М.Єгорова, І.Скляр (ж.Інформатика №10, 11 2013 р.. Видавництво «Основа» м.Харків)



Похожие презентации
Mypresentation.ru
Загрузить презентацию