Оператор переопределения параметров массивов - REDIM
Оператор объявления переменных - DIM
Назначение: Объявление переменных и резервирование для них памяти.
Синтаксис: DIM [SHARED] <переменная> [(<индексы>) [AS <тип>]
[, <переменная> [(<индексы>)] [AS <тип>]]…
Аргумент | Описание |
SHARED | Атрибут, указывающий на совместное использование переменных всеми процедурами модуля |
<переменная> | Имя простой или индексной переменной |
<индекс> | Размерность переменной с индексом; максимальное число индексов – 8 |
<тип> | Указатель типа описываемой переменной; тип выбирается из следующего списка: INTEGER, LONG, SINGLE, DOUBLE, STRING или <имя структуры> |
Запись индекса в общем виде :
[<нижняя граница> ТО] <верхняя граница> [, [<нижняя граница> ТО] <верхняя граница>]…
Оператор изменения начала отсчета индексов -OPTION BASE
Назначение: Установка нижней границы индексов массивов.
Синтаксис: OPTION BASE <нижняя граница>
Нижняя граница индекса равна либо 0, либо 1. По умолчанию, устанавливается значение 0; для установки значения 1 необходимо выполнить оператор OPTION BASE 1.
Использование оператора OPTION BASE не является обязательным
Оператор инициализации массива - ERASE
Назначение: Инициализация элементов статических массивов; освобождение памяти под динамическими массивами.
Синтаксис: ERASE <имя массива>[, <имя массива>. .]
Аргументы <имя массива> являются именами массивов, которые необходимо переопределить. Оператор ERASE дает различный результат для массивов, описанных в метакомандах $STATIC и $DYNAMIC. Оператор ERASE устанавливает элементы статических массивов равными нулю в случае числовых массивов или заполняет их пустыми строками в случае строковых массивов. Если массив представляет собой массив записей, то оператор ERASE устанавливает нулевые значения для элементов каждой записи, включая строковые элементы.
Применение оператора ERASE к динамическим массивам освобождает занимаемую ими память.
Оператор переопределения параметров массивов - REDIM
Назначение: Переопределение параметров массивов, объявленных метакомандой $DYNAMIC.
Синтаксис: REDIM [SHARED] <переменная> (<список индексов>) [AS <тип>] [, <переменная> (<список индексов>) [AS <тип>]]...
Аргумент | Описание |
SHARED | Необязательный атрибут SHARED обеспечивает доступность описанных переменных во всех процедурах модуля, может использоваться в операторе REDIM только в программе на уровне модуля |
<переменная> | Имя переменной языка Microsoft BASIC |
<список индексов> | Перечень индексов с указанием их границ: определяет размерность массива. Правила записи индексов описаны ниже |
AS <тип> | Объявляет тип элементов массива: INTEGER, LONG, SINGLE, DOUBLE, STRING, или тип, определяемый пользователем (структура) |
Аргумент <список индексов> в операторах REDIM имеет следующий формат:[<нижняя граница> ТО] <верхняя граница> [, [<нижняя граница> ТО] <верхняя граница>]...
Наличие ключевого слова ТО указывает на то, что устанавливаются пределы, как на верхнюю границу индекса массива, так и на нижнюю. Аргументы <нижняя граница> и <верхняя граница> являются числовыми выражениями.
2. Описание практической части работы:
2.1. Цели лабораторной работы: Закрепить навыки по разработке циклических и разветвляющихся структур алгоритмов на примере обработки массивов.
2.2. Постановка задачи: В соответствии с вариантом задания произвести обработку одномерного массива, состоящего из более десяти элементов.
2.3. Порядок выполнения работы:
2.3.1. Ознакомиться с теоретической частью.
2.3.2. Получить задание у преподавателя.
2.3.3. Выполнить работу.
2.3.4. Оформить отчет:
2.3.4.1. Содержание отчета:
1. Цель работы - краткая формулировка поставленной цели.
2. Порядок выполнения - определяются действия, необходимые для выполнения данной работы.
3. Постановка задачи - формулирование задачи в соответствии с индивидуальным заданием.
4. Решение поставленной задачи:
4.1. Математическое описание решения поставленной задачи содержит описание связей между параметрами с использованием принятых в математике обозначений.
4.2. Описание логической структуры программы (алгоритм решения) содержит:
- краткое описание схемы программы,
- алгоритм решения (по ГОСТ ) - рисунок,
- краткое описание используемых операторов языка программирования: DIM, OPTION BASE (при необходимости ERASE, REDIM).
4.3. Описание программы содержит:
- название файла, его размер,
- текст программы (или фрагмент для решения конкретной, наиболее важной части задания).
4.4. Результат работы программы:
- значения, полученные в результате выполнения программы
- анализ полученных результатов.
Выводы – отвечают на поставленную цель.
2.4. Контрольные вопросы:
1. Допускается ли совпадение имени простой переменной с именем массива?
2. Сколько элементов в массиве, если он объявлен в оператором DIM a (10)?
3. Какой массив занимает больше места в памяти ЭВМ: а или в, если эти массивы заданы следующим образом: DIM a%(15), DIM в #(10).
4. Могут ли в одном массиве находиться числовые и символьные данные?
5. Сколько элементов массива резервирует среда программирования qb.exe, если массив не объявлен оператором DIM?
6. Сколько циклов надо выполнить, чтобы найти минимальное (или максимальное) значение одномерного числового массива А()?
7. Сколько циклов надо выполнить, чтобы рассортировать одномерный массив А()?
8. Можно ли использовать оператор REDIM до использования оператора DIM?
9. Можно ли присваивать элементам числового массива символьные значения?
10. Можно ли после работы программы освободить память занимаемую массивом?
11. Чем отличаются динамические и статические массивы в языке Basic Microsoft?
12. Можно ли при обозначении элементов массива использовать отрицательные числа?
Таблица
Задания
n | задание | n | задание |
Найти минимальное значение в одномерном массиве А() | Найти номера элементов массива А(), значения которых совпадают с заданным | ||
Найти максимальное значение в одномерном массиве А() | Найти номера элементов массива А(), значения которых меньше заданного. | ||
Найти минимальное значение в двухмерном числовом массиве А() | Найти номера элементов массива А(), значения которых больше заданного. | ||
Найти максимальное значение в двухмерном числовом массиве А() | В массиве А() найти все числа меньше заданного значения | ||
Сформировать массив В(), состоящий из положительных элементов массива А() | В массиве А() найти все числа больше заданного значения | ||
Сформировать массив В(), состоящий из отрицательных элементов массива А() | В массиве А() найти все числа, находящиеся в диапазоне от а до в | ||
Сформировать массив В(), состоящий из четных чисел массива А() | В массиве А() найти количество элементов, сумма которых меньше заданного | ||
Сформировать массив В(), состоящий из нечетных чисел массива А() | В массиве А() найти количество элементов, сумма которых больше заданного | ||
Найти сумму положительных элементов массива А() | В массиве А() найти все суммы соседних пар элементов | ||
Найти сумму отрицательных элементов массива А() | Сформировать массив А() из элементов, являющихся средним значением соседних пар чисел | ||
Найти среднее значение всех элементов массива А() | Сортировать одномерный числовой массив А() по убыванию методом минимального элемента | ||
Найти номер минимального элемента в массиве А() | Определить количество одинаковых элементов в целочисленном массиве А() | ||
Найти номер максимального элемента в массиве А() | Определить сколько раз в массиве А() встречается заданное число | ||
Найти количество минимальных элементов в массиве А() | Найти номера элементов массива А(), значения которых равны заданному числу. | ||
Найти количество макси- мальных элементов в массиве А() | Найти сколько элементов массива А() встречаются в массиве В(). |