Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
KNIGA.DOC
Скачиваний:
37
Добавлен:
09.02.2015
Размер:
162.82 Кб
Скачать

§ 13.3 Вывод массива на печать.

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

Например, чтобы распечатать произвольный массив А(10), надо написать программу:

FOR I=1 TO 10 STEP 1

PRINT A( I )

NEXT I

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

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

Например, FOR I=1 TO 10 STEP 1

PRINT A( I );

NEXT I

PRINT

Пустой оператор PRINT отменяет дальнейший вывод в этой строке и переводит курсор для печати на следующую строку.

§ 13.4 Решение задач.

Задача 1.

Удвоить все элементы произвольного массива из 10 элементов, заданного на интервале [-50,50]. Вывести на экран оба массива.

Примечание. Поскольку массив произвольный, то лучше заполнить его случайным образом. Формула образования случайных чисел из диапазона [-50,50] — INT (100*RND - 50). В программе на экран будут выводиться два массива, поэтому печать лучше оформить как подпрограмму.

Решение:

CLS

DIM A(10) ®определение массива

FOR I=1 TO 10 STEP 1 :’ задание

A( I )= INT (100 *RND-50) :’элементов массива

NEXT I :’случайным образом

GOSUB PR :’обращение к подпрограмме печати

FOR I=1 TO 10 STEP 1 :’изменение

A( I )=A( I )*2 :’элементов

NEXT I :’исходного массива

GOSUB PR :’ обращение к п/п печати

END

PR: FOR I=1 TO 10 STEP 1 :’подпрограмма печати

PRINT USING”####”;A( I );

NEXT I

PRINT

RETURN

Задача 2.

Определить количество отрицательных элементов массива А(10), который задан случайным образом на интервале [-100,100].

Примечание: Заведем переменную-”копилку” и будем класть в нее единичку каждый раз, как встретится элемент, меньше нуля.

CLS

DIM A(10) :’ определение массива

FOR I=1 TO 10 STEP 1 :’ задание элементов массива

A( I )= INT (200 *RND-100) :’случайным образом

PRINT USING”####”;A( I ); :’ и вывод на печать

NEXT I :’одной строкой

N=0 :’инициализация переменной-копилки

FOR I=1 TO 10 STEP 1

IF A( I )<0 THEN N=N+1 :’проверка знака элементов массива

NEXT I

PRINT N; “Отрицательных элементов “

END

Задача 3.

В произвольном массиве A(N), заданном случайным образом на интервале [-50, 50], найти максимальный элемент.

Алгоритм:

1. Заведем вспомогательную переменную МАХ и присвоим ей значение первого элемента массива А(1).

2. Сравним МАХ со следующим элементом массива.

ЕслиМАХ < А(I),тоячейке МАХ присвоим А( I )Иначеперейдем к следующему элементу.

CLS

INPUT “ “;N

DIM A(N)

FOR I=1 TO N STEP 1

A( I )= INT(100*RND-50)*100

PRINT USING”####”; A( I );

NEXT I

MAX=A(1)

FOR I=2 TO N STEP 1

IF MAX < A( I ) THEN MAX=A( I )

NEXT I

PRINT “Максимальный элемент массива “;MAX

END

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