Построчный разбор программы "Муха" на С++
Исходный код программы состоит всего из 12 строк:
Блок-схему программы "муха" можно представить следующим образом:
Рассмотрим что делает каждая строка программы:
1 int x = 15;
Объявляется переменная под названием x. Этой переменной присваивается значение 15.
2 int y = 9;
Еще одна переменная объявляется, имя новой переменной - y. Ей присваивается значение 9.
3 aaa:
Строка 3 ничего не делает, но в этой строке стоит метка с именем aaa. На эту метку можно переходить при помощи goto.
4 At(x, y);
Курсор передвигается в знакоместо расположенное в столбце x и строке y.
5 Print(" ");
В текущее положение курсора выводится пробел. Если в этом знакоместе до этого был какой-либо текст, он будет заменен на пробел.
6 x = x + Random32(-1, 1);
В переменную x заносится новое значение, полученное путем сложения старого значения переменной x и возвращаемого функцией Random32 псевдослучайного числа в диапазоне от -1 до 1. Ну то есть в результате вызова Random32(-1, 1) можно получить либо -1, либо 0, либо 1. Соответственно, значение переменной x либо станет меньше на 1, либо не изменится от прибавления 0, либо станет больше на 1.
7 y = y + Random32(-1, 1);
В переменную y заносится новое значение, полученное путем сложения старого значения переменной y и возвращаемого функцией Random32 псевдослучайного числа в диапазоне от -1 до 1.
8 At(x, y);
Курсор снова перемещается в знакоместо расположенное в столбце x и строке y. Но x и y могли измениться на единицу и это может быть уже соседнее с тем в которое ранее был выведен пробел знакоместо.
9 Print("@");
В текущее положение курсора выводится символ @.
10 Sleep(0.05);
Выполнение программы приостанавливается на пять сотых долей секунды. Это делается для того, чтобы «муха» перемещалась по экрану не слишком быстро и ее можно было увидеть.
11 Show();
Функция Show() выводит на экран подготовленное изображение и получает в программу обновленное состояние клавиатуры и мышки.
12 goto aaa;
Эта команда безусловного перехода на метку aaa приводит к тому, что выполнение программы продолжается с того места, в котором стоит метка aaa, то есть со строки 3.