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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Публикувано преди повече от 4 години
  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” ли е или "".

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

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

    Logic is for sissies.

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

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

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

    Не.

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

    Опитай пак.

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

    Полином.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Нов отговор

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