Автор Тема: Софтуер за изработване на комбинации  (Прочетена 20309 пъти)

go_fire

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 8780
  • Distribution: Дебиан Сид
  • Window Manager: ROX-Desktop / е17
  • кашик с гранатомет в танково поделение
    • Профил
    • WWW
Re: Софтуер за изработване на комбинации
« Отговор #60 -: Jul 21, 2018, 09:30 »
Първо да благодаря на Ddantgwyn. Сега през почивката ще си събера акъла, ще преразгледам темата и ще пробвам (колкото ми позволява ниския интелект) предложените варианти.

=*=

НЕ! Нашата държава може да е тежко корумпирана. Може в резултат на това да е бедна. Може да ни управляват алчни копелдаци, независимо от разцветките им. Може да имаме некадърна, мързелива, изнервена администрация. Може никой, нищо да не върши, но да краде за последно. ВСИЧКО МОЖЕ!

НО! Нашата държава не е ненормална. Съвсем стандартна си е. Всичко описано важи за всяка произволна страна от САЩ до РФ. Никаква разлика. Разлика може да има в това, че при нас неуредиците са „една идея“ повече. Политиците ни са крадливи „една идея“ повече. Администрацията ни е неработеща „една идея“ повече.

Добре де, последното го казах от патриотизъм. Идеите са цяла идеология.

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

Например видя се, че белгийската и френската полиция не работят много повече от нашата. А ние мислехме, че нашите са некадърни.

=*=

На данъчната администрация реално не ѝ трябват данни от складовата програма. На нея и трябва отчета на касовия апарат, от който тръгнахме. Помниш ли, че не говоря за КА, а за ЕКАФП? Помниш ли, че споменах, че имат SIM?

Нека ти раздухам далаверата. Мобилния оператор дава годишен абонамент с отстъпка на завода. Завода прави и той някаква отстъпка на местния сервиз. Местния сервиз прибира пълната цена на абонамента от клиента. И така всяка година.

„Евтинийка“ петдесетина лева. 48, ако трябва да сме точни. И всички по веригата са повече от доволни.

За какво служи този абонамент? Защо даваш тези грешни пари?

За да може държавата всеки месец да получава регулярно отчета на паметта на касовия ти апарат. Това не е точно същия отчет, за който говоря. Защото производителите в некадърността си, са направили този отчет неточен. Той може да е точен само в случай, че ЕКАФП се ползва за фискален (данъчен) принтер. В никакъв друг. Имаш ли повече от 100-200 продажби и отчета по артикули моментално става грешен. Затова не се праща той, а един друг.

В другия отчет, за който говоря цифрите са разбити по дни. Там пише така: на тоя ден е запълнена тая клетка от паметта (служи единствено за сервизни цели), влезнали са толкова пари. Край. Това за всеки работен ден от месеца.

Вие умните ще сметнете колко килобайта информация са това. И как за пращането им всеки месец даваш едни 50 лв. годишна такса. Плаща всеки който извършва икономическа дейност и не е банка или застраховател. Но това е на апарат. Ако има два апарата, плаща двойно.

Оставаме на страна, колко безумно словосъчетание е „клетка памет“.

=*=

Така, че реално държавата не ми иска извлечения от склада, какво е влязло, какво е излязло и какво е налично. Забелязваш ли, че е юли месец, а все още в този склад няма въведена нито една цифра за 2018 год.? 2017-та е завършила преди седем месеца. Аз съм първия (и ако не ме уволнят последния), който ще въвежда цифри в него.

Добре. Ако държавата не ми го търси, защо да го правя???

Тънката врътка е, че по всяко едно време може да се сети да ми го потърси не само за тази година, а за всяка от последните пет назад, която не е ревизирана.

Държавата няма интелектуалния и човешки ресурс (следователно и техническото обезпечение) да държи всеки един икономически обект непрекъснато на къса верижка. Това е въпрос на време. Когато се откраднат достатъчно стотици милиарди, все пак държавата ще бъде в състояние да го прави. Може би се гони трилион. За сега сме далеч от цифрата. Май са изхарчени „само“ малко над 150 милиарда за електронно правителство.

Какво прави в действителност данъчната администрация? Ами държи на къса верижка само тези, които точат ДДС или не плащат на време осигуровки. Или има данни за тях в инспекцията по труда, икономическа полиция и други служби. Сиреч нещо се е размирисало.

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

Към тях се подхожда цецо-цветановски, кампанийно или както го наричахме през деветдесетте – мутренски.

Просто от време на време ги налазват.

Всичко, което вършим за тези клиенти (освен текущите задачи), е да се готвим за този момент, когато дойде.

Хубавото на цялата ситуация е, че на всички равнища в държавата¹, на всяко едно институционално звено, цари пълна некомпетентност по кой да е въпрос. Така, че, ако документално си докарал всичко да е такова, каквото те го искат, то в крайна сметка се отърваваш само с глобата, която са решили да събират преди да започне кампанията. Плащаш и не те търсят повече. 

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

Последната кампания беше от пролетта. Тогава бяха подгонили фризьори, маникюристи, дребни хотелиери. Ще видим при есенната кампания, кои ще ударят.

Как е? Желаеш ли да се прибереш? Защото според правителството, всички напъват да се връщат и летище София не може да смогне.

-----
¹ / Общините по принцип не би трябвало да са част от нея, но де факто са нейно продължение. Затова ги включвам в сметката.
Активен

В $por4e2 e истината  ;)

***

Aко даваха стипендия за най-глупави, щях да съм човека с най-много Mини Kупъри

***

Reborn since 1998 || 15.09.2007 totally М$ free && conscience clear

Naka

  • Напреднали
  • *****
  • Публикации: 3395
    • Профил
Re: Софтуер за изработване на комбинации
« Отговор #61 -: Jul 21, 2018, 13:32 »
// първи offtopic

Браво бе. Почнахме да мерим млекото в байтове.  ;D То верно темата била точно за кошчето.  8)
« Последна редакция: Jul 21, 2018, 14:05 от Naka »
Активен

Perl - the only language that looks the same before and after encryption.

go_fire

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 8780
  • Distribution: Дебиан Сид
  • Window Manager: ROX-Desktop / е17
  • кашик с гранатомет в танково поделение
    • Профил
    • WWW
Re: Софтуер за изработване на комбинации
« Отговор #62 -: Jul 21, 2018, 15:23 »
Щом аз участвам в някоя тема, то няма как тя обезателно да не е за кошчето. Какво остава, ако съм неин автор?

Днес цял ден мързелувам и чета emacs-devel. Противно на плановете да поработя. Просто май съм уморен от толкова цифри на работа и след това.

Доколкото разбрах от това, което обясни Ремо е, че оригинално тази програма е мислена, как да побира повече mp3 на CD. Вид архивиране. Дисковете бяха скъпи. И всъщност е доста оригинално решение. Ако някой ми не беше казал, нямаше да повярвам, че съществува такова парче софтуер. И то, забележи, оригинално е замислено за професията на Непроизносимия – Металознание.

Така, че си е в традицията да се ползва за нещо дето не е предвидено. И това е доста оригинално. Аз никога не бих се сетил да ползвам такава конвергенция. Може би защото съм прекалено захлупен и праволинеен.
Активен

В $por4e2 e истината  ;)

***

Aко даваха стипендия за най-глупави, щях да съм човека с най-много Mини Kупъри

***

Reborn since 1998 || 15.09.2007 totally М$ free && conscience clear

remotexx

  • Напреднали
  • *****
  • Публикации: 3210
    • Профил
Re: Софтуер за изработване на комбинации
« Отговор #63 -: Jul 21, 2018, 16:41 »
Ами тогава нямаше що да намесваш склада въобще - задачата е доволно проста, имаме един числа (цели фактури) да се разбият на произволен бр. по-малки числа, така че сумата им да е равна на тотала (по фактура) - мисля наскоро друг съфорумец търсеше нещо подобно и каза май че имал оригинална идея (само не каза че му тряба за склад а уж само за разбиване на числа на случайни подсуми - преди около годна беше ако се не лъжа ..или мой беше оня със 100-те % компресия), и после ръчно гледаш ако е близо +/- 10% до артикул плясваш него с 10% остъпка/надценка, ако е далеч изписваш 1бр. с тая цена (напр. инджектопляктор) и продадена и повеч нивгаш не купена и те така.... като дойдат после на проверка викаш - като старшината в казармата "няма, няма и в склада няма", е ще продадеш бая инджектопляктори ама след 3-5 г. кой ли ще му пука пък и щом не е свързано с инвентаризации на склада ..нямаше нужда да го намесваме

- дали ще мерим млякото в байтове или в стотинки все тая - важното е да софтуера да му свърши работа, щото другия вариант (рекурсивен и итеративен) с пълното изчерпване ще гони N! факториел итерации което... със стотинките е лесно имаш 7 деноминации само да нагласиш 1,2,5,10,20,50ст. докато със склада при 2000 артукила ще са 1500-2000 деноминации - 2000!

"...според правителството, всички напъват да се връщат и летище София не може да смогне."
Ха-ха, чакай да свърши сезона, да видиш как всички се заизнизват наобратно, ама те т'ва няма да ви го съобщят, щото нямаме медии ами СМИ

