- •31 Информатика (лек.) – гтк – 2 семестр (2012 г.) Введение Литература
- •Сокращения
- •Тема № 1. Основные понятия программирования
- •1.1. Состав программы на языке Pascal
- •1.2. Элементы программы в языке Pascal
- •1.3. Типы данных в языке Pascal
- •1.4. Операции в языке Pascal
- •1.5. Выражения в языке Pascal
- •1.6. Стандартные функции в языке Pascal
- •1.7. Операторы языка 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. Методы решения дифференциальных уравнений
- •5.5. Методы численного интегрирования
Фрагменты вычисления характеристик двумерного массива
Рассмотрим фрагменты программ в таблице 3.
Таблица 3
Характеристика |
Для всех элементов |
Для части элементов |
s |
s:=0; for i:=1 to m do for j:=1 to n do s:=s+A[i,j]; |
s:=0; for i:=1 to m do for j:=1 to n do if A[i,j]>z then s:=s+A[i,j]; |
k |
k:=m*n; |
k:=0; for i:=1 to m do for j:=1 to n do if A[i,j]>z then k:=k+1; |
p |
p:=1; for i:=1 to m do for j:=1 to n do p:=p*A[i,j]; |
p:=1; for i:=1 to m do for j:=1 to n do if A[i,j]>z then p:=p*A[i,j]; |
max |
max:=A[1,1]; for i:=1 to m do for j:=1 to n do if A[i,j]>max then max:=A[i,j]; |
max:=-1E10; for i:=1 to m do for j:=1 to n do if (A[i,j]>max) and (A[i,j]>z) then max:=A[i,j]; |
min |
min:=A[1,1]; for i:=1 to m do for j:=1 to n do if A[i,j]<min then min:=A[i,j]; |
min:=1E10; for i:=1 to m do for j:=1 to n do if (A[i,j]<min) and (A[i,j]>z) then min:=A[i,j]; |
sr |
s:=0; for i:=1 to m do for j:=1 to n do s:=s+A[i,j]; sr:=s/(m*n); |
s:=0; k:=0; for i:=1 to m do for j:=1 to n do if A[i,j]>z then begin s:=s+A[i,j]; k:=k+1; end; sr:=s/k; |
Фрагменты вычисления характеристик строк и столбцов двумерного массива
Рассмотрим фрагменты программ в таблице 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; |