
- •Лекция № 23 основы програмирования на языке qbasic Вопросы:
- •Литература:
- •Конструкции языка.
- •Структура программы.
- •Операторы.
- •Понятие алгоритма линейной структуры.
- •Алгоритмы и программы ветвящейся структуры
- •Оператор безусловного перехода
- •Условные операторы
- •Линейная форма
- •Пример Составить программу и вывести на печать значение функции
- •Блок-схема
- •Блочная форма
- •Алгоритмы и программы циклической структуры
- •Операторы цикла
- •Операторы while…wend
- •Обработка массивов
- •Блок-схема алгоритма
Какую работу нужно написать?
Обработка массивов
Простые переменные, использованные ранее при составлении программ, имеют свое имя, и под каждую из них выделяется ячейка памяти, обращение к которой осуществляется по этому имени. Использование только простых переменных затрудняет или делает вообще невозможным решение многих важных задач. В подобных случаях целесообразно использовать массивы.
Массивом называется упорядоченная последовательность величин, обозначенная одним именем, для хранения которых отводятся последовательно расположенные поля памяти.
Массив характеризуется идентификатором, числом измерений (индексов) и числом переменных в каждом измерении. Для образования имен массивов используются те же правила, что и для образования имен простых переменных. В одной и той же программе допустимы одинаковые имена массивов и простых переменных.
Допуск к конкретному элементу этой последовательности осуществляется указанием рядом с именем массива в круглых скобках его порядкового номера.
По способу организации различают одномерные массивы - векторы и двумерные массивы - матрицы. Элементы одномерного массива снабжаются одним индексом. Элементы двумерного массива снабжаются двумя индексами, первый из которых определяет номер строки, а второй номер столбца, на пересечении которых расположен в матрице соответствующий элемент.
Элементы массива или как их еще называют - индексированные переменные могут употребляться в программе так же, как и простые переменные. Под массивы машина должна выделять память. Под переменную выделяется одна ячейка памяти в тот момент, когда переменная впервые встретится в программе. При работе с массивами первому использованию переменной с индексом должно предшествовать описание, сообщающее какие массивы используются в программе и каков размер каждого массива.
Эта информация задается в операторе описания массивов DIM.
В операторе DIM указывается имя массива и в круглых скобках верхние границы изменения индексов, которые должны быть целыми положительными числами.
Каждый массив в программе должен быть заранее объявлен оператором DIM.
Общий вид оператора описания массива:
[номер строки] DIM <список массивов>
Пример:
DIM A(9)
DIM B(5,6)
При обработке массивов данных необходимо использовать циклы. Общие принципы программирования циклов сохраняются, но в качестве управляющей переменной цикла выступают переменные, определяющие значения индексов.
Ввод и вывод массивов удобно организовывать с помощью операторов цикла.
Пример. Ввод одномерного массива A(10):
DIM A(10)
FOR I=1 TO 10
INPUT A(I)
NEXT I
Ввод двумерного массива A(3,3):
DIM A(3,3)
FOR I=1 TO 3
FOR J=1 TO 3
INPUT A(I,J)
NEXT J
NEXT I
Пример 1.
Д
ана
матрица.
Найти:
Сумму элементов главной диагонали.
Произведение элементов 2-й строки.
Минимальный элемент матрицы.
Программа
REM Задание 1
DIM A(3,3)
S=0:P=1:MIN=A(1,1)
DATA 1,-5,23,-14,-18,9,3,11,-7
FOR I=1 TO 3
FOR J=1 TO 3
READ A(I,J)
NEXT J
NEXT I
FOR I=1 TO 3
FOR J=1 TO 3
IF I=J THEN S=S+A(I,J)
IF I=2 THEN P= P*A(I,J)
IF A(I,J)<MIN THEN MIN =A(I,J)
NEXT J
NEXT I
PRINT S,P,MIN
END
Блок-схема алгоритма
Пример 2.
Найти сумму четных элементов одномерного массива, состоящего из 815 элементов.