Добавил:
Developer Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
2
Добавлен:
02.01.2024
Размер:
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”.

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

Соседние файлы в папке Раздел-02-Информатика-210700