На этом форуме отвечают на конкретные вопросы. Фраза «я не понимаю, как решать» — это не вопрос. На вопрос «как решить задачу №X» вас отошлют к материалам сайта kpolyakov.spb.ru. За бессвязный поток слов и неспособность формулировать свои мысли — бан.

Если у вас не сходится ответ на какую-то задачу, пожалуйста сразу представляйте свое «правильное» решение.
Программы "заворачивайте" в тэг [pre2]...[/pre2], при этом сохраняются все отступы и применяется моноширинный шрифт. Если у вас используется сочетание "[i]" для обозначения элемента массива или строки, ставьте пробел после открывающей скобки. Иначе система выделит все дальнейшее курсивом.

Для регистрации на форуме щелкните по ссылке «Вход-регистрация» вверху страницы. В открывшееся окошко «ник» введите свою фамилию на русском языке (например, Иванов). В окошко «пароль» введите придуманный вами пароль, состоящий из латинских букв и цифр. Поставьте галочку в окошке «зарегистрироваться, я новый участник» и нажмите кнопку «ОК».

АвторСообщение





Сообщение: 183
ссылка на сообщение  Отправлено: 14.11.22 06:02. Заголовок: решение задачи ege2 №185


Здравствуйте, Константин Юрьевич!
Посмотрел решение к задаче ege2 № 185
 
template = '*0** ***0 00** 00**'.split()
val = 1

def f(x, y, z, w):
f = ( ((not x) and y) == z) and w
return int(f)

def tbIst( f, val ):
res = []
for x in range(2):
for y in range(2):
for z in range(2):
for w in range(2):
if f(x, y, z, w) == val:
res.append( "{}{}{}{}".format(x, y, z, w))
return res

def match( s, p, template ):
if len(s) != len(template): return False
res = True
for i in range(len(s)):
res = res and (template[...
...
Очень, очень красивое решение!

Но возникает вопрос, а может ли этот код послужить примером для ученика на ЕГЭ?

Во первых : код содержит 42 строки, но в спецификации 2023 года написано, что однобальная программа высокого уровня должна содержать от 10 до 20 строк, а у нас базовое задание и 42 строки!?

Во вторых: код содержит около 1020 символов, с учетом § 8. № 7. ГДЗ Информатика 10 класс, где написано, что секретарь может набирать текст со скоростью 256 символов в минуту, следовательно, даже ему потребуется для набора данного текста около четырех минут против трех. Можно предположить, что ученику для набора данного текста, даже без учета времени на обдумывание каждой строки, потребуется времени как минимум раза в два больше!?

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

Критикуя, предлагаю следующее решение:
Анализируя выражение (((not x) and y) == z) and w и таблицу, понимаем, что ее третий столбец имеет заголовок W. Используя это пишем код с заголовком XYWZ:
 
print('x y w z')
for x in range(2):
for y in range(2):
for w in range(2):
for z in range(2):
if ((((not x) and y) == z) and w)==True:
print(x,y,w,z)

Запустив программу, получаем следующую распечатку:
x y w z
0 0 1 0
0 1 1 1
1 0 1 0
1 1 1 0

Анализируя ее, приходим к выводу, что на втором месте в заданной таблице может стоять только столбец с заголовком Z, кроме того, из второй строки заметим, что в случае, когда Z и W = 1, то X = 0, а Y = 1, что возможно, если столбцы распечатки расставить в следующем порядке YZWX

Спасибо!

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 3 [только новые]







Сообщение: 184
ссылка на сообщение  Отправлено: 14.11.22 07:39. Заголовок: s11kai пишет: print..


s11kai пишет:

 цитата:

print('x y w z')  
for x in range(2):
for y in range(2):
for w in range(2):
for z in range(2):
if ((((not x) and y) == z) and w)==True:
print(x,y,w,z)




Если воспользоваться вашей подсказкой к задаче 230, то код можно написать еще короче, например такой:
 
from itertools import product
print('x y w z')
for x, y, w, z in product( [0,1], repeat=4 ):
if (((not x) and y) == z) and w:
print( *map(int, [x, y, w, z]) )

Так что еще раз огромное спасибо!!!

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Сообщение: 3776
ссылка на сообщение  Отправлено: 14.11.22 10:29. Заголовок: s11kai пишет: Но воз..


s11kai пишет:
 цитата:
Но возникает вопрос, а может ли этот код послужить примером для ученика на ЕГЭ?

Александр Иванович, конечно нет. Я тоже его не с первого раза написал. Писать его на ЕГЭ с нуля - безнадежное дело.

___________________________________________________
Имей мужество пользоваться собственным умом. (И. Кант)
Спасибо: 0 
ПрофильЦитата Ответить





Сообщение: 185
ссылка на сообщение  Отправлено: 14.11.22 10:38. Заголовок: Поляков пишет: Писа..


Поляков пишет:

 цитата:
Писать его на ЕГЭ с нуля - безнадежное дело.



Понятно, и еще раз спасибо за компактные и понятные решения!

Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 3144
Права: смайлы да, картинки да, шрифты нет, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет