Имеются три шарика: красный, синий и зелёный. сколько всего комбинаций можно составить из двух шариков (порядок не имеет значения)? a) 3; b) 6; c) 9; d) 12.
1. → 2 [сдвинуться вправо, перейти на строку 2] 2. → 3 [сдвинуться вправо, перейти на строку 3] — в вопросе опечатка? 3. → 4 [сдвинуться вправо, перейти на строку 4] 4. ? 5;2 [если в текущей ячейке нет метки, перейти на строку 5, иначе вернуться на 2] 5. ← 6 [сдвинуться влево, перейти на строку 6] 6. V 7 [поставить метку, перейти на строку 7] 7. ! [закончить работу]
Программа делает следующее: переходит на метку вправо, шагами по две ячейки идёт вправо, пока не дойдёт до пустой ячейки, возвращается на ячейку влево, ставит там метку и заканчивает работу.
Пусть метки расположены в ячейках 0 - (n-1), каретка под ячейкой 0. Тогда сначала каретка окажется подячейкой 1, сделает [n/2] шагов по 2 вправо ([x] — целая часть x), оказавшись под ячейкой 1 + 2 * [n/2], вернётся на ячейку влево (ячейка 2 * [n/2]) и поставит там метку.
Если n было четным, будут заполнены ячейки от 0 до n, каретка под ячейкой n Если n было нечетным, будут заполнены ячейки от 0 до n - 1, каретка под ячейкой n - 1
Var x1,y1,x2,y2,v1,v2:real; begin writeln("введите количество метров пробегания жирафа"); read(y1); writeln("введите, за сколько секунд он должен пробежать"); read(x1); writeln("введите количество метров пробегания зайца"); read(y2); writeln("введите, за сколько секунд он должен пробежать"); read(x2); v1:=y1/x1; v2:=y2/x2; if v1>v2 then begin writeln("жираф чемпион"); end else if v1<v2 then begin writeln("заяц чемпион"); end else begin writeln("победила дружба); end; end;
Красный-зелёный
Синий-зелёный
Значит, 3 комбинации (ОТВЕТ А);)