
- •Часть первая
- •Предварительные сведения
- •Индекс элемента массива
- •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
1.3. Задачи для дополнительного решения
Дан массив. Напечатать все неотрицательные элементы.
Дан массив целых чисел. Напечатать все четные элементы.
Дан массив чисел. Напечатать второй, четвертый, и т.д. элементы.
Задача 4*. Дан массив. Вывести на экран сначала неотрицательные элементы массива, потом отрицательные.
Дан массив целых чисел. Вывести на экран сначала четные элементы массива, потом нечетные.
Дан двумерный массив. Вывести на экран элементы следующим образом сначала элементы первой строки справа налево, затем второй строки слева направо и т.п.
Задача 7*. Дан двумерный массив. Вывести на экран часть массива расположенную выше главной диагонали (определение главной и побочной диагонали смотри в главе 3.7).
Дан двумерный массив размером. Вывести на экран часть массива расположенную ниже главной диагонали.
Дан двумерный массив размером. Вывести на экран часть массива расположенную выше побочной диагонали.
Дан двумерный массив размером. Вывести на экран часть массива расположенную ниже побочной диагонали.
2. Примеры решения типовых задач с использованием одномерных массивов
2.1. Определение суммы, произведения, количестваэлементов массива
Алгоритм решения
Допускается что начальное значение суммы или количества равно нулю (для произведения за начальное значение принимается 1). Затем циклически производится сложение (перемножение) элементов массива.
Программная реализация
для подсчета суммы |
для подсчета произведения |
S = 0 FOR i = 1 TO n S = S + A(i) NEXT i |
P = 1 FOR i = 1 TO n P = P * A(i) NEXT i |
п
ример
3
Дан массив чисел. Найти сумму положительных элементов.
Тест
Данные |
Результат |
|
N=5 |
A=(3, 5, -2, 4, 0) |
S=12 |
Исполнение алгоритма
i |
Проверка условия |
S |
|
|
0 |
1 |
A(1)>0 (истина) 3>0 |
0+A(1)=0+3=3 |
2 |
A(2)>0 (истина) 5>0 |
A(1)+А(2)=3+5=8 |
3 |
А(3)>0 (ложь) -2<0 |
сумма остается прежней |
4 |
A(4)>0 (истина) 4>0 |
A(1)+А(2)+А(4)=3+5+4=12 |
5 |
А(3)>0 (ложь) 0=0 |
сумма остается прежней |
Блок-схема алгоритма
Начало
Ввод n
i=1,n
Ввод Ai
S=0
i=1,n
+ Ai > 0 -
S = S+Ai
S
Конец
программа
CLS
INPUT "введи размер массива " ; n
DIM A%(n)
PRINT "введи массив"
'Цикл по элементам массива
FOR i = 1 TO n
'Ввод элементов массива
INPUT A(i)
NEXT i
'Присваивание начального значения суммы
S = 0
FOR i = 1 TO n
'Суммирование положительных элементов массива
IF A(i) > 0 THEN S = S + A(i)
NEXT i
PRINT "Сумма положительных элементов ="; S
END
пример 4
Дан массив целых чисел. Найти количество четных и нечетных значений.
программа
CLS
INPUT "введи размер массива " ; n
DIM A%(n)
PRINT "введи массив"
FOR i = 1 TO n
'Ввод элементов массива
INPUT A(i)
NEXT i
'Задание начального значения счетчиков количества четных и нечетных элементов.
K1 = 0
K2 = 0
FOR i = 1 TO n
'Проверка элементов массива на четность
IF A(i) MOD 2 = 0 THEN K1 = K1 + 1 ELSE K2 = K2 + 1
NEXT i
PRINT "количество четных элементов ="; K1
PRINT "количество нечетных элементов ="; K2
END