20.11.2023

Срезы в PascalABC.NET (примеры использования в задачах)

Срез - это набор элементов списка, массива или строки.

Приведем в пример программу, демонстрирующую срезы в PascalABC.NET, а также решения задач с использованием срезов.

begin

  var a:=Arr(10, 11, 12, 13, 14, 15, 16, 17, 18);

  a.Println(); // вывод массива // [10, 11, 12, 13, 14, 15, 16, 17, 18]

  a[1:3].Println(); // срез по индексам [1, 3) с шагом 1 // [11, 12]

  a[2:8:3].println(); // срез по индексам [2, 8) с шагом 3 // [12, 15]

  a[7:2:-1].Println(); // срез по индексам [7, 2) с шагом -1 // [17, 16, 15, 14, 13]

  a[::-1].Println(); // реверс массива

 end.

 Задача 1. В массиве удалить каждый второй элемент.

  Пусть имеется массив [12, 13, 14, 15, 16]

  Результат [12, 14, 16]

begin

   var a:=Arr(12, 13, 14, 15, 16);

   a:=a[::2];

   a.Println();

end.

Задача 2. В массиве найти минимальный элемент среди элементов, у которых индексы кратны 3.

 Пусть имеется массив [100, 12, 14, 23, 45, 200, 27, 21]

 То есть среди элементов 100, 23, 27 найти минимальный.

begin

  var a:=Arr(100, 12, 14, 23, 45, 200, 27, 21);

  var m:=a[0::3].Min;

  println(m);

end.

Задача 3. В массиве удалить элемент с индексом k (k меньше количества элементов массива).

begin

  var a:=Arr(100, 12, 14, 23, 45, 200, 27, 21);

  var k:=random(a.Length);//k зададим случайно

  if k < a.Length-1 then a:=a[:k]+a[k+1:]

                     else a:=a[:a.Length-1];

  a.Println;

  println('удалили элемент с индексом ',k);

end.

Задача 4. В массив вставить элемент на место с индексом k (k меньше количества элементов массива).

begin

var a:=Arr(100, 12, 14, 23, 45, 200, 27, 21);

  var k:=random(a.Length);//зададим случайно

  setlength(a, a.Length);

  var d:=Random(100); //число зададим случайно

  if k < a.Length then a:=a[:k] + Arr(d) + a[k:]

                  else a:=a[:a.Length-1] + Arr(d);

  a.Println;

  println('вставили число ',d,' на место с индексом ',k);

end.


Динамические массивы в Паскале

Читать

Найти число пар соседних элементов массива, оканчивающихся нулем. Язык Паскаль.

Читать

Найти максимум/минимум в массиве. Программа на языке Паскаль.

Читать

Массивы в языке Паскаль. Решение задач. 8 класс (сумма, произведение, среднее арифметическое, минимум/максимум с условием)

Читать

Язык Паскаль. Найти количество различных чисел в массиве из N элементов (2 способа решения)

Читать

Комментариев нет:

Отправить комментарий