Студопедия

КАТЕГОРИИ:


Архитектура-(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)

SWAP аргумент_n, аргумент _m

Формат оператора.

Метод формирования прямым присваиванием

Например: А(1) = 10: А(2) = 3: А(3) = 5: … и т.д.

2. Метод формирования оператором ввода (INPUT):

Примеры:

· INPUT A(1); A(2); A(3); A(4)

· INPUT “Введите пять элементов массива”; A(1); A(2); A(3); A(4); A(5)

· FOR i=1 TO 5 INPUT A(i) NEXT · FOR i=0 TO 3 INPUT A(i) NEXT

3. Метод формирования оператором DATA…READ

Например:

· DATA 1, 5, 2, 7, 3 FOR i = 1 TO 5 READ A(i) NEXT

В программе всегда нужно указывать номер элемента, с которым она работает. Номер указывается в скобках за названием массива. Если массив создаётся и обрабатывается циклом, в качестве переменной, обозначающей номер текущего элемента, используется счётчик цикла.

Если элементу массива присваивается значение типа, не соответствующего типу массива выводится сообщение об ошибке Type mismatch (Несоответствие типа).

Если в массив вводится лишний параметр (элемент) или параметра будет не хватать выводится сообщение об ошибке Wrag number of dimention (Неправильное число размерностей).

Вывод одномерного массива на экран монитора.

Вывод значений всех элементов массива или его конкретных элементов отличается от вывода значения переменной только тем, что обязательно указываются номера выводимых элементов.

Например:

· Вывод третьего элемента массива A PRINT A(3)
· Вывод пяти элементов массива A в одну строку PRINT A(1), A(2), A(3), A(4), A(5)
· Вывод элементов массива Y(10) в одну строку PRINT “Массив Y” FOR i = 1 TO 10 PRINT Y(i); NEXT y PRINT

Некоторые алгоритмы обработки одномерных массивов.

Расчёт значений функции по формуле и заданных одномерным массивом значениях переменных.

Пример: Рассчитать формулу. Значения аргумента функции представлены в массиве X(1 TO 5).

FOR i = 1 TO 5 INPUT “Ввести значения элементов массива X”; X(i) NEXT i FOR i = 1 TO 5 Y = SQR (X(i)) PRINT “Y =”; Y NEXT i END

· Изменение значения каждого элемента одномерного массива.

Пример: Умножить массив X(10) на 5.

FOR i = 1 TO 10 X(i) = X(i) * 5 NEXT i END

· Поиск максимального и минимального элемента одномерного массива.

Пример: Найти MAX и MIN элементы массива X(10).

… MAX = X(1) MIN = X(1) FOR i = 2 TO 10 IF X(i) > MAX THEN MAX = X(i) IF X(i) < MIN THEN MIN = X(i) NEXT i PRINT “MAX =”; MAX PRINT “MIN =”; MIN END

· Поиск порядкового номера удовлетворяющего условию элемента одномерного массива.

Пример: Найти порядковые номера MAX и MIN элементов массива X(10).

… MAX = X(1): Nmax = 1 MIN = X(1): Nmin = 1 FOR i = 2 TO 10 IF X(i) > MAX THEN MAX = X(i): Nmax = i IF X(i) < MIN THEN MIN = X(i): Nmin = i NEXT i PRINT “Номер MAX =”; Nmax PRINT “Номер MIN =”; Nmin END

· Перемена местами двух элементом одномерного массива.

Для решения этой задачи в QBasic существует оператор SWAP. Он меняет между собой значения двух элементов массива.

Пример: Поменять местами элементы 2 и 5 вектора B(N)

… INPUT “Введите номера элементов массива”; c, d SWAP B(c), B(d) … Если не использовать оператор, то используется временная переменная (в этом пример, TNK) … INPUT “Введите номера элементов массива”; c, d TMK = B(c) B(c) = B(d) B(d) = TMK …

· Изменение последовательности элементов одномерного массива.

Изменение последовательности заключается в перестановки значений элементов одномерного массива согласно определённому условию. К этому типу действий относятся алгоритмы сортировки.

