Предмет: Информатика, автор: mashakids2

Дана программа для исполнителя Редактор:

ПОКА нашлось (2222) ИЛИ нашлось (8888)
ЕСЛИ нашлось (2222)
ТО заменить (2222, 8)
ИНАЧЕ заменить (8888, 2)
КОНЕЦ
КОНЕЦ

Какая строка получится в результате применения этой программы к строке, состоящей из:
а) 65 идущих подряд цифр 8;
б) 72 идущих подряд цифр 8;

С подробным объяснением, пожалуйста. ​

Ответы

Автор ответа: Kilekanisic
1

Ответ: a: 28);

            б: 222).

Объяснение:

А) По условию мы имеем 8888..8888[65]

ПОКА нашлось (2222) ИЛИ нашлось (8888) - это условию

То есть как я понимаю данный оператор производит выборку из текста и заменить его на результат заданный оператором.

Допустим: 8888..8888[65] - Удовлетворяем условию <нашлось (8888)>

ЕСЛИ нашлось (2222)

ТО заменить (2222, 8) // Двоек на данный момент у нас нет, пропускается

ИНАЧЕ заменить (8888, 2) // То есть 8888 =>2

Блок у нас состоит из 4 цифр значит мы 65/4= 16 целых - это у нас количество <2> 1 в остатке - это оставшиеся <8>

В итоге получаем 2222.2222[16]8

Возвращаемся в начало цикла и тут у нас уже подходит условие с (2222)

ЕСЛИ нашлось (2222)

ТО заменить (2222, 8) - меняем

16/4=4 //Если не забыли это количество всех наших чисел равных 2 делим на блок из 4 чисел. Не забываем про остаток от предыдущего деления в виде 8[1]

В итоге получаем: 88888

Cнова вернемся в начало цикла.

88888 Удовлетворяем условию <нашлось (8888)>

Меняем 8888=>2. В итоге

28

Ответ:28

2) Делаем по аналогии

72/4=18[2]

18/4=4[8] 2{2}

4/4=1{2] + 2{2}= 3{2}

Ответ: 222


Kilekanisic: Я конечно умею объяснять...сам в первые это задание делал, могу скинуть ролик на ютубе с подробным объяснение этого задания
mashakids2: Да, скинь, если можно (надеюсь, ты увидишь мой комментарий, ибо я пока не очень разобралась, что тут да как). Воспользуюсь этим роликом для закрепления, а тебе спасибо за ответ)
Похожие вопросы