2014-10-24 3 views
4

Мой сын заинтересован в шифровании ROT-13. Я хотел бы помочь ему написать программу в MIT Scratch, которая может принимать строку в качестве входных данных и возвращать закодированный текст ROT-13 в качестве вывода. Для этого программе необходимо будет взять строку, выделить все символы, сменить символы в соответствии с типом ROT-13 и снова собрать их в строку.В Scratch, как вы можете разделить строку на список символов?

Я понимаю, что Scratch на самом деле не построен для обработки строк, но его среда программирования, которую понимает мой сын. Возможна ли такая манипуляция строкой в ​​Scratch? Если да, то как это сделать? Чтобы начать, как бы вы разделили строку на эквивалент массива символов?

ответ

6

Лучший способ сделать это - простой итерацией.

set [i v] to (0) 
repeat (length of (originalString)) 
    change [i v] by (1) 
    add (letter (i) of (originalString)) to [characters v] 
end 

(Visual representation)

Список characters будет содержать каждый символ исходной строки.

2

Вы можете сделать это без переменных тоже (используя длину выходного тока) ...

delete (all v) of [Output v] 
repeat (length of (originalString)) 
    add (letter((length of [Output v]) + (1)) of (originalString)) to [Output v] 
end 

Visual Representation