Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пособие по ИП_(алгоритмы).doc
Скачиваний:
7
Добавлен:
11.11.2018
Размер:
2.02 Mб
Скачать

Задания для самостоятельного выполнения

  1. Найти количество элементов, находящихся в диапазоне между А и B.

  2. Найти сумму элементов массива расположенных после первого его положительного элемента.

  3. Вычислить количество элементов массива равных 0.

  4. Найти сумму элементов массива расположенного после его минимального элемента.

  5. Найти произведение элементов массива, расположенных после максимального по модулю элемента.

  6. Найти мин и макс элементы массива и поменять их местами.

  7. Определить среднеарифметическое всех значений элементов массива.

  8. Найти номер минимального по модулю элемента массива.

  9. Преобразуйте массив, переставив все нулевые элементы в конец массива.

  10. Вычислить произведение всех положительных элементов массива.

  11. Замените все отрицательные элементы массива их квадратами.

  12. Вычислить сумму элементов, находящихся между первым и последним положительным элементов массива.

  13. Преобразуйте массив так, чтобы чётные и нечетные по значению индекса элементы массива поменялись местами.

  14. Преобразуйте массив так, чтобы элементы массива поменялись местами (первый с последний, второй с предпоследним и так далее).

  15. Преобразуйте массив так, чтобы все положительные элементы стали отрицательными, и наоборот.

Количество элементов массива NUMBER для всех задач вводятся в начале алгоритма

Тема 4. Циклические алгоритмы. Двумерные массивы

Матрица - это двумерный массив, каждый элемент которого имеет два индекса: номер строки - i; номер столбца - j. Поэтому для работы с элементами матрицы необходимо использовать два цикла. Если значениями параметра первого цикла будут номера строк матрицы, то значениями параметра второго - столбцы (или наоборот). Обработка матрицы заключается в том, что вначале поочередно рассматриваются элементы первой строки (столбца), затем второй и т.д. до последней.

Некоторые свойства матриц размерностью n*n:

  • если номер строки элемента совпадает с номером столбца (i = j), это означает что элемент лежит на главной диагонали матрицы;

  • если номер строки превышает номер столбца (i > j), то элемент находится ниже главной диагонали;

  • если номер столбца больше номера строки (i<j), то элемент находится выше главной диагонали;

  • элемент лежит на побочной диагонали, если его индексы удовлетворяют равенству i+j-1 = n;

  • неравенство i+j-1 < n характерно для элемента находящегося выше побочной диагонали;

  • соответственно, элементу лежащему ниже побочной диагонали соответствует выражение i+j-1 > n.

Двухмерный массив записывается А [i] [j], где i -имя массива, j - индекс столбца Двумерный массив записывается A[i][j], где А – имя массива, I – индекс строки, j – индекс столбца.

Примеры построения алгоритмов на двумерных массивах

  1. Найти в матрице размером n*m произведение всех ее элементов. При этом нули пропускать.

Для начала опишем переменные, которые необходимы для решения этой задачи: result – произведение всех элементов массива; mas[i][j] – массив элементов; i, j – индексы элементов массива, n, m – размерность массива, количество строк и столбцов.

Определим порядок действий решения задачи:

    1. описание переменных: n, m, mas[i][j], i, j, result;

    2. ввод размерности массива n, m;

    3. переменной result присваивается значение 1, т.к. в этой переменной будет храниться произведение;

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

    5. устанавливаем счетчики в ноль (на начало массива) и перебирая все элементы массива сравниваем их с нулем. Все значения элементов массива перемножаются, кроме тех у которых значение равно 0. Эти элементы массива пропускаем. Так доходим до конца массива и переходим к следующему действию;

    6. выводим результат произведения всех элементов.

Блок – схема алгоритма имеет вид

  1. В матрице размером n*n по главной диагонали поставить нули.

Для начала опишем переменные, которые необходимы для решения этой задачи: mas[i][j] – массив элементов; i, j – индексы элементов массива, n - размерность массива, количество строк и столбцов.

Определим порядок действий решения задачи:

  1. описание переменных: n, mas[i][j], i, j;

  2. ввод размерности массива n;

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

  4. устанавливаем счетчики в ноль (на начало массива), и, перебирая все элементы массива, сравниваем, равны ли у них индексы (i=j). Если индексы элементов массива равны – это означает, что это элемент главной диагонали и присваиваем ему 0, одновременно выводя на экран этот элемент. Элементы, у которых индексы не совпадают, выводятся на экран, увеличиваем счетчик на единицу. Так доходим до конца массива.

Блок-схема алгоритма имеет вид.