Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛЕКЦИЯ 1-9.doc
Скачиваний:
2
Добавлен:
21.11.2019
Размер:
1.13 Mб
Скачать

Лекция № 8 поиск минимального(максимального) элемента массива. Ранжировка одномерного массива

Задан одномерный массив Хi. Составить алгоритм и написать программу поиска минимального элемента массива

Задан массив Х[i]. Требуется разработать алгоритм и составить программу для ранжировки элементов массива в порядке возрастания.

Ранжировка одномерного массива можно выполнить двумя методми

переборки и пузырьковым.

Лекция № 9 цикл с переадресацией

При вычислении задач, где в качестве исходных данных используются преимущественно массивы данных, применяется цикл с переадресацией.

Массив – это упорядоченная последовательность любых данных, названных одним именем.

Рассмотрим прежнюю задачу, несколько изменив ее условие. Пусть теперь требуется вычислить функцию y=f(x) для n значений аргумента.

Такое изменение условия весьма существенно отражается на способе организации вычислений. Значения аргумента х теперь не образуют никакой закономерности. Нет рекуррентной формулы, позволяющей вычислять очередное значение х, зная предшествующее. Следовательно, алгоритм простого цикла не дает решения этой задачи.

В таких случаях эффективным оказывается следующий прием. Всю совокупность значений аргумента обозначают одной буквой Х и называют массивом Х Каждое отдельное i-тое значение аргумента называют элементом массива и обозначают той же буквой, но с индексом i, который принято записывать в скобках – Х(i). Индекс указывает на порядковый номер элемента в общей совокупности-массиве. В нашем примере массив Х состоит из n элементов.

В зависимости от количества переменных цикла используемых для индексации данных массивы бывают одномерными, двумерными, трехмерными и т.д. Например, Х(i)-одномерный массив, где индекс I меняется от 1 до n.

Для построения циклического алгоритма в качестве переменной цикла используют индекс, значения которого образуют арифметическую прогрессию с разностью 1. Таким образом, каждый следующий индекс можно вычислять из предыдущего по рекуррентной формуле i=i+1.

При реализации этого алгоритма на ЭВМ элементы массива Х записываются в ячейки памяти подряд. Поэтому индекс элемента однозначно связан с адресом ячейки памяти и всякое изменение индекса вызывает изменение адреса, т.е. происходит переадресация. Циклы, содержащие блоки переадресации, называют циклами с переадресацией.

При алгоритмизации подобных вычислительных процессов блок переадресации обозначается:

Теперь можно построить циклический алгоритм совершенно аналогичный простому циклу.

Рассмотрим пример разработки алгоритма и составления программы вычисления табличного значения функции при помощи операторов цикла и построим график зависимости у=f(Хi).

Задан одномерный массив Хi, из n элементов возвести элементы массива в квадрат.

Цикл с переадресацией

В массив можно сводить не только исходные числа, но и результаты вычислений. В нашем случае все значения функции y по очереди записываются в одну и ту же ячейку памяти, соответствующую переменной y. Эти значения можно свести в массив y и они займут разные ячейки памяти. Тогда в блоке 3 следует записать формулу yi=f(xi), а в блоке печати записать элементы xi, yi.

Двумерный массив – массив, в котором имеется две переменные цикла, при этом один параметр цикла показывает строки i, а другой столбцы j:

xij; i=1, n; j=1, m

Например, n=m=4:

Ниже приведены основные признаки двумерного массива (квадратной матрицы).

  1. Элементы главной диагонали: i=j;

  2. Элементы побочной диагонали: i+j=n+1;

  3. Элементы, расположенные выше побочной диагонали: i+jn;

  4. Элементы, расположенные ниже побочной диагонали: i+j≥n+2;

  5. Элементы, расположенные выше главной диагонали ij;

  6. Элементы, расположенные ниже главной диагонали ij.

При решении задач с подобными условиями, достаточно в логическом блоке указать приведенные признаки двумерного массива.

Задачи с двумерными массивами практически ничем не отличаются от задач с одномерными массивами. За исключением того, что при двумерном массиве появляется новая переменная цикла.

САМОСТОЯТЕЛЬНАЯ РАБОТА

ЗАДАЧА. Задан двумерный массив xij; i=1, n; j=1, m

Возвести в квадрат все элементы главной диагонали и вывести на печать.