powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / help!
25 сообщений из 68, страница 2 из 3
help!
    #33254739
Фотография 1024
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
опять недосмотрел, наверна один индекс на

iif(len(field_1)=0,0,1);
+iif(len(field_2)=0,0,1);
+iif(len(field_3)=0,0,1);
...... остальные
+iif(len(field_10)=0,0,1)

будет всё-таки быстрее чем на каждое отдельное поле


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
help!
    #33255106
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi 1024!

> iif(len(field_1)=0,0,1)

ВСЕГДА даст 1 - тебе домашнее задание - догадаться почему :)

2 SDF

Перво наперво нужно описать алгоритм заполнения таблицы, а не
"дополнительные ограничения".

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
help!
    #33255185
SDF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Struktura tablitsu takaya (dbf)
nn C 8
AA1 N 2 1-9
AA2 N 2 10-20
AA3 N 2 21-30
AA4 N 2 31-40
AA5 N 2 41-50
AA6 N 2 1-9
AA7 N 2 10-20
AA8 N 2 11-30
AA9 N 2 31-40
AA10 N 2 41-50
Na 1-y pole mne nado pisat nomer zapisi.(recno)
Kajdiy pole doljno napolnyatsa s cluchaynimi chislomi, napirmer aa1 i aa6 doljno napolnyatsa sluchaynimi cislami ot 1 do 9
aa2 i aa7 doljno napolnyatsa sluchaynimi cislami ot 10 do 20
i t.d.
repl aa1 with 1 +ROUND((10-1)*RAND(),0)
repl aa6 with 1 +ROUND((10-1)*RAND(),0)

repl aa2 with 10 +ROUND((20-10)*RAND(),0)
repl aa7 with 10 +ROUND((20-10)*RAND(),0)
.............................
.................
...................

No, menya seychas interesuet vot eti voprosi:
No v odnom zapise v eti 10 poley doljni tolko 5 nepustie znachenie, i ne povtoryayushixsya.
...
Рейтинг: 0 / 0
help!
    #33255297
Komissar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
знать бы смысл такой задачи - было бы проще... а пока что можно сказать что твой вариант заполнения полей мягко говоря не очень хорош!
...
Рейтинг: 0 / 0
help!
    #33255323
SDF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ya znayu chto "ne ochen xorosh", na eto ochen mnoqo vremya idyot, i poetomu sprashivayu kak mojno podruqomu (po bistree) delat?
...
Рейтинг: 0 / 0
help!
    #33255406
Komissar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sorry, но для продолжения я настаиваю: знать бы смысл такой задачи - было бы проще...
Обработка таблички в 20,000,000 записей с записью номера записи в символьное поле и набором случайных чисел не вдохновляет без ощущения реальной необходимости!
Для чего нужны сто миллионов случайных цифр да ещё и с контролем???
...
Рейтинг: 0 / 0
help!
    #33255466
SDF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Komissar, eta tablitsa nujen mne dlya lotareynie iqri.
...
Рейтинг: 0 / 0
help!
    #33255532
Komissar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так я и думал! :-)))
1. при твоих REPLAC'ах все поля будут НЕпустыми...
2. а допустимо ли чтобы аа1#0 и аа6=0? или aa1=aa2=aa3=aa4=aa5=aa6 и остальные #0? не совсем понятен алгоритм заполнения "парных" полей...
3. сколько бы времени это всё не занимало - ведь нужно одноразовое заполнение таблицы? или она меняется безконечно чтоб никто никогда не выграл приз??? ;-)))
...
Рейтинг: 0 / 0
help!
    #33255598
SDF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Ctobi etoqo ne bilo , ya dumal nayti 5 sluchaynie pole, i eti poley napolnit.
2. аа1#0 и аа6=0 dopustimo.
aa1=aa2=aa3=aa4=aa5=aa6 ne dopustimo
V odnoy zapisi ne doljno povtoryayushix znachenie.
Dlya kojdiy pole yest min. i max. znachenie. Iz etix chisel nado sluchaynie vibrat. Napirmer:
Dlya AA1 I AA6 1-9
Dlya AA2 I AA7 10-20
Dlya AA3 I AA8 21-30
Dlya AA4 I AA9 31-40
dlya AA5 I AA10 41-50

3. Net , ne menyaetsa.
Da, odnorazoviy zapolnenie nujen. No delo v tom chto, seychas u menya ochen malo vremeni chtobi sozdat etu tablitsu, i yeshyo ya dumayu chto yesli zapolnenie tak dolqo, sama proqramma toje budet dolqo rabotat.
...
Рейтинг: 0 / 0
help!
    #33255659
Komissar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. условие "nayti 5 sluchaynie pole" противоречит условию "aa1=aa2=aa3=aa4=aa5=aa6 ne dopustimo"!!! а вдруг окажется что ты "случайно" заполниш поля с 7-го по 10-ое?
2. "yesli zapolnenie tak dolqo, sama proqramma toje budet dolqo rabotat" - ни в коем случае!!! кстати а ЧТО и КАК потом должна будет делать программа?
3. если смогу - попробую пример сделать и время заполнения засечь! ;-)
...
Рейтинг: 0 / 0
help!
    #33255666
Фотография 1024
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"Igor Korolyov" <nospam@sql.ru>; wrote in message news:1852703@sql.ru...

Hi 1024!

> iif(len(field_1)=0,0,1)

ВСЕГДА даст 1 - тебе домашнее задание - догадаться почему :)

-----------------------------------

? iif(len("test")=0,0,1)
>1

? iif(len("")=0,0,1)
>0

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


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
help!
    #33255858
SDF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Komissar,ya chto-to delal. Vi toje posmotrite pojalusta!
No ya znayu chto pri takoy tablitsu ochen dolqo budet rabotat.
...
Рейтинг: 0 / 0
help!
    #33255932
SDF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. aa1=aa2=aa3=aa4=aa5 dopustimo , yesli eti znachenie =0
aa1=aa2=aa3=aa4=aa5=aa6=0 ne dopustimo, potomu chto iz etix poley
(aa1...aa10) 5 ne dlojen pustim

2.Ya primer otpravil uje. Vse pole bb (bb1...bb5) vseqda dlojen bit <>0, i zapolnenie poley bb (bb1...bb5) anoloqichen poley aa (aa1...aa5).

3. Bil bi bloqadaren, i yeshyo mne interesno , kto-to druqoy kak budet reshat etu zadachu.
...
Рейтинг: 0 / 0
help!
    #33256829
Komissar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я вернулся... ;-)
кстати вопросик - а все 20,000,000 записей должны быть уникальны? не так ли?
...
Рейтинг: 0 / 0
help!
    #33256892
SDF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Komissar, yesli poluchitsa eto xorosho,no poka ya ob etom ne dumayu.poka mojno
i bez etoqo.
...
Рейтинг: 0 / 0
help!
    #33257297
Komissar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лови... Смотри...
1. RAND(), без контроля дублей. У меня заняло 14 минут.
2. RAND(), с контролем дублей. Пока ходил оно за пару часов почти 15,000,000 записей сотворило. Тормоза серьезные... ;-)
3. А надо ли вообще RAND()? Ценой некоторых раздумий можно вообще от них отказаться...
Если в этом примере время 1.35 сек., то на такое же количество записей в первых примерах уходит соответственно - 27 и 35 сек.
P.S. В примерах с RAND() делал символьные поля, чтоб индекс лучше смотрелся! ;-)
...
Рейтинг: 0 / 0
help!
    #33257580
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi 1024!

> ? iif(len("")=0,0,1)
> >0

Некоректно - ты же написал это для ПОЛЯ (странно было-бы в запросе делать
такое хитрое выражение для переменных :) ) - а символьные поля вплоть до
VFP9 имеют строго фиксированную размерность - и уж что что, а пустота поля
на LEN() никак не влияет.
Конечно можно применить ALLTRIM() и даже в большинстве случаев RTRIM() - но
согласись, что EMPTY(поле) куда как проще, нагляднее и быстрее чем
LEN(ALLTRIM(поле)) = 0

2 SDF

Нельзя ли поточнее указать правила создания комбинаций для лотереи - я
как-то слабо представляю себе лотерею, где могут быть комбинации из РАЗНОГО
количества чисел - т.е. в одном случае 5 чисел а в другом скажем 8...
Опять же не ясна роль 10 полей - ты так делаешь для удобства последующей
распечатки (ну или что там с этой таблицей происходит), или просто таким
образом задаешь ещё одно неявное условие - "в комбинации не может быть более
2-х чисел из одного десятка"...
Но тогда логичнее сделать в таблице всего 5 полей (ну или сколько должно
быть чисел в комбинации), а проверку этого условия сделать отдельно...

В общем пока не ясен алгоритм (правила которым должны удовлетворять
комбинации) бессмысленно даже браться за это дело.

P.S. Ограничения на "не более 3 чисел из одного десятка" как я понимаю
встречаются в русском лото - там в карточке всего 3 строки, а числа
рассортированы по колонкам в зависимости от того к какому десятку они
принадлежат. В более простых лотереях обычно таких ограничений нету - и даже
комбинация 1,2,3,4,5 (ну и 6 ;)) вполне может применяться :) Т.е. там
главное условие - это отсутствие повторений...

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
help!
    #33257668
SDF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Igor Korolyov, u menya struktura tablitsu (dlya raspechatki) takaya kak bask1.dbf.
U nas toje v kartochke vseqo 3 stroka, a chisla rassortirovani po kolonkam v zavisimosti ot tovo k kakomu desyatku oni prinadlejit.
No, dlya raboti proqrammi iz etoy tablitsu (bask1.dbf) poluchayu noviy -bask.dbf.
V etoy tablitse (bask.dbf) odno kartochka -odin zapis. Pervie 2 zapisi aa1...aa10
,posledniy zapis-bb1...bb5. Ya dumal, tak proqramma bistree budet rabotat.
(bask.dbf-dlya proqrammi, bask1.dbf- dlya raspechatki kartochki)

Komissar, spasibo, qarazdo bistree rabotaet , chem u maenya.Pro 3-vo varianta ya voobshi ne dumal, etoluchshiy varian pomoemu.
No yeshyo menya interesuet, maya proqramma (sdf.rar) s takoy bolshoy tablitsey
kak budet rabotat? Ya proveril tolko s 400000 zapisami.
...
Рейтинг: 0 / 0
help!
    #33257669
SDF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bask1.dbf
...
Рейтинг: 0 / 0
help!
    #33257736
SDF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
help!
    #33257935
Komissar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Единственный минус 3-го варианта - необходимость очень внимательно писать код заполнения... не запутаться... т.е. сначала я бы составил перечень комбинаций на бумаге, а потом уже садился за компьютер! или вообще подумать над упрощением этого кода... а то я его "на ходу" нарисовал... наверняка можно упростить и сократить...

Насчет твоей программы - извини, не врубился в алгоритм... да и времени не хватало... можешь описать его подробно?
...
Рейтинг: 0 / 0
help!
    #33258236
SDF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alqoritm takoy:
Esli na 1-m xode kakoy to nomer vishel , dopustim 12 (invalue=12), ya v tablitse bask.dbf naxoju vse eti znachenie, i obnulyayu ix.
Na 2-m xode yesli vishel , dopustim 43 (invalue=43), ya v tablitse bask.dbf naxoju vse eti znachenie, i obnulyayu ix.
i.t.d.
Na 1-m ture viqrivaet tot bilet, kotoriy 1-m vse pole AA (aa1...aa10), ili vse pole BB (bb1...bb5) obnulyaetsa, (cem_a=0 ili cem_b=0) eto znacit vse chislo v etix poley uje vishli. Potom chitayu skolko bilet viqrival na 1-m ture (say1=reccount()), i kakie imenno bileti (nomer biletov-nn),i v kakom xode (GEDISH) viqrival.
Etot kod s 400000 zapisami rabotaet normalno, no 20000000 zapisami ya dumayu mne trudno budet.
...
Рейтинг: 0 / 0
help!
    #33258498
Фотография 1024
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"Igor Korolyov" <nospam@sql.ru>; wrote in message news:1857024@sql.ru...

согласись, что EMPTY(поле) куда как проще, нагляднее и быстрее чем
LEN(ALLTRIM(поле)) = 0

************

я ж написал - это пример. А если использовать empty то в rushmore индекс
участвовать не будет. Хотя фик его знает, там вроде выражение. Короче,
задача с спортлото мало относится к базам данных. Загнать всё в массив и
обрабатывать.


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
help!
    #33258514
Komissar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1024Загнать всё в массив и обрабатывать.
хм... парню надо двадцать миллионов вариантов!!! в массив???
...
Рейтинг: 0 / 0
help!
    #33261752
SDF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ni kto ne zanimalsa lotareynimi iqrami? Kak rabotat s takimi bolshimi tablitsami?
U menya na 1 xod idyot 5-6 minut.
...
Рейтинг: 0 / 0
25 сообщений из 68, страница 2 из 3
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / help!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]