КАТЕГОРИИ: Архитектура-(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 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; Просмотров: 766; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |