В заданной строке преобразовать все заглавные буквы латинского алфавита в строчные, а строчные в заглавные.
Из заданной строки получить новую, удалив все группы букв ²abcd².
Из заданной строки получить новую, заметив все группы букв ²abc² на²abcd².
Подсчитать, сколько слов в заданной строке оканчивается буквой ² я ², если известно, что после слова обязательно стоит пробел, либо точка.
Даны натуральное число n, символы s1,...sn. Преобразовать последовательность s1,...sn, , заменив в ней:
а) все восклицательные знаки точками;
б) каждую точку многоточием (т.е. тремя точками);
в) каждую из групп стоящих рядом точек одной точкой;
г) каждую из групп стоящих рядом точек многоточием (т.е. тремя точками).
Даны натуральное число n, символы s1,...sn. Выяснить, имеются ли в последовательности s1,...sn такие члены последовательности sj,sj+1, что sj - это запятая, а sj+1 - тире.
Даны натуральное число 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.
Каждый элемент массива обладает:
именем Х(5) индексом место в памяти, отведенное значением 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)простым способом).
CLSDIM 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)
NEXTi
FOR i=1 TO 10
A(i)=B(i-1)
NEXT i
FOR i=1 TO 10
P=A(I):Y=I-1
40IF P<A(Y) AND Y>0 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
Задачи на использование цикла при обработке массивов.
Вывести положительные элементы массива Х(k), затем отрицательные элементы массива У(m) и количество выведенных чисел.
Даны k и массив X(k). Найти сумму.
(X1-P)2+(X2-P)2+...+(Xk-P)2, где Р=Х1+Х2+...+Хk)/k.
Даны m и массив Х ( m ). Найти произведение.
(2+Х21)*(2+Х22)*...*(2+Х2m).
4. Найти номер элемента массива Х(k), ближайшего к С, где
С=(Х1+Х2+...+Хk)/k
Даны С, m и массив Т(m). Найти число элементов массива Т, меньших С, а для элементов, больших С, найти их среднее арифметическое.
Для массива Т(m) найти число элементов, больших предыдущего элемента, а для тех, которые меньше, найти их среднее арифметическое.
Найти номер наименьшего положительного элемента массива Х(m).
Для массива Х(m) напечатать сумму, произведение и номера положительных элементов после последнего нулевого элемента.
Даны k и массив Т(k). Найти сумму и количество элементов в массиве Т после первого нулевого элемента.
Даны m и массив А (m). Напечатать сумму отрицательных элементов массива А после первого нулевого элемента.
Даны m, координаты ХА,УА пункта А и в массиве К из 2m чисел координаты Х1, У1, Х2,У2,...,Хm,Ym пунктов В1, В2,...,Вm. Вывести номер и координаты пункта В наиболее удаленного от пункта А.
Найти общее количество нулевых элементов в массивах Х(m), У(k).
Образовать и вывести массив Т из неотрицательных элементов массива Х(m). Напечатать число элементов в массиве Т.
Вывести четные по значению среди положительных элементов массива Х(m), начиная с первого положительного элемента.
Удвоить наибольший элемент массива Х(m) и напечатать измененный массив.
Вывести ненулевые элементы массива Х(m) и их произведение.
Найти сумму и количество нечетных по значению элементов массива Х(m).
Образовать массив Т из ненулевых элементов массива Х(m). Затем вывести массив Т и количество элементов в нем.
В массиве Т(m) заменить нулевые элементы наибольшим элементом.
В массиве Х(m) найти сумму и количество элементов между первым и последним нулевым элементами.
Поменять местами наибольший и наименьший элементы массива Т(m).
В массиве Х(m) найти общее число элементов до первого и после последнего нулевых элементов.
Сколько элементов в массиве Х(m) после второго нулевого элемента.
Из элементов массивов Х(m) и У(m) образовать массив
Н(Х1,У1,Х2,У2,..., Х(m), У(m) из 2m элементов.
Округлить элементы массива Х(m) до ближайшего целого.
Из элементов массивов Х(m), У(k) образовать массив
Н((Х1,Х2,Х3,..., Хm, У1,У2,У3,...,Уk) из m+k элементов.
Найти номер второго нулевого элемента массива Х(m).
Найти номер предпоследнего нулевого элемента массива Х(m).
Переставить элементы массива Х(m) в обратном порядке, т.е. Хm,...,X2,Х1.
В массиве Х(m) найти число элементов между первым и вторым нулевыми элементами.
Сколько в массиве Т(m) элементов, меньших суммы всех элементов?
В массиве Т(m) нулевые элементы заменить суммой всех элементов.
Образуют ли арифметическую или геометрическую прогрессию элементы массива Х(m) ?
В массиве Т(m) заменить элементы с четными номерами суммой элементов с нечетными номерами.
Найти расстояние Р между массивами А(k) и В(k) по формуле:
Р2-(А1-В1)2 +(А2-В2)2+...+(Ак-Вк)2.
В массив Р записать сначала отрицательные элементы массива Х(k). затем положительные.
В массиве Х(k) найти сумму элементов и их количество до первой перемены знака.
Из элементов массива Х(k), попадающих в отрезок [A,B], составить массив М и вывести его.
На плоскости ХОУ даны k точек массивами координат Х(k), Y(k). Образовать массив номеров точек вне I четверти.
Образовать массив Н номеров нулевых элементов массива Х(k).
В одномерном массиве с четным количеством элементов (2*N) находятся координаты N точек плоскости. Они располагаются в следующем порядке: х1,у1,х2,у2,х3,у3 и т.д. Определить минимальный радиус окружности с центром в начале координат, которая содержит все точки, и номера наиболее удаленных друг от друга точек.
В двумерном массиве N x M содержатся М ординат N графиков функций в точках 1,2,3 ,..., М. Определить, пересекаются ли эти графики в одной точке, и если да, то найти ее номер. Считать, что графики могут пересечься только в указанных точках.
В одномерном массиве содержится график движения электропроезда от Перми до Кунгура в виде: