БАЗОВАЯ команда: RIGHT $ - PullRequest
0 голосов
/ 31 октября 2019

Есть ли экран с небольшим сценарием на языке BASIC с переводчиком SmallBasic. Как только я напишу ввод, например: BANANE, он должен вернуть слово, написанное задом наперед, например: ENANAB. Странно, но после того, как я запустил сценарий с помощью клавиатуры «Ctrl + r», компилятор не просит меня что-то вводить. В чем может быть ошибка?

   `INPUT A$
    K=LEN(A$)
    B$= " "
    FOR I=1 TO K
    A$=LEFT$(A$, K-I+1)
    RIGHT$(A$,1)
    B$=B$+L$
    NEXT I
    PRINT B$
    END`

Я ожидаю, что слово, написанное задом наперед, например: "BANANA" стало "ANANAB"

Но компилятор говорит мне, что: "Значение, возвращенное из RIGHTне был назначен ".

введите описание изображения здесь

Ответы [ 2 ]

1 голос
/ 31 октября 2019

Как старый ботаник QBASIC, я так рад ответить на BASIC-вопрос в 2019 году.

RIGHT $ не касается строки, которую вы ему передали. Вместо этого он вычисляет новую строку с обратными буквами, и возвращает it.

Попробуйте это:

A$ = RIGHT$(A$,1)
0 голосов
/ 01 ноября 2019

Ответ, чтобы изменить входное значение:

INPUT A$
K = LEN(A$)
FOR I = 1 TO K
    A$ = LEFT$(A$, K - I + 1)
    L$ = RIGHT$(A$, 1)
    B$ = B$ + L$
NEXT I
PRINT B$
END

Или более простой способ обратить строку:

INPUT A$
FOR L = LEN(A$) TO 1 STEP -1
    B$ = B$ + MID$(A$, L, 1)
NEXT L
PRINT B$
END
...