Практикум по программированию на языке Turbo Pascal. Часть 1. Портнягина В.В - 91 стр.

UptoLike

Пояснения к задаче 3
Массив А содержит n элементов типа Integer. Размерность массива зада-
на равной 9 в операторе Const перед описанием массива.
Изменение значений элементов массива происходит с помощью операто-
ра присваивания в цикле с изменением счетчика i последовательно от 1 до 9.
На каждом шаге цикла элементу массива с номером i присваивается значение
i * i, т. е. квадрат его индекса.
Вывод результата происходит с помощью второго цикла for. На каждом
шаге цикла производится вывод значения элемента массива с индексом i.
Результатом работы программы будет столбик чисел, представляющих
собой квадраты чисел от 1 до 10, т. е.: 1, 4, 9, 16, ..., 81 с соответствующими
пояснениями, какой именно элемент массива выводится.
2.3. Стандартные операции с массивами
Массивы предусмотрены в подавляющем большинстве языков програм-
мирования и используются в широком круге задач. При этом все-таки имеют-
ся некоторые стандартные операции с массивами, которые часто применяются
вне зависимости от функциональной направленности решаемой задачи. Это
операции поиска в массиве или его части минимального и (или) максимально-
го значения, а также упорядочение массива или его частивыстраивание эле-
ментов некоторым образом, обычно просто по возрастанию или убыванию.
Имеется большое разнообразие задач на одномерные массивы. Как и все
задачи вообще, условно их можно разделить на три вида:
1)
задачи, решаемые в «одно соображение»;
2)
стандартные задачи;
3)
задачи, решения которых требуют знания вспомогательных алгорит-
мов, специальных методов и приемов.
Очевидно, что без умения решать задачи первых двух видов невозможно ре-
шать нестандартные задачи. Рассмотрим несколько примеров задач первого вида.
1.
В массиве а каждый элемент равен 0 или 1. Заменить все нули едини-
цами и наоборот.
Решение: достаточно одного оператора присваивания a[i] : = l – a[i] в те-
ле цикла.
2.
В массиве каждый элемент равен 0, 1 или 2. Переставить элементы
массива так, чтобы сначала располагались все 0, затем все 1 и, наконец, все 2.
Дополнительного массива не заводить.
Решение: можно не переставлять элементы массива, а подсчитать коли-
чества 0, 1, 2 и заполнить массив заново требуемым образом.
3.
Даны два n-элементных массива х и у одного типа. Обменять места-
ми все х
i
и у
i
(i = 1, ..., n), не используя промежуточные величины.
Решение: обмен можно выполнить в цикле для всех i от 1 до n с помощью
серии из трех операторов присваивания: x[i] : = x[i] + y[i]; y[i] : = x[i] – y[i];
x[i] : = x[i] – y[i].
Перечислим стандартные (типовые) задачи на одномерные массивы:
1) нахождение наибольшего (наименьшего) элемента;
91
       Пояснения к задаче 3
       Массив А содержит n элементов типа Integer. Размерность массива зада-
на равной 9 в операторе Const перед описанием массива.
       Изменение значений элементов массива происходит с помощью операто-
ра присваивания в цикле с изменением счетчика i последовательно от 1 до 9.
На каждом шаге цикла элементу массива с номером i присваивается значение
i * i, т. е. квадрат его индекса.
       Вывод результата происходит с помощью второго цикла for. На каждом
шаге цикла производится вывод значения элемента массива с индексом i.
       Результатом работы программы будет столбик чисел, представляющих
собой квадраты чисел от 1 до 10, т. е.: 1, 4, 9, 16, ..., 81 с соответствующими
пояснениями, какой именно элемент массива выводится.

      2.3. Стандартные операции с массивами
      Массивы предусмотрены в подавляющем большинстве языков програм-
мирования и используются в широком круге задач. При этом все-таки имеют-
ся некоторые стандартные операции с массивами, которые часто применяются
вне зависимости от функциональной направленности решаемой задачи. Это
операции поиска в массиве или его части минимального и (или) максимально-
го значения, а также упорядочение массива или его части – выстраивание эле-
ментов некоторым образом, обычно просто по возрастанию или убыванию.
      Имеется большое разнообразие задач на одномерные массивы. Как и все
задачи вообще, условно их можно разделить на три вида:
      1) задачи, решаемые в «одно соображение»;
      2) стандартные задачи;
      3) задачи, решения которых требуют знания вспомогательных алгорит-
мов, специальных методов и приемов.
      Очевидно, что без умения решать задачи первых двух видов невозможно ре-
шать нестандартные задачи. Рассмотрим несколько примеров задач первого вида.
      1. В массиве а каждый элемент равен 0 или 1. Заменить все нули едини-
цами и наоборот.
      Решение: достаточно одного оператора присваивания a[i] : = l – a[i] в те-
ле цикла.
      2. В массиве каждый элемент равен 0, 1 или 2. Переставить элементы
массива так, чтобы сначала располагались все 0, затем все 1 и, наконец, все 2.
Дополнительного массива не заводить.
      Решение: можно не переставлять элементы массива, а подсчитать коли-
чества 0, 1, 2 и заполнить массив заново требуемым образом.
      3. Даны два n-элементных массива х и у одного типа. Обменять места-
ми все хi и уi (i = 1, ..., n), не используя промежуточные величины.
      Решение: обмен можно выполнить в цикле для всех i от 1 до n с помощью
серии из трех операторов присваивания: x[i] : = x[i] + y[i]; y[i] : = x[i] – y[i];
x[i] : = x[i] – y[i].
      Перечислим стандартные (типовые) задачи на одномерные массивы:
      1) нахождение наибольшего (наименьшего) элемента;
                                       91