:: Игры Разума
Вопросы на собеседовании 8
piva
Автор

Сообщений: 18655
Откуда: Курган
Дата регистрации: 24.03.2004
Ну раз "Вопросы на собеседовании 7" оказались простыми
Тогда будем изворачиваться в задаче без циклов
Будем мучить Неявные циклы

Дано
Create Cursor test (Sys2015 c(10))
lcCommand='insert into test values (Sys(2015))'

Нужно добавить 100 записей в курсор TEST без использования циклов DO WHILE, FOR, SCAN, PRINT и остальных которые я мог и забыть

Во избежание вычурной генерации кода EXECSCRIPT или COMPILE не использовать.

Специально для Каната (Foxtrot) так же не использовать макроподстановки "&" и функцию EVALUATE()

Размер кода - не более 20 строк. Собеседование все-таки

Скажу сразу, что я знаю 2 абсолютно разных по принципу действия способа, может кто-нибудь найдет третий ? ;)


------------------
Часто бывает так, что есть над чем задуматься, а нечем.




Исправлено 1 раз(а). Последнее : piva, 12.03.07 08:40
Ratings: 0 negative/0 positive
Re: Вопросы на собеседовании 8
Dik

Сообщений: 327
Откуда: Москва
Дата регистрации: 11.10.2000
PUBLIC gnAddRec as Integer
gnAddRec = 100
Create Cursor test (Sys2015 c(10))
AddRec(0)
FUNCTION AddRec (tnAllRec)
IF tnAllRec < gnAddRec
insert into test values (Sys(2015))
tnAllRec = AddRec (tnAllRec + 1)
ENDIF
Ratings: 0 negative/0 positive
Re: Вопросы на собеседовании 8
Dik

Сообщений: 327
Откуда: Москва
Дата регистрации: 11.10.2000
Вадим, может я чего-то не так понял:
lcCommand='insert into test values (Sys(2015))'
это как исходные данные или в качестве примера заполнения курсора?
Ratings: 0 negative/0 positive
Re: Вопросы на собеседовании 8
piva
Автор

Сообщений: 18655
Откуда: Курган
Дата регистрации: 24.03.2004
Ну какая разница какая команда лишь бы было чего-то


------------------
Часто бывает так, что есть над чем задуматься, а нечем.
Ratings: 0 negative/0 positive
Re: Вопросы на собеседовании 8
piva
Автор

Сообщений: 18655
Откуда: Курган
Дата регистрации: 24.03.2004
А 1000 можешь ?


------------------
Часто бывает так, что есть над чем задуматься, а нечем.
Ratings: 0 negative/0 positive
Re: Вопросы на собеседовании 8
PaulWist

Сообщений: 14601
Дата регистрации: 01.04.2004
Ну так например

CLEAR
Create Cursor test (Sys2015 c(10))
insert into test values (Sys(2015))
SELECT TOP 10 ff(1000) as f1 FROM test ORDER BY 1
FUNCTION ff(aa)
lcCommand='insert into test values (Sys(2015))'
EXECSCRIPT(lcCommand)
IF RECCOUNT() = aa
?RECCOUNT('test')
CANCEL
ENDIF
ENDFUNC


------------------
Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам.
(В.Шекспир Гамлет)
Ratings: 0 negative/0 positive
Re: Вопросы на собеседовании 8
Foxtrot

Сообщений: 3408
Откуда: Куда:
Дата регистрации: 25.04.2003
piva
Ну раз "Вопросы на собеседовании 7" оказались простыми Тогда будем изворачиваться в задаче без циклов
Будем мучить Неявные циклы
Специально для Каната (Foxtrot) так же не использовать макроподстановки "&" и функцию EVALUATE()
Размер кода - не более 20 строк. Собеседование все-таки
Скажу сразу, что я знаю 2 абсолютно разных по принципу действия способа, может кто-нибудь найдет третий ? ;)

Огласите предлагаемую должность


------------------
Мойте ноги, моя ноги вы моете и руки
Ratings: 0 negative/0 positive
Re: Вопросы на собеседовании 8
AleksM

Сообщений: 17881
Дата регистрации: 11.11.2003
CLOSE TABLES ALL
LOCAL ARRAY laArr(100,1)
laArr=SYS(2015)
CREATE CURSOR test (Sys2015 c(10))
APPEND FROM ARRAY laArr
BROWSE


------------------
Лучше переесть, чем недоспать.
Не спеши, а то успеешь.
Ratings: 0 negative/0 positive
Re: Вопросы на собеседовании 8
Dik

Сообщений: 327
Откуда: Москва
Дата регистрации: 11.10.2000
piva
А 1000 можешь ?
Таким способом нет. Fox-овое ограничение на стек вызова рекурсии.
Ща че-нить придумаем. ;)
Ratings: 0 negative/0 positive
Re: Вопросы на собеседовании 8
Zakharov_slava

Сообщений: 2022
Откуда: Алматы
Дата регистрации: 14.10.2005
CREATE CURSOR test (sys2015 C(20))
insert into test values (Sys(2015))
LOCATE FOR AddRecord() NOOPTIMIZE
PROCEDURE AddRecord
insert into test values (Sys(2015))
LOCATE
RETURN RECCOUNT([test])>=100



Исправлено 1 раз(а). Последнее : Zakharov_slava, 12.03.07 09:28
Ratings: 0 negative/0 positive
Re: Вопросы на собеседовании 8
piva
Автор

Сообщений: 18655
Откуда: Курган
Дата регистрации: 24.03.2004
Слава - круто


------------------
Часто бывает так, что есть над чем задуматься, а нечем.
Ratings: 0 negative/0 positive
Re: Вопросы на собеседовании 8
piva
Автор

Сообщений: 18655
Откуда: Курган
Дата регистрации: 24.03.2004
А если это не вставка записи в таблу ? ;)


------------------
Часто бывает так, что есть над чем задуматься, а нечем.
Ratings: 0 negative/0 positive
Re: Вопросы на собеседовании 8
piva
Автор

Сообщений: 18655
Откуда: Курган
Дата регистрации: 24.03.2004
VFP9 -StackSize=30000
На 738 уровне вылетает с ошибкой - VFP9SP1 и SP2 одинаково

[attachment 4013 error.jpg]


------------------
Часто бывает так, что есть над чем задуматься, а нечем.
Ratings: 0 negative/0 positive
Re: Вопросы на собеседовании 8
piva
Автор

Сообщений: 18655
Откуда: Курган
Дата регистрации: 24.03.2004
Саня - а где lcCommand - я не вижу


------------------
Часто бывает так, что есть над чем задуматься, а нечем.
Ratings: 0 negative/0 positive
Re: Вопросы на собеседовании 8
Zakharov_slava

Сообщений: 2022
Откуда: Алматы
Дата регистрации: 14.10.2005
Если хотя бы две записи в таблице есть - то не проблема, в ином случае бесперспективняк...
Ratings: 0 negative/0 positive
Re: Вопросы на собеседовании 8
AleksM

Сообщений: 17881
Дата регистрации: 11.11.2003
Цитата:
Нужно добавить 100 записей в курсор TEST без использования циклов
Цитата:
Ну какая разница какая команда лишь бы было чего-то
Это хто писал?


------------------
Лучше переесть, чем недоспать.
Не спеши, а то успеешь.
Ratings: 0 negative/0 positive
Re: Вопросы на собеседовании 8
piva
Автор

Сообщений: 18655
Откуда: Курган
Дата регистрации: 24.03.2004
Паша - я думал она зациклилась

Придется делать другую задачу с другим условием - комнада другая - можно и без курсора


------------------
Часто бывает так, что есть над чем задуматься, а нечем.
Ratings: 0 negative/0 positive
Re: Вопросы на собеседовании 8
piva
Автор

Сообщений: 18655
Откуда: Курган
Дата регистрации: 24.03.2004
lcCommand="xxx=Date()"
а так куда ?


------------------
Часто бывает так, что есть над чем задуматься, а нечем.
Ratings: 0 negative/0 positive
Re: Вопросы на собеседовании 8
piva
Автор

Сообщений: 18655
Откуда: Курган
Дата регистрации: 24.03.2004
Черт лопухнулая с условием задачи, надо условие менять


------------------
Часто бывает так, что есть над чем задуматься, а нечем.
Ratings: 0 negative/0 positive
Re: Вопросы на собеседовании 8
PaulWist

Сообщений: 14601
Дата регистрации: 01.04.2004
Ну давай тогда своё решение.


------------------
Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам.
(В.Шекспир Гамлет)
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 7 (Гостей: 7)

© 2000-2024 Fox Club 
Яндекс.Метрика