
- •Введение
- •Основные понятия
- •Тема 1. Линейные алгоритмы
- •Примеры построения линейных алгоритмов
- •Задания для самостоятельного выполнения
- •Тема 2. Разветвляющиеся алгоритмы
- •Примеры построения разветвляющихся алгоритмов
- •Задания для самостоятельного выполнения
- •Тема 3. Одномерные массивы
- •Примеры построения алгоритмов решения одномерных массивов
- •Задания для самостоятельного выполнения
- •Тема 4. Двумерные массивы
- •Примеры построения алгоритмов решения двумерных массивов
- •Задания для самостоятельного выполнения
- •Тема 5. Трехмерные массивы
- •Примеры построения алгоритмов решения трехмерных массивов
- •Задания для самостоятельного выполнения
- •Литература
Задания для самостоятельного выполнения
Найти количество элементов, находящихся в диапазоне между А и B.
Найти суммы элементов массива расположенных после первого положительного элемента.
Вычислить количество элементов массива равных 0.
Найти сумму элементов массива расположенного после минимального элемента.
Найти произведение элементов массива, расположенных после максимального по модулю элемента.
Найти мин и макс элементы массива и поменять их местами.
Определить среднеарифметическое всех значений элементов массива.
Найти номер минимального по модулю элемента массива.
Преобразуйте массив, переставив все нулевые элементы в конец массива.
Вычислить произведение всех положительных элементов массива.
Упорядочить по возрастанию элементы массива, стоящие на чётных местах.
Замените все отрицательные элементы массива их квадратами.
Вычислить сумму элементов, находящихся между первым и последним положительным элементов массива.
Преобразуйте массив так, чтобы чётные и нечетные элементы массива поменялись местами.
Преобразуйте массив так, чтобы элементы массива поменялись местами (первый с последний, второй с предпоследним и так далее).
Преобразуйте массив так, чтобы все положительные элементы стали отрицательными, и наоборот.
Тема 4. Двумерные массивы
Матрица - это двумерный массив, каждый элемент которого имеет два индекса: номер строки - i; номер столбца - j. Поэтому для работы с элементами матрицы необходимо использовать два цикла. Если значениями параметра первого цикла будут номера строк матрицы, то значениями параметра второго - столбцы (или наоборот). Обработка матрицы заключается в том, что вначале поочередно рассматриваются элементы первой строки (столбца), затем второй и т.д. до последней.
Некоторые свойства матриц:
если номер строки элемента совпадает с номером столбца (i = j), это означает что элемент лежит на главной диагонали матрицы;
если номер строки превышает номер столбца (i > j), то элемент находится ниже главной диагонали;
если номер столбца больше номера строки (i<j), то элемент находится выше главной диагонали;
элемент лежит на побочной диагонали, если его индексы удовлетворяют равенству i+j-1 = n;
неравенство i+j-1 < n характерно для элемента находящегося выше побочной диагонали;
соответственно, элементу лежащему ниже побочной диагонали соответствует выражение i+j-1 > n.
Примеры построения алгоритмов решения двумерных массивов
Найти в матрице размером n*m произведение всех ее элементов. При этом нули пропускать.
Для начала опишем переменные, которые необходимы для решения этой задачи: result – произведение всех элементов массива; mas[i][j] – массив элементов; i, j – индексы элементов массива, n, m – размерность массива, количество строк и столбцов.
Определим порядок действий решения задачи:
описание переменных: n, m, mas[i][j], i, j, result;
ввод размерности массива n, m;
переменной result присваивается значение 1, т.к. в этой переменной будет храниться произведение;
организуем цикл для ввода массива: переменные счетчики i и j устанавливаем в ноль. Перемещаемся по строкам справа налево, переходя от строки к строке, увеличивая счетчик на единицу. После заполнения всего массива переходим к следующему действию;
устанавливаем счетчики в ноль (на начало массива) и перебирая все элементы массива сравниваем их с нулем. Все значения элементов массива перемножаются, кроме тех у которых значение равно 0. Эти элементы массива пропускаем. Так доходим до конца массива и переходим к следующему действию;
выводим результат произведения всех элементов на экран.
Нарисуем блок-схему по этим действиям
В матрице размером n*n по главной диагонали поставить нули.
Для начала опишем переменные, которые необходимы для решения этой задачи: mas[i][j] – массив элементов; i, j – индексы элементов массива, n - размерность массива, количество строк и столбцов.
Определим порядок действий решения задачи:
описание переменных: n, mas[i][j], i, j;
ввод размерности массива n;
организуем цикл для ввода массива: переменные счетчики i и j устанавливаем в ноль. Перемещаемся по строкам справа налево, переходя от строки к строке, увеличивая счетчик на единицу. После заполнения всего массива переходим к следующему действию;
устанавливаем счетчики в ноль (на начало массива), и, перебирая все элементы массива, сравниваем, равны ли у них индексы (i=j). Если индексы элементов массива равны – это означает, что это элемент главной диагонали и присваиваем ему 0, одновременно выводя на экран этот элемент. Элементы, у которых индексы не совпадают, присваивается 1, выводим его на экран, увеличиваем счетчик на единицу. Так доходим до конца массива.
Цикл для вывода массива в данном случае не нужен. Вывод элементов массива происходил после сравнения индексов элементов.
Нарисуем блок-схему по этим действиям: