Пример сценария 3

Вопрос с выбором ответа:

Какой уровень в модели OSI находится непосредственно $(Location) $(Layer)?

Варианты ответов:

  • $(r) (верный)
  • $(d1)
  • $(d2)
  • $(d3)
  • $(d4)
  • $(d5)

Сценарий:

var
  l: array [0..6] of array [0..1] of String;
  Location, Layer, r, d1, d2, d3, d4, d5: String;
  n, Offset, k: Integer;
 
function GetLayer(m: Integer): String;
begin
  Result := l[m mod 7][1];
end;
 
begin
  l[0][0] := 'физическим уровнем';
  l[1][0] := 'канальным уровнем';
  l[2][0] := 'сетевым уровнем';
  l[3][0] := 'транспортным уровнем';
  l[4][0] := 'сеансовым уровнем';
  l[5][0] := 'уровнем представления';
  l[6][0] := 'прикладным уровнем';
 
  l[0][1] := 'физический';
  l[1][1] := 'канальный';
  l[2][1] := 'сетевой';
  l[3][1] := 'транспортный';
  l[4][1] := 'сеансовый';
  l[5][1] := 'представления';
  l[6][1] := 'прикладной';
 
  n := Random(7); { 0...6 }
  Layer := l[n][0];
 
  if n = 0 then
    Offset := 1
  else if n = 6 then
    Offset := -1
  else
  begin
    Offset := Random(2); { 0...1 }
    if Offset = 0 then
      Offset := -1;
  end;
 
  if Offset = 1 then
  begin
    Location := 'над';
    k := n + 1;
  end
  else
  begin
    Location := 'под';
    k := n;
  end;
 
  r := l[n + Offset][1];
  d1 := GetLayer(k + 1);
  d2 := GetLayer(k + 2);
  d3 := GetLayer(k + 3);
  d4 := GetLayer(k + 4);
  d5 := GetLayer(k + 5);
end.