като спомена наште братя мамалигарите... та се сетих:
Между другото възстановяват радио Свободна Европа и то специално за Румъния и България, ама тая новина едва ли е стигнала до нашите медии/СМИ
https://pressroom.rferl.org/a/rferl-expands-to-romania-bulgaria/29374397.html
« Последна редакция: Jul 21, 2018, 16:53 от remotexx »
Активен

go_fire

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 8780
  • Distribution: Дебиан Сид
  • Window Manager: ROX-Desktop / е17
  • кашик с гранатомет в танково поделение
    • Профил
    • WWW
Re: Софтуер за изработване на комбинации
« Отговор #64 -: Jul 21, 2018, 17:14 »
Май вярно съм прегрял. Няма как да е невъзможно. Всъщност по този начин сваляме до едномерно пространство и става възможна задача. Май трябва да преспя и утре просто да пробвам.

Аз може да съм прост инженер и затова да не разбирам защо не обръщаш внимание на идеята за разделяне на големия проблем на два по-малки и отделното им решаване:

1. Имаш крайно множество от цени;
2. Имаш крайно множество от артикули (с цени от първото множество);
3. Имаш една крайна сума.
———
1. Намираш някаква комбинация¹ от цени, която да удовлетворява условието сумата от цените от тази комбинация да съвпада с крайната сума;
2. След това търсиш да намериш съответните артикули от множеството на артикулите, които да имат цени, попаднали в горната комбинация;
3. Генерираш отчета (фиктивен явно) за продажбите за съответния месец.
———
Има какво да се оптимизира, но за това по-нататък.
 
Сега по-ясна ли става идеята или пак нищо не съм обяснил?

———
¹ комбинация не е най-точният термин в случая, но засега ще го оставим така.

Преди да се обърна специално към теб, дължа нещо на другите включили се с неоценима помощ.

Направо отиди най-долу.

=*=

Все пак събрах малко сили и започнах да обобщавам темата за себе си.

Имам дадени решения от няколко човека.

БЛАГОДАРЯ НА ВСИЧКИ!!!

Решението на Ласков би ми дало най-близък до действителността отговор, но при тези условия не е съвсем осъществимо.

Решение ми беше дадено и от Стелт. То е работещо, ако и имахме истински данни. Но при неистински данни то ни отдалечава още повече.

Решение даде и Джет. Това решение изглежда „просто“, но изисква подготовка. Оставям си го за изпробване на един бъдещ етап, когато ще имам събран опит с този конкретен казус. Харесвам го и е близко до някои от първоначалните ми, блуждаещи мисли. А то моите всички са такива.

Както каза Дантгуин, първо да имаме някакво решение, пък после ще го донагласваме. Пък и това си е по закона на Линус.

Решение даде Ремо. Както се очаква от толкова висок професионалист, то е теоретично яко подковано, сложно, шармантно и удивително. Ще се опитам да го направя. Досегашния ми опит показава, че негови идеи ми трябва по година, за да стигна до етапа, където мога да ги реализирам. Но са винаги блестящи, просто аз съм кух и бавноразвиващ. Обезателно ще се пробва.

Решение даде Йордан. То е разлято върху поне десет страници, най-подробно документирано и с вложена много енергия. На всичкото отгоре е лесно осъществимо дори от тъпак от моя ранг.

Мисля, че до този момент на него забравих да му благодаря в темата. Това никак не е честно. Крайно време е да се поправя.

Ти си истински отдаден човек и за мен е чест, че те познавам. Повече от поласкан съм, че ми отдели толкова време и търпение. Благодаря!

=*=

Сега дойде ред да обърна внимание на решението, което предложи два пъти. Харесвам това в него, че не е комплексно сложно. Или поне е такова, докато не се запозная с детайлите.

=*=

Задължителния OFFTOPIC

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

Обаче прости инженери може да няма, но икономисти има. Може на петнадесет да си играл на двора, на шестнадесет да си почнал да гониш срещуположния пол, да си се наквасил с прилично количество алкохол, след няколко години да се е паднала единствената тема, която да си чел, да са те приели на магия, да си изкарал на магия, докато си продължавал да се наливаш с алкохол и да гониш фустите.

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

През цялото това време може да си спал, изобщо да не си се развил в нищо, да си надебелял, да си оплешивял, да си пуснал брада и единственото ти достойнство е, че тровиш хората по форумите с несвързани дрънканици. И то докато си трезвен, защото не можеш да си позволиш да дадеш 5,60 за 5 л фалшиво вино, а ти се пие като на Калин Терзийски, ама разликата е, че си по-млад и си типичен българин, сиреч можеш да носиш много.

