- •Введение Литература
- •Сокращения
- •Тема № 1. Основные понятия программирования
- •1.1. Состав программы на языкеPascal
- •1.2. Элементы программы в языкеPascal
- •1.3. Типы данных в языкеPascal
- •1.4. Операции в языкеPascal
- •1.5. Выражения в языкеPascal
- •1.7. Операторы языка Pascal
- •1.6. Стандартные функции в языкеPascal
- •Тема № 2. Программирование базовых алгоритмов
- •2.1. Программирование последовательных вычислений
- •2.2. Программирование разветвлений
- •2.3. Программирование циклов
- •Тема № 3. Программирование задач с массивами
- •3.1. Одномерные массивы
- •Фрагменты вычисления характеристик одномерного массива
- •Фрагменты операций с одномерными массивами
- •Особенности элементов одномерного массива
- •3.2. Двумерные массивы
- •Фрагменты вычисления характеристик двумерного массива
- •Фрагменты вычисления характеристик строк и столбцов двумерного массива
- •Фрагменты операций с двумерными массивами
- •Особенности элементов квадратных матриц
- •3.3. Перестановка и сортировка элементов массива
- •Тема № 4. Программирование подпрограмм и структурных типов данных
- •4.1. Подпрограммы
- •4.2. Программирование задач с функциями
- •4.3. Программирование задач с процедурами
- •4.4. Программирование задач с файлами
- •4.5. Программирование задач с символами и строками
- •4.6. Программирование задач с записями
- •4.7. Программирование задач со множествами
- •Тема № 5. Моделирование
- •5.1. Моделирование как метод познания
- •5.2. Классификация моделей
- •5.3. Задачи и методы моделирования
- •5.4. Виды численных методов
- •Тема № 6. Введение в компьютерную графику
- •6.1. Предмет компьютерной графики
- •6.2. Виды компьютерной графики
- •6.3. Направления компьютерной графики
- •Тема № 7. Модели компьютерной графики
- •7.1. Геометрические модели
- •7.2. Цветовые и оптические модели
- •Тема № 8. Аффинные преобразования
- •8.1. Общий вид двумерных преобразований
- •8.2. Элементарные двумерные преобразования
- •8.3. Однородные координаты на плоскости
- •8.4. Композиции двумерных преобразований
- •8.5. Преобразования систем координат
- •8.6. Двумерные преобразования на экране монитора
- •8.7. Матричное представление трёхмерных преобразований
Фрагменты вычисления характеристик строк и столбцов двумерного массива
Рассмотрим фрагменты программ в таблице 4.
Таблица 4
|
Характеристика |
Для каждой строки |
Для каждого столбца |
s |
for i:=1 to m do begin s[i]:=0; for j:=1 to n do s[i]:=s[i]+A[i,j]; end; |
for j:=1 to n do begin s[j]:=0; for i:=1 to m do s[j]:=s[j]+A[i,j]; end; |
p |
for i:=1 to m do begin p[i]:=1; for j:=1 to n do p[i]:=p[i]*A[i,j]; end; |
for j:=1 to n do begin p[j]:=1; for i:=1 to m do p[j]:=p[j]*A[i,j]; end; |
max |
for i:=1 to m do begin max[i]:=A[i,1]; for j:=1 to n do if A[i,j]>max[i] then max[i]:=A[i,j]; end; |
for j:=1 to n do begin max[j]:=A[1,j]; for i:=1 to m do if A[i,j]>max[j] then max[j]:=A[i,j]; end; |
min |
for i:=1 to m do begin min[i]:=A[i,1]; for j:=1 to n do if A[i,j]<min[i] then min[i]:=A[i,j]; end; |
for j:=1 to n do begin min[j]:=A[1,j]; for i:=1 to m do if A[i,j]<min[j] then min[j]:=A[i,j]; end; |
Фрагменты операций с двумерными массивами
Рассмотрим фрагменты программ в таблице 5.
Таблица 5
|
Операция |
Фрагмент программы |
|
for i:=1 to m do for j:=1 to n do read(A[i,j]); |
|
for i:=1 to m do begin for j:=1 to n do write(A[i,j]); writeln; end; |
|
for i:=1 to m do for j:=1 to n do A[i,j]:=z; |
(аналогично уменьшение, умножение, деление) |
for i:=1 to m do for j:=1 to n do A[i,j]:=A[i,j]+z; |
(аналогично вычитанием, умножением, делением) |
for i:=1 to m do for j:=1 to n do B[i,j]:=A[i,j]+z; |
(аналогично минимального) |
max:=A[1,1]; imax:=1; jmax:=1; for i:=1 to m do for j:=1 to n do if A[i,j]>max then begin max:=A[i,j]; imax:=i; jmax:=j; end; |
|
s:=0; for j:=1 to n do s:=s+A[1,j]; |
|
s:=0; for i:=1 to m do s:=s+A[i,1]; |
Особенности элементов квадратных матриц
Двумерный массив называется квадратной
матрицей, если у него количество строк
равно количеству столбцов (
).
Рассмотрим квадратную матрицу:
.
Элементы aijэтого массива имеют такиеособенности:
Элементы находятся на главной диагонали, если
.Элементы находятся выше главной диагонали, если
.Элементы находятся ниже главной диагонали, если
.Элементы находятся вне главной диагонали, если
.Элементы находятся на побочной диагонали, если
.Элементы находятся выше побочной диагонали, если
.Элементы находятся ниже побочной диагонали, если
.Элементы находятся вне побочной диагонали, если
.
