- •Часть первая
- •Предварительные сведения
- •Индекс элемента массива
- •1.1. Объявление массива
- •Dim имя1 (индекс1) [, имя2 (индекс2), ...]
- •[Нижний to] верхний [, нижний to] верхний ...
- •1.2. Ввод и вывод элементов массива
- •2.1. Определение суммы, произведения, количестваэлементов массива
- •1.3. Задачи для дополнительного решения
- •2. Примеры решения типовых задач с использованием одномерных массивов
- •2.2. Задачи для дополнительного решения
- •2.3. Определение максимального и минимального значения в массиве
- •2.4. Задачи для дополнительного решения
- •2.5. Определение первого вхождения определенного значения
- •1 Способ (с помощью оператора цикла for...Next)
- •2 Способ (с помощью оператора цикла while...Wend)
- •2.6. Задачи для дополнительного решения
- •2.7. Определение k-го вхождения определенного значения
- •1 Способ (с помощью оператора цикла for...Next)
- •2 Способ (с помощью оператора цикла while...Wend)
- •2.8. Задачи для дополнительного решения
- •Удаление элемента из массива
- •Задачи для дополнительного решения
- •Вставка элемента в заданную позицию
- •Задачи для дополнительного решения
- •3. Примеры решения типовых задач с использованием двумерных массивов
- •3.1. Определение суммы, произведения, количества в каждой строке или столбце
- •3.2. Задачи для дополнительного решения
- •3.3. Определение максимального и минимального значения в каждой строке или столбце матрицы
- •3.4. Задачи для дополнительного решения
- •3.5. Определение первого вхождения определенного значения в каждую строку и столбец матрицы
- •1 Способ (используя оператор цикла for...Next)
- •2 Способ (с помощью оператора цикла while...Wend)
- •3.6. Задачи для дополнительного решения
- •3.7. Главная и побочная диагональ матрицы
- •Задачи для дополнительного решения
- •Удаление строки или столбца из матрицы
- •Задачи для дополнительного решения
- •3.10.Включение строки или столбца в матрицу
- •3.11. Задачи для дополнительного решения
- •Часть вторая задания для организации самостоятельной работы студентов
- •Дан одномерный элемент. Удалить все отрицательные элементы из массива.
- •Задача 3 (стр.62)
- •Задача 4 (стр. 67)
- •2. Примеры решения типовых задач с использованием одномерных массивов . . . . . .
- •420008, Казань, Университетская, 17 – 319
Задачи для дополнительного решения
Дан массив чисел. Удалить все элементы между элементами по номерами m1 и m2.
В последовательности из 10 чисел удалить первый и второй нулевой элемент.
Задача 3*. Дан массив чисел. Удалить все элементы между первым четным и вторым четным элементом.
В массиве из n чисел удалить все отрицательные элементы.
В массиве из n чисел удалить все элементы, принадлежавшие интервалу [1,3].
Вставка элемента в заданную позицию
Алгоритм решения
Допустим, что необходимо включить число В в массив в К позицию. Для этого необходимо передвинуть все элементы, начиная с К позиции, вправо на одну позицию. Сдвиг должен производиться с конца, в противном случае все элементы с К+1 позиции будут замещены элементом А(К). Затем в К позицию записывается число В.
Программная реализация
FOR i = n TO K STEP –1
A(i+1) = A(i)
NEXT i
A(K) = B
n = n + 1
пример 13
Дан массив чисел. Вставить во вторую позицию число равное минимальному значению массива
Тест
Данные |
Результат |
|
n=5 |
A=(3, 5, -2, 4, 0) |
A=(5, -2, 3, -2, 4, 0) |
Исполнение алгоритма
Нахождение минимального значения |
|||||
i |
Проверка условия |
min |
|||
|
|
=А(1)=3 |
|||
2 |
А(2)<min (ложь) 5>3 |
Значение осталось прежним |
|||
3 |
А(3)<min (истина) -2<3 |
=А(3)=-2 |
|||
4 |
А(4)<min (ложь) 4>-2 |
Значение осталось прежним |
|||
5 |
А(5)<min (ложь) 0>-2 |
Значение осталось прежним |
|||
Вставка минимального элемента во вторую позицию |
|||||
i |
Сдвиг |
Вставка минимального элемента |
Массив |
n |
|
5 |
A(6)=A(5) |
|
A=(3, 5, -2, 4, 0, 0) |
|
|
4 |
A(5)=A(4) |
|
A=(3, 5, -2, 4, 4, 0) |
|
|
3 |
A(4)=A(3) |
|
A=(3, 5, -2, -2, 4, 0) |
|
|
2 |
A(3)=A(2) |
|
A=(3, 5, 5, -2, 4, 0) |
n=n+1= 5+1=6 |
|
|
|
А(2)=min=-2 |
A=(3, -2, 5, -2, 4, 0) |
|
|
Блок-схема алгоритма
Н
ачало
Ввод n
i=1,n
ввод Ai
min=A1
i<=n
Ai<min
min=Ai
i=n,2
Ai+1 = Ai
A2=min
n=n+1
i=1,n
Вывод Ai
Конец
Программа
CLS
INPUT "введи размер массива " ; n
DIM A(n + 1)
PRINT "введи массив"
FOR i = 1 TO n
'Ввод элементов массива
INPUT A(i)
NEXT i
'Задание начального значения минимума
MIN = A(1)
'Определение наименьшего значения массива
FOR i = 2 TO n
IF A(i) < MIN THEN MIN = A(i)
NEXT i
'Сдвиг всех элементов вправо на одну позицию, начиная со второго номера
FOR i = n TO 2 STEP –1
A(i+1) = A(i)
NEXT i
'Вставка значения минимального элемента во вторую позицию
A(2)= MIN
FOR i = 1 TO n+1
'Вывод элементов массива
INPUT A(i);
NEXT i
n = n + 1
END
пример 14
Дан массив чисел. Вставить два числа ноль в начало массива.
Программа
CLS
INPUT "введи размер массива " ; n
DIM A(n + 2)
PRINT "введи массив"
FOR i = 1 TO n
'Ввод элементов массива
INPUT A(i)
NEXT i
'Сдвиг всех элементов массива вправо на две позиции
FOR j = 1 TO 2
FOR i = n TO 1 STEP –1
A(i+1) = A(i)
NEXT i
'Вставка нуля в начало массива
A(1)= 0
n = n + 1
NEXT j
FOR i = 1 TO n
'Вывод элементов массива
INPUT A(i);
NEXT i
n = n + 1
END