=*=

След 15 стр. стигам до това, което искам да те питам. Твоето решение ми харесва и с това, че следва един от основните принципи в компютрите. Може да не съм програмист, но го знам. И той е, че проблема трябва да се разбие на малки и лесно решими проблеми.

Затова харесвам двустъпковто ти решение. То е просто или поне докато не съм навлязъл в него. И то разбива голям проблем на два по-малки.

Първата точка изглежда обещаващо. Тя много прилича на това, което се описва във Википедия като комбинация. Или поне това, което разбрах.

Нека те цитирам отново:

1. Намираш някаква комбинация от цени, която да удовлетворява условието сумата от цените от тази комбинация да съвпада с крайната сума;
2. След това търсиш да намериш съответните артикули от множеството на артикулите, които да имат цени, попаднали в горната комбинация.

Малко не схващам. Добре да решим, че имам следния интервал от цени:

{0,5; 0,7; 1; 1,2; 2; 3}

(май така се изписваха)

Имам 40 бр. и 100 лв. сума. Как намирам това?

Ако правилно съм разбрал Википедия, мога да намеря, колко пъти се намират 40 бр. във 100 лв. Мога да намеря възможни сборове от 0,5; 07; 1 и т. н. даващи 100. Но не мога да намеря и двете.

Къде греша???
Активен

В $por4e2 e истината  ;)

***

Aко даваха стипендия за най-глупави, щях да съм човека с най-много Mини Kупъри

***

Reborn since 1998 || 15.09.2007 totally М$ free && conscience clear

go_fire

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 8780
  • Distribution: Дебиан Сид
  • Window Manager: ROX-Desktop / е17
  • кашик с гранатомет в танково поделение
    • Профил
    • WWW
Re: Софтуер за изработване на комбинации
« Отговор #65 -: Jul 21, 2018, 17:46 »
За горната задача решавам, че от всичко имам на разположение по 100 бр., сиреч от всички имам предостатъчно, за да е по-лесно

=*=

Ремо, не вярвам, че това ще има същия ефект като през миналия век. Българина не вярва вече на никой, не му пука за нищо и кара ден за ден.

А и от братска Америка идват много лоши сигнали. Сега на власт там е ревизионист. Управлява човек, който иска да унищожи всичко постигнато в резултат на две световни войни, незнайно колко икономически кризи и векове на тъмно средновековие. Човек, който иска да поставя граници и да създава роби. Малко ни беше, че другите две свръхсили се управляват от такива хора, но и страната на свободата вече не иска свобода.

Остава единствено ЕС, но той оставен на самотек, също ще се разпадне. Какво ще ни каже радио „Свободна Европа“? Край на свободата, добре дошли обратно в средновековието, очаквайте скоро да се завърне и робството.
Активен

В $por4e2 e истината  ;)

***

Aко даваха стипендия за най-глупави, щях да съм човека с най-много Mини Kупъри

***

Reborn since 1998 || 15.09.2007 totally М$ free && conscience clear

remotexx

  • Напреднали
  • *****
  • Публикации: 3210
    • Профил
Re: Софтуер за изработване на комбинации
« Отговор #66 -: Jul 21, 2018, 18:35 »
Гого пак прoменяш условието на задачата.... първо имаше склад, после нямаше, имаше само тотал и там... с колкото бр. го докараме тоя тотал важно беше само да съвпадат с нещо с точно такава цена в склада, а сега вече имаме и бройки да съвпадаме... други промени очкават ли се?

Математиката е точна наука, и за да ти изкара, макар и приближено решение, трябва (най-важното е) правилно формулиране на заданието/задачата

Трябва с това да почнеш - пълна абстракция (и забравяш за склaдове и пр. битовизми)
значи засега задачата е следната:
Дадено:
 сума - Тотал напр. S=100 лв.
 бройки - Тотал напр. N=40 бр.
 някакъв наличен инвентар Xi артикула с ед. цена Yi, i [1..M] къде 1..2000
Търси се:
Такава комбинация от N елемента (може и повторения - предполагам , освен ако пак не прoмениш условието по-натам че да не може) таква че X1 * Y1 + .... + Xn * Yn = S или да е макс. близко (щото са се променяли цени, давани са отстъпки и надецнки и пр.)

Това ли е задачата в края на краищата? или ще има още прoмени...

Аз досега не знаех че ще има и бр. (мислех че намесваш бройките само с цел да не изпишеш повече от наличността в склада)

Тук отново опираме до това, че (за съжаление) за една отделна фактура е 'сравнително' лесно, но понеже не се взема в предвид цялата картинка може към последните да не са ти останали правилните 'деноминации' и да стигаш доста далеч от целта S т.е. пак оптималното  решение е SA или генетичен и пр. алгортъм само че върху всички наведнъж, но и поотделно става, само че вече не става само с оная програмка за сгъчкването файловете ами ще трябва да се разпише (е освен ако програмката няма опция за задване и точен бр. на файловете - не съм ровил там тя е с отворен код може и да има)

всички др. варианти с пълно изчерпване пак опират до 2000! ако искаш и програмка да играе на тото си напиши - теглиш случайни 40 от 2000 и гледаш колко близо си до S, общо взето и SA прави нещо подобно  но си помни и най-доброто състояние и скача към по-добро като от време на време скача и към по лошо за късмет и според тек. температура, колкото повече се охлажда по малко поема риск и те така...
« Последна редакция: Jul 21, 2018, 18:46 от remotexx »
Активен

go_fire

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 8780
  • Distribution: Дебиан Сид
  • Window Manager: ROX-Desktop / е17
  • кашик с гранатомет в танково поделение
    • Профил
    • WWW
Re: Софтуер за изработване на комбинации
« Отговор #67 -: Jul 21, 2018, 18:41 »
Не мога да те разбера. Явно аз не мога да се изразявам ясно, за което се извинявам. Условието на задачката винаги е било едно и също.

Имаме обобщени данни. Те казват: имаш продадени 5 бр. салам за 20 лв.

Задачата е да се разпределят тези 5 бр. измежду 20 вида различни кремвиши, колбаси, наденица и т.н., като от кремвишите имаш налични 2, които струват по 2 лв., от колбасите имаш 20, които струват по лев и т.н.
Активен

В $por4e2 e истината  ;)

***

Aко даваха стипендия за най-глупави, щях да съм човека с най-много Mини Kупъри

***

Reborn since 1998 || 15.09.2007 totally М$ free && conscience clear

remotexx

  • Напреднали
  • *****
  • Публикации: 3210
    • Профил
Re: Софтуер за изработване на комбинации
« Отговор #68 -: Jul 21, 2018, 18:48 »
ами можеше да почнеш и с тоя пример, като не те бива по абстракциите  ;D

чисто теоретично, ..да дам и аз един пример защо трябва да се оптимизира на цяло т.е. всички фактури наведнъж... да кажем първите 100 изписваш всичките салами от по 1лв. и към края ти идва фактура за 1 бр. салам от 1 лв. и нямаш щото предните вместо 100 х 1лв. е трябвало 50 х 2лв да нахакаш вътре

т.е. последно уточнение - трябва ли да НЕ прехвърляме наличността в склада да кажем 100 бр салам или може и 1000 да изпишем па после ще кажем че сме ги купили т.е. един вид да приемем че склада има безкрайно много бройки от всичко но пък иначе само от застопорени т.е. към момента налични стоки (т.е. инджектопляктор няма и няма и да има) което е крайно нереална ситуация?!? т.е. аз мисля реалистично и според здравия разум - 1) трябва да можем да си купим инджектопляктор 1 бр. на какват цена си решим (като гледаме да ни натамъни точно някой фактура/и) и да го продадем и повече да не си купим; 2) да кажем към дн. дата имаме 100 салама и ги разпределим, но се окаже че към дата на продажба н а тая фактура (т.е. трябва ли да намесваме и дата сега) в склада не е имало 100 салама ами само 2 бр. - пък алгортъма каже че сме продали 100 (щото към дн. дата сме имали толкова)

т.е. като ще се лъжем... т.е. като ще е гарга, да е рошава
или 1) можем да си измисляме каквото си искаме че сме купили и продали вкл. и точно някъв нов артикул дето баш такъв ни трябва за баш ей тая фактура 50 бр. 100 лв. с ед. цена 100/50 = 2лв - като ще лъжем да лъжем на едро
или ако па хич няма да се лъжем,
2) ще ни трябва наличности и цени в склада към датата на продажба на всяка една фактура
3) твойто май не попада в нито една от горните категории и това ме обърква тотално
нещо като булката да е сааамо малко бременна - е такова животно нема

П.П. Аз да ти кажа в тоя сл. карай както колгеите преди тебе - като видиш че е 100 лв за 40 салама - отваряш на стр. с цени (не вярвам да са гледали чак и наличности) и чисто евристично докарваш на око сумата от 100 лв. там пляскаш салами, кренвирши, суджуци че иначе.. което ме подсети че сега па и йерархия на артикулите ще трябва да правим - като пише 100 лв. салами не може да продаваш 100 бр. болт м8 напр.
« Последна редакция: Jul 21, 2018, 19:05 от remotexx »
Активен

ddantgwyn

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 1262
    • Профил
Re: Софтуер за изработване на комбинации
« Отговор #69 -: Jul 21, 2018, 19:08 »

1. Намираш някаква комбинация от цени, която да удовлетворява условието сумата от цените от тази комбинация да съвпада с крайната сума;
2. След това търсиш да намериш съответните артикули от множеството на артикулите, които да имат цени, попаднали в горната комбинация.

Малко не схващам. Добре да решим, че имам следния интервал от цени:

{0,5; 0,7; 1; 1,2; 2; 3}

(май така се изписваха)

Имам 40 бр. и 100 лв. сума. Как намирам това?

Ако правилно съм разбрал Википедия, мога да намеря, колко пъти се намират 40 бр. във 100 лв. Мога да намеря възможни сборове от 0,5; 07; 1 и т. н. даващи 100. Но не мога да намеря и двете.

Къде греша???

Грешиш, че искаш да намериш решението с една итерация¹. А аз предлагам да го търсиш с две итерации.

На първата итерация намираш решение на уравнението:

0,5*x₁ +0,7*x₂ +1*x₃ + 1,2*x₄ + 2*x₅ + 3*x₆ = 100

Сумата от тези променливи² {x₁, x₂, x₃, x₄, x₅, x₆} може да е по-голяма от 100³. Те нямат нищо общо с броя артикули, които имаш в склада. Те ти показват колко пъти трябва да продадеш един артикул със съответната цена за да постигнеш крайната сума на продажбите, която в случая си посочил, че е 100 лева. В общия случай x₁, x₂, x₃, x₄, x₅ и x₆ ще се намират в интервала {1, 200} и винаги ще са цяло число⁴.

Тук трябва да се използват, според мен, инструментите, които ти дава дискретната математика. Дали бяха пермутации, вариации или нещо трето, вече не помня.

Това е първата итерация — имаш някакво разпределение на цени от множеството ти цени, с които разполагаш, което удовлетворява горното условие.

Следва втората итерация:

Понеже съм сигурен, че винаги ще има два или повече артикула с една и съща цена, на втората итерация правиш разпределение на тези артикули. Примерно, ако имаш три артикула с цена 0,5 лева и си намерил, че x₁ е 6, трябва да разпределиш това x₁ между тези 6 артикула — кои от тях ще се появят в списъка на продажбите за този месец. Тук вече може да използваш генератор на случайни неща или някакъв друг подход.

Сега стана ли ти ясна идеята или трябва да обяснявам още?

И не забравяй, че това е само една идея — до претворяването и в нещо работещо има още много работа. А и може да се окаже, че това е неосъществима идея ::)

———
¹ и за итерация не съм убеден, че е точният термин, но в момента не се сещам за друга, по-подходящ;

² нека ги наричаме засега така.

³ това 100 няма нищо общо със сумата 100 лева, да не се объркаш.

⁴ тип integer
Активен

the lamer's team honourable member

go_fire

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 8780
  • Distribution: Дебиан Сид
  • Window Manager: ROX-Desktop / е17
  • кашик с гранатомет в танково поделение
    • Профил
    • WWW
Re: Софтуер за изработване на комбинации
« Отговор #70 -: Jul 21, 2018, 19:21 »
За да изглежда истинско, трябва да изглежда истинско. Сиреч не можем да извадим повече, от колкото имаме. Но за опростяване да решим, че имаме повече от достатъчно. Това казах и на Дантгуин.

Някъде назад някой ме попита: Е добре, като „салама“ не ти стигне, какво правиш? „Болтове“ ли изписваш. Отговора тогава не го дадох. Не беше нарочно. Но отговора е – да. Изписвам болтове. При такива фалшиви складове често попадаме в ситуация, когато нямаме наличност да изписваме нещо коренно различно.

Колкото по-фалшив е склада, толкова по-често се случва, всеки път. Този склад поне е действителен в първата си част, какво е влязло.

Защото обикновено е точно обратното. Обикновено гамените не вземат фактура за нищо, карат го напълно на черно, но после малоумниците чукат продажби, за да покажат приход. И става ужас. Това е в 90% от клиентите на коя да е кантора. Ей тия вече са за бесене. Не са за бесене. За набиване на кол са. Тук поне нямаме нищо сиво. Всичко е бяло. Само дето нямаме информация.

От всички клиенти имаме едва два (добре три), при които има пълна и точна информация, какво е влязло и какво излязло. А това е точно половин процент от всички наши клиенти. Всички от останалите, които не са регистрирани по реда на ЗДДС са в откровено черната икономика.

Да си го знаете. Ако си имате работа с някой, но той няма BG пред булстата си, то той е достоен наследник на бай ви Ганя Балкански. Лъже, маже, брише и все на дребно. От носа си не вижда половин милиметър. Търгаш и никаквец. Но си мисли, че като има закътани мускали в пояса е ебал дявола. Нищо не е направил. Това важи за точно всички без BG. За част от останалите също е почти вярно, но тях държавата в общи линии поне си дава вид, че ги превъзпитава.

На никой под 200 хил. лв.  годишен оборот не трябва да му е позволено да наема работници. И не трябва да бъде търсен за нищо. Той така или иначе няма да го плати, каквото и да е. Данъци, осигуровки, заплати. Няма значение. Няма да плати. Като направи 200 хил., тогава да влиза в документо-оборота.
« Последна редакция: Jul 21, 2018, 19:34 от go_fire »
Активен

В $por4e2 e истината  ;)

***

Aко даваха стипендия за най-глупави, щях да съм човека с най-много Mини Kупъри

***

Reborn since 1998 || 15.09.2007 totally М$ free && conscience clear

Yasen6275

  • Напреднали
  • *****
  • Публикации: 553
    • Профил
Re: Софтуер за изработване на комбинации
« Отговор #71 -: Jul 21, 2018, 19:34 »
Прекрасна държава си имаме.

Някой не си е свършил работата(дали е частично или изцяло няма никакво значение) както трябва и същия или някой друг губи своето или нечие друго време, обикновено за да спести едни пари. Обикновено неоправдано малко на фона на загубеното време и нерви. И по това не сме шампиони. Но съм убеден че не сме далеч от първото място. В се пак сме в държавата в която основните занимания са как да прекараш системата и да се оплакваш как системата не работи.
Активен

remotexx

  • Напреднали
  • *****
  • Публикации: 3210
    • Профил
Re: Софтуер за изработване на комбинации
« Отговор #72 -: Jul 21, 2018, 21:16 »
нееее когато е свършил салама не значи че изписваме болтове, ако всичко си е било както си требе, това обик. означава че В МОМЕНТА е Свършил но към момента на продaжбата е бил наличен (това ако са биле в 2та % честни частници, ако са били в другите и въобще не са гледали като са фактурирали... предлагам да им предложите и фактурирането вие да им го правите)

та сега за целта на твоята програмка какво приемаме, че ще изписваме болтове ако няма ТЕКУЩО наличен салам или ще изписваме САЛАМ макар и сега да няма (допускайки че е бил честен частник и е имало салам към датата на фактуриране)

малей колкото писане изписах - аз досега щях да съм ти написал прогамчето (даже и с по-малко редове код) - ако бехме успели обаче да изясним заданието
значи да изясним
1) като няма салам изписваме болтове или допускаме че е имало и въобще не гледами текущи наличности ами направо си изписваме по категорията
2) за йерархията от категории
- всичко ли е 1 ниво
- на повече от едно ниво
- за целите на фактурирането на колко нива е т.е. дали е само на едно ако ще и 5 под нива да е в склада
3) дай CSV/TSV представителна извадка на склад - т.е. групи с малки цени, с големи, със случaйни и такива с макс. разлика мин-макс цена
и... да се фащаме и да я напишем, а
« Последна редакция: Jul 21, 2018, 21:18 от remotexx »
Активен

go_fire

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 8780
  • Distribution: Дебиан Сид
  • Window Manager: ROX-Desktop / е17
  • кашик с гранатомет в танково поделение
    • Профил
    • WWW
Re: Софтуер за изработване на комбинации
« Отговор #73 -: Jul 21, 2018, 22:57 »
В този случай не би трябвало да ни се налага да изписваме болтове, но това е нещото, което ще трябва да се прави. Не може да се изписва на червено. Програмата не го позволява. По-точно го позволява, но се случват странни неща и затова не го правим.

Иначе в нея всичко е на едно ниво. Имаме кодове от (например) 101001 до 999001. Според имената им си ги групирам настрана (в електронна таблица),  кое какво е. И преди казвах, че скадовата е доволно тъпа. Но за кантори е идеална. Там трябва нещо просто.

После на лично ще ти напиша още нещо.

=*=

Макар с Ясен често (винаги) да сме на различни позиции, сега само за идеята ще се опитам да се съглася с него. И в действителност дълги години мислех точно като него.

Но това не е всичко.

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

Ясен е по-отдавна от мен тук, но е възможно да не знае за Митака от Катуница. Това беше един системен администратор, футболен хулиган и националист от ВМРО. В един момент го изби на фашизъм и също както на Злати му биха банана.

Та той казваше, че ако един работодател не плаща нормални заплати, то просто не трябва да го има. Дълги години бях напълно съгласен с него.

Но през това време просто не оценявах, че не живеем в идеален свят. Срам не срам, Адам е отхапал от ябълката и сега трябва да живеем в тази помийна яма Земята. А Земята, ако не си любовница на Борисов, не е рай. То и мис Гащи я съжалявам. Живота в златен затвор, едва ли може да се нарече живот.

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

Щеш не щеш, не можеш да работиш по правилата. Все няколко правила  няма да спазиш. Може дори да не знаеш, че не ги спазваш. Повечето хора толкова малко познават законите и толкова не им пука за тях, че дори не осъзнават, че ги нарушават.

А то всички закони да ги знаеш не е възможно. Не е възможно да знаеш дори само тези, които се отнасят до твоята дейност. Няма как. И професорите по търговско право не ги знаят. Нищо, че са ги писали. По-скоро преписвали. Ние нямаме наша правна школа.

Всеки допуска компромиси. И това не е само в икономиката. Стопанството е просто един от аспектите на живота. Не е отделена от целия социум.

И точно човека, който с право ме обвини, че заемам крайни позиции, не би трябвало да изпада в същата ситуация.
Активен

В $por4e2 e истината  ;)

***

Aко даваха стипендия за най-глупави, щях да съм човека с най-много Mини Kупъри

***

Reborn since 1998 || 15.09.2007 totally М$ free && conscience clear

go_fire

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 8780
  • Distribution: Дебиан Сид
  • Window Manager: ROX-Desktop / е17
  • кашик с гранатомет в танково поделение
    • Профил
    • WWW
Re: Софтуер за изработване на комбинации
« Отговор #74 -: Jul 22, 2018, 10:01 »
Снощи на Ремо му дадох реални данни от реалния склад. Не се страхувам да му ги дам, защото е повече от да му вярвам. Но не мога да ги дам публично.

Въпроса е в това, че този клиент е известен в града. Не е политик, не членува в партии, просто бизнесмен е. Но е от видните хора на града. Дори, ако само кажа, с какъв точно вид търговия се занимава, пак ще го изложа на риск.

Града е малък, направо микроскопичен. Канторите са не повече от девет. А в тях сумарно има не повече от петима мъже. И аз май не познавам друг Георги. Кантората е известна и веднага може да се разбере коя е.

От друга страна в бизнеса на клиента са пак не повече от десетина. Но двама (плюс една) са по-големите. Така много лесно ще се разбере кой е.

От научаване на името му, не могат да последват сериозни щети. Но това е само на пръв поглед. Истината е, че в България дребния бизнес е на ръба на оцеляването. Само месец със занижен оборот (под очаквания) може да те изкара от пазара. Дори да си тези с по-сериозен дял. Сериозен дял от нищо, пак е нищо. На мен ми плащат да защитавам интереса на клиентите си, не да го накърнявам.

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

=*=

Тази сутрин направих наблюдение. Отговарял съм на някои въпроси, но заради заливането с извънтемие, тези отговори са останали скрити. Хак да ми е.

Склад за данъчни и счетоводни цели не е точно реален склад. Разликата е в това, че е малко по-обобщен. Дава се по категории продукти, а не по отделни артикули. Друг е въпроса, че в този случай вместо например 400 категории имаме 4 000 заради разликите в цените, които също (което не е обичайно) са отразени в системата от категории.

Другата разлика произтича от отчетите по продажби. Както казах те са общи и в края на месеца. Така се записват и в склада за данъчни и счетоводни цели. Ако има движение по банка то също се дава сумирано с една дълга операция в края на месеца, като тя може да е омешана с продажбите в брой или отделна. В този случай като да съм да я давам отделно, защото за нея (в общи линии) имам точна информация и не ми се налага разпределение.

Обобщено:

1. Прихода в склада се дава на ниво фактура. С деня и с конкретното влязлото;

2. Разхода се дава общ в края на месеца;

3. Ако няма салам, се изписват болтове. Данъчните не трябва да виждат никакви минуси. В този случай едва ли ще се наложи. Зад всичко седи фактура, няма капка черна икономика. Но заради изписването по трудовете на Нагоденко, може все пак да се наложи;

4. Говоря за категории, но йерархия от такива има само извън склада. Склада е плоска структура.
Активен

В $por4e2 e истината  ;)

***

Aко даваха стипендия за най-глупави, щях да съм човека с най-много Mини Kупъри

***

Reborn since 1998 || 15.09.2007 totally М$ free && conscience clear