Page 1 of 1

Файл с текстом параграфа

Posted: Mon Jun 08, 2026 7:54 pm
by Поляков
Скачать файл: Ветвления

Re: Файл с текстом параграфа

Posted: Wed Jun 10, 2026 1:26 pm
by bonzo
Добрый день, есть такие комментарии.

При появлении f-строк добавил бы (как писал для первого параграфа) пояснение, чем это хорошо. Например, что удобно в одном месте контролировать вывод выражений и формат вывода вместо набора отдельных функций.

Множественное присваивание разве не вводилось уже в первом параграфе? Кажется, оно было как минимум в алгоритме Евклида.

"Это тот же условный оператор, в котором переставлены части." -- ну это не так, лучше четко написать, что операторы это "предложения" языка и не генерируют значения, а выражения генерируют, поэтому для использования результатов условного оператора нужно сделать его выражением, что и имеет место быть в Питоне и ряде других языков.

"В языке Python разрешены двойные неравенства" -- может, стоит отметить, что это скорее исключение, в более традиционных языках они запрещены. По опыту помню, что это одна из частых ошибок изучающих Си первокурсников, которые переносят опыт питона.

"В Python принимается, что True>False." -- можно пояснить, что это связано с трактовкой целых чисел как логических значений в виде 1 и 0 (про такую трактовку и приведение типов уже говорилось в первом параграфе). Иначе опять возникает утверждение без какого-либо объяснения. Тем более что дальше в тексте еще есть использования того, что истина это 1, а ложь 0.

"потому что попытается перевести в исполняемый код" -- так лучше не писать, если мы считаем питон интерпретируемым языком. Кроме того, программа ничего в исполняемый код не переводит. Можно просто "потому что попытается выполнить сравнение...".

"Эквиваленция" -- должен признаться, в первый раз услышал такой вариант названия. Предложил бы писать эквивалентность.

Преобразование типов в первом параграфе было приведением.

"Обычно в такая проверка записывается" -- лишнее в.

"Не стоит их использовать, если в вашей программе придётся разбираться другим людям." -- это чересчур широковещательное заявление. С одной стороны, нужно сказать, что читаемость программы является одним из важнейших приоритетов, ведь просто код читается чаще, чем пишется (а это потому, что хорошая программа живет и изменяется, а не статична). С другой стороны, профессиональный программист, свободно владеющий языком, должен легко считывать такие трюки, опять же потому, что другие профессионалы их массово используют. Здесь есть аналогия со свободным владением естественными языками. Поэтому использовать нужно аккуратно, не вредя читаемости, но знать и понимать надо.

"будет преобразуется в логическое." -- видимо, будет преобразовано.

"пустые коллекции (строка, список, множество и т. п.)" -- строки обычно не относят к коллекциям?

"0,0 (float)," -- в первом параграфе использовалась точка как разделитель целой и дробной части.

В параграфе довольно большой блок материалов со звездочкой. Я бы предложил хотя бы флаги отнести к обычному материалу. Если раньше были биты, то и побитовые операции тоже бы вынес из-под звездочки. С остальным согласен, что целесообразно оставить под звездочкой.

--
Андрей Белеванцев

Re: Файл с текстом параграфа

Posted: Thu Jun 11, 2026 12:42 pm
by Поляков
Спасибо за отзыв. Некоторые соображения ниже, остальное поправил.
"потому что попытается перевести в исполняемый код" -- так лучше не писать, если мы считаем питон интерпретируемым языком. Кроме того, программа ничего в исполняемый код не переводит. Можно просто "потому что попытается выполнить сравнение...".
Исполняемый код - это код после прохода компилятора в байт-код. Поэтому никто даже не попытается выоплнить сравнение.
"Эквиваленция" -- должен признаться, в первый раз услышал такой вариант названия. Предложил бы писать эквивалентность.
Математики меня убедили в том, что эквиваленция - это операция, а эквивалентность - это факт, соотношение. Хотя когда-то я думал так же, как и Вы.
Преобразование типов в первом параграфе было приведением.
Почему-то по стилю мне режет слух "приведение" здесь. Но я подумаю.
В параграфе довольно большой блок материалов со звездочкой. Я бы предложил хотя бы флаги отнести к обычному материалу.
Я прикинул время - что можно успеть за урок. То, что без звездочки, я точно успею. А флаги - нет.

Re: Файл с текстом параграфа

Posted: Mon Jun 15, 2026 12:33 pm
by bonzo
Поляков wrote: Thu Jun 11, 2026 12:42 pm Математики меня убедили в том, что эквиваленция - это операция, а эквивалентность - это факт, соотношение. Хотя когда-то я думал так же, как и Вы.
В логических и математических контекстах да, но в программистских, судя по интернету, чаще говорят "отношение эквивалентности", которое потом вырождается просто в эквивалентность. Я не настаиваю, просто мне кажется, что подавляющее большинство школьников впоследствии конкретно с этим термином никогда не столкнется.
Поляков wrote: Thu Jun 11, 2026 12:42 pm Почему-то по стилю мне режет слух "приведение" здесь. Но я подумаю.
Здесь я имел в виду, что между параграфами стоит выдержать постоянство в терминах. Я к приведению привык на сишной колокольне, но совершенно не против преобразования.

Про флаги мне просто показалось, что это совершенно базовый и очень полезный материал. Странно его видеть в звездочках. Может, сократить и частично вынести в практикум?

Re: Файл с текстом параграфа

Posted: Tue Jun 16, 2026 6:36 am
by nikolay
Несколько небольших замечаний:

1. Заменить импликацию на <= выглядит хорошей идеей. Но возможно стоит добавить, что для задач ЕГЭ это нормально, но в реальном программировании это может привести к ошибкам.

