Общие сведения о языке программирования Qbasic
кие члены последовательности sj,sj+1, что
sj - это запятая, а sj+1 - тире.
0. Даны натуральное число n, символы s1,...sn. Получить первое натуральное
j, для которого каждый из символов sj и sj+1 совпадает с буквой а. Если
такой пары символов в последовательности s1,...sn нет, то ответом должно
быть число 0.
Массивы
В математике принято сходные по характеру величины обозначать одним
общим именем, а различать их по индексу. Например, члены какой- либо
последовательности можно обозначить следующим образом:
А1, А2 , .... , А n
имя индекс
Аналогично поступают в Бейсике
А(1) А(2) ... А(N)
имя массива индекс в круглых скобках
Массив - это совокупность переменных обозначенных общим именем и
различаемых с помощью индексов, которые записываются в круглых скобках
после имени массива.
DIM Английское слово (дименшн) означает массив
Оператор DIM используется для того, чтобы указать общее количество
переменных в массиве. Это необходимо для рационального распределения памяти
компьютера.
Объявление массива
DIM A(7) количество переменных в массиве (элементов
в массиве)
Общее имя Исполнение оператора DIM заключается
элементов массива в том, что в памяти компьютера образуется
массив переменных.
А(0) А(1) А(2) А(3) А(4) А(5) А(6) А(7)
|А | | | | | | | | |
Ограничение: массив нельзя объявлять дважды, поэтому следует объявлять
массивы в начальных строках программы и не возвращаться в эти строки с
помощью оператора GOTO.
Каждый элемент массива обладает:
0) именем Х(5)
0) индексом место в памяти,
отведенное
0) значением 3,2 под данный элемент массива
Ввод элементов массива может осуществляться несколькими способами:
1) DIM A (5)
A(0)=4: A(I)=-2.5: (3)=10: A(4)=0: A(5)=6: A(2)=3
Этот способ ввода удобен, когда массив небольшой
2)Ввод элементов массива с клавиатуры
DIM А(9)
FOR I=0 TO 9
INPUT A(I)
NEXT I
3) DIM B (6)
DATA 0, -2, 1, 5, 8, 5, 6. 26
FOR N=0 TO 6
READ B (N)
NEXT N
Вывод элементов массива можно осуществлять в строку и в столбик:
1) DIM A(3)
PRINT A(0), A(I), A(2), A(3)
Этот способ вывода удобен, когда массив небольшой
2) DIM A(10)
FOR I=0 TO 9
PRINT A(I)
NEXT I
Основные приемы при решении задач с применением массивов
Пример 1. Дан массив из 10 элементов. Найти сумму элементов массива
DIM A (9)
S=0
FOR N=0 TO 9
S=S+A(N)
NEXT N
PRINT (сумма=(;S
Пример 2. Найти минимальный элемент массива и индекс этого минимального
элемента
DIM L (9)
MIN=L(0): K=0
FOR I=1 TO 9
IF MIN>L(I) THEN MIN=L(I):K=I
NEXT I
PRINT (минимум(; MIN
Пример 3. Даны 2 массива А(9), В(9). Получить массив, каждый элемент
которого равен сумме соответствующих элементов данных массивов
DIM A(9), B(9), C(9)
FOR I=0 TO 9
C(I)=A(I)+B(I): PRINT C(I)
NEXT I
СОРТИРОВКА МАССИВА ПО ВОЗРАСТАНИЮ
1 СПОСОБ (метод пузырька) 2 СПОСОБ (метод сортировки
DIM A(9)
простым способом).
CLS
DIM A(9)
FOR i = 0 TO 9
PRINT “Введите 10 элементов”
INPUT A (i) FOR
i=0 TO 9
NEXT i
INPUT A(i)
FOR i = 0 TO 9 NEXT
i
FOR y = 9 TO i STEP - 1 FOR i=0 TO
9
IF A (y) >A(y-1) THEN GOTO 20 P=A(i) : K=i
m = A (y)
FOR y=i+1 TO 9
A (y) = A (y-1) : A (y-1) = m IF A(y)>P
THEN GOTO 50
20 NEXT y
P=A(y):K=y
NEXT i 50
NEXT y
FOR i=0 TO 9
A(K)=A(i):A(i)=P
PRINT А(i) NEXT i
NEXT i PRINT
“Отсортированные элементы”
FOR
i=0 TO 9
PRINT
A(i)
NEXT
i
END
3 способ (метод простого включения)
DIM A (10), В(9)
PRINT “Введите 10 элементов”
FOR i=0 TO 9
INPUT B (i)
NEXT i
FOR i=1 TO 10
A(i)=B(i-1)
NEXT i
FOR i=1 TO 10
P=A(I):Y=I-1
40IF P0 THEN A(Y+1)=A(Y):Y=Y-1:GOTO 40
A(Y+1)=P
NEXT i
PRINT “Отсортированные элементы”
FOR i=1 TO 10
PRINT A (i)
NEXT i
END
Задачи на использование цикла при обработке массивов.
0. Вывести положительные элементы массива Х(k), затем отрицательные
элементы массива У(m) и количество выведенных чисел.
0. Даны k и массив X(k). Найти сумму.
(X1-P)2+(X2-P)2+...+(Xk-P)2, где Р=Х1+Х2+...+Хk)/k.
0. Даны m и массив Х ( m ). Найти произведение.
(2+Х21)*(2+Х22)*...*(2+Х2m).
4. Найти номер элемента массива Х(k), ближайшего к С, где
С=(Х1+Х2+...+Хk)/k
0. Даны С, m и массив Т(m). Найти число элементов массива Т, меньших С, а
для элементов, больших С, найти их среднее арифметическое.
0. Для массива Т(m) найти число элементов, больших предыдущего элемента, а
для тех, которые меньше, найти их среднее арифметическое.
0. Найти номер наименьшего положительного элемента массива Х(m).
0. Для массива Х(m) напечатать сумму, произведение и номера положительных
элементов после последнего нулевого элемента.
0. Даны k и массив Т(k). Найти сумму и количество элементов в массиве Т
после первого нулевого элемента.
0. Даны m и массив А (m). Напечатать сумму отрицательных элементов массива
А после первого нулевого элемента.
0. Даны m, координаты ХА,УА пункта А и в массиве К из 2m чисел координаты
Х1, У1, Х2,У2,...,Хm,Ym пунктов В1, В2,...,Вm. Вывести номер и координаты
пункта В наиболее удаленного от пункта А.
0. Найти общее количество нулевых элементов в массивах Х(m), У(k).
0. Образовать и вывести массив Т из неотрицательных элементов массива
Х(m). Напечатать число элементов в массиве Т.
0. Вывести четные по значению среди положительных элементов массива Х(m),
начиная с первого положительного элемента.
0. Удвоить наибольший элемент массива Х(m) и напечатать измененный массив.
0. Вывести ненулевые элементы массива Х(m) и их произведение.
0. Найти сумму и количество нечетных по значению элементов массива Х(m).
0. Образовать массив Т из ненулевых элементов массива Х(m). Затем вывести
массив Т и количество элементов в нем.
0. В массиве Т(m) заменить нулевые элементы наибольшим элементом.
0. В массиве Х(m) найти сумму и количество элементов между первым и
последним нулевым элементами.
0. Поменять местами наибольший и наименьший элементы массива Т(m).
0. В массиве Х(m) найти общее число элементов до первого и после последнего
нулевых элементов.
0. Сколько элементов в массиве Х(m) после второго нулевого элемента.
0. Из элементов массивов Х(m) и У(m) образовать массив
Н(Х1,У1,Х2,У2,..., Х(m), У(m) из 2m элементов.
0. Округлить элементы массива Х(m) до ближайшего целого.
0. Из элементов массивов Х(m), У(k) образовать массив
Н((Х1,Х2,Х3,..., Хm, У1,У2,У3,...,Уk) из m+k элементов.
0. Найти номер второго нулевого элемента массива Х(m).
0. Найти номер предпоследнего нулевого элемента массива Х(m).
0. Переставить элементы массива Х(m) в обратном порядке, т.е.
Хm,...,X2,Х1.
0. В массиве Х(m) найти число элементов между первым и вторым нулевыми
элементами.
0. Сколько в массиве Т(m) элементов, меньших суммы всех элементов?
0. В массиве Т(m) нулевые элементы заменить суммой всех элементов.
0. Образуют ли арифметическую или геометрическую прогрессию элементы
массива Х(m) ?
0. В массиве Т(m) заменить элементы с четными номерами суммой элементов с
нечетными номерами.
0. Найти расстояние Р между массивами А(k) и В(k) по формуле:
Р2-(А1-В1)2 +(А2-В2)2+...+(Ак-Вк)2.
0. В массив Р записать сначала отрицательные элементы массива Х(k). затем
положительные.
0. В массиве Х(k) найти сумму элементов и их количество до первой перемены
знака.
0. Из элементов массива Х(k), попадающих в отрезок [A,B], составить массив
М и вывести его.
0. На плоскости ХОУ даны k точек массивами координат Х(k), Y(k). Образовать
массив номеров точек вне I четверти.
0. Образовать массив Н номеров нулевых элементов массива Х(k).
0. В одномерном массиве с четным количеством элементов (2*N) находятся
координаты N точек плоскости. Они располагаются в следующем порядке:
х1,у1,х2,у2,х3,у3 и т.д. Определить минимальный радиус окружности с
центром в начале координат, которая содержит все точки, и номера наиболее
удаленных друг от друга точек.
0. В двумерном
| | скачать работу |
Общие сведения о языке программирования Qbasic |