Паскаль. Списки. Формировать списки из N элементов. Добавить элемент А после второго...

0 голосов
49 просмотров

Паскаль. Списки. Формировать списки из N элементов. Добавить элемент А после второго кратного 3м элемента списка (1, 6, 7, 3*, 5). Удаление первого кратного 3м элемента списка (1,7,3,А,5). Выполнить сортировку списка по убыванию. После выполнения каждой операции выводить список на экран.


Информатика (15 баллов) | 49 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

// PascalABC.NET 3.4.2, сборка 1790 от 15.09.2018

// Внимание! Если программа не работает, обновите версию!

begin

 var L := new List;

 L.AddRange(Seq(1, 6, 7, 3, 5));

 L.Println;

 var A := ReadInteger('A=');

 var s := L.ToArray.IndexesOf(t -> t mod 3 = 0);

 var i2 := s.Skip(1).First;

 L.Insert(i2 + 1, A);

 L.Println;

 L.RemoveAt(s.First);

 L.Println;

 L := L.SortedDescending.ToList;

 L.Println

end.


image
(654k баллов)
0

И ввести сначала количество элементов, нажать Enter, затем сами элементы через пробел

0

Спасибо большое!!!

0

у меня еще вопросик. Как называется такой вид программирования в паскале, не используя стандартные операторы?

0

Я не знаю, что Вы называете "стандартными операторами". В языке PascalABС.NET я не использовал ничего "нестандартного" - посмотрите код: так нет ни одного uses или #include для подключения каких-то библиотек или внешних исходных текстов. Это нормальный современный стиль программирования, а вот от того, как писали на Free Pascal или Turbo Pascal - да, этот код ушел далеко. Но Вы же сами написали про PascalABC

0

Если Вы имели в виду название парадигмы программирования, когда множество операций сцепляется через точку - это цепочки, пришедшие из функционального программирования (представитель - язык Хаскель).

0

PascalABC.NET - это современный язык платформы Microsoft .NET Framework и ему доступно все, что есть в .NET. В частности, стандартная коллекция List - односвязный список со всеми его свойствами и методами.

0

Поэтому не надо корячится, изобретая "велосипед" - строить собственный класс List и описывать для него набор необходимых методов, а если не использовать объектно-ориентированное программирование - и того хуже - маяться с дурацкими указателями, изображая чуть ли не ассемблер.

0

Да, совсем забыл, если вводить с клавиатуры, то также не нужны строки L.AddRange(Seq(1, 6, 7, 3, 5)); и L.Println;

0

Спасибо большое, правда,очень помогли!

0

Пожалуйста...