Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
4_Метод_Часть_4_Массивы.doc
Скачиваний:
6
Добавлен:
01.05.2025
Размер:
620.54 Кб
Скачать

1.2. Ввод и вывод элементов массива

Присвоить значения элементам массива можно различными способами.

  • С помощью оператора присвоения.

B(1) = 1

B(2) = 10

B(3) = 100

  • С помощью цикла при заполнении большого массива.

Для одномерного массива:

FOR i = 1 TO 10

INPUT B(i)

NEXT i

В данном способе при вводе массива для каждого из значений i, выполняя оператор INPUT, компьютер печатает знак вопроса и пользователь должен на каждый вопрос ввести одно значение с клавиатуры, соответствующее элементу В(i), и нажать клавишу ENTER.

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

Ввод по строкам

Ввод по столбцам

FOR i = 1 TO n

FOR j = 1 TO m

INPUT B(i,j)

NEXT j,i

FOR j = 1 TO n

FOR i = 1 TO m

INPUT B(i,j)

NEXT i, j

В этом случае на каждый знак вопроса, выводимый компьютером при выполнении оператора INPUT, пользователь должен печатать значение соответствующего элемента B(i,j). Последовательность записи значений элементов при вводе по строкам, например, для матрицы 3х3 такая:

В(1,1), В(1,2), В(1,3), В(2,1), В(2,2), В(2,3), В(3,1), В(3,2), В(3,3),

т.е. элементы первой строки, затем второй, третьей строки, а по столбцам –

В(1,1), В(2,1), В(3,1), В(1,2), В(2,2), В(3,2), В(1,3), В(2,3), В(3,3),

т.е. элементы первого столбца, затем второго, третьего столбца.

Вывод массивов может осуществляться такими же последовательностями операторов, что и ввод, но вместо оператора INPUT записывается оператор печати PRINT. Для одномерного массива вывод элементов осуществляется следующим образом.

FOR i = 1 TO 10

PRINT B(i)

NEXT i

Вывод элементов двумерного массива может быть произведен следующим способом:

FOR i = 1 TO n

FOR j = 1 TO m

PRINT B(i,j);

NEXT j

PRINT

NEXT i

В результате массив распечатается построчно в виде матрицы.

п ример 1

Дан массив целых чисел. Напечатать все элементы, оканчивающиеся нулем.

Тест

Данные

Результат

n=5

A=(3, 50, -20, 4, 0)

50, -20, 0

Исполнение алгоритма

Чтобы проверить оканчивается ли число на число 0, необходимо вычислить остаток от деления данного числа на 10. Если остаток равен 0, то это целый десяток.

i

Проверка условия

Элементы, оканчивающиеся нулем

1

A(1) делится на 10

остаток  0

2

A(2) делится на 10

остаток = 0

А(2)= 50

3

А(3) делится на 10

остаток = 0

А(3)=-20

4

A(4) делится на 10

остаток  0

5

А(5) делится на 10

Остаток = 0

А(5)=0

Блок-схема алгоритма

Начало

Ввод n

i=1,n

Ввод Ai

i=1,n

+ AiMOD10=0 -

Вывод Ai

Конец

программа

CLS

INPUT "введи размер массива " ; n

DIM A(n)

PRINT "введи массив"

'Цикл по элементам массива

FOR i = 1 TO n

'Ввод элементов массива

INPUT A(i)

NEXT i

FOR i = 1 TO n

'Проверка остатка от деления числа на 10

IF A(i) MOD 10 = 0 THEN PRINT A(i)

NEXT i

END

п ример 2

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

Программа

CLS

INPUT "введи размер матрицы " ; n, m

DIM A(n, m)

PRINT "введи матрицу"

'Цикл по строкам матрицы

FOR i = 1 TO n

'Цикл по столбцам матрицы

FOR j = 1 TO m

'Ввод элементов массива

INPUT A(i,j)

NEXT j, i

FOR j = 1 TO m

'Определение четности номера столбца

IF j MOD 2 = 0 then

'Если столбец четный, то вывод производится снизу вверх

FOR i = n TO 1 STEP –1

PRINT A(i,j);

NEXT i

PRINT

ELSE

'Если столбец нечетный, то вывод производится сверху вниз

FOR i = 1 TO n

PRINT A(i,j);

NEXT i

PRINT

END IF

NEXT j

END

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]