Заполнение одномерных массивов и вывод их на экран
Первая задача, встающая перед программистом прежде чем, обработать массив, – заполнить его "жильцами". Для этого в Бейсике существует несколько способов, которые мы и рассмотрим. Кроме того, для контроля правильности заполнения, лучше бы сразу выводить массив на экран, чтобы потом можно было проверить правильность решения поставленной задачи.
Для всех случаев мы рассмотрим один и тот же пример – заполнить массив N целыми числами, каждое из которых не более 100. Мы не берем конкретное значение N, чтобы вы понимали: программа не должна зависеть от исходных данных. Сейчас мы хотим создать массив из 10 чисел, а в следующий раз – из 1000. Программа останется той же.
Заполнение одномерного массива с клавиатуры
Рассмотрим следующий пример:
CLS INPUT "Введите количество элементов массива"; N DIM MASS(N) FOR 1=1 ТО N ? "Введите"; N; "элемент массива" INPUT MASS(I) NEXT I 7 FOR 1=1 TO N? MASS(I); NEXT I
Программа требует некоторых пояснений. Первая команда традиционна – очистка экрана. Далее идет запрос с клавиатуры количества элементов массива. Потом цикл, в котором от 1 до N программа последовательно запрашивает у пользователя ввод очередного элемента массива и записывает его значение по указанному адресу mass(i). После первого цикла выполняется оператор print без параметров. Он отображает пустую строку между вводом значений и их выводом. Последний оператор цикла выводит значения массива на экран в строчку, что обеспечивается добавлением к оператору print точки с запятой. Результаты работы программы для трех элементов будут выглядеть так:
Введите 1 элемент массива ? 23 Введите 2 элемент массива ? 13 Введите 3 элемент массива ? 98 23 13 98
Заполнение одномерного массива заранее известными значениями из оператора DATA
Часто встречаются задачи, когда данные для обработки уже известны и содержатся в операторе data. (Однако, если их много, тяжелый труд – их туда заносить. Обычно – работа для молодых программистов.)
DATA 23, 13, 98, 77, 45, 56, 32,' 10, 90, 55 CLS INPUT "Введите количество элементов массива"; N DIM MASS(N) FOR 1=1 ТО N READ MASS(I) ? MASS(I); NEXT I
Программа стала несколько короче, т. к. в этом случае можно совместить чтение данных из data и одновременный вывод их на экран – ведь пользователь освобожден от необходимости вводить данные с клавиатуры. Мы сразу увидим массив на экране.
Этот способ экономичней первого, и, кроме того, при отладке программы нет нужды всякий раз заново вводить данные.