- •Введение
- •Основные понятия
- •Тема 1. Линейные алгоритмы Примеры построения линейных алгоритмов
- •Конец начало Задания для самостоятельного выполнения
- •Тема 2. Разветвляющиеся алгоритмы Примеры построения разветвляющихся алгоритмов
- •Задания для самостоятельного выполнения
- •Тема 3. Циклические алгоритмы. Одномерные массивы
- •Примеры построения алгоритмов на одномерных массивах
- •Задания для самостоятельного выполнения
- •Тема 4. Циклические алгоритмы. Двумерные массивы
- •Примеры построения алгоритмов на двумерных массивах
- •Задания для самостоятельного выполнения
- •Тема 5. Циклические алгоритмы. Трехмерные массивы
- •Примеры построения алгоритмов на трехмерных массивах
- •Задания для самостоятельного выполнения
- •Литература
- •Приложение 1. Символы (гост 19.701-90)
Задания для самостоятельного выполнения
-
Найти количество элементов, находящихся в диапазоне между А и B.
-
Найти сумму элементов массива расположенных после первого его положительного элемента.
-
Вычислить количество элементов массива равных 0.
-
Найти сумму элементов массива расположенного после его минимального элемента.
-
Найти произведение элементов массива, расположенных после максимального по модулю элемента.
-
Найти мин и макс элементы массива и поменять их местами.
-
Определить среднеарифметическое всех значений элементов массива.
-
Найти номер минимального по модулю элемента массива.
-
Преобразуйте массив, переставив все нулевые элементы в конец массива.
-
Вычислить произведение всех положительных элементов массива.
-
Замените все отрицательные элементы массива их квадратами.
-
Вычислить сумму элементов, находящихся между первым и последним положительным элементов массива.
-
Преобразуйте массив так, чтобы чётные и нечетные по значению индекса элементы массива поменялись местами.
-
Преобразуйте массив так, чтобы элементы массива поменялись местами (первый с последний, второй с предпоследним и так далее).
-
Преобразуйте массив так, чтобы все положительные элементы стали отрицательными, и наоборот.
Количество элементов массива 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 – индекс столбца.
Примеры построения алгоритмов на двумерных массивах
-
Найти в матрице размером 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, одновременно выводя на экран этот элемент. Элементы, у которых индексы не совпадают, выводятся на экран, увеличиваем счетчик на единицу. Так доходим до конца массива.
Блок-схема алгоритма имеет вид.