- •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.1. Одномерные массивы
Одномерный массив (вектор) – массив, элементы которого имеют один неповторяющийся номер.
Индекс одномерного массива – порядковый номер элемента в одномерном массиве.
В одномерном массиве элементы упорядочены в порядке возрастания их индексов.
Описание одномерного массива в разделе описания переменных (Var) на языке Pascal имеет вид:
Mas : array [ IMin .. IMax ] of T ;
где array – массив, of – из, Mas – имя массива, IMin – минимальное значение индекса, IMax – максимальное значение индекса, T – тип элементов.
Это означает, что переменная Mas является массивом, который может иметь индексы от IMin до IMax у элементов типа T .
Пример.
Var A : array [1..100] of real;
Это означает, что переменная A – массив, который может содержать от 1 до 100 элементов вещественного типа.
Доступ к элементу одномерного массива на языке Pascal имеет вид:
Mas [ Ind ]
где Mas – имя массива, Ind – индекс.
Это означает доступ к элементу массива Mas с индексом Ind .
Пример.
A[1]
b[3]
c[i]
d[n]
f[k+1]
Это означает 1-й элемент массива A и т.д.
Задача 1.
Условие задачи. Дан массив A, состоящий из n элементов (n 100). Найти сумму элементов массива:
.
Блок-схема.
Программа.
Program z1;
Var
A:array[1..100] of real;
i,n:integer;
s:real;
Begin
read(n);
s:=0;
for i:=1 to n do
begin
read(A[i]);
s:=s+A[i];
end;
writeln(s);
End.
Пусть A одномерный массив, n количество элементов в массиве, i индекс элементов массива. Рассмотрим следующие фрагменты программ.
Фрагменты вычисления характеристик одномерного массива
Рассмотрим фрагменты программ в таблице 1.
Таблица 1
Характеристика |
Для всех элементов |
Для части элементов |
s |
s:=0; for i:=1 to n do s:=s+A[i]; |
s:=0; for i:=1 to n do if A[i]>z then s:=s+A[i]; |
k |
k:=n; |
k:=0; for i:=1 to n do if A[i]>z then k:=k+1; |
p |
p:=1; for i:=1 to n do p:=p*A[i]; |
p:=1; for i:=1 to n do if A[i]>z then p:=p*A[i]; |
max |
max:=A[1]; for i:=2 to n do if A[i]>max then max:=A[i]; |
max:=-1E10; for i:=1 to n do if (A[i]>max) and (A[i]>z) then max:=A[i]; |
min |
min:=A[1]; for i:=2 to n do if A[i]<min then min:=A[i]; |
min:=1E10; for i:=1 to n do if (A[i]<min) and (A[i]>z) then min:=A[i]; |
sr |
s:=0; for i:=1 to n do s:=s+A[i]; sr:=s/n; |
s:=0; k:=0; for i:=1 to n do if A[i]>z then begin s:=s+A[i]; k:=k+1; end; sr:=s/k; |