Имеется фрагмент алгоритма, записанный ** алгоритмическом языке: i := Длина(а) k := 1 ...

0 голосов
255 просмотров

Имеется фрагмент алгоритма, записанный на алгоритмическом языке:
i := Длина(а)
k := 1
b := 'T'
пока i > 1 нц
с := Извлечь(а,i)
b := Склеить(b,с)
i := i - k;
кц
Здесь переменные a, b и с - строкового типа; переменные n, m, k – целые. В алгоритме используются следующие функции:
Длина(х) – возвращает количество символов в строке х. Имеет тип «целое».
Извлечь(х,i) – возвращает i-й символ слева в строке х. Имеет строковый тип.
Склеить(х,у) – возвращает строку, в которой записаны подряд сначала все символы строки х, а затем все символы строки у. Имеет строковый тип.
Значения строк записываются в кавычках (одинарных), например x:='школа'.
Какое значение примет переменная b после выполнения этого фрагмента алгоритма, если переменная а имела значение 'КАРА'?


Информатика (15 баллов) | 255 просмотров
0

Помогите пожалуйста разобраться в задачке.

Дан 1 ответ
0 голосов
Правильный ответ

Если не ошибаюсь, то будет "TAPA"

(196 баллов)
0

Спасибо, а можете вкратце объяснить, как Вы решали ?

0

пока i>1 начать (здесь у i=4 в начале)

0

с := Извлечь(а,i) извлечь 4 букву из переменной а

0

b := Склеить(b,с) добавить эту букву к переменной b, где уже есть 1 буква: T

0

i := i - k отнять от переменной i единицу (k=1)

0

кц - конец тела цикла. далее ведется проверка i>1 или нет ( да, больше, ибо мы отняли единицу и значение а=3. это все еще больше единицы. значит, начать выполнения цикла заново с а=3. и так далее...)

0

Ещё раз спасибо, выручили )

0

после первого прохода цикла будет ТА(мы добавили 4 букву из слова КАРА), потом ТАР(добавили 3 букву из слова КАРА) и затем ТАРА(2 букву из КАРА) далее произойдет завершение цикла, ибо а примет значение =1, а это уже не удовлетворяет условиям.