Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Квадратные матрицы




END.

BEGIN

VAR

VAR

С использованием двумерных массивов данных (матриц)

Программирование алгоритмов

Лекция 1

ОСНОВНОЙ ТЕКСТ

Понятия для повторения

Новые понятия

МОДУЛЬ № 3

«Работа с двумерными массивами

(матрицами)»

В результате изучения модуля студент должен:

§ знать типовые структуры алгоритмов для решения задач, содержащих двумерные массивы данных;

§ уметь составлять схемы алгоритмов и программы на языке Turbo-Pascal для решения практических задач с использованием матриц;

§ анализировать возможность применения определенной типовой структуры алгоритма к решению конкретной научно-ориентированной задачи.

НАУЧНО-ТЕОРЕТИЧЕСКОЕ СОДЕРЖАНИЕ МОДУЛЯ

СЛОВАРЬ ОСНОВНЫХ ПОНЯТИЙ

Новое понятие Определение
Двумерный массив (матрица) Представляет собой таблицу, заполненную элементами с двумя индексами. Первый индекс указывает номер строки, второй индекс – номер столбца, на пересечении которых находится элемент
Вложенные циклы Циклы, которые имеют внешний и внутренний циклы
Квадратная матрица Матрица называется квадратной, если количество строк соответствует количеству столбцов
Понятие для повторения Определение
Массив данных Совокупность однотипных данных, имеющих общее имя и разные порядковые номера
Индекс (порядковый номер) Указывает место (положение) элемента в массиве
Сложные циклы Циклы, в теле которых имеются разветвления и другие встроенные в них циклы

 

План лекции:

1. Составление алгоритмов с использованием двумерных массивов данных (матриц) и вложенных циклов.

2. Программирование алгоритмов с использованием двумерных массивов данных (матриц).

3. Квадратные матрицы.

 

В двумерном массиве (матрице) положение каждого элемента определяется двумя индексами, разделенными запятой, например: A[i,j], B[3,7], C[k,l].

Первый из индексов всегда обозначает номер строки, а второй - номер столбца матрицы, на пересечении которых находится данный элемент.

Все элементы матриц, встречающихся в программе, должны быть объявлены в разделе VAR, например:

I, J: INTEGER;

A: ARRAY [1..10, 1..15] OF INTEGER;

X: ARRAY [1..8, 1..3] OF REAL;.

Ввод и вывод элементов матриц отличается более сложной структурой, так как требует последовательного изменения двух переменных циклов: номера строки и номера столбца. Для организации ввода-вывода матриц используют два вложенных друг в друга цикла FOR, какой из них будет внешним, а какой внутренним (вложенным) – зависит от условия решаемой задачи.

Пусть задана матрица а(3,4), где а[i,j] – элементы матрицы, стоящие на пересечении строки с номером i и столбца с номером j.

а1,1 а1,2 а1,3 а1,4

а2,1 а2,2 а2,3 а2,4

а3,1 а3,2 а3,3 а3,4

Ввод элементов матрицы по строкам:

Рисунок 1 – Ввод элементов матрицы по строкам PROGRAM VVOD; VAR I,J: INTEGER; A: ARRAY [1..3,1..4]OF NTEGER; BEGIN FOR I:= 1 TO 3 DO FOR J:= 1 TO 4 DO READLN (A[I,J]);  

 

Такие циклы называются вложенными. Причем в данном случае цикл по переменной i – называется внешним, цикл по j – внутренним. Пока переменная i изменяется на 1 шаг, переменная j проходит все значения от начального до конечного.

Ввод элементов матрицы по столбцам:

 

  Рисунок 2 – Ввод элементов матрицы по столбцам   PROGRAM VVOD; VAR I,J: INTEGER; A: ARRAY [1..3,1..4] OF NTEGER; BEGIN FOR J:= 1 TO 4 DO FOR I:= 1 TO 3 DO READLN(A[I,J]);  

 

В этом случае внешним является цикл по переменной j, а внутренним – по переменной i.

Пример 1 Задана матрица из семи строк и пяти столбцов. Найти среднее арифметическое отрицательных элементов матрицы a(7,5):

 

 

Рисунок 3 – Схема алгоритма к решению примера 1

 

Программа на языке Turbo-Pascal к примеру 1.

PROGRAM PRIM1;

I,J,K: INTEGER;

SR,S: REAL;

A: ARRAY [1..7,1..5] OF REAL;

FOR J:= 1 TO 7 DO

FOR I:= 1 TO 5 DO READLN(A[I,J]);

K:=0;

S:=0;

FOR I:= 1 TO 7 DO

FOR J:= 1 TO 5 DO IF A[I,J]<0 THEN BEGIN

S:= S+A[I,J];

K:= K+1;

END;

SR: = S/K;

WRITELN (‘среднее арифметическое’, SR:10:3);

Матрица называется квадратной, если количество строк соответствует количеству столбцов. Элементы, стоящие на главной диагонали матрицы, имеют одинаковые номера строки и столбца.

Пример 2 Задана квадратная матрица a (5,5). Найти сумму элементов матрицы, стоящих на главной диагонали.

а1,1 а1,2 а1,3 а1,4 а1,5

а2,1 а2,2 а2,3 а2,4 а2,5

а3,1 а3,2 а3,3 а3,4 а3,5

а4,1 а4,2 а4,3 а4,4 а4,5

а5,1 а5,2 а5,3 а5,4 а5,5.

 

Рисунок 4 – Схема алгоритма к решению примера 2

 

Программа на языке Turbo-Pascal к примеру 2.

PROGRAM PRIM2;




Поделиться с друзьями:


Дата добавления: 2014-11-08; Просмотров: 536; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.014 сек.