Пример: Записать массив B(N) в обратном порядке (элемент B(1) должен стать B(N), B(N) − B(N) и т.д.).

INPUT “Введите количество элементов массива”; N DIM B(N) FOR i = 1 TO N INPUT “Ввести значения элементов массива X”; X(i) NEXT i FOR i = 1 TO N/2 ‘замен должно быть в два раза меньше числа элементов SWAP B(i), B(N + 1 – i) NEXT i FOR i = 1 TO N PRINT B(i); NEXT i END

Пример: Расположить элементы массива B(N) в порядке возрастания их значений.

… FOR i = 1 TO N -1 FOR j = 1 TO N IF B(i) < B(j) THEN SWAP B(i), B(j) NEXT j, i END

· Действия с несколькими одномерными массивами одинаковой размерности.

Пример: Сложить массивы X(10) и B(10).

… FOR i = 1 TO 10 C(i) = X(i) + B(i) NEXT i END

Двумерные массивы

Двумерный массив – это совокупность однотипных элементов, каждый из которых имеет две координаты: номер строки и номер столбца. Как правило, двумерные массивы называют матрицами.

Обработка матриц проходит в двух вложенных циклах. Внешней задаёт номер текущей строки, вложенный - номер текущего столбца.

Формирование и вывод на экран двумерного массива.

Пример: Сформировать матрицу M (3, 4).

DIM M(1 TO 3, 1 TO 4) FOR i = 1 TO 3 FOR j =1 TO 4 INPUT M(i, j) NEXT j, i END И вывод на экран монитора FOR i = 1 TO 3 FOR j =1 TO 4 PRINT M(i, j) NEXT j NEXT i END

 

Некоторые алгоритмы обработки двумерных массивов.

· Изменение элементов матрицы.

Значения элементов матрицы хранятся в памяти компьютера. Изменить значение – это значит записать в соответствующую ячейку памяти новую величину. Для этого необходимо указать координаты ячейки, с которой нужно взаимодействовать.

Пример:

1. Присвоить элементу (2, 3) матрицы M значение 5. M(2, 3) = 5

2. Увеличить значение элемента (2, 3) матрицы M на 5 M(2, 3) = M(2, 3) + 5

3. Умножить матрицу M(3, 4) на константу h.

INPUT “h =”; h
FOR i = 1 TO 3
FOR j = 1 TO 4
M(i, j) = M(i, j) * h
NEXT j, i
END

· Транспонирование матрицы.

Транспонирование матрицы заключается в получении другой матрицы, столбцы которой равны строкам исходной. Транспонирование необходимо в некоторых численных методах. Например, при решении системы линейных уравнений.

Пример: Трансформировать матрицу M (3, 4).

DIM M(3, 4), MT(4, 3) PRINT “Исходная матрица“ DATA 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3 FOR i = 1 TO 3 FOR j =1 TO 4 READ M(i, j) PRINT M(i, j); NEXT j: PRINT: NEXT i FOR i = 1 TO 4 FOR j =1 TO 3 MT(i, j) = M(j, i) NEXT j NEXT i PRINT “Трансформированная матрица“ FOR i = 1 TO 4 FOR j =1 TO 3 PRINT MT(i, j); NEXT j: PRINT: NEXT i END

 

Результат:

               
               
               
               

· Анализ элементов матрицы.

Большой спектр задач связан с изменением или сортировкой матрицы по определённому критерию. Как правило такие алгоритмы содержат циклы и операторы условной передачи управления.

Пример: Обнулить элементы матрицы M(3, 4), попадающие в интервал [A, B].

… INPUT A, B FOR i = 1 TO 3 FOR j = 1 TO 4 IF A <= M(i, j) AND M(i, j) <= B THEN M(i, j) = 0 PRINT M(I, j); NEXT j: PRINT: NEXT i END

 

<== предыдущая лекция | следующая лекция ==>
Формат имени массива | Строение социально-экономической системы предприятия и факторы ее образующие
Поделиться с друзьями:


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


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



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




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