• Предмет: Информатика
  • Автор: aleksandr4896163
  • Вопрос задан 3 месяца назад

2. Робітник має основну заробітну плату (значення змінної х). Якщо робітник перевиконав лан, він отримує надбавку в розмiрi 10 % вiд основної заробітної плати (значення змінноï р) Якщо в процесі роботи робітник допускав брак, то він отримує штраф у розмірі 20 % від основної аробітної плати (значення змінної b). Перевиконання плану визначається станом прапорця змiнна choice1), а наявність браку - станом прапорця Змiнна =hoice2). Для визначення заробленої заробітної плати (значення змiнноï y) учень склав такий Фрагмент проекту: if choicel.get() == True: р = x * 0.1 else: if choice2.get() b = x * 0.2 y=x+p-b Чи правильний фрагмент проекту склав учень? Відповідь поясніть.​

Приложения:

Ответы

Ответ дал: devpaul
0

Відповідь:

Ні, фрагмент проекту який склав учень містить помилки.

Пояснения:

Основна проблема полягає в тому, що умова перевірки наявності браку включена в блок "else", тобто цей блок виконується тільки у випадку, коли "choicel.get() == False" (тобто перевиконання плану не було досягнуто). Тому, якщо робітник не досяг перевиконання плану, але допустив брак, то програма не врахує штраф і зарахує надбавку, що буде неправильно.

Також у фрагменті необхідно враховувати, що якщо робітник не перевиконав план і не допустив браку, то заробітна плата буде дорівнювати основній заробітній платі (тобто не потрібно робити віднімання).

Виправлений проект:

if choicel.get() == True:

p = x * 0.1

else:

p = 0

if choice2.get():

b = x * 0.2

else:

b = 0

y = x + p - b

Вас заинтересует