Можно сваять в обычном Ворде. Устроит? Если "да", то ТЗ в приват.Don Pedro сказал(а):Вопрос все еще актуален.
Spirit412 сказал(а):если список=1значение, и А==0 то Б==1
B=0
If (список=1значение) and A==0 Then B=1
else
If (список=1значение) and А>0 Then B=2
else
....
endif
if ( PRINT == 1 and Cvet2==0) then Progoni = 1
elseif (PRINT == 1 and Cvet2>0) then Progoni = 2
elseif (PRINT == 2 and Cvet1<=2 and Cvet2==0) then Progoni = 1
elseif (PRINT == 2 and Cvet1>=3 and Cvet2==0) then Progoni = 2
elseif (PRINT == 2 and Cvet1<=2 and Cvet2<=2) then Progoni = 2
elseif (PRINT == 2 and Cvet1>=3 and Cvet2<=2) then Progoni = 3
elseif (PRINT == 2 and Cvet1<=2 and Cvet2>=3) then Progoni = 3
elseif (PRINT == 2 and Cvet1>=3 and Cvet2>=3) then Progoni = 4
endif
Я всегда обнуляю переменные перед началом выполнения подпрограмм. Это упрощает отладку, знаете ли. Принцип опеределённости переменной перед началом действий никто не отменял.Spirit412 сказал(а):П.С. не ясным осталось...ваше предложение вначале скрипта написать В=0
И если не сложно...приведите пример кода....который делает такое X>=A>=Y
Key1= False
Key1= (X >= A) and (A >= Y)
Мрак. Теперь понятно, почему "современному" софту никакого железа не хватает. При односторонней печати кол-во прогонов равно частному от деления красочности публикации на красочность станка.вот что получилось:
1998 сказал(а):
Не по теме:
ch_alex, для Вашего кода остается надеяться, что встроенная в компилятор оптимизация достаточно продвинута
Ужос-, прости господи,- … [слово_из_трехбукв, первая «Н», последняя «Х», средняя — первая буква в русском алфавите]!Spirit412 сказал(а):…всё потому что плохо усвоил 4 года назад лекции по высшей математике в универе… вот что получилось:
…Код:if ( PRINT == 1 and Cvet2==0) then Progoni = 1 elseif (PRINT == 1 and Cvet2>0) then Progoni = 2 elseif (PRINT == 2 and Cvet1<=2 and Cvet2==0) then Progoni = 1 elseif (PRINT == 2 and Cvet1>=3 and Cvet2==0) then Progoni = 2 elseif (PRINT == 2 and Cvet1<=2 and Cvet2<=2) then Progoni = 2 elseif (PRINT == 2 and Cvet1>=3 and Cvet2<=2) then Progoni = 3 elseif (PRINT == 2 and Cvet1<=2 and Cvet2>=3) then Progoni = 3 elseif (PRINT == 2 and Cvet1>=3 and Cvet2>=3) then Progoni = 4 endif
function idx(PRINT,Cvet1,Cvet2){
return(
((PRINT & 1 ) << 3) +
( (Cvet2 > 2 ? 2:(Cvet2 > 0 ? 1:0) ) << 1 )+
(Cvet1 >= 3 ? 1:0)
)
}
[COLOR=DarkRed]//Возвращаемое значение:
[INDENT]// Бит 3 =0xxx, если PRINT четный; бит 3 =1xxx в противном случае
// Биты 2 и 1 :
// = x00x, если Cvet2 == 0
// = x01x, если 1 <= Cvet <=2
// = x10x, если Cvet >= 3
// Бит 0 =xxx1, если Cvet1 >= 3[/COLOR][/INDENT]
tblProgoni =new Array(1,2,2,3, 3,4,-1,-1, [COLOR=DarkRed]// Это для PRINT == 2[/COLOR]
1,1,2,2, 2,2,-1,-1) [COLOR=DarkRed]// Это уже для PRINT == 1
function Progoni(PRINT,Cvet1,Cvet2){
return(tblProgoni [idx(PRINT,Cvet1,Cvet2)])
}