2. Возможно стоит явно указать, что «операторы» — это элементы языка Python, а «операции» — математическое/логическое понятие.

3. Возможно в примере M = a if a > b else b явно отметить, что такой стиль используется часто в «компактном» коде, но на первых порах лучше писать «полные» if/else, чтобы не запутаться.

Re: Файл с текстом параграфа

Posted: Wed Jun 17, 2026 12:21 pm
by Neket
1. Я бы сказал, что и "отношения" и "пара символов =", введенные для пояснения примеров условий, с точки зрения языка питон являются такими же операциями, как и сложение или умножение, и имеют результат логического типа. Иначе эти вещи оказываются немного подвешенными в воздухе и не понятно, как они относятся к выражениям, хотя ранее явно сказано, что условие это выражение. Возможно также стоит в этом или предыдущем параграфе явно проговорить, что выражение это последовательность операций.

2. Мне не очень нравится формулировка при введении множественного присваивания. Она дает пример использования, но не определение. Я бы лучше сказал, что множественное присваивание позволяет присвоить значения сразу нескольким переменным и при этом гарантирует, что для вычисления новых значений будут использованы старые. Поэтому, например, его можно использовать для обмена значений переменных.

3. На пятой странице во втором абзаце опечатка в слове "переменная".

4. В пункте про приоритет логических операций я бы был осторожен с утверждением о том, что операции с одинаковым приоритетом выполняются слева направо. Возможно под сноской можно написать, что это верно для логических операций, но не для всех операций в языке питон. Например, возведение в степень вычисляется справа налево.

5. Не уверен, почему стоит пытаться избежать названия операций "побитовыми", и вместо этого они названы "поразрядными". Особенно с учетом того, что и до и после биты спокойно упоминаются. Первый вариант употребляется гораздо чаще.

Заодно оставлю пару комментариев к предыдущим комментариям.

6. Про эквиваленцию -- мне кажется, здесь использование этого термина вполне уместно. Он используется именно в контексте математической операции, а затем сказано, что в языке питон для этого используется операция проверки на равенство.

7. Про операторы и операции -- и то и другое является элементом языка. Главная разница в том, что операторы не имеют значения, а операции имеют. Путаница обычно происходит из-за того, что операции на английский переводятся как раз таки как operator, а операторы -- как statement.

Re: Файл с текстом параграфа

Posted: Wed Jun 17, 2026 8:28 pm
by Поляков
nikolay wrote: Tue Jun 16, 2026 6:36 am 1. Заменить импликацию на <= выглядит хорошей идеей. Но возможно стоит добавить, что для задач ЕГЭ это нормально, но в реальном программировании это может привести к ошибкам.
А к каким ошибкам?
nikolay wrote: Tue Jun 16, 2026 6:36 am 2. Возможно стоит явно указать, что «операторы» — это элементы языка Python, а «операции» — математическое/логическое понятие.
Не думаю, что на базовом уровне нужны такие тонкости.
nikolay wrote: Tue Jun 16, 2026 6:36 am 3. Возможно в примере M = a if a > b else b явно отметить, что такой стиль используется часто в «компактном» коде, но на первых порах лучше писать «полные» if/else, чтобы не запутаться.
"На первых порах" было в 8-м классе. Здесь уже можно.

Re: Файл с текстом параграфа

Posted: Wed Jun 17, 2026 8:42 pm
by Поляков
Neket wrote: Wed Jun 17, 2026 12:21 pm 1. Я бы сказал, что и "отношения" и "пара символов =", введенные для пояснения примеров условий, с точки зрения языка питон являются такими же операциями, как и сложение или умножение, и имеют результат логического типа. Иначе эти вещи оказываются немного подвешенными в воздухе и не понятно, как они относятся к выражениям, хотя ранее явно сказано, что условие это выражение. Возможно также стоит в этом или предыдущем параграфе явно проговорить, что выражение это последовательность операций.
Поправил текст.
Neket wrote: Wed Jun 17, 2026 12:21 pm 2. Мне не очень нравится формулировка при введении множественного присваивания. Она дает пример использования, но не определение. Я бы лучше сказал, что множественное присваивание позволяет присвоить значения сразу нескольким переменным и при этом гарантирует, что для вычисления новых значений будут использованы старые. Поэтому, например, его можно использовать для обмена значений переменных.
Поправил текст.
Neket wrote: Wed Jun 17, 2026 12:21 pm 3. На пятой странице во втором абзаце опечатка в слове "переменная".
Исправлено.
Neket wrote: Wed Jun 17, 2026 12:21 pm 4. В пункте про приоритет логических операций я бы был осторожен с утверждением о том, что операции с одинаковым приоритетом выполняются слева направо. Возможно под сноской можно написать, что это верно для логических операций, но не для всех операций в языке питон. Например, возведение в степень вычисляется справа налево.
Поправил текст. "Логические операции с одинаковым приоритетом..."
Neket wrote: Wed Jun 17, 2026 12:21 pm 5. Не уверен, почему стоит пытаться избежать названия операций "побитовыми", и вместо этого они названы "поразрядными". Особенно с учетом того, что и до и после биты спокойно упоминаются. Первый вариант употребляется гораздо чаще.
Это, как мне кажется, вопрос вкуса. "Поразрядные" - понятно, что отдельно с каждым разрядом (мостик к системам счисления).

Re: Файл с текстом параграфа

Posted: Thu Jun 18, 2026 12:39 pm
by nikolay
Поляков wrote: Wed Jun 17, 2026 8:28 pm А к каким ошибкам?
Перегрузка операторов может испортить данную логику.