Составители:
Рубрика:
Пояснения к задаче 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
Страницы
- « первая
- ‹ предыдущая
- …
- 89
- 90
- 91
- 92
- 93
- …
- следующая ›
- последняя »