Заполнение массива A$(X,X) в Commodore BASIC?
Я пытаюсь заполнить A$(X,X) "." В Commodore BASIC.
Это то, что я имею до сих пор.... но я не совсем уверен, что делать со значениями ASCII и тому подобным. Любой комментарий?
INPUT A$
FOR I = 0 TO X = DIM A$(X,X)
A$(".",x)
Я до сих пор крайне запутался в API PET BASIC... Любые предложения будут с благодарностью приняты.
1 ответ
Мои ответы основаны на молодости перед Commodore 64 и, возможно, не совсем верны для серии PET. Но, учитывая, что у вас еще не было других ответов, я сделаю это.
В первой строке вашего кода вы запрашиваете строку у пользователя и сохраняете ее в A$
, Знак доллара обозначает, что переменная является строкой. Во второй строке вы переопределяете A$
как двумерный массив. Размеры оба X
который не был определен. Я не помню DIM
возвращаемое значение, но я могу ошибаться.
Функция для получения значения ASCII из символа ASC()
и конвертировать обратно вы используете CHR$()
например:
10 NUMA = ASC("A"): REM NUMA now contains 65
20 CHARA$ = CHR$(NUMA): REM CHARA$ now contains "A"
Вам следует знать, что эти функции используют "PET ASCII", который немного отличается от ASCII. Это никогда не вызывало у меня никаких проблем, но это то, что нужно запомнить.
FOR
петли всегда имеют NEXT
завершить блок таким:
10 FOR A = 1 TO 10
20 PRINT A: REM Displays series of numbers.
30 NEXT
Я не совсем понимаю, чего вы пытаетесь достичь, но, надеюсь, я, по крайней мере, дал вам достаточно частей, чтобы решить это. Из того, что я понимаю, вам нужно что-то вроде:
10 INPUT "Please enter a number:", X
20 DIM A$(X, X)
30 FOR I = 0 TO X
40 FOR J = 0 TO X
50 A$(I, J) = "."
60 NEXT
70 NEXT