ВУЗ:
Составители:
Рубрика:
151
a:=b+c;
c:=b;
b:=a
end.
11.6. Классы задач по обработке массивов
Все задачи по обработке массивов можно разбить на перечисленные ниже
классы, причем, отнесение задачи к тому или иному классу определяет выбор
возможных методов решения задачи. Эти классы относятся как к одномерным, так
и к двумерным массивам. Здесь рассматривается применение вводимой
классификации для одномерных массивов. Двумерным массивам будет посвящена
отдельная глава.
Классы задач:
1) однотипная обработка всех или указанных элементов массива;
2) задачи, в результате решений которых изменяется структура (порядок
следования элементов) массива;
3) обработка нескольких массивов одновременно. Сюда же относятся задачи,
когда по-разному обрабатываются подмассивы одного и того же массива;
4) поисковые задачи для массивов.
11.6.1. Решение задач первого класса
Решение задач первого класса сводится к установлению того, как
обрабатывается каждый элемент массива или указанные элементы. Затем
выбирается подходящая схема перебора элементов, в которую вставляются
операторы обработки элементов массива.
Пример 11.7. Найти сумму (произведение) элементов одномерного массива.
Решение. Каждый элемент массива прибавляется к сумме s:=s+a[i] или
умножается на произведение предыдущих элементов массива p:=p*a[i]. Поскольку
требуется перебрать все элементы массива, можно выбрать схему перебора
элементов по одному, двигаясь с начала или с конца массива.
{сумма элементов массива} {произведение элементов массива}
s:=0; p:=1;
i:=1; i:=n;
while i<=n do while i>0 do
begin begin
s:=s+a[i]; p:=p*a[i];
i:=i+1 i:=i-1
end. end.
Пример 11.8. Подсчитать количество элементов массива, совпадающих по
величине с заданным.
Решение. В этой задаче исходными данными являются одномерный массив и
некоторое число, которое обозначим Х. Для ответа на вопрос задачи нужно
каждый элемент массива сравнить с заданным. Если они совпадут, то счетчик
совпавших элементов нужно увеличить на единицу. Поскольку нужно сравнить
каждый элемент, то нужно выбрать схему перебора по одному элементу.
В
151 a:=b+c; c:=b; b:=a end. 11.6. Классы задач по обработке массивов Все задачи по обработке массивов можно разбить на перечисленные ниже классы, причем, отнесение задачи к тому или иному классу определяет выбор возможных методов решения задачи. Эти классы относятся как к одномерным, так и к двумерным массивам. Здесь рассматривается применение вводимой классификации для одномерных массивов. Двумерным массивам будет посвящена отдельная глава. Классы задач: 1) однотипная обработка всех или указанных элементов массива; 2) задачи, в результате решений которых изменяется структура (порядок следования элементов) массива; 3) обработка нескольких массивов одновременно. Сюда же относятся задачи, когда по-разному обрабатываются подмассивы одного и того же массива; 4) поисковые задачи для массивов. 11.6.1. Решение задач первого класса Решение задач первого класса сводится к установлению того, как обрабатывается каждый элемент массива или указанные элементы. Затем выбирается подходящая схема перебора элементов, в которую вставляются операторы обработки элементов массива. Пример 11.7. Найти сумму (произведение) элементов одномерного массива. Решение. Каждый элемент массива прибавляется к сумме s:=s+a[i] или умножается на произведение предыдущих элементов массива p:=p*a[i]. Поскольку требуется перебрать все элементы массива, можно выбрать схему перебора элементов по одному, двигаясь с начала или с конца массива. {сумма элементов массива} {произведение элементов массива} s:=0; p:=1; i:=1; i:=n; while i<=n do while i>0 do begin begin s:=s+a[i]; p:=p*a[i]; i:=i+1 i:=i-1 end. end. Пример 11.8. Подсчитать количество элементов массива, совпадающих по величине с заданным. Решение. В этой задаче исходными данными являются одномерный массив и некоторое число, которое обозначим Х. Для ответа на вопрос задачи нужно каждый элемент массива сравнить с заданным. Если они совпадут, то счетчик совпавших элементов нужно увеличить на единицу. Поскольку нужно сравнить каждый элемент, то нужно выбрать схему перебора по одному элементу. В
Страницы
- « первая
- ‹ предыдущая
- …
- 147
- 148
- 149
- 150
- 151
- …
- следующая ›
- последняя »