Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Ввод данных в массив и вывод данных из массива




Функции для работы с массивами

 

QBasic имеет несколько функций для работы с массивами:

LBOUND(ИмяМассива, Индекс) – возвращает нижнюю границу диапазона индекса массива. Индекс указывается только для многомерных массивов, и определяет, к какому измерению массива применяется функция. По умолчанию индекс равен 1. Например:

Dim A(5 To 10,15 To 20)

Lbound (A, 2) – определяется нижняя граница второго измерения массива;

UBOUND (ИмяМассива, Индекс) – возвращает верхнюю границу диапазона индекса массива.

 

 

Так как число элементов массива представляет собой всегда счетное множество, то для работы с массивами используется оператор цикла FOR/NEXT.

Пример 9.4.14. Ввод и вывод одномерного массива.

REM Ввод одномерного массива

OPTION BASE 1

30 INPUT “Укажите размерность массива ”,N

40 DIM A(N)

60 FOR i = 1 TO N

70 PRINT “Введите”; i; “элемент массива ”;

80 INPUT “”,A(i)

90 NEXT i

100 END

Вначале по запросу программы, с клавиатуры вводится размерность массива, строка 30. Объявляется одномерный массив А размерностью N (строка 40) как массив вещественных переменных одинарной точности (по умолчанию). Затем организуется цикл с заданным числом повторений (строки 60 – 90). В строке 70 оператор PRINT выводит на экран запрос на ввод текущего элемента массива. В конце оператора имеется символ “точка с запятой”, который после вывода информации оставляет курсор в строке ввода, поэтому запрос на ввод данных с помощью оператора INPUT, строка 80, будет выведен в этой же строке, сразу же после вывода текстовой информации.

REM Вывод одномерного массива

110 FOR i = 1 TO N

120 PRINT A(i),

130 NEXT i

140 END

Алгоритм вывода массива на экран или печать подобен алгоритму ввода массива. В данном алгоритме необходимо обратить внимание на символ “запятая” в конце оператора PRINT (строка 120). При наличии данного символа данные будут выводиться в пять колонок. Если этот символ удалить, то данные будут выведены в один столбец (см. описание оператора PRINT).

При вводе (выводе) данных в многомерный массив необходимо организовать столько вложенных циклов, какова размерность массива.

Пример 9.4.15. Ввод и вывод двухмерного массива

INPUT “Укажите число строк ”,n

INPUT “Укажите число столбцов “,m

DIM A(n, m)

REM Ввод данных в двухмерный массив

FOR i = 1 TO n

FOR j = 1 TO m

PRINT “Введите А(“; i; “,”; j; “элемент массива”;

INPUT A(i, j)

NEXT j

NEXT i

REM Вывод данных из двухмерного массива

FOR i = 1 TO n

FOR j = 1 TO m

PRINT A(i, j);

NEXT j

PRINT

NEXT i

В данном примере вывод элементов массива осуществляется в виде матрицы. Это обеспечивается за счет использования разделителя “;” в конце оператора PRINT. Символ “;” в конце оператора PRINT оставляет курсор в текущей строке. Когда ввод данных в первую строку закончится, то оператор PRINT без параметров возвращает курсор в начало строки.

Процедуры ввода данных в массив и вывода данных из массива типичные, поэтому их можно оформить в виде подпрограмм (см. раздел 9.4.6), например:

SUB Massiv1(A(),n)

REM Подпрограмма ввода данных в одномерный массив.

FOR i = 1 TO N

PRINT A(i),

NEXT i

END SUB

 




Поделиться с друзьями:


Дата добавления: 2014-01-06; Просмотров: 737; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.007 сек.