Петя и Ваня играют в игру. На игровом поле перед ними находятся двенадцать деревянных палочек. Петя и Ваня, по очереди, будут брать одну, две или три палочки (сколько именно брать – решать игроку). Взявший последнюю палочку выигрывает, поэтому цель игры заключается в том, чтобы забрать эту палочку себе. Право первого хода принадлежит Пете. Кто из игроков имеет выигрышную позицию? ответ обоснуйте. Как должен действовать игрок, имеющий заведомо проигрышную позицию, если его соперник ошибется? ответ обоснуйте.
begin
var a:=ArrRandom(100,-10,10);
a.Println;
Writeln(a.Where(x->x>0).Count,' положительных, ',
a.Where(x->x<0).Count,' отрицательных')
end.
Тестовое решение:
4 -6 0 8 2 -2 -1 -8 -6 8 -3 7 4 -7 -5 9 0 -3 -7 1 0 -4 6 3 8 -10 4 9 3 5 8 5 5 8 10 4 -8 3 8 8 -9 2 7 -8 -7 -5 2 -9 0 9 -7 7 -2 -6 7 -2 -1 7 -10 2 4 1 -1 0 10 3 -8 6 -6 2 6 7 -1 -4 -1 8 0 3 0 2 -2 2 -1 5 1 -9 -4 1 -9 1 -6 -5 3 -4 -7 1 -7 -3 -7 1
51 положительных, 42 отрицательных
признаком разветвляющегося алгоритма является наличие операций проверки условия. различают два вида условий – простые и составные.
простым условием (отношением) называется выражение, составленное из двух арифметических выражений или двух текстовых величин (иначе их еще ), связанных одним из знаков:
< - меньше,
> - больше,
< = - меньше, или равно
> = - больше, или равно
< > - не равно
= - равно
например, простыми отношениями являются следующие:
x-y> 10; k< =sqr(c)+abs(a+b); 9< > 11; ‘мама’< > ‘папа’.
в примерах первые два отношения включают в себя переменные, поэтому о верности этих отношений можно судить только при подстановке некоторых значений:
если х=25, у=3, то отношение x-y> 10 будет верным, т.к. 25-3> 10
если х=5, у=30, то отношение x-y> 10 будет неверным, т.к. 5-30< 10
проверьте верность второго отношения при подстановке следующих значений:
а) k=5, a=1, b=-3, c=-8
b) k=65, a=10, b=-3, c=2