Одномерные массивы
Предположим ,что у Вас имеется список чисел описывающий N человек, для
записи их в память компьютера необходимо завести переменную на каждого
из них. Это не удобно, лучше воспользоваться специальным компонентом
бейсика- массивом.
DIM M(N)- задается массив с именем М размерности N.
Лучше разобрать все на примере. Пусть Вам надо составить программу
которая спрашивает сколько человек в классе, а затем просит ввести
оценку каждого из учеников. После выполнения программа должна вывести на
экран количество учеников получивших 5, количество получивших 4 и т.д.
10 PRINT "СКОЛЬКО УЧЕНИКОВ?"
20 INPUT N
30 DIM M(N)
40 FOR I=1 TO N
50 INPUT M(I)
60 L=M(I)
70 IF L=5 THEN T=T+1
80 IF L=4 THEN T1=T1+1
90 IF L=3 THEN T2=T2+1
100 IF L=2 THEN T3=T3+1
110 IF L=1 THEN T4=T4+1
120 NEXT I
130 PRINT "5-",T
140 PRINT "4-",T1
150 PRINT "3-",T2
160 PRINT "2-",T3
170 PRINT "1-",T4
180 END
В строке 30 мы задаем массив М размерности N, затем задаем цикл , где
просим ввести M(1), затем мы проверяем какая это цифра. Когда цикл
пойдет исполняться второй раз компьютер потребует ввести M(2) и т.д...
Если Вы не поняли, что происходит в 70 строке и далее то прочтите
следующие строки. В строке 70 мы проверяем ... Если введенное число 5 то
Т=Т+1, изначально Т+0, этой операцией мы подсчитываем количество 5...
Задание для самостоятельной работы
Пример: Составить программу заполнения
массива из 15 элементов случайными числами в диапазоне от 1 до 10.
Предусмотреть вывод массива на экран.
REM Заполнение и вывод массива
DIM mas(15) AS INTEGER
FOR I=0 TO 14
mas(I)=1+INT(RND*10)
NEXT
CLS
PRINT "Вывод массива"
FOR I=0 TO 14
PRINT mas(I);
NEXT
END
Пример: Вывести количество отрицательных
элементов массива.
REM Вывести
количество отрицательных элементов
INPUT "Введите число элементов массива", n
DIM mas(n) AS INTEGER
FOR I=0 TO n-1
INPUT "Введите элемент массива", mas(I)
NEXT
CLS
PRINT "Вывод массива"
FOR I=0 TO n-1
PRINT mas(I);
NEXT
FOR I=0 TO n-1
IF mas(I)<0 THEN k=k+1
NEXT
PRINT
PRINT "Число отрицательных элементов: ",k
END
Пример: Составить программу для вычисления
наибольшего элемента массива и его номера.
REM
вычисления наибольшего элемента массива и его номера
INPUT "Введите число элементов массива", n
DIM mas(n) AS INTEGER
FOR I=0 TO n-1
INPUT "Введите элемент массива", mas(I)
NEXT
CLS
PRINT "Вывод массива"
FOR I=0 TO n-1
PRINT mas(I);
NEXT
max=mas(0)
nomer=1
FOR I=0 TO n-1
IF mas(I)>max THEN
max=mas(I)
nomer=I+1
END IF
NEXT
PRINT
PRINT "Максимальный элемент: ", max, " с номером ", nomer
END
Пример: составить программу сортировки
массива по возрастанию.
REM сортировка
массива
INPUT "Введите число элементов массива", n
DIM mas(n) AS INTEGER
FOR I=0 TO n-1
mas(I)=1+INT(RND*10)
NEXT
CLS
PRINT "Вывод массива"
FOR I=0 TO n-1
PRINT mas(I);
NEXT
REM сортировка массива
FOR I=0 TO n-2
FOR J=I+1 TO n-1
IF mas(I)>mas(J) THEN
REM если нашли меньший элемент, то обменяем их местами
a=mas(I)
mas(I)=mas(J)
mas(J)=a
END IF
NEXT J
NEXT I
REM конец сортировки массива
PRINT
PRINT "Вывод отсортированного массива"
FOR I=0 TO n-1
PRINT mas(I);
NEXT
END
Пример: ввод массива с использование
оператора DATA.
REM Ввод данных из DATA
DIM mas(5) AS INTEGER
DATA 2, -4, 1, 5, 9
REM ввод массива
FOR I=0 TO 4
READ mas(I);
NEXT
REM вывод массива
FOR I=0 TO 4
PRINT mas(I);
NEXT
EN
|