Смекни!
smekni.com

Общие сведения о языке программирования Qbasic (стр. 4 из 5)

В заданной строке преобразовать все заглавные буквы латинского алфавита в строчные, а строчные в заглавные.

Из заданной строки получить новую, удалив все группы букв ²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, где Р=Х12+...+Хk)/k.

Даны m и массив Х ( m ). Найти произведение.

(2+Х21)*(2+Х22)*...*(2+Х2m).

4. Найти номер элемента массива Х(k), ближайшего к С, где

С=(Х12+...+Хk)/k

Даны С, m и массив Т(m). Найти число элементов массива Т, меньших С, а для элементов, больших С, найти их среднее арифметическое.

Для массива Т(m) найти число элементов, больших предыдущего элемента, а для тех, которые меньше, найти их среднее арифметическое.

Найти номер наименьшего положительного элемента массива Х(m).

Для массива Х(m) напечатать сумму, произведение и номера положительных элементов после последнего нулевого элемента.

Даны k и массив Т(k). Найти сумму и количество элементов в массиве Т после первого нулевого элемента.

Даны m и массив А (m). Напечатать сумму отрицательных элементов массива А после первого нулевого элемента.

Даны m, координаты ХАА пункта А и в массиве К из 2m чисел координаты Х1, У1, Х22,...,Хm,Ym пунктов В1, В2,...,Вm. Вывести номер и координаты пункта В наиболее удаленного от пункта А.

Найти общее количество нулевых элементов в массивах Х(m), У(k).

Образовать и вывести массив Т из неотрицательных элементов массива Х(m). Напечатать число элементов в массиве Т.

Вывести четные по значению среди положительных элементов массива Х(m), начиная с первого положительного элемента.

Удвоить наибольший элемент массива Х(m) и напечатать измененный массив.

Вывести ненулевые элементы массива Х(m) и их произведение.

Найти сумму и количество нечетных по значению элементов массива Х(m).

Образовать массив Т из ненулевых элементов массива Х(m). Затем вывести массив Т и количество элементов в нем.

В массиве Т(m) заменить нулевые элементы наибольшим элементом.

В массиве Х(m) найти сумму и количество элементов между первым и последним нулевым элементами.

Поменять местами наибольший и наименьший элементы массива Т(m).

В массиве Х(m) найти общее число элементов до первого и после последнего нулевых элементов.

Сколько элементов в массиве Х(m) после второго нулевого элемента.

Из элементов массивов Х(m) и У(m) образовать массив

Н(Х1122,..., Х(m), У(m) из 2m элементов.

Округлить элементы массива Х(m) до ближайшего целого.

Из элементов массивов Х(m), У(k) образовать массив

Н((Х123,..., Хm, У123,...,Уk) из m+k элементов.

Найти номер второго нулевого элемента массива Х(m).

Найти номер предпоследнего нулевого элемента массива Х(m).

Переставить элементы массива Х(m) в обратном порядке, т.е. Хm,...,X21.

В массиве Х(m) найти число элементов между первым и вторым нулевыми элементами.

Сколько в массиве Т(m) элементов, меньших суммы всех элементов?

В массиве Т(m) нулевые элементы заменить суммой всех элементов.

Образуют ли арифметическую или геометрическую прогрессию элементы массива Х(m) ?

В массиве Т(m) заменить элементы с четными номерами суммой элементов с нечетными номерами.

Найти расстояние Р между массивами А(k) и В(k) по формуле:

Р2-(А11)2 +(А22)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 ,..., М. Определить, пересекаются ли эти графики в одной точке, и если да, то найти ее номер. Считать, что графики могут пересечься только в указанных точках.

В одномерном массиве содержится график движения электропроезда от Перми до Кунгура в виде: