Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции / Основы алгоритмизации / lec_m2_ipovs_informatica_231000.62.doc.doc
Скачиваний:
64
Добавлен:
19.02.2017
Размер:
126.46 Кб
Скачать

Лекция 10. Алгоритмы обработки квадратных матриц.

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

Основные области, наиболее часто встречающиеся в задачах:

Для определения областей используются следующие соотношения (на примере матрицы A(5x5):

  1. Выше главной диагонали:

i = 1, 5, 1

j = i, 5, 1

  1. Ниже главной диагонали:

i = 1, 5, 1

j = 1, i, 1

  1. Выше побочной диагонали:

i = 1, 5, 1

j = 1, 6-i, 1

  1. Ниже побочной диагонали:

i = 1, 5, 1

j = 6-i, 5, 1

  1. Верхний треугольник:

i = 1, 3, 1

j = i, 6-i, 1

  1. Нижний треугольник:

i = 3, 5, 1

j = 6-i, i, 1

  1. Левый треугольник (по столбцам):

j = 1, 3, 1

i = j, 6-j, 1

  1. Правый треугольник (по столбцам):

j = 3, 5, 1

i = 6-j, j, 1

Соотношения границ изменения индексов нетрудно вывести путем перебора удовлетворяющих условию элементов матрицы по строкам либо по столбцам.

Лекция 11. Типовые задачи обработки квадратных матриц.

Среди типовых задач по обработке квадратных матриц можно назвать:

  • вычисление суммы, произведения, количества элементов в указанной области, удовлетворяющих условию;

  • нахождение максимального и минимального элемента в указанной области матрицы;

  • вычисление суммы (произведения, максимального, минимального и т.п.) в каждой строке или каждом столбце указанной области матрицы;

  • формирование одномерного массива из элементов указанной области матрицы.

Лекция 12. Чтение алгоритмов.

В задачах на чтение алгоритмов дана блок-схема алгоритма и некоторый набор входных данных (входной поток). Требуется:

  • сформулировать постановку задачи;

  • нарисовать все состояния ячеек ОЗУ;

  • определить значения выходных данных.

При решении задач такого типа необходимо руководствоваться следующей рекомендуемой последовательностью действий:

  • определить тип задачи (сумма, произведение, количество, max, min, ветвление и т.п.): что выводится (выходные данные), какие начальные значения, как вычисляются выходные данные;

  • выписать все переменные, задействованные в задаче; нарисовать ячейки ОЗУ;

  • определить состояния ячеек ОЗУ (ввод данных, каждый шаг каждого цикла вычислений, вывод данных);

  • записать значения выходных данных.

Рекомендуемая литература:

Основная литература:

  1. Информатика. Базовый курс / под ред. Симоновича С.В./ СПб: Издательство «Питер», 2001г.

  2. Лабораторный практикум по курсу «Информатика» / Кемарская Е.Б., Немцова Т.И., Голова С.Ю. / Издательство МИЭТ, 2003 г.

Дополнительная литература

  1. Румянцева Е.Л., Слюсарь В.В. Информационные технологии: учеб. пособие / Под ред. проф. Л.Г. Гагариной. – М.: ИД «ФОРУМ»: ИНФРА-М, 2007. – 256 с.: ил.

  2. Информатика. Учебник / под ред. Макаровой Н.В./ Издательство М. Финансы и статистика, 2000 г.

  3. Сборник задач /Колдаев В.Д., Кемарская Е.Б./ Издательство МИЭТ, 2006 г.

Соседние файлы в папке Основы алгоритмизации