В языке С/С++ любое ненулевое значение считается истинным. Цикл с заголовком while (a(x)) выполнятся до тех пор. пока a(x) ненулевое, следовательно, при выходе из цикла a(x)=0. Первоначально х=1 и если a(1) окажется равным нулю, то тело цикла не выполнится ни разу. В этом случае у будет равен начальному значению, т.е. у=1. Если же а(1) не равняется нулю, то будет выполняться тело цикла. При у<0 переменная х получает значение 2, у получает значение 10. Мы должны полагать что а(2) ложно и тогда произойдет выход из цикла. Если же это не так, то тело цикла будет выполняться повторно. Ветка при y>=0 дает присваивание х=1, а мы рассматриваем вариант, когда такое значение не приводит к выходу из цикла, следовательно у=20 никогда не будет последним присваиванием значения у. Тогда возможен только вариант ответа 1 (у=1 или 10) ответ: Вариант 1
1) 20 байт Вспоминаем старую-добрую формулу: I=, где I- количество вариантов/мощность алфавита, а i-количество информации на один символ (бит). И так всего 4 направления -это количество вариантов, то есть I, подставляем в формулу, получается что первая команда (направление) несёт в себе 2 бита информационного веса; i=2. Перемещение: аналогично - I= 196, но такое число не может быть вставлено в формулу,т.к. нет такой целой степени двойки, чтобы при подставлении в которую получилось целое число, поэтому берётся большее ближайшее к этому числу число, которое можно представить в виде степени числа 2, таковым является число 256 (256=- ближайшее, превосходит его, можно представить в виде степени числа 2); получается I=256, подставляем его в формулу-i=8. И того первая команда весит 2 бита, вторая 8 бит - вместе 10 бит на 1 команду, всего команд 16, тогда количество информации на все команды будет равно 160 бит, переводим биты в байты: 160 бит / 8 = 20 байт (в 1 байте 8 бит). Всё просто. Расписал очень подробно, потому что видимо ученик далёк от информатики, задачка ведь простецка - 1 класс 2 четверть )))
Цикл с заголовком while (a(x)) выполнятся до тех пор. пока a(x) ненулевое, следовательно, при выходе из цикла a(x)=0.
Первоначально х=1 и если a(1) окажется равным нулю, то тело цикла не выполнится ни разу. В этом случае у будет равен начальному значению, т.е. у=1.
Если же а(1) не равняется нулю, то будет выполняться тело цикла. При у<0 переменная х получает значение 2, у получает значение 10. Мы должны полагать что а(2) ложно и тогда произойдет выход из цикла. Если же это не так, то тело цикла будет выполняться повторно. Ветка при y>=0 дает присваивание х=1, а мы рассматриваем вариант, когда такое значение не приводит к выходу из цикла, следовательно у=20 никогда не будет последним присваиванием значения у. Тогда возможен только вариант ответа 1 (у=1 или 10)
ответ: Вариант 1
Вспоминаем старую-добрую формулу: I=, где I- количество вариантов/мощность алфавита, а i-количество информации на один символ (бит).
И так всего 4 направления -это количество вариантов, то есть I, подставляем в формулу, получается что первая команда (направление) несёт в себе 2 бита информационного веса; i=2.
Перемещение: аналогично - I= 196, но такое число не может быть вставлено в формулу,т.к. нет такой целой степени двойки, чтобы при подставлении в которую получилось целое число, поэтому берётся большее ближайшее к этому числу число, которое можно представить в виде степени числа 2, таковым является число 256 (256=- ближайшее, превосходит его, можно представить в виде степени числа 2); получается I=256, подставляем его в формулу-i=8.
И того первая команда весит 2 бита, вторая 8 бит - вместе 10 бит на 1 команду, всего команд 16, тогда количество информации на все команды будет равно 160 бит, переводим биты в байты: 160 бит / 8 = 20 байт (в 1 байте 8 бит). Всё просто. Расписал очень подробно, потому что видимо ученик далёк от информатики, задачка ведь простецка - 1 класс 2 четверть )))