Конспект лекций по программированию для начинающих. Гладков В.П. - 149 стр.

UptoLike

Составители: 

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. Подсчитать количество элементов массива, совпадающих по
величине с заданным.
   Решение. В этой задаче исходными данными являются одномерный массив и
некоторое число, которое обозначим Х. Для ответа на вопрос задачи нужно
каждый элемент массива сравнить с заданным. Если они совпадут, то счетчик
совпавших элементов нужно увеличить на единицу. Поскольку нужно сравнить
каждый элемент, то нужно выбрать схему перебора по одному элементу. В