Задача 3: въпроси

  1. Полиномите не са това, което бяха.

    Публикувано преди около година
  2. “приятен интерфейс към простите сметки с полоними” означава леко Рейлс (уеб) приложение или command line или просто набора от функционалности (или нещо друго)?

    Останах с впечатлението, че тази задача ще е Рейлс, за това питам.

    Публикувано преди около година
  3. и аз задавам горния въпрос до колкото помня казахте, че домашното ще е една от най-добрите потготовки за контролното и ще е хубаво да наблегнем на него, а като гледам задачата не включва рейлс или актив рекърд

    Публикувано преди около година
  4. Домашното трябва да може да се вмъкне в текстовия прозорец с решенията и трябва да има поне един клас — Poly — както е според условието. Не става дума за Rails или ActiveRecord, разбира се.

    Между другото, интересно ми е — как си представяте да се предава за проверка и проверява вашето Rails-приложение (с текущата инфраструктура на сайта) :)

    Публикувано преди около година
  5. няма да е сефте, да се даде задачата и 4-5 дена по-късно да се даде системата за качване на решението, а тестването на рейлс приложенията е ясно как ще става – трудно за проверяващите

    Публикувано преди около година
  6. Да, това че няма форма за събмитване на Рейлс проекти, не гарантира, че няма да има скоро например. Но да оставим тази тема. “7 Повдигане на степен цяло число. Операторът е **, резултатът — полином.” – така формулирано, се предполага, че функционалността трябва да работи с отрицателни цели степенни показатели. Това така ли е или условието трябва да се промени на “…степен цяло неотрицателно число”?

    Публикувано преди около година
  7. Неотрицателно е. Промених условието.

    Публикувано преди около година
  8. Здрасти няколко въпроса за дребни детайли.

    Poly.new([]), Poly.new({}) 

    Интересува ли ни какво връщат (логично е да е нулевият полином). И в тоя ред на мисли, Poly.new({0 => 0}).to_s, по условие трябва да връща "", а логичното е “0”.

    Публикувано преди около година
  9. Едно нещо не можах да открия как да го направя елегантно и се надявам някой да ми даде идейка… Та как елегантно да отпечатам Fixnum барабар със знака? т.е. 7 да стане +7 и т.н.

    Публикувано преди около година
  10. Имам и още един въпрос – не ми е много ясно какво се очаква да прави find. За Enumerable специално проверява последоваелно всички елементи и връща първия за който условието е изпълнено.Тук обаче някак не ми е много ясно какво значи да върне елемент за който е изпълнено условието. Имам общо взето две разумни предположения: едното е че трябва да върнем масив състоящ се от два елемента, първия от които е степента, а втория съответния коефициент; втория вариант е да се връща полином състоящ само от един едночлен.

    Публикувано преди около година
  11. Иво, не знам до колко е елегантно, но може да ползваш следната конструкция, за да печаташ знака на число: “%+ d %+ d” % [13, -13] -> “+13 -13”.(Няма интервал м/у + и d-то, но форумът разкарва + ако ги напиша така :))
    Мисля, че в кавичките може да слагаш всичко, което printf от C/C++ разрешава.

    Публикувано преди около година
  12. Имам въпрос относно map. За полинома x^1000000 + 1, на блока придружаващ map-a, трябва да yield-нем и 0-вите коефициенти, или само [1000000,1] и [0,1].

    Публикувано преди около година
  13. @Ивайло Странджев

    Ако си отворен към маймунджалъци може да пробваш:

    class Fixnum
       alias orig_to_s to_s
       def to_s
           ((self > 0) ? "+" : "") + self.orig_to_s
       end
    end

    Публикувано преди около година
  14. Какво трябва да връща map? Обект Poly или масив с масиви двойки степен, коефициент?
    Какво трябва да връща sort_by? Масив с масиви двойки степен, коефициент ли?
    Въобще, няма да се разсърди никой ако сложите по един тест за find, sort_by и map.
    Малки грешки в условието: линка към sort_by е сбъркан и ~Poly.new [1, 0, 2] трябва да има скоби или около масива или около цялото без ~.

    Публикувано преди около година
  15. Ако сме направили полином по число, трябва ли да правим и число по полином?

    Публикувано преди около година
  16. Въпросче относно include? Но си е принципен въпроса за 11.

    p = Poly.new({1 => 2})
    p.include? [0,0] # => true ?
    p.include? [2,0] # => true ?

    Защото, на практика полинома 2x = 2x + 0 = 0*x^2 + 2x + 0, но какво трябва да върнем точно ? Това малко или много е свързано с предишния ми въпрос – Poly.new({0 => 0}), “0” ли е или "".

    Публикувано преди около година
  17. Производната според мен е логично да връща полином – за да може да се прави втора, трета производна. Но като гледам условието ми се струва, че връща .to_s от това, което ми се струва, че трябва да прави.
    Та, производната полином ли връща или низ в четим за човек формат?

    Публикувано преди около година
  18. Интересува ли ни какво връщат (логично е да е нулевият полином). И в тоя ред на мисли, Poly.new({0 => 0}).to_s, по условие трябва да връща "", а логичното е “0”.

    Logic is for sissies.

    Какво трябва да връща map? Обект Poly или масив с масиви двойки степен, коефициент?

    Двойки. Важи са всички подобни методи.

    Ако сме направили полином по число, трябва ли да правим и число по полином?

    Не.

    линка към sort_by е сбъркан

    Опитай пак.

    Та, производната полином ли връща или низ в четим за човек формат?

    Полином.

    p.include? [0,0] # => true ?

    Няма значение.

    Публикувано преди около година
  19. Още не сте отговорили какво се очаква да връща find – моном или двойка от коефициент и стойност. Също така Ники ако може изясни се дали ако се чувстваме sissie-та можем да реализираме печата на нулев полином да е правилен, а не изисквания, без това да повлияе на резултата на задачата и отношението на ръководителите на курса.

    Публикувано преди около година
  20. @Борис:
    Виж поста на Ники: “Двойки. Важи са всички подобни методи.”

    @Ники:
    Неотрицателни? А какво трябва да връща полином на степен 0? 1 или Poly.new( 1 )? Разликата е малка, но потенциално съществена :)

    Публикувано преди около година
  21. Какво трябва да връща това:
    p Poly.new([0, 1, 2, 3, 4]).map { |x, y| [x+5, y+5] }
    На мен ми връща:
    [[6, 6], [7, 7], [8, 8], [9, 9]]

    Публикувано преди около година
  22. И какво find приема две числа и връща двойка съставена от тях ако те се срещат в полинома инак – nil? Не ми се струва много функционално.

    Публикувано преди около година
  23. Poly.new([0, 1, 2, 3, 4]).find{ |x, y| x%2==0 && y%2 == 0 }
    [2, 2]
    не е точно така, но пак не ми се струва да има много приложение :)

    Публикувано преди около година
  24. Да съжалявам. Явно съм доста глупав. Наистина би могло да има приложение. Моля игнорирайте горния ми пост. Единствената причина да не го изтрия е да покажа на всички на кое му се вика глупав пост.

    Публикувано преди около година
  25. Вече има един подобен въпрос, но все пак ще питам:
    Poly.new([]).map #(което е същото като Poly.new([0_]).map)

    трябва да върне:
    [] или [[0, 0]]

    Публикувано преди около година
  26. А какво трябва да връща полином на степен 0? 1 или Poly.new( 1 )?

    В условието пише.

    Също така Ники ако може изясни се дали ако се чувстваме sissie-та можем да реализираме печата на нулев полином да е правилен, а не изисквания, без това да повлияе на резултата на задачата и отношението на ръководителите на курса.

    Няма значение. Друг път ако се двоумиш — уповавай се на условието. Ако все пак решиш да си принципен, ще спечелиш симпатии, но може да загубиш точки.

    Публикувано преди около година
  27. Допълних условието, надявам се да отговаеря на въпросите ви:

    sort_by и map връщат списъци от двойки. find връща двойка или nil. include? трябва да приема, че едночлените с нулеви коефициенти са вътре, но map, sort_by и find не трябва да ги включват.

    Публикувано преди около година
  28. poly.map { block }

    връща списък от двойки [степен, върнатата_стойност_от_блока] или списък от върнатата_стойност_от_блока?
    Във втория случай map ми се струва по-гъвкав.

    Публикувано преди около година
  29. Ъъ, да де. Оправих го.

    Публикувано преди около година
  30. find в низходящ или във възходящ ред търси по степените? Или нещо друго?

    Публикувано преди около година
  31. find в низходящ или във възходящ ред търси по степените? Или нещо друго?

    Няма значение.

    Публикувано преди около година

Нов отговор

Трябва да сте вътре за да отговаряте.