Массивы
Массив – это набор однотипных данных, имеющий имя и последовательную нумерацию его элементов. Примеры массивов: список учеников вашего класса – строковый или литерный массив; данные о среднесуточной температуре за месяц – числовой массив; буквы русского алфавита – литерный массив
Описание массива Прежде чем начать работать с массивом нужно этот массив в программе объявить с помощью специального оператора DIM, после которого указывается имя массива, а потом в скобках следует так называемый размер массива, т.е количество его элементов. То есть DIM А(5) Имя массива Размерность массива
DIM A(10) DIM A%(21) DIM A$(34) ЛИТЕРНЫЙ ЦЕЛЫЙ ВЕЩЕСТВЕННЫЙ
Зеленая улица № 1 № 2 № 3 № 4 М-р X М-р Y М-р Z М-c O STGREEN$ (4)
У массива есть имя, которое дает ему программист. У массива есть тип, который определяется именем – числовой и литерный. У массива есть размер, т.е. количество составляющих его элементов. У массива есть сквозная последовательная индексация составляющих его элементов. У каждого элемента массива есть значение.
В языке Basic различают одномерные и двумерные массивы. Одномерный массив называется вектором. № элемента Значение элемента Обозначение элемента массива 1 2 3 4 5 6 7 8 9 10 5 -7 6 2 3 -4 3 -8 1 -2 а(1) а(2) а(3) а(4) а(5) а(10)
Двумерный массив предс-тавляет собой прямоугольную таблицу. Таблица состоит из нескольких строк и столбцов. Каждый элемент двумерного массива имеет две координаты: номер строки и номер столбца. Если количество столбцов и строк одинаково, то такой двумерный массив называют квадратной матрицей.
а(1, 2) а(4,3) а(2, 4) 1 2 4 -6 9 -3 -1 -5 -8 -9 -6 -7 7 6 7 2
Заполнения одномерного массива и вывод на экран I способ. Заполнение одномерного массива с помощью клавиатуры. CLS DIM A(20) FOR I = 1 TO 20 INPUT "Введите элемент массива"; A(I) NEXT I FOR I = 1 TO 20 ? A(I) NEXT I END ' вывод массива в столбик ; ' вывод массива в строчку
II способ. Заполнение одномерного массива заранее известными значениями из оператора DATA. CLS DIM B(11) DATA 3, -1, 0, 8, 2, 1, 7, 12, -14, 11,12 FOR I = 0 TO 10 READ B(I) ' считывание данных NEXT I FOR I = 0 TO 10 ? В(I) NEXT I END
III способ. Заполнение одномерного массива значениями данной функции, где аргумент принадлежит определенному промежутку и изменяющемуся с данным шагом. CLS N=(1.5-0)/0.1+1 DIM A(N) FOR X=0 TO 1.5 STEP .1 ' значение переменной х I=I+1 ' искусственный счетчик A(I)=0.5*X-3 ' заполнение массива NEXT I значениями функции END
N=(1.5-0)/0.1+1 Данная формула поможет вычислить количество элементов массива, если оно неизвестно. Переведем эту формулу в общий вид: N = (Xкон.-Xнач.)/шаг+1 Так как параметр цикла в данной программе аргумент функции, поэтому его нельзя использовать как счетчик. В этом случае вводиться искусственный счетчик: I=I+1
IV способ. Заполнить одномерный массив случайным способом целыми числами из данного промежутка. CLS RANDOMIZE TIMER DIM C(100) FOR I=1 TO 100 C(I)=INT(RND*350) NEXT I END
Количество, сумма и прочие k=k+1 – количество p=p*a(i) – произведение s=s+a(i) - сумма
Задача. Заполнить массив случайными числами из промежутка [1;50]. Размерность массива 15. Вывести на экран первый и последний элемент полученного массива. CLS RANDOMIZE TIMER DIM A(15) FOR I = 1 TO 15 A(I) = INT(RND * 50)+1 PRINT A(I) NEXT I PRINT "Первый"; A(1) PRINT "Последний"; A(15) END
Задача. Заполнить массив размерностью10 случайными числами из промежутка [0;60]. Вывести на экран элементы массива имеющие четные номера. CLS RANDOMIZE TIMER DIM B(10) FOR i = 1 TO 10 b(i) = INT(RND * 60) PRINT "B("; i; ")="; b(i) NEXT PRINT “Четные элементы массива” FOR i = 2 TO 10 STEP 2 PRINT "B("; i; ")="; b(i) NEXT
Результат работы программы
CLS RANDOMIZE TIMER DIM С(10) FOR i = 1 TO 10 С(i) = INT(RND * 100) + 1 PRINT С(i) NEXT I n = С(1) FOR i = 1 TO 10 IF С(i) < n THEN n = С(i) NEXT I PRINT "min = “; n END Задача. Заполнить массив размерностью 10 случайными числами из промежутка [1;100]. Вывести на экран минимальный элемент массива.
Результат работы программы
Задачи. Заполнить массив размерностью N случайными числами из промежутка [-50;50]. Найти и вывести на экран максимальный элемент массива. В заданном массиве найти и вывести на экран отрицательные элементы массива. В заданном массиве найти количество отрицательных элементов массива.
Двумерные массивы Это такой набор однотипных данных, местоположение каждого элемента которого определяется не одним индексом, а двумя. В Бейсике принято в качестве индексов двумерного массива использовать целые числа, которые записываются в круглых скобках через запятую. Жизненный пример использования двумерных массивов – билеты в кино или театр, имеющие для каждого зрителя две координаты – ряд и место.
Описывается подобные массивы в Бейсике тем же оператором DIM, после которого в скобках указываются две размерности массива – количество строк и количество столбцов. Например: Двумерные массивы DIM С (10,5) DIM С%(21,11) DIM A$(3,3)
Вывод двумерного массива на экран CLS RANDOMIZE TIMER DIM А(13, 15) FOR i = 1 TO 13 FOR j = 1 TO 15 А(i, j) = INT(RND * 20) + 1 PRINT А(i, j); NEXT j PRINT NEXT I END
Результат работы программы
Правильный вывод двумерного массива Такой вывод массива возможен только с использованием оператора LOCATE
Задача Дан двумерный массив 5х5. Найдите сумму всех отрицательных элементов массива. Определите наименьший элемент массива Х(10,9). Выделите его другим цветом при выводе на экран. Заполнить двумерный массив размерностью MхN случайными числами из промежутка [-150;150]. Заменить все положительные значения элементов массива на ноль.