Для чего используются # и: в Qbasic? - PullRequest
1 голос
/ 31 мая 2011

У меня есть устаревший код, выполняющий математические вычисления. Как сообщается, он написан на QBasic и успешно работает под VB6. Я планирую написать код на более новом языке / платформе. Для чего я должен сначала работать в обратном направлении и придумать подробный алгоритм из существующего кода.

Проблема в том, что я не могу понять синтаксис нескольких строк:

Dim a(1 to 200) as Double
Dim b as Double
Dim f(1 to 200) as Double
Dim g(1 to 200) as Double

For i = 1 to N
 a(i) = b: a(i+N) = c
 f(i) = 1#: g(i) = 0#
 f(i+N) = 0#: g(i+N) = 1#
Next i

Основываясь на моей работе с VB5, как 9 лет назад, я предполагаю, что a, f и g являются двойными массивами, индексированными от 1 до 200. Однако я полностью заблудился об этом использовании # и: вместе внутри тела для цикла.

Ответы [ 2 ]

4 голосов
/ 31 мая 2011

: - символ продолжения строки, он позволяет объединять несколько операторов в одной строке.a(i) = b: a(i+N) = c эквивалентно:

a(i)=b
a(i+N)=c

# - спецификатор типа.Он указывает, что число, за которым следует, следует рассматривать как двойное.

2 голосов
/ 31 мая 2011

Я давно не программировал на QBasic, но я много занимался в старших классах.Символ # обозначает конкретный тип данных.Он предназначен для обозначения значения RHS как числа с плавающей запятой с двойной точностью (аналогично тому, как в 1.0 для C используется 1.0 с плавающей запятой одинарной точности).Символ двоеточия похож на точку с запятой в C, где он разделяет различные команды.Например:

a(i) = b: a(i+N) = c

есть, в C:

a[i] = b; a[i+N] = c;
...