Закраски клеток (команда 5) здесь нет, значит надо просто обеспечить более короткое перемещение в ту же конечную точку.
Для этого посмотрим, что за движения там записаны.
Если во всём алгоритме три раза вверх и три раза вниз- то робот вернётся в ту же точку (по вертикали), и значит все эти команды можно просто удалить.
То же самое- для движений влево и вправо. Они тоже взаимно противоположные.
Другими словами- надо просто сократить все пары движений влево-вправо и вверх-вниз. Всё что останется- это и есть короткий вариант алгоритма, который даст перемещение ту же самую конечную точку.
Запишу подробнее, как сократить алгоритм движения (только для случая без закраски):
а) берём наш алгоритм: 131413324223
б) во всём алгоритме считаем количество команд перемещения для каждого из направлений движения:
1 (вверх)- 3 штуки
2 (вниз)- 3 штуки
3 (влево)- 4 штуки
4 (вправо)- 2 штуки
в) считаем разность количества команд влево и вправо (из большего числа вычитаем меньшее): 4 - 2 = 2
Осталось две команды - влево (т.к. их было больше). Остальные команды влево-вправо сократились (мы их удалили из алгоритма).
г) считаем разность количества команд вверх и вниз (из большего числа вычитаем меньшее, но тут числа равны): 3 - 3 = 0
Не осталось ни одной команды вверх или вниз. Все эти команды сократились (мы их удалили из алгоритма).
д) получаем, что в коротком варианте алгоритма останутся только две команды влево (3).
Запишем весь алгоритм: 33
К примеру возьмём цикл из C# (for) :
он имеет такой синтаксис:
for(переменная-счётчик; условие для переменной счётчика; изменение цикла)
{
// тело цикла:
// sample code .
}
в основном , цикл for используют так, что изменение цикла это инкремент переменной счётчика, а условие это, то что при true будет выполнять тело цикла ;
пример: for(int i = 0; i < 10; i++)
{
Console.WriteLine(i);
}
// Out: 0 1 2 3 4 5 6 7 8 9 ;
Для цикла из задания пример будет таким:
for(int i = 10; i > 0; i--)
{
Console.WriteLine(i);
}
// Out: 10 9 8 7 6 5 4 3 2 1 ;
Как он работает: создаётся переменная счётчик i , которой присваивается значение указанное разработчиком (10) , далее эта переменная счётчик проверяется условием ( i > 0 ) , если условие возвращает true (истина) - то внутри цикла выполняется написанный код , а после этого выполняется часть изменение , то есть в данном случае уменьшение i(10) на 1 , так повторяется до тех пор пока удовлетворительно условие .
Поделитесь своими знаниями, ответьте на вопрос:
Нужно ! 1.какие информационные процессы происходят в компьютере ? 2.какие устройства необходимы для осуществления информационных процессов в компьютере ? 3.определите лишнее в каждой группе . а) клавиатура , микрофон , наушники , сканер . в) монитор , принтер , проектор , сканер .