№ 17
В приведенном ниже фрагменте алгоритма, записанном на алгоритмическом языке, переменные a, b, c имеют тип «строка», а переменные i, k – тип «целое». Используются следующие функции:
Длина (a) – возвращает количество символов в строке a. (Тип «целое»)
Извлечь (a, i) – возвращает i-тый (слева) символ в строке a. (Тип «строка»)
Склеить (a, b) – возвращает строку, в которой записаны сначала все символы строки a, а затем все символы строки b. (Тип «строка»)
Значения строк записываются в одинарных кавычках (Например, a := ‘дом’).
Фрагмент алгоритма:
i := Длина (a)
k:= 1
b:= ‘П’
пока i> 0
нц
c:= Извлечь (a, i)
b := Склеить (b, c)
i:= i – k
кц
Какое значение будет у переменной b после выполнения вышеприведенного фрагмента алгоритма, если значение переменной a было ‘РОЗА’
1) ‘ПАЗ’
2) ‘ПАЗОР’
3) ‘ПОЗА’
4) ‘ПРОЗА’
РЕШЕНИЕ:
i := Длина (a)
k:= 1
b:= ‘П’
пока i> 0
нц
c:= Извлечь (a, i)
b := Склеить (b, c)
i:= i – k
кц
a = ‘РОЗА’
i := Длина ( ‘РОЗА’)=4
k:= 1
b:= ‘П’
4> 0
c:= Извлечь ( ‘РОЗА’,4)= ‘А’
b := Склеить ( ‘П’, ‘A’)= ‘ПA’
i:= 4-1=3
3> 0
c:= Извлечь ( ‘РОЗА’,3)= ‘З’
b := Склеить ( ‘ПA’, ‘З’)= ‘ПAЗ’
i:= 3-1=2
2> 0
c:= Извлечь ( ‘РОЗА’,2)= ‘О’
b := Склеить ( ‘ПAЗ’, ‘О’)= ‘ПAЗО’
i:= 2-1=1
1> 0
c:= Извлечь ( ‘РОЗА’,1)= ‘Р’
b := Склеить ( ‘ПAЗО’, ‘Р’)= ‘ПAЗОР’
i:= 1-1=0
Ответ: 2