Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
76
Добавлен:
27.04.2015
Размер:
290.5 Кб
Скачать

2.5.1.7. Средства описания и работы с двумерными массивами данных

Как известно, массив- последовательность переменных одинакового типа, объединенных общимименем. Например: двумерный массивb(3, 2):

b(0,0) b(0,1) b(0,2)

b(1,0) b(1,1) b(1,2)

b(2,0) b(2,1) b(2,2)

b(3,0) b(3,1) b(3,2)

Количество индексов указывает на размерностьмассива. Так, в приведенном выше примере размерность массиваb(3,2)-2 (двумерный). а размер массиваb(3,2) равен12-ти.

Перед использованием двумерного массива в программе, его необходимо объявить с помощью оператора DIM, который выделяет место в памяти для размещения элементов массива. Например,

DIM b(3,2) AS SINGLE

DIM b(1 TO 4, 1 TO 3) AS SINGLE.

Обратите внимание, что во втором случае нумерация индексов начинается с 1, а в первом с0.

Ввод, вывод и обработка двумерных массивов, как правило, основаны на ис­пользовании вложенных циклов, которые обеспечивают перебор всех элементов массива. В некоторых задачах может иметь значение порядок перебора элементов массива: “вдоль строки” или “вдоль столбца”. Если внешний цикл будет организован по первому индексу (по строкам), а внутренний цикл по второму индексу (по столб­цам), то выполняется построчный перебор элементов двумерного массива. Если внешний цикл в качестве параметра использует второй индекс, а внутренний цикл - первый индекс, то эле­менты массива перебираются по столбцам.

2.5.1.8. Строковые данные и операции над строками

Строковые (символьные) данные– это константы и переменные, значениями которых являются не числа. Последовательности символов образуют строки.

Для описания строковых данных используется, оператор DIM, в котором после имени данных указывается типSTRING. Строковые данные могут быть описаны по первому символу имени с использованием оператораDEFSTR.И, наконец, указать, что данные являются строковыми можно путем добавления к имени суффикса$.

Если значение символьной переменной определяется с помощью оператора присваивания, то строковая константа, стоящая справа от знака присваивания, заключается в двойные кавычки. Например, a$=”Привет”.

Для ввода значений переменных строкового типа могут ис­пользоваться операторы INPUTиREAD/DATA.При этом вводимые данные могут содержать запятые, точки с запятой и пробелы, только если вводимые значения заключены в кавычки.

Специальный оператор LINE INPUT служит только для ввода строк, и имеет формат, аналогичный формату оператораINPUT:

LINE INPUT [;] [приглашение;] переменная

Он вводит с клавиатуры строку длиной до 256символов. При этом все символы (в том числе запятые, точки с запятой и пробелы) вплоть до символа "возврат каретки" присваиваютсяпеременной.

При вводе данных с помощью операторов INPUTиLINE INPUTвводимые символы отображаются на экране монитора. Чтобы ввести с клавиатуры значение символьной переменной, состоящей изксимволов, без отображения вводимых символов на экране, можно воспользоваться функциейINPUT$(k).

При выполнении оператора t$=INPUT$(k) происходит прерывание программы и ожидание ввода строки.

Элементами строковых выражений могут быть строковые кон­станты, переменные и встроенные строковые функции.

Един­ственной операцией над строковыми данными в языке QBявляется операциясцепления (конкатенация),обозначаемая в строковых выражениях символом "+". При выполнении операции сцепления двух строковых данных к последнему символу первого операнда присоединяется первый символ второго операнда.

Например, операция сцепления двух строковых констант "Quick"+"BASIC" образует строковое выражение, значением которого является строка "Quick BASIC" .

Строки можно сравнивать между собой, то есть применять к ним операции отношения (<, >, <=, >=, =, <>). При этом поочередно, начиная с первого символа каждой строки, производится сравнениеASCIIкодов соответствующих символов. Большей считается та строка, у которой больший код встретится раньше. Ниже приведены примеры сравнения строк:

  1. a$=”abcdefg” и b$=”abcxyz”. Тогдаa$<b$,так как кодASCIIбуквыxбольше кода буквыd(букваxпо алфавиту дальше, чемd);

  1. a$=”Аня”иb$=”Алла”.Тогдаa$>b$,так как букванв алфавите дальше, чемл;

  1. a$=”Basic” и b$=”Pascal”. Тогдаa$<b$,так как букваBв алфавите раньше, чемP.

При работе с символьными переменными часто возникает не­обходимость преобразования данных числового типа в данные символьного типа. Для этого можно воспользоваться функцией

STR$ (арифметическое_выражение)

Эта функция возвращает символьное представление значения арифметического выражения. Если арифметическое выражение больше 0, то функция возвращает строку с добавлением лидирующего пробела (вместо знака “+”).

Например, после выполнения опера­тора text$=STR$(-12.5*2) строковая переменнаяtext$ примет значение “-25", а после выполнения оператораtext$=STR$(12.5*2), переменнаяtext$примет значение“ 25”.

Обратное преобразование переменной или константы символьного типа, пред­ставляющей число, в переменную числового типа, выполняется с помощью функции

Соседние файлы в папке 2 Уровень повыше. Теоретика