Побудова та реалізація розгалужених алгоритмів з елементами управління "прапорець"

Про матеріал
План-конспект уроку з інформатики 8 класу на тему "Побудова та реалізація розгалужених алгоритмів з елементами управління "прапорець" " за матеріалами підручника Інформатика 8 клас Ривкінд (2021).
Перегляд файлу

8 клас

Тема: Побудова та реалізація розгалужених алгоритмів з елементами управління "прапорець".

Освітня мета: сформувати уявлення про правила створення і налаштування властивостей елементу керування прапорець; сформувати вміння програмувати обробку події встановлення прапорця.

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

Виховна     мета:          виховувати працелюбність,    дисциплінованість, акуратність, уважність, старанність, допитливість, далекоглядність та стійкість; виховувати культуру створення алгоритму і програми.

Тип уроку: засвоєння нових знань та навичок. 

Обладнання: ПК із встановленим ОС і середовищем програмування мовою Python або стійким сполученням з Інтернетом для роботи з середовищем програмування мовою Python у режимі online.

Хід роботи І. Організаційний етап. (2 хв.)

ІІ. Актуалізація опорних знань. (5 хв.)

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

2.     Для чого використовують написи і поля? Які їх властивості ви знаєте? Що визначає їх значення? Як їх можна змінити?

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

ІІІ. Повідомлення теми і мети уроку. Мотивація. (3 хв.)

Під час роботи з різними програмами користувачеві досить часто доводиться робити вибір певних елементів або налаштувань із запропонованих у діалоговому вікні. На уроці ми ознайомимося з компонентом CheckButton (прапорець), що дозволяє робити вибір різних можливостей або режимів роботи.

ІV. Пояснення нового матеріалу. (15 хв.) Матеріал взятий з підручника

Інформатика 8 клас Ривкінд (2021).

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

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

Команда для створення прапорця в мові Phyton має вигляд:

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

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

flag = Checkbutton(text=’Ваш вибір’) flag.pack() буде створено та розміщено у вікні прапорець з іменем flag і підписом Ваш вибір.

Властивості прапорця width, height, bg, fg, font аналогычны до відповідних властивостей напису, поля та кнопки.

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

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

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

<ім’я прапорця> = Сheckbutton(text=’<текст підпису>’, variable=<ім’я змінної>).

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

Choice = BooleanVar()

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

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

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

Щоб одразу після запуску проєкту прапорець був у стані вибраний, потрібно використати команду виду <ім’я змінної>.set(True), наприклад choice.set(True)

Щоб визначити значення цієї змінної під час виконання проєкту, потрібно виконати команду виду <ім’я змінної>.get(), choice.get(). Значення цієї змінної можна використовувати в проєктах у команді розгалуження.

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

choice1 = BooleanVar()

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

choice2 = BooleanVar()

flag2 = Checkbutton (text=’Колір’, variable = choice2) choice3 = BooleanVar()

flag3 = Checkbutton (text=’Розміри’, variable = choice3) Розглянемо, як можна використати прапорці для реалізації розгалуження в прєктах.

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

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

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

if choice1.get():

 root.title(‘Заголовок змінений’) if choice2.get():  root[‘bg’]=’red’ if choice3.get():

 root.geometry(‘500x200’)

У кожній із цих команд незалежно одна від одної буде визначатися – вибрано відповідний прапорець чи ні. І якщо відповідний прапорець вибрано, то зміняться значення відповідних властивостей вікна. А якщо певний прапорець не вибрано, значення відповідних властивостей вікна не зміняться.

V. Закріплення нових знань (15 хв.)

Завдання. Створіть новий файл Python та нове вікно із заголовком «Власний вибір» з розмірами 500х500 пікселів, створіть напис із початковим текстом «Не вибрано». Далі, створіть чотири прапорці (перші два із варіантами кольорів та інші двоє із варіантами типів фарб). В залежності від вибору користувача на екран буде виводитися відповідне вікно з повідомленням.

 

image 

 

from tkinter import* def newtext (event):     if prap1.get()==1 and prap4.get()==1:

        label['text']='Ви вибрали жовту гуаш'

    #якщо перший і четвертий прапорці вибрані, то вивести

    #відповідне повідомлення     elif prap2.get()==2 and prap3.get()==1:         label['text']='Ви вибрали зелену акварель'     #якщо другий і третій прапорці вибрані, то вивести

    #відповідне повідомлення     elif prap1.get()==1 and prap3.get()==1:

        label['text']='Ви вибрали жовту акварель'     #якщо перший і третій прапорці вибрані, то вивести

    #відповідне повідомлення     elif prap2.get()==1 and prap4.get()==1:

         label['text']='Ви вибрали зелену гуаш'     #якщо перший і третій прапорці вибрані, то вивести

    #відповідне повідомлення window=Tk()

window.title('Власний вибір') window.geometry('400x400') label=Label(window, text='Не вибрано') label.place(x=100, y=50) prap1=IntVar() prap2=IntVar() prap3=IntVar() prap4=IntVar()

#створення змінних прапорців

prapor1=Checkbutton(window, text='жовтий', variable=prap1,

onvalue=1, offvalue=0) prapor1.place(x=100, y=100) #створення та розміщення prapor1 prapor2=Checkbutton(window, text='зелений',

variable=prap2, onvalue=1, offvalue=0) prapor2.place(x=100, y=120) #створення та розміщення prapor2

prapor3=Checkbutton(window, text='гуаш', variable=prap3,

onvalue=1, offvalue=0) prapor3.place(x=100, y=160) #створення та розміщення prapor3 prapor4=Checkbutton(window, text='акварель',

variable=prap4, onvalue=1, offvalue=0) prapor4.place(x=100, y=180) #створення та розміщення prapor4 label.bind("<Button-1>", newtext) window.mainloop()

VІ. Підведення підсумків. (4 хв.)

1.     Для чого використовують прапорці?

2.     Як визначити стан прапорця в проєкті, який розроблено мовою Phyton?

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

VІІ. Повідомлення д/з. (2 хв.)

1.     Опрацювати параграф 6.9. підручника.

2.     Виконати завдання 7 зі стр. 234.

pdf
Додав(-ла)
Егорова Анна
До підручника
Інформатика 8 клас (Ривкінд Й.Я., Лисенко Т.І., Чернікова Л.А., Шакотько В.В.)
Додано
22 травня 2022
Переглядів
1229
Оцінка розробки
Відгуки відсутні
Безкоштовний сертифікат
про публікацію авторської розробки
Щоб отримати, додайте розробку

Додати розробку