Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка_Delphi_Ч2.doc
Скачиваний:
15
Добавлен:
02.11.2018
Размер:
1.7 Mб
Скачать

Процедура переворота массива

В этой процедуре элементы массива, симметрично расположенные относительно середины, меняются местами.

//Переворот массива

procedure trans(var a: TArray100; count: integer);

var tmp, i: integer;

begin

for i := 1 to count div 2 do

begin

tmp := a[i];

a[i] := a[count – i + 1];

a[count – i + 1]:=tmp;

end;

end;

Процедура циклического сдвига части элементов массива влево

В этой процедуре элементы массива с индексами от i1 до i2 сдвигаются влево на 1 элемент, а элементы с индексами i1 и i2 меняются местами. Если i1 =1, а i2 равно размеру массива, то сдвигается весь массив.

//Сдвиг массива влево

procedure shiftLeft(var a: TArray100; count, i1, i2: integer);

var tmp, i: integer;

begin

if i2 > count then i2 := count;

tmp := a[i1];

for i := i1 + 1 to i2 do a[i-1] := a[i];

a[i2] := tmp;

end;

Процедура формирования массива накопленных значений

Эта процедура создает новый массив, такой же длины, как и исходный, но в этом массиве каждый элемент равен сумме элементов в исходном массиве от первого до текущего элемента.

//Формирование массива накопленных значений

procedure accum(const a: TArray100; var b: TArray100; count: integer);

var i: integer;

begin

b[1] := a[1];

for i := 2 to count do b[i] := b[i-1] + a[i];

end;

Задание для самостоятельной работы

В лабораторной работе следует создать проект, в соответствии с требованиями варианта из таблицы 7.1. Номер варианта выбирается по последней цифре номера зачетной книжки.

Главное меню проекта должно включать следующие пункты: создание массива, числовые характеристики, формирование нового массива.

На форме должны быть поля для ввода количества элементов массива и модуля для элементов массива (ограничителя величины числа).

Вывод числовых характеристик на усмотрение разработчика.

Компоненты для хранения исходного массива и массива, получаемого в результате обработки, должны соответствовать варианту задания.

Глобальные переменные для хранения массива и количества данных в нем использовать не следует.

При выполнении каждого пункта меню всю необходимую информацию считывать с формы.

При разработке проекта можно использовать процедуры и функции модуля UnitArrayDop.

Содержание отчета

  • Наименование работы

  • Цель работы

  • Краткое описание основных понятий, связанных с массивами

  • Тексты процедур и функций, написанных самостоятельно

  • Контрольные примеры работы пунктов проекта

  • Результаты выполнения пунктов проекта в виде копий экранов

  • Выводы

Таблица 7.1 – Задания на лабораторную работу

Создание исходного массива

Хранение исходного массива

Числовые характеристики

Получение нового массива

Вывод нового массива

0

Random

TEdit

Размах элементов

(max-min)

Удаление четных элементов из массива

TMemo

1

InputBox

TMemo

Разность сумм элементов в четных и нечетных позициях

Оборот

массива

TEdit

2

Random

TEdit

Определение позиций четных элементов

Вставка элемента в заданную позицию

TLabel

3

InputBox

TLabel

Определение позиций элементов, которые меньше среднего

арифметического

Удаление заданного элемента из массива

Show Message

4

Random

TMemo

Разность сумм четных и нечетных элементов

Заданное число циклических сдвигов влево

Show Message

5

InputBox

TLabel

Количество

четных и нечетных

элементов

Вставка суммы элементов в начало массива

TMemo

6

Random

TMemo

Средние арифметические четных и нечетных

Элементов

Заданное число циклических сдвигов вправо

TEdit

7

InputBox

TMemo

Поиск позиции заданного элемента

Вставка среднего арифметического значения в середину массива

TLabel

8

Random

TLabel

Количество элементов

больше и меньше среднего

Вначале нечетные, затем четные

Show Message

9

InputBox

TEdit

Сумма элементов больше и меньше среднего

Минимальный в начало, макси-мальный в конец

TMemo