
- •2.5.2.3. Средства программирования разветвляющихся структур
- •2.5.1.2. Средства программирования алгоритмов линейной структуры
- •Input [;] [подсказка { ; | , }] список_переменных
- •Input “Введите коэффициенты уравнения a, b, c “, a#, b#, c#
- •Input ;“Радиус круга”; r!
- •2.5.1.3. Средства программирования разветвляющихся структур
- •If выражение then оператор(ы) [else оператор(ы)]
- •2.5.1.4. Средства программирования регулярных циклических структур
- •2.5.1.5. Средства программирования итеративных циклических структур
- •2.5.1.6. Средства описания и работы с одномерными массивами данных
- •2.5.1.7. Средства описания и работы с двумерными массивами данных
- •2.5.1.8. Строковые данные и операции над строками
- •Val(строка)
- •2.5.1.9. Средства процедурного программирования в среде qb
- •Dim shared переменная [as тип][, переменная [as тип]]...
- •2.5.2.2. Средства программирования алгоритмов линейной структуры и функций
- •2.5.2.3. Средства программирования разветвляющихся структур
- •If (выражение) оператор_1; [ else оператор_2;]
- •2.5.2.4. Средства программирования регулярных циклических структур
- •2.5.2.5. Средства программирования итеративных циклических структур
- •2.5.2.6. Средства описания и работы с одномерными массивами данных
- •Int array[4]; /* array - массив из 4 элементов типа int */
- •2.5.2.7. Средства описания и работы с двумерными массивами данных
- •Int w[2][3]; /* двумерный массив из двух строк и трех столбцов
- •2.5.2.8. Строковые данные и операции над строками
- •2.5.3. Контрольные вопросы по теме «Основные конструкции языка программирования qb» (вставить из лаб.Работ!)
- •Тема 2.5. Основные конструкции языков программирования Страница 274
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 кодов соответствующих символов. Большей считается та строка, у которой больший код встретится раньше. Ниже приведены примеры сравнения строк:
a$=”abcdefg” и b$=”abcxyz”. Тогда a$<b$, так как код ASCII буквы x больше кода буквы d (буква x по алфавиту дальше, чем d);
a$=”Аня” и b$=”Алла”. Тогда a$>b$, так как буква н в алфавите дальше, чем л;
a$=”Basic” и b$=”Pascal”. Тогда a$<b$, так как буква B в алфавите раньше, чем P.
При работе с символьными переменными часто возникает необходимость преобразования данных числового типа в данные символьного типа. Для этого можно воспользоваться функцией
STR$ (арифметическое_выражение)
Эта функция возвращает символьное представление значения арифметического выражения. Если арифметическое выражение больше 0, то функция возвращает строку с добавлением лидирующего пробела (вместо знака “+”).
Например, после выполнения оператора text$=STR$(-12.5*2) строковая переменная text$ примет значение “-25", а после выполнения оператора text$=STR$(12.5*2), переменная text$ примет значение “ 25”.
Обратное преобразование переменной или константы символьного типа, представляющей число, в переменную числового типа, выполняется с помощью функции