 
        
        - •Var имя массива: имя типа массива;
- •2) Имя массива: array[начальное значение индекса .. Конечное значение индекса] of базовый тип;
- •Способы заполнения одномерных массивов
- •Вывод одномерных массивов
- •Обработка одномерных массивов
- •Нахождение суммы элементов массива
- •Нахождение элементов массива, удовлетворяющих заданному условию.
- •Нахождение количества четных элементов массива
- •Нахождение min (max) элементов массива и их индексов
- •Поиск первого (последнего) по порядку элемента, удовлетворяющего какому-то условию
- •Сортировка элементов массива
- •Задания для самостоятельного выполнения
- •1. Написать программу для решения предложенной задачи:
- •2. Написать программу для решения предложенной задачи:
- •3. Написать программу для решения предложенной задачи:
- •Контрольные вопросы
- •Рекомендуемая литература
- •Содержание
- •Программирование в интегрированной среде Turbopascal. Обработка одномерных массивов
- •654007, Г. Новокузнецк, ул. Кирова, 42
Министерство образования и науки РФ
Государственное образовательное учреждение высшего профессионального образования «Сибирский государственный индустриальный университет»
Кафедра прикладной информатики
Программирование в интегрированной среде Turbopascal. Обработка одномерных массивов
Методические указания для выполнения лабораторно-практической работы по дисциплине «Информатика»
Новокузнецк
2010
УДК 004 (075)
Г622
Рецензент кандидат технических наук, доцент кафедры систем информатики и управления СибГИУ С.П. Огнев
Г622 Программирование в интегрированной среде TurboPascal. Обработка одномерных массивов. Метод. указ./ Сост.: Л. В. Голунова: СибГИУ. – Новокузнецк, 2010.
Представлены сведения об организации хранения данных в одномерных массивах и методы их обработки. Приведены порядок выполнения лабораторно-практической работы, контрольные вопросы, задания для самостоятельной работы.
Предназначены для студентов специальностей 130404 – Подземная разработка полезных ископаемых, 140601 – Электромеханика, 190701 – Организация перевозок и управление на транспорте (железнодорожном), 270102 – Промышленное и гражданское строительство очно-заочной формы обучения.
Цель работы
- Познакомить с методами обработки одномерных массивов в языке программирования TurboPascal. 
- Сформировать практические навыки программирования одномерных массивов. 
Навыки и умения
Для успешного выполнения работы студент должен:
- Иметь навыки работы с операционной системой Windows 2000/XP. 
- Уметь разрабатывать алгоритм решения задачи. 
- Знать основные понятия языка программирования TurboPascal. 
После выполнения работы студент должен уметь составлять программы для обработки одномерных массивов на языке программирования TurboPascal.
Порядок выполнения работы
- Изучить теоретическую часть работы. 
- Последовательно выполнить все предложенные задания. 
- Выполнить самостоятельную работу по вариантам. 
- Представить выполненную работу преподавателю. 
- Ответить на вопросы преподавателя. 
- Отключить компьютер. 
Одномерные массивы. Общие сведения
Массив – это пронумерованная последовательность величин одинакового типа, обозначаемая одним именем, посредством которого можно ссылаться как на массив данных в целом, так и на любой из его элементов.
Переменные, представляющие элементы массивов, называются переменными с индексами в отличие от простых переменных, представляющих в программе элементарные данные. Элементы массива располагаются в последовательных ячейках памяти, обозначаются именем массива и индексом. Индекс в обозначении элементов массивов может быть константой, переменной или выражением целого типа.
Одномерный массив представляет собой набор однотипных простых значений, объединенных общим именем и различаемых внутри набора по порядковому номеру (индексу). Например, числовая последовательность четных натуральных чисел 2, 4, 6, ..., N представляет собой одномерный массив, элементы которого можно обозначить как А[1]=2, А[2]=4, А[3]=6, ..., А[К]=2*K, где К – номер элемента, а 2, 4, 6, ..., N – значения. Индекс (порядковый номер элемента) записывается в квадратных скобках после имени массива. Например, А[7] – седьмой элемент массива A; D[6] – шестой элемент массива D.
Для размещения массива в памяти компьютера отводится поле памяти, размер которого определяется типом, длиной и количеством элементов массива. В языке TurboPascal эта информация задается в разделе описаний. Массив можно описывать двумя способами:
1) Type mas=array[начальное значение индекса .. конечное значение индекса] of базовый тип;
Var имя массива: имя типа массива;
Например, Type mas=array[1..10] of real; var x,y: mas; –описывается тип – массив из 10 элементов вещественного типа, а затем две переменные x и у, имеющие тип mas.
2) Имя массива: array[начальное значение индекса .. Конечное значение индекса] of базовый тип;
Например, В: array[1..5] of real; R: array[1..34] of char; – описывается массив В, состоящий из 5 элементов, и символьный массив R, состоящий из 34 элементов. Для массива В будет выделено 5 ячеек памяти, для массива R – 34 ячейки памяти. Количество элементов определяется по формуле: N = верхний индекс – нижний индекс + 1. Начальное и конечное значения индекса – константы целого типа.
Способы заполнения одномерных массивов
1) С помощью оператора присваивания. Этот способ заполнения массива удобен, когда между элементами существует какая-то зависимость. Например, арифметическая или геометрическая прогрессии, или элементы связаны между собой каким-либо соотношением, или следующий элемент можно вычислить через предыдущие (такое соотношение называется рекуррентным).
Пример 1. Заполнить одномерный массив элементами, отвечающими следующему соотношению:
a1 = 1; a2 = 1; ai = ai–2 + ai–1 (i = 3, 4, …, n).
Write(‘Введите количество элементов массива’);
ReadLn(N);
{Заполнение массива}
A[1]:=1; A[2]:=1;
For i:=3 to N do А[i]:=А[i-2]+A[i-1];
2) Ввод значений элементов массива с клавиатуры используется, когда между элементами не наблюдается никакой зависимости.
Пример 2. Заполнить массив последовательностью чисел
1, 2, –5, 6, –111, 0.
Write(‘Введите количество элементов массива’);
ReadLn(N);
{Заполнение массива}
For i:=1 to N do
begin
Write('Введите значение A[',i:2,']');
ReadLn(A[i]);
end;
3) Заполнение массива случайными числами. Случайным называется число, появление которого не связано ни с какой закономерностью. Например, случайным является число, выпадающее при бросании кубика для игры в кости. А сам кубик можно рассматривать как генератор случайных чисел. Во всех языках программирования реализованы генераторы случайных чисел. В языке TurboPascal для инициализации генератора случайных чисел используется функция Randomize, а само случайное число можно получить, если использовать функцию Random. Например: у:=Random(x); здесь у – целое случайное число в интервале от 0 до х–1, х – целое число, задающее верхнюю границу интервала случайных чисел. Чтобы получить случайное число в интервале от А до В (А < В), надо использовать следующее присваивание: у:=Random(B–A +1)+A;
Пример 3. Заполнить массив случайными числами.
Randomize;
For i:=1 to 10 do A[i]:=random(10);
{i-му элементу массива присваивается «случайное» целое число в диапазоне от 0 до 10}
Вывод одномерных массивов
Чтобы отобразить массив на экране нужно выполнить следующее:
Const n=20;
Var A:array[1..n] of real;
...
Writeln('Вывод элементов массива:');
For i:=1 to n do Write(A[i]:8:2);
...
Обработка одномерных массивов
Последовательность действий при обработке массивов должна быть следующей:
1. Объявление массива.
2. Заполнение массива данными.
3. Вывод на экран исходного массива.
4. Обработка массива, указанным в задании образом.
5. Вывод на экран результатов работы.
 
Рисунок 1 – Алгоритм этапа обработки массива
Основным структурным элементом программы, обрабатывающей одномерные массивы, является цикл с параметром (так как число исполнений цикла равно числу элементов массива, то есть известно). Алгоритм отдельного этапа обработки массива показан на рисунке 1 (N – число элементов).
Над массивами выполняются такие широко используемые операции, как:
- Нахождение сумм, произведений, средних значений. 
- Нахождение сумм или количеств элементов массивов, удовлетворяющих некоторым условиям. 
- Нахождение min (max) элементов массива и их номеров. 
- Создание нового массива из элементов имеющегося. 
- Поиск значений. 
- Сортировка элементов в порядке возрастания или убывания и т. д. 
Далее описываются некоторые простые алгоритмы обработки одномерных массивов (во всех примерах N – число элементов массива А).
