- •Литература
- •Тема № 1. Основные понятия информатики
- •1.1. Информатизация общества
- •1.2. Информатика и её направления
- •1.3. Виды и свойства информации
- •1.4. Единицы информации
- •1.5. Системы счисления
- •1.6. Математические основы информатики
- •Тема № 2. Аппаратное обеспечение
- •2.1. Компьютеры и их классификация
- •2.2. Принцип действия компьютера
- •2.3. Классификация устройств вычислительной техники
- •2.4. Внутренние устройства компьютера
- •2.5. Запоминающие устройства и диски
- •2.6. Устройства ввода-вывода информации
- •Тема № 3. Программное обеспечение
- •3.1. Файловая система компьютера
- •3.2. Терминология и классификация программного обеспечения
- •3.3. Виды системных и инструментальных программ
- •3.4. Обзор системного программного обеспечения
- •3.5. Виды прикладных программ
- •3.6. Обзор прикладного программного обеспечения
- •Тема № 4. Базы данных
- •4.1. Базы данных и субд
- •4.2. Работа с таблицами данных
- •4.3. Работа с запросами данных
- •Тема № 5. Компьютерные сети
- •5.1. Виды и компоненты компьютерных сетей
- •5.2. Принципы построения и функционирования сетей
- •5.3. Принципы взаимодействия в сети
- •5.4. Глобальная сеть Интернет
- •5.5. Службы и протоколы Интернета
- •Тема № 6. Алгоритмизация
- •6.1. Алгоритм и блок-схема
- •6.2. Структуры алгоритмов
- •6.3. Массивы
- •Тема № 7. Инструментарий технологии программирования
- •7.1. Языки программирования
- •7.2. Обзор инструментальных программ
- •Тема № 8. Основные понятия программирования
- •8.1. Состав программы на языке Pascal
- •8.2. Элементы программы в языке Pascal
- •8.3. Типы данных в языке Pascal
- •8.4. Операции в языке Pascal
- •8.5. Выражения в языке Pascal
- •8.6. Стандартные функции в языке Pascal
- •8.7. Операторы языка Pascal
- •Тема № 9. Программирование базовых алгоритмов
- •9.1. Программирование последовательных вычислений
- •9.2. Программирование разветвлений
- •9.3. Программирование циклов
- •Тема № 10. Программирование задач с массивами
- •10.1. Одномерные массивы
- •Фрагменты вычисления характеристик одномерного массива
- •Фрагменты операций с одномерными массивами
- •Особенности элементов одномерного массива
- •10.2. Двумерные массивы
- •Фрагменты вычисления характеристик двумерного массива
- •Фрагменты вычисления характеристик строк и столбцов двумерного массива
- •Фрагменты операций с двумерными массивами
- •Особенности элементов квадратных матриц
- •10.3. Перестановка и сортировка элементов массива
- •Тема № 11. Программирование подпрограмм и структурных типов данных
- •11.1. Подпрограммы
- •11.2. Программирование задач с функциями
- •11.3. Программирование задач с процедурами
- •11.4. Программирование задач с файлами
- •11.5. Программирование задач с символами и строками
- •11.6. Программирование задач с записями
- •11.7. Программирование задач со множествами
- •Тема № 12. Основы применения информационных технологий в профессиональной деятельности
- •12.1. Приближённые вычисления
- •12.2. Методы решения нелинейных уравнений
- •12.3. Методы решения систем уравнений
- •12.4. Методы решения дифференциальных уравнений
- •12.5. Методы численного интегрирования
Фрагменты операций с одномерными массивами
Рассмотрим фрагменты программ в таблице 2.
Таблица 2
Операция |
Фрагмент программы |
|
for i:=1 to n do read(A[i]); |
|
for i:=1 to n do writeln(A[i]); |
|
for i:=1 to n do A[i]:=z; |
(аналогично уменьшение, умножение, деление) |
for i:=1 to n do A[i]:=A[i]+z; |
(аналогично вычитанием, умножением, делением) |
for i:=1 to n do B[i]:=A[i]+z; |
(аналогично минимального) |
max:=A[1]; imax:=1; for i:=2 to n do if A[i]>max then begin max:=A[i]; imax:=i; end; |
|
for i:=1 to n do if A[i]>z then writeln(i); |
|
c:=A[1]; A[1]:=A[2]; A[2]:=c; |
Особенности элементов одномерного массива
Рассмотрим одномерный массив
.
Элементы ai
этого массива имеют такие особенности:
Элементы положительные, если
.
Элементы отрицательные, если
.Элементы нулевые, если
.Элементы ненулевые, если
.Элементы находятся в диапазоне от x до y, если
и
.Элементы не находятся в диапазоне от x до y, если
или
.Элементы чётные, если
.Элементы нечётные, если
или
.Элементы на чётных местах, если
или
.Элементы на нечётных местах, если
или
.Элементы кратны x, если
.Элементы на местах, кратных x, если
.
10.2. Двумерные массивы
Двумерный массив (матрица) – массив, элементы которого имеют два номера (номер строки и номер столбца).
Индекс двумерного массива – порядковый номер строки или столбца в двумерном массиве.
Описание двумерного массива в разделе описания переменных (Var) на языке Pascal имеет вид:
Mas : array [ IMin .. IMax , JMin .. JMax ] of T ;
где array – массив, of – из, Mas – имя массива, IMin – минимальное значение индекса строки, IMax – максимальное значение индекса строки, JMin – минимальное значение индекса столбца, JMax – максимальное значение индекса столбца, T – тип элементов.
Это означает, что переменная Mas является массивом, который может иметь индексы строк от IMin до IMax , индексы столбцов от JMin до JMax у элементов типа T .
Пример.
Var A : array [1..10,1..15] of real;
Это означает, что переменная A – массив, который может содержать от 1 до 10 строк, от 1 до 15 столбцов из элементов вещественного типа.
Доступ к элементу двумерного массива на языке Pascal имеет вид:
Mas [ Ind1 , Ind2 ]
где Mas – имя массива, Ind1 – индекс строки, Ind2 – индекс столбца.
Это означает доступ к элементу массива Mas , находящемуся в строке с индексом Ind1 и в столбце с индексом Ind2 .
Пример.
A[1,1]
b[i,j]
Это означает элемент массива A в 1-й строке и 1-м столбце, и т.д.
Задача 2.
Условие задачи. Дан двумерный массив A из m строк и n столбцов (m 10; n 15). Найти сумму положительных элементов в массиве A.
Б
лок-схема.
Программа.
Program z2;
Var
A:array[1..10,1..15] of real;
i,j,m,n:integer;
s:real;
Begin
read(m,n);
s:=0;
for i:=1 to m do
for j:=1 to n do
begin
read(A[i,j]);
if A[i,j]>0 then s:=s+A[i,j];
end;
writeln(s);
End.
Пусть A двумерный массив, m количество строк, n количество столбцов, i индекс строки, j индекс столбца. Рассмотрим следующие фрагменты программ.
