1 of 27

Використання прапорців у проєктах з розгалуженнями

Нова українська школа

Урок 33

Двадцять перше листопада

Класна робота

Інформатика 8

teach-inf.com.ua

за підручником

Ривкінд Й.Я. та ін.

2 of 27

Готуємось до вивчення нового матеріалу

  1. Які елементи керування у віконних проєктах ви знаєте?
  1. Для чого використовувався кожний з них?
  1. Як використо-вувалися події з цими елементами керування?

Розділ 4

§ 4.7

© Вивчаємо інформатику teach-inf.com.ua

3 of 27

Прапорці та перемикачі у віконних проєктах

У цьому пункті йтиметься про:

    • прапорці як елементи керування у віконних проєктах;
    • перемикачі як елементи керування у віконних проєктах.

Розділ 4

§ 4.7

© Вивчаємо інформатику teach-inf.com.ua

4 of 27

Пригадайте

Який загальний вигляд команди неповного розгалуження в мові програмування Python і як вона виконується?

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

Розділ 4

§ 4.7

© Вивчаємо інформатику teach-inf.com.ua

5 of 27

Прапорці та їх властивості

У різних програмах прапорці використовують для вибору:

  • або одного варіанту
  • або кількох варіантів з набору можливих
  • або не вибрати жодного

Якщо прапорець вибраний, то в нього всередині з’являється позначка

Розділ 4

§ 4.7

© Вивчаємо інформатику teach-inf.com.ua

6 of 27

Прапорці та їх властивості

Команда для створення прапорця у вікні проєкту мовою Python така:

<ім’я прапорця> = Checkbutton(text = '<текст підпису>')

Після розміщення у вікні прапорця, створеного у такий спосіб, він матиме визначений користувачем підпис. Наприклад, після виконання команд:

flag = Checkbutton(text = 'Ваш вибір')

flag.pack()

Буде створено та розміщено у вікні прапорець з іменем flag і підписом Ваш вибір.

Розділ 4

§ 4.7

© Вивчаємо інформатику teach-inf.com.ua

7 of 27

Прапорці та їх властивості

Властивості прапорця:

width

height

bg

fg

font

Аналогічні до відповідних властивостей:

напису

поля

кнопки

Розділ 4

§ 4.7

© Вивчаємо інформатику teach-inf.com.ua

8 of 27

Прапорці та їх властивості для цілого типу

Щоб мати можливість дізнаватися під час виконання проєкту стан прапорця (вибраний або невибраний), потрібно пов’язати з ним спеціальну змінну цілого типу (можна логічного типу). Для створення такої змінної використовують команду виду:

<ім’я змінної> = IntVar()

Пов'язують цю змінну з прапорцем під час його створення командою, що має вигляд:

<ім’я прапорця> = Checkbutton (text = '«текст підпису»',

variable =<ім’я змінної>, on=1)

Розділ 4

§ 4.7

© Вивчаємо інформатику teach-inf.com.ua

9 of 27

Прапорці та їх властивості для логічного типу

Щоб мати можливість дізнаватися під час виконання проєкту стан прапорця (вибраний або невибраний), потрібно пов’язати з ним спеціальну змінну цілого типу (можна логічного типу). Для створення такої змінної використовують команду виду:

<ім’я змінної> = BooleanVar()

Пов'язують цю змінну з прапорцем під час його створення командою, що має вигляд:

<ім’я прапорця> = Checkbutton (text = '«текст підпису»',

variable =<ім’я змінної>)

Розділ 4

§ 4.7

© Вивчаємо інформатику teach-inf.com.ua

10 of 27

Прапорці та їх властивості для цілого типу

Наприклад, після виконання команд:

choice = IntVar()

flag = Checkbutton(text = 'Ваш вибір', variable = choice, on=1)

flag.pack()

Буде створено та розміщено у вікні прапорець з іменем flag і підписом Ваш вибір, а змінна з іменем choice зберігатиме стан цього прапорця:

True – якщо прапорець вибрано

False – якщо прапорець не вибрано

Розділ 4

§ 4.7

© Вивчаємо інформатику teach-inf.com.ua

11 of 27

Прапорці та їх властивості для логічного типу

Наприклад, після виконання команд:

choice = BooleanVar()

flag = Checkbutton(text = 'Ваш вибір', variable = choice)

flag.pack()

Буде створено та розміщено у вікні прапорець з іменем flag і підписом Ваш вибір, а змінна з іменем choice зберігатиме стан цього прапорця:

True – якщо прапорець вибрано

False – якщо прапорець не вибрано

Розділ 4

§ 4.7

© Вивчаємо інформатику teach-inf.com.ua

12 of 27

Прапорці та їх властивості

Значення цієї змінної за замовчуванням - 0 або False, і після запуску проєкту на виконання позначка прапорця буде відсутня.

Якщо під час виконання проєкту буде вибрано прапорець, то значення змінної стане 1 або True.

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

Розділ 4

§ 4.7

© Вивчаємо інформатику teach-inf.com.ua

13 of 27

Прапорці та їх властивості

Щоб під час запуску проєкту прапорець одразу був у стані вибраний, потрібно використати команду виду:

<ім’я змінної>.set(True)

(англ. set – установити), наприклад:

choice.set(True)

Розділ 4

§ 4.7

© Вивчаємо інформатику teach-inf.com.ua

14 of 27

Прапорці та їх властивості

Щоб визначити значення цієї змінної, під час виконання проєкту потрібно виконати команду виду:

<ім’я змінної>.get()

Наприклад:

choice.get()

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

Розділ 4

§ 4.7

© Вивчаємо інформатику teach-inf.com.ua

15 of 27

Прапорці та їх властивості (цілий тип змінної)

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

choice1 = IntVar()

flag1 = Checkbutton(text = 'Заголовок', variable = choice1, on=1)

flag1.pack()

choice2 = IntVar()

flag2 = Checkbutton(text = 'Колір', variable = choice2, on=1)

flag2.pack()

choice3 = IntVar()

flag3 = Checkbutton(text = 'Розміри', variable = choice3, on=1)

flag3.pack()

Розділ 4

§ 4.7

© Вивчаємо інформатику teach-inf.com.ua

16 of 27

Прапорці та їх властивості (логічний тип змінної)

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

choice1 =BooleanVar()

flag1 = Checkbutton(text = 'Заголовок', variable = choice1)

flag1.pack()

choice2 = BooleanVar()

flag2 = Checkbutton(text = 'Колір', variable = choice2)

flag2.pack()

choice3 = BooleanVar()

flag3 = Checkbutton(text = 'Розміри', variable = choice3)

flag3.pack()

Розділ 4

§ 4.7

© Вивчаємо інформатику teach-inf.com.ua

17 of 27

Прапорці та їх властивості

Розглянемо, як можна використати прапорці у проєктах з розгалуженнями.

Нехай, наприклад, нам потрібно в ході виконання проєкту змінювати значення:

або тільки однієї з властивостей вікна (або заголовок, або колір, або розміри)

або кількох з них

або не змінювати значення жодної з них

Розділ 4

§ 4.7

© Вивчаємо інформатику teach-inf.com.ua

18 of 27

Прапорці та їх властивості

Для цього використаємо кнопку та три прапорці.

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

Розділ 4

§ 4.7

© Вивчаємо інформатику teach-inf.com.ua

19 of 27

Прапорці та їх властивості (для цілого типу)

Створимо процедуру для опрацювання події Click для кнопки і до її тексту помістимо такі три послідовні (не вкладені одна в одну) команди розгалуження:

if choice1.get()==1:

root.title('Заголовок змінений')

if choice2.get()==1:

root['bg'] = 'red'

if choice3.get()==1:

root.geometry('500x200')

Розділ 4

§ 4.7

© Вивчаємо інформатику teach-inf.com.ua

20 of 27

Прапорці та їх властивості (для логічного типу)

Створимо процедуру для опрацювання події Click для кнопки і до її тексту помістимо такі три послідовні (не вкладені одна в одну) команди розгалуження:

if choice1.get():

root.title('Заголовок змінений')

if choice2.get():

root['bg'] = 'red'

if choice3.get():

root.geometry('500x200')

Розділ 4

§ 4.7

© Вивчаємо інформатику teach-inf.com.ua

21 of 27

Прапорці та їх властивості

Якщо при настанні події Click для кнопки перший прапорець буде вибраним, то значення змінної choice1 буде True або як в нашому випадку 1 і відповідно виконуватиметься команда:

root.title('Заголовок змінений')

Розділ 4

§ 4.7

© Вивчаємо інформатику teach-inf.com.ua

22 of 27

Прапорці та їх властивості

Якщо ж перший прапорець не буде вибраним, то значення змінної choice1 буде False True або як в нашому випадку 0 і відповідно команда:

не виконуватиметься, а виконуватиметься наступна команда, тобто наступна команда розгалуження для другого прапорця.

root.title('Заголовок змінений')

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

Розділ 4

§ 4.7

© Вивчаємо інформатику teach-inf.com.ua

23 of 27

Дайте відповіді на запитання

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

Розділ 4

§ 4.7

© Вивчаємо інформатику teach-inf.com.ua

24 of 27

Розгадайте ребус

Прапорець

Розділ 4

§ 4.7

© Вивчаємо інформатику teach-inf.com.ua

25 of 27

Домашнє завдання

Проаналізувати

§ 4.7, с. 143-145

Розділ 4

§ 4.7

© Вивчаємо інформатику teach-inf.com.ua

26 of 27

Працюємо за комп’ютером

Сторінка

149

Розділ 4

§ 4.7

© Вивчаємо інформатику teach-inf.com.ua

27 of 27

Успіхів�у навчанні!

Нова українська школа

Урок 33

Інформатика 8

teach-inf.com.ua

за підручником

Ривкінд Й.Я. та ін.