HOHOL666
29.04.2023 15:23

1. Выполнить сортировку списка по полю Отдел и по Фамилии.
2. Установить Автофильтр. Выполнить фильтрацию данных – сотрудники только 3 отдела. Результат скопировать на Лист 2.
3. Работа с настраиваемым фильтром.
a. Вывести список 5 самых молодых сотрудников организации.
b. Вывести список из 3 самых высокооплачиваемых сотрудников.
c. Вывести список сотрудников с окладом от 500$ до 700$.
4. Расширенный фильтр
a. Создать список всех сотрудников, фамилии которых начинаются на букву К.
b. Создать список сотрудников 1 и 2 отделов с окладом более 500$.
c. Создать список штатных сотрудников 4 отдела с высшим образованием.
d. Создать список инженеров и техников со стажем работы более 5 лет.
e. Определить количество сотрудников с окладом от 500$ до 700$.
5. Сформировать список по результатам выборки и по указанным полям. Результаты скопировать на Лист 2.
a. Список юристов с окладом более 500$ и стажем более 3 лет.
b. Выбрать женщин 1 отдела с детьми.
c. Список сотрудников, которые не получают никаких надбавок. Список должен содержать поля Фамилия, Отдел.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
Was1231
22.07.2022 19:28
// Использование указателей для создания односвязного списка
// Сделано на базе демонстрационного примера PascalABC.Net
//
// PascalABC.NET 3.2, сборка 1325 от 19.10.2016
type
  PNode=^TNode;
  TNode=record
    data:integer;
    next:PNode;
  end;

function NewNode(d:integer;n:PNode):PNode;
begin
  New(Result);
  Result^.data:=d;
  Result^.next:=n;
end;

procedure WriteNode(a:PNode);
// Вывод односвязного списка
begin
  Writeln('Содержимое односвязного списка: ');
  var p:=a;
  while p<>nil do begin
    Write(p^.data,' ');
    p:=p^.next;
    end;
  Writeln
end;

function SeekNode(k:integer;a:PNode):PNode;
// Поиск элемента со значением k в списке
begin
  var p:=a;
  Result:=Nil;
  while p<>nil do begin
    if p^.data=k then begin Result:=p; break end;
    p:=p^.next
    end
end;

function PredNode(a,f:PNode):PNode;
// Поиск предшественника f среди a
begin
  var p:=a;
  while p^.next<>f do p:=p^.next;
  Result:=p
end;

procedure Clear(a:pNode);
// Разрушение односвязного списка
begin
  var p:=a;
  while p<>nil do begin
    var p1:=p;
    p:=p^.next;
    Dispose(p1); // Память обязательно возвращать
    end
end;

var
  first,found,father,grandfather,greatgrandfather:PNode;
 
begin
  Randomize;
  first:=nil;
  for var i:=1 to 10 do
    first:=NewNode(Random(100),first);
  WriteNode(first); // первоначальное состояние списка
  var k:=ReadInteger('Введите число для поиска в списке');
  found:=SeekNode(k,first);
  if found<>nil then begin
    father:=PredNode(first,found); // отец
    grandfather:=PredNode(first,father); // дед
    greatgrandfather:=PredNode(first,grandfather); // прадед
    greatgrandfather^.next:=father;
    Writeln('Элемент ',grandfather^.data, ' удален');
    Dispose(grandfather);
    WriteNode(first);
    k:=ReadInteger('Введите число для вставки');
    father^.next:=NewNode(k,found);
    WriteNode(first);
    end
  else Writeln('Такого числа в списке нет');
  Clear(first)
end.  

Пример
Содержимое односвязного списка:
11 75 44 86 88 83 92 18 4 23
Введите число для поиска в списке 88
Элемент 44 удален
Содержимое односвязного списка:
11 75 86 88 83 92 18 4 23
Введите число для вставки 40
Содержимое односвязного списка:
11 75 86 40 88 83 92 18 4 23
0,0(0 оценок)
Ответ:
daniilmosl
22.07.2022 19:28
// PascalABC.NET 3.2, сборка 1482 от 12.06.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var n:=ReadInteger('Количество строк в матрице:');
  var m:=ReadInteger('Количество столбцов в матрице:');
  var a:=new real[n,m]; // создали матрицу
  var s:=SeqRandom(m,1000,9999).Select(x->x/100); // шаблон случайной строки
  for var i:=0 to n-1 do a.SetRow(i,s.ToArray); // заполнили матрицу
  Writeln('*** Исходная матрица [',n,',',m,'] ***');
  a.Println(6,2); Writeln(6*a.ColCount*'-');
  // собственно, поиск нужного элемента
  var r:=a.Rows.Select((x,i)->(x.Select((y,j)->(y,j))
    .MinBy(y->y[0]),i)).MaxBy(x->x[0][0]);
  Writeln('Искомый элемент A[',r[1]+1,',',r[0][1]+1,']=',r[0][0])
end.

Пример
Количество строк в матрице: 4
Количество столбцов в матрице: 7
*** Исходная матрица [4,7] ***
 95.22 17.16 14.35 66.27 20.10 91.88 67.96
 20.80 32.71 45.44 35.80 20.17 58.59 24.22
 93.03 93.99 18.30 75.80 65.47 97.14 56.24
 16.95 73.12 48.54 75.72 91.90 67.95 95.71

Искомый элемент A[2,5]=20.17
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота