Решение: Работа со строками и циклами
В приведённом фрагменте алгоритма переменные $a$, $b$, $c$ имеют тип «строка», а переменные $i$, $k$ — тип «целое». Функция Длина($a$) возвращает количество символов в строке $a$; функция Извлечь($a, i$) возвращает $i$-й слева символ строки $a$; функция Склеить($a, b$) возвращает строку, полученную последовательной записью строк $a$ и $b$. Значения строк записываются в одинарных кавычках.
Фрагмент алгоритма:
$i := \text{Длина}(a)$
$k := 2$
$b := \text{‘А’}$
пока $i > 0$
нц
$c := \text{Извлечь}(a, i)$
$b := \text{Склеить}(b, c)$
$i := i - k$
кц
$b := \text{Склеить}(b, \text{‘Т’})$
Какое значение будет у переменной $b$, если значение переменной $a$ было «ПОЕЗД»?
Решение по шагам
3 шагаВ строке «ПОЕЗД» пять символов, поэтому начальное значение $i$ равно $5$. На каждой итерации цикла значение $i$ уменьшается на $2$.
$$i = 5, 3, 1$$Из строки извлекаются символы с позиций $5$, $3$ и $1$: соответственно «Д», «Е» и «П».
К начальной строке «А» последовательно присоединяются найденные символы, затем в конце добавляется «Т».
$$b = \text{«А»} + \text{«Д»} + \text{«Е»} + \text{«П»} + \text{«Т»} = \text{«АДЕПТ»}$$Где здесь ошибаются
Считать позиции символов с нуля, а не с единицы.
Извлекать символы слева направо по возрастанию индекса.
Забыть, что после завершения цикла к строке добавляется «Т».