- •Часть первая
- •Предварительные сведения
- •Индекс элемента массива
- •1.1. Объявление массива
- •Dim имя1 (индекс1) [, имя2 (индекс2), ...]
- •[Нижний to] верхний [, нижний to] верхний ...
- •1.2. Ввод и вывод элементов массива
- •1.3. Задачи для дополнительного решения
- •2. Примеры решения типовых задач с использованием одномерных массивов
- •2.1. Определение суммы, произведения, количестваэлементов массива
- •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
2.5. Определение первого вхождения определенного значения
Алгоритм решения
Нахождение первого вхождения определенного значения производится в цикле, проверяя каждый раз заданное условие поиска для текущего значения Ai. Если текущее значение удовлетворяет условию, то запоминается номер (индекс) найденного элемента и процесс поиска прекращается.
пример 7
Дан массив чисел. Найти первый положительный элемент массива.
Тест
Данные |
Результат |
|
n=5 |
A=(-3, 5, -2, 4, 0) |
A(2) = 5 |
Исполнение алгоритма
i |
Проверка условия |
Первый положительный элемент |
L (номер первого положительного) |
1 |
A(1)>0 (ложь) -3>0 |
|
|
2 |
A(2)>0 (истина) 5>0 |
А(2)=5 |
2 |
Блок-схема алгоритма
Начало
Ввод n
i=1,n
Ввод Ai
i=1
Ai<=0 ; i<=n
i=i+1
i
Конец
программа
1 Способ (с помощью оператора цикла for...Next)
CLS
INPUT "введи размер массива " ; n
DIM A(n)
PRINT "введи массив"
'Цикл по элементам массива
FOR i = 1 TO n
'Ввод элементов массива0
INPUT A(i)
NEXT i
FOR i = 1 TO n
'Поиск первого положительного элемента
IF A(i) > 0 THEN L = i : EXIT FOR
NEXT i
IF L = 0 THEN
PRINT "положительных элементов нет "
ELSE
PRINT "номер первого положительного элемента =" ; L
PRINT "его значение =" ; A(L)
END IF
ЕND
2 Способ (с помощью оператора цикла while...Wend)
CLS
INPUT "введи размер массива " ; n
DIM A(n)
PRINT "введи массив"
'Цикл по элементам массива
FOR i = 1 TO n
'Ввод элементов массива
INPUT A(i)
NEXT i
'Присваивание начального значения счетчика цикла
i=1
'Поиск первого положительного элемента
WHILE A(i)<=0 OR i < = n
i = i + 1
WEND
IF I = n + 1 THEN
PRINT "положительных элементов нет "
ELSE
PRINT "номер первого положительного элемента =" ; i
PRINT "его значение =" ; A(i)
END IF
END
пример 8
Дан массив чисел. Найти номер нулевого элемента после первого четного числа в массиве.
программа
CLS
INPUT "введи размер массива " ; n
DIM A(n)
PRINT "введи массив"
FOR i = 1 TO n
INPUT A(i)
NEXT i
'Поиск позиции первого четного элемента
FOR i = 1 TO n
IF A(i) MOD 2 = 0 THEN L = i : EXIT FOR
NEXT i
'Поиск номера первого нулевого элемента после первого четного элемента
FOR i = L+1 TO n
IF A(i) = 0 THEN C = i
NEXT i
IF C<>0 THEN
PRINT "номер нулевого элемента =" ; C
ELSE
PRINT "нулевых элементов после первого четного нет"
END IF
END
2.6. Задачи для дополнительного решения
Известно, что в массиве имеются элементы, равные 5. Определить номер первого из них.
Известно, что в массиве имеются нулевые элементы. Напечатать все элементы, кроме первого из них.
Задача 3*. Дан массив Х1,Х2,...Хn, где n<=40. Вычислить: Y = X1 + X1*X2+ X1*X2*X3 + ... + X1*X2*...Xm, где m - либо номер первого отрицательного элемента массива Х, либо число n, если в массиве нет отрицательных элементов.
Дан массив чисел А, состоящий из 15 элементов. Найти максимальное значение – max и минимальное – min. Определить первый отрицательный элемент до min и после min.
Задана последовательность А, состоящий из 12 элементов. Записать +1 вместо максимального элемента и -1 вместо минимального до первого нулевого элемента.
Дан массив вещественных чисел. Выяснить верно, ли, что максимальный элемент превышает минимальный не более чем на 25 до первого нулевого элемента?
Дан одномерный массив А, состоящий из 15 элементов. Подсчитать сумму четных элементов до первого отрицательного элемента.
Все элементы с четными номерами в одномерном массиве удвоить, а остальные - уменьшить на 1 после первого нулевого элемента.
Дан массив чисел А. Ко всем отрицательным элементам прибавить элемент с номером n1, из всех нулевых вычесть число В до первого четного элемента. Положительные элементы оставить без изменения.
Задача 10*. Дан массив А. Подсчитать количество положительных элементов до первого четного элемента и определить максимальный элемент после первого четного.
Дан массив чисел А. Определить новый массив В того же размера:
если Ai > 0, то Вi = Ai * k,
иначе Вi = Ai / k,
где k - номер первого ненулевого элемента
Дан массив А. Создать новый массив В:
Bi = max, если Ai - четный;
Вi = min, если Ai - кратный 3
Вi = K в противном случае,
где max- максимальный элемент, min - минимальный элемент, K -номер первого нулевого элемента.
Дан одномерный массив. Подсчитать количество и сумму тех чисел, которые принадлежат интервалу [A,B] до первого нулевого элемента.
Задача 14*. Дан одномерный массив А. Создать новый массив В по правилу:
Bi = K1 * Ai , если Ai - четное
Bi = K2 * Ai, если Ai - нечетное,
где К1 - номер первого положительного элемента, К2 - номер первого отрицательного элемента.
Дан одномерный массив. Ко всем отрицательным элементам до первого нулевого элемента прибавить элемент с номером m1 , к остальным - элемент с номером m2.
