Вверх ↑
Этот топик читают: Гость
Ответов: 902
Рейтинг: 27
#31: 2007-05-31 21:34:53 ЛС | профиль | цитата
Galkov, Спасибо Ваша схема работает 100%.
Я опять мало что понял из Ваших разговоров,но постараюсь разобраться,хотя понимаю что здесь нужен большой опыт программирования и лет через 20 и я смогу разобраться во всех этих кольцеваниях и прочем.
решить пользователь его задачу - не цель.
цель - научить его решать задачу.
Ты его научил?


aaa_gadag, Мне очень помог,я хоть понял в какую сторону идти.
Хиасм-Великая сила! Но я струдом разбираюсь в двух-трёх компонентах.
А так хотябы попытался сам.
Уменя вот что получилось:
code_1508.txt
Я понимаю что это не правильно,но у меня работает.
Galkov, А использовать конечно буду Вашу схему.
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
файлы: 1code_1508.txt [2.4KB] [254]
Ответов: 2059
Рейтинг: 28
#32: 2007-06-01 01:13:16 ЛС | профиль | цитата
juk, не правельно тебя научили. Надо вот так.
code_1509.txt
А ту что это за гинератор случайных чисел если он всегда начинаеться с 15
карма: 1

0
файлы: 1code_1509.txt [2.3KB] [323]
Ответов: 9906
Рейтинг: 351
#33: 2007-06-01 08:18:29 ЛС | профиль | цитата
Эдик писал(а):
не правельно тебя научили

Это ты его не правЕльно научил.
doRandimize в гИнераторе делается один раз

[size=-2]------ Добавлено в 08:18
И что характерно, если у aaa_gadag-а кольцевание было еще корректным (хоть и неосознано), то у тебя уже - НЕТ
карма: 9

0
Администрация
Ответов: 15295
Рейтинг: 1519
#34: 2007-06-01 10:46:06 ЛС | профиль | цитата
juk писал(а):
здесь нужен большой опыт программирования и лет через 20 и я смогу разобраться во всех этих кольцеваниях и прочем

это было некоторое отступление, впринципе не касающееся конечного пользователя
карма: 27
0
Ответов: 2125
Рейтинг: 159
#35: 2007-06-01 11:10:17 ЛС | профиль | цитата
Dilma писал(а):
при такой сборке - выдавать ошибку

Это, между прочим, типичная реализация рекурсии при помощи цикла и стека. Первое "что-то делаем" это push, потом тело рекурсии, работающее с вершиной стека (и проверка - вперёд или назад), и перед последней проверкой (пуст ли стек) - pop.
карма: 1

0
Администрация
Ответов: 15295
Рейтинг: 1519
#36: 2007-06-01 11:12:17 ЛС | профиль | цитата
tsdima писал(а):
Это, между прочим, типичная реализация рекурсии при помощи цикла и стека.

типичная реализация при использование ассемблера в качестве целевого языка
карма: 27
0
Ответов: 2125
Рейтинг: 159
#37: 2007-06-01 12:48:13 ЛС | профиль | цитата
BOOL bForward=TRUE;
do {
if(bForward) stack.push();
doMyJob(stack.top());
bForward = CheckForward();
if(!bForward) stack.pop();
} while(!stack.empty());
карма: 1

0
Администрация
Ответов: 15295
Рейтинг: 1519
#38: 2007-06-01 13:07:06 ЛС | профиль | цитата
ну и чем же это отличается от:
А:
// что-то делаем
Б:
// ещё что-то
if(exp) goto А;
//что-то делаем
if(exp) goto Б;


можно еще на паре страниц поспорить о том, какая из конструкций является более типичной, но в том и другом случае они не относятся к низкоуровневой оптимизации, о которой шла речь и связаны исключительно с особенностями построения схемы.
карма: 27
0
Ответов: 9906
Рейтинг: 351
#39: 2007-06-01 13:08:30 ЛС | профиль | цитата
И чего это означает
карма: 9

0
Администрация
Ответов: 15295
Рейтинг: 1519
#40: 2007-06-01 13:10:00 ЛС | профиль | цитата
"это" - это что?
карма: 27
0
Ответов: 9906
Рейтинг: 351
#41: 2007-06-01 13:11:39 ЛС | профиль | цитата
Пока писал - это был код tsdima,
а теперь - вообще уже не понимаю, о чем вы говорите
карма: 9

0
Администрация
Ответов: 15295
Рейтинг: 1519
#42: 2007-06-01 13:18:10 ЛС | профиль | цитата
tsdima, предлагает генерировать особенный код(приведенный выше) для схемы из двух закольцованных If. Я же утверждаю, что такая оптимизация сомнительна ввиду её неоднозначности(постом выше привел тот же код через goto) и потому не может быть проделана всегда в отличие от свертывания простых цепочек If или case.
карма: 27
0
Ответов: 2125
Рейтинг: 159
#43: 2007-06-01 13:39:10 ЛС | профиль | цитата
Dilma писал(а):
типичная реализация при использование ассемблера в качестве целевого языка

Dilma писал(а):
ну и чем же это отличается от:

Я хотел сказать, что не только "при использование ассемблера".

[size=-2]------ Добавлено в 13:39
Dilma писал(а):
такая оптимизация сомнительна ввиду её неоднозначности(постом выше привел тот же код через goto)

Значит всё-таки можно разрешить такую схему кольцевания, просто реализация будет через goto.
карма: 1

0
Администрация
Ответов: 15295
Рейтинг: 1519
#44: 2007-06-01 14:13:57 ЛС | профиль | цитата
Реализовать-то можно все что угодно на любом языке. Однако мы-то говорим о том, что можно и нужно делать всегда и без чего про нашу кодогенерацию можно сказать, что она фиговая. Скажем неумение генерить один и тот же код для
x = x + 1
x += 1
x ++
говорит о том, что компилятор хреновый. В тоже время неумение вычислять, скажем, inline методы или общие выражения просто свидетельствует о низком качестве оптимизатора, что так или иначе программист может компенсировать, проделав эти манипуляции самостоятельно.
карма: 27
0
Ответов: 9906
Рейтинг: 351
#45: 2007-06-01 16:51:39 ЛС | профиль | цитата
tsdima, в своей знаменитой конструкции не нашлось почему-то место для блоков действий ПОСЛЕ if-ов
Add(If_else,8945141,217,182)
{
}
Add(Hub,8910125,112,182)
{
link(onEvent1,8945141:doCompare,[])
link(onEvent2,8482774:doWork1,[])
}
Add(MultiElement,8482774,168,189)
{
@Hint=#15:ВОТ ДЛЯ ЭТИХ!!!|
}
BEGIN_SDK
Add(EditMulti,12640070,3,3)
{
WorkCount=1
}
END_SDK
При этом даже они необязательно должны иметь схемное отражение.
Но исключить их сущесвование мы не можем
Если не можем - о чем вообще разговор
карма: 9

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)