Показаны сообщения с ярлыком задание. Показать все сообщения
Показаны сообщения с ярлыком задание. Показать все сообщения

23 дек. 2011 г.

Весёлая математика с Lenta.ru

Предлагается отличная задачка, можно даже поместить её в ЕГЭ по информатике:
Добрый волшебник Владимир Чуров творит особую электоральную магию при помощи компьютера в ЦИК. К несчастью, в любимую программу волшебника, предназначенную для честного подсчета голосов избирателей, пробрался вредоносный вирус, и она стала выдавать результаты в какой-то другой, не десятичной системе счисления! Так, например, она показала, что в Ростовской области проголосовали 146 процентов избирателей. Помогите разобраться доброму волшебнику Владимиру Чурову, в какой системе счисления работает компьютер, если на самом деле выборы в Ростовской области прошли без нарушений.
Спасибо за креатив lenta.ru

29 мар. 2010 г.

Наивные пионеры

Поражаюсь наивности некоторых моих учеников. Предыстория такова: на каникулы задал всем классам парочку задач на ruby. Решение попросил прислать на почту. Мы только начали изучать программирование, поэтому задачи были простые: перевести массив из евро в рубли, найти сумму неотрицательных элементов массива. И тут одна девушка присылает следующий замечательный код:


  1. sourceArrayEuro = [1510152025]
  2. euro_to_rub = 41
  3. resultArrayRub = sourceArrayEuro.map { |elem| elem * euro_to_rub }
  4. printf('ArrayEuro = [ ')
  5. sourceArrayEuro.each { |elem| printf('EURO %d; ', elem) }
  6. puts ']'
  7. puts 'Euro_to_rub = ' + euro_to_rub.to_s
  8. printf('ArrayRub = [ ')
  9. resultArrayRub.each { |elem| printf('%d RUB; ', elem) }
  10. puts ']'

Особенно меня порадовала camel-like нотация (которой я, кстати, не придерживаюсь для именования переменных, printf (привет, noname-c++-программист), использование итераторов в качестве циклов, а не блоков.

В общем, нехорошо так палиться, ой нехорошо.

p.s. правильное решение - на порядок проще:


  1. sourceArrayEuro = [1510152025]
  2. euro_to_rub = 40 # 41 - это уже мечты
  3. resultArrayRub = sourceArrayEuro.map { |elem| elem*euro_to_rub}
  4. puts "Значения в рублях: #{resultArrayRub}"