Модуль: Arrays

Данный модуль отвечает за операции с массивами.

fillArray(array, count, min, max);

Эта процедура заполняет массив случайными числами в Integer диапазоне, где count - количество чисел в массиве. Опционально можно указать минимум и максимум диапазона для рандома в массиве.

// Создаёт массив c 20 псевдослучайными числами в диапазоне Integer. [-2,147,483,647 ~ 2,147,483,647]
  var arr: array of integer;
  FastPascal.fillArray(arr, 20);

// Создаёт массив c 13 псевдослучайными числами в диапазоне от 1 до 5.
  var arr: array of integer;
  FastPascal.fillArray(arr, 13, 1, 5);

// Создаёт массив c 8 псевдослучайными дробными числами (типа real) в диапазоне от 1.1 до 3.24.
  var arr: array of real;
  FastPascal.fillArray(arr, 8, 1.1, 3.24);

writeArray(array, index, rounding);

Эта процедура выводит массив, где index - количество чисел, которое необходимо вывести. Опционально можно указать rounding - количество цифр после запятой, если массив состоит из чисел типа real.

  var arr: array of integer;
// Заполните массив a чем-либо или сгенерируйте псведослучайные элементы через fillArray(array, count, min, max).

// Выведется массив до 3-его элемента.
  FastPascal.writeArray(arr, 3);

// Выведется массив до 3-его элемента и округлятся все элементы до сотых.
  var arr: array of integer;
// Заполните массив arr чем-либо или сгенерируйте псведослучайные элементы через fillArray(array, count, min, max).
  FastPascal.writeArray(arr, 3, 2);

findMinInArray(array);

Эта функция выводит минимальный элемент в массиве.

  var a: array of integer;
// Заполните массив a чем-либо или сгенерируйте псведослучайные элементы через fillArray(array, count, min, max).
// FastPascal.fillArray(a, 3, 1, 5);
  writeln(FastPascal.findMinInArray(a)); // Вывод максимального элемента напрямую.

  var a: array of integer;
// Заполните массив a чем-либо или сгенерируйте псведослучайные элементы через fillArray(array, count, min, max).
// FastPascal.fillArray(a, 3, 1, 5);
  var i := FastPascal.findMinInArray(a);
  writeln(i); // Вывод максимального элемента через параметр i.

findMaxInAray(array);

Эта функция выводит максимальный элемент в массиве.

  var a: array of integer;
// Заполните массив a чем-либо или сгенерируйте псведослучайные элементы через fillArray(array, count, min, max).
// FastPascal.fillArray(a, 3, 1, 5);
  writeln(FastPascal.findMaxInAray(a)); // Вывод максимального элемента напрямую.

  var a: array of integer;
// Заполните массив a чем-либо или сгенерируйте псведослучайные элементы через fillArray(array, count, min, max).
// FastPascal.fillArray(a, 3, 1, 5);
  var i := FastPascal.findMaxInAray(a);
  writeln(i); // Вывод максимального элемента через параметр i.

sum(array, count);

Эта функция выводит сумму типа BigInteger всех элементов в массиве. Опционально можно указать количество (count) подсчитываемых элементов из массива. Присутствуют модификации sumInt и sumReal для подсчёта суммы всех элементов типа Integer и Real

  var a: array of integer;
// Заполните массив a чем-либо или сгенерируйте псведослучайные элементы через fillArray(array, count, min, max).
// FastPascal.fillArray(a, 3, 1, 5);
// FastPascal.writeArray(a, 3);
  writeln(FastPascal.sum(a, 4)); // Вывод суммы типа BigInteger первых 4 элементов массива.
  writeln(FastPascal.sumInt(a, 4)); // Вывод суммы типа Integer первых 4 элементов массива.

  var a: array of real;
// Заполните массив a чем-либо или сгенерируйте псведослучайные элементы через fillArray(array, count, min, max).
// FastPascal.fillArray(a, 5, 1.74, 5.41);
// FastPascal.writeArray(a, 5);
  var i := FastPascal.sumReal(a, 5);
  writeln(i); // Вывод суммы типа real первых 5 элементов массива через параметр i.

printArithmeticProgression(count, firstElement, step);

Эта процедура выводит арифметическую прогрессию с определённым (count) количеством чисел, первым членом прогрессии a1 (firstElement) и шагом d (step).

// Выводится последовательность, состоящая из 5 элементов,
// начиная от первого члена последовательности равного -16.1 с шагом 3.
  FastPascal.printArithmeticProgression(5, -16.1, 3);

generateArithmeticProgression(count, firstElement, step);

Эта функция выводит арифметическую прогрессию в виде массива с определённым (count) количеством чисел, первым членом прогрессии a1 (firstElement) и шагом d (step).

// Выводится массив, состоящий из 5 элементов,
// начиная от первого члена последовательности равного -16.1 с шагом 3.
  writeln(FastPascal.generateArithmeticProgression(5, -16.1, 3));

// Выводится массив, состоящий из 3 элементов,
// начиная от первого члена последовательности равного -3 с шагом 1.
  var i: array of integer;
  i := FastPascal.generateArithmeticProgression(3, -3, 1);
  writeln(i);

// Выводится массив, состоящий из 3 элементов,
// начиная от первого члена последовательности равного 2.1 с шагом 1.2.
  var i: array of real;
  i := FastPascal.generateArithmeticProgression(3, 2.1, 1.2);
  writeln(i);

isExistInArray(array, value);

Эта функция определяет, существует ли вообще значение (value) среди элементов массива. Если существует - выдаёт true, иначе - false.

// Определяется, существует ли число -12.5 
// среди 5 членов арифметической прогрессии с первым членом -16 и шагом 3.5.
  writeln(FastPascal.isExistInArray(FastPascal.generateArithmeticProgression(5, -16, 3.5), -12.5));

// Также поддерживаются элементы типа string.
  setLength(s,3);
  s[0] := 'alo';
  s[1] := 'ew';
  s[2] := 'hi!';
  writeln(FastPascal.isExistInArray(s, 'alo'));

duplicate(array, index);

Эта функция дублирует в массиве (array) элемент, который стоял на index месте.

// Дублируется третий элемент массива (3) 
// и массив изменяется с [1, 2, 3] на [1, 2, 3, 3]
  var i: array of integer;
  i := FastPascal.generateArithmeticProgression(3, 1, 1);
  FastPascal.duplicate(i, 3);
  writeln(i);

// Дублируется третий элемент массива (3.1)
// и массив изменяется с [1.1, 2.1, 3.1] на [1.1, 2.1, 3.1, 3.1]
  var i: array of real;
  i := FastPascal.generateArithmeticProgression(3, 1.1, 1);
  FastPascal.duplicate(i, 3);
  writeln(i);

insertIntoArray(array, element, index);

Эта функция вставляет элемент (element) нужного типа в массив (array), который стоял на index месте.

// Вставляется слово "пока" в самое начало массива.
// Массив изменяется с [привет,привет,привет,привет,привет] на [пока,привет,привет,привет,привет,привет]
  var s: array of string;
  setLength(s, 5);
  for i:=0 to 4 do
    s[i]:='привет';
  FastPascal.insertIntoArray(s, 'пока', 0);
  writeln(s);

removeRepeatedElementsInArray(array);

Эта функция удаляет повторяющиеся элементы в массиве (array).

// Вставляется слово "пока" в самое начало массива.
// Массив изменяется с [привет,привет,привет,привет,привет] на [пока,привет,привет,привет,привет,привет]
  var s: array of string;
  setLength(s, 5);
  for i:=0 to 4 do
    s[i]:='привет';
  FastPascal.removeRepeatedElementsInArray(s);
  writeln(s);

Last updated