Построчный разбор программы "Муха" на С++

Исходный код программы состоит всего из 12 строк:

1 int x = 15; 2 int y = 9; 3 aaa: 4 At(x, y); 5 Print(" "); 6 x = x + Random32(-1, 1); 7 y = y + Random32(-1, 1); 8 At(x, y); 9 Print("@"); 10 Sleep(0.05); 11 Show(); 12 goto aaa;

Блок-схему программы "муха" можно представить следующим образом:

Построчный разбор программы "Муха" на С++

Рассмотрим что делает каждая строка программы:

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.

1.7K1.7K показов
296296 открытий
11 репост
3 комментария

Скажите, пожалуйста, а какой ваш уровень, если брать единицы измерения: джун, премидл, мидл и.т.д. Я не прошу точного ответа, достаточно будет отталкиваться от собственных ощущений. И ещё вопрос: у вас есть какие-то пет-проекты, на которые можно взглянуть ?

Ответить

Мой уровень - Senior II, на один из моих пет-проектов можно посмотреть вот тут: https://huldra.itch.io/belligerent

Ответить

Его уровень - Pyatiklassnik.

Ответить