a=8
Объяснение:
идём по шагам:
1 Шаг a=5 b=7
2 Шаг проверяем b<10 или нет. Да меньше. Идём по стрелке ДА
3 Шаг проверяем a<= b у нас это 5<=7 Да меньше. Идём по стрелке ДА
4 Шаг увеличиваем а и b на единицу, становится a=5+1=6 b=7+1=8 возвращаемся по стрелке к шагу 2
5 Шаг проверяем 8<10 или нет. Да меньше. Идём по стрелке ДА
6 Шаг проверяем 6<=8 Да меньше. Идём по стрелке ДА
7 Шаг увеличиваем а и b на единицу, становится a=6+1=7 b=8+1=9 возвращаемся по стрелке к шагу 2
8 Шаг проверяем 9<10 или нет. Да меньше. Идём по стрелке ДА
9 Шаг проверяем 7<=9 Да меньше. Идём по стрелке ДА
10 Шаг увеличиваем а и b на единицу, становится a=7+1=8 b=9+1=10 возвращаемся по стрелке к шагу 2
11 Шаг проверяем 10<10 или нет. Нет. Идём по стрелке Нет. Выход из алгоритма. На этом этапе a=8
PascalABC.NET 3.7:
###RS.AdjacentGroup.SelectMany(x → x.Len >= 3 ? x.Len + x[0] : x.Str).PrПояснение:
RS - ReadString: Возвращает значение типа string, введенное с клавиатуры.
AdjacentGroup: Группирует одинаковые подряд идущие элементы, получая последовательность массивов.
SelectMany: Проецирует каждый элемент последовательности в новую последовательность и объединяет результирующие последовательности в одну последовательность.
.Len - .Length: Длина массива.
.Str - .JoinToString: Преобразует последовательность символов в строку, не используя разделитель (при последовательность другого типа данных в качестве разделителя используется пробел).
.Pr - .Print: Выводит последовательность символов на экран, не используя разделитель (при последовательность другого типа данных в качестве разделителя используется пробел).
Пример работы: