
- •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 – число элементов массива А).