База ответов ИНТУИТ

Программирование на языке Pascal

<<- Назад к вопросам

Какую операцию реализует приведенный ниже программный отрывок?
for i:= 1 to N do  set_res[i]:= set1[i] or set2[i]

(Отметьте один правильный вариант ответа.)

Варианты ответа
пересечение двух множеств, заданных битовым массивом
разность двух множеств, заданных битовым массивом
объединение двух множеств, заданных битовым массивом(Верный ответ)
Похожие вопросы
Какую операцию реализует приведенный ниже программный отрывок?
for i:= 1 to N do  set_res[i]:= (set1[i] or set2[i])and not set2[i]
Какую операцию реализует приведенный ниже программный отрывок?
for i:= 1 to N do  set_res[i]:= set1[i] and set2[i]
Какой стандартной функции или процедуре обработки строк эквивалентен следующий программный отрывок?
{s: string; i,k,t: byte}res:= ''; t:= length(s);if i > t then i:= t+1;for j:= 1 to i-1 do res:= res + s[j];for j:= i+k-1 to t do res:= res + s[j];
Какой стандартной функции или процедуре обработки строк эквивалентен следующий программный отрывок?
{s: string; i,k,t: byte}res:= ''; 	t:= byte(s[0]);if k+i > t+1 then k:= t-i;if i <= t  then for j:= i to i+k do res:= res + s[j];
Какой стандартной функции или процедуре обработки строк эквивалентен следующий программный отрывок?
{s1,s2: string; i,j,t1,t2: byte}i:=0;res:= '';	t1:= byte(s1[0]);t2:= byte(s2[0]);if i > t2 then i:= t2+1;for j:= 1 to i-1 do res:= res + s2[j];for j:= 1 to t1 do res:= res + s1[j];for j:= i to t2 do res:= res + s2[j];
Какой оператор нужно вставить вместо [???], чтобы приведенный ниже отрывок программы правильно менял местами третий и четвертый элементы двусвязного линейного списка, заданного указателем на голову head?
{type ssylka = ^spisok;      spisok = record znach: array[1..1000]of integer;                      next,prev: ssylka               end;var head,p: ssylka;}p:= head^.next^.next;p^.prev^.next:= p^.next;p^.next:= p^.next^.next;p^.prev^.next^.next:= p;p^.next^.prev^.prev:= p^.prev; [???];p^.prev:= p^.prev^.next;
Какой оператор нужно вставить вместо [???], чтобы приведенный ниже отрывок программы правильно создавал двусвязный линейный список, получая значения из непустого текстового файла f?
{type ssylka = ^spisok;      spisok = record znach: integer;                      next,prev: ssylka               end;var head,p: ssylka;}new(head);read(f,head^.znach);head^.prev:= nil;p:= head;while not eof(f) do   begin    new(p^.next);    read(f,p^.next^.znach);    [???];   end;p^.next:= nil;p:= tail;
Двусвязный линейный список задан указателем на голову head и указателем на хвост tail. Какой оператор необходимо вставить вместо [???], чтобы приведенный ниже отрывок программы правильно удалял из этого списка все элементы со значением 0?
{type ssylka = ^spisok;      spisok = record znach: integer;                      next,prev: ssylka               end;var head,p,q: ssylka;}while (head<>nil)and(head^.znach =0)do  begin p:= head;        head:= head^.next;        dispose(p);  end;if head<>nil then begin head^.prev:= nil;            p:= head;            while p^.next <> nil do             if p^.next^.znach = 0                then begin q:= p^.next;                          p^.next:= q^.next;                          if p <> tail then [???];                          dispose(q);                    end               else p:= p^.next;      end  else tail:= nil;
Какой метод сортировки реализует этот фрагмент программы?
for i:= 2 to N do  begin x:= a[i]        for j:= i-1 downto 1 do          if a[j]>x then a[j+1]:= a[j]                      else break        a[j+1]:= x;  end;
Какой алгоритм реализует приведенная ниже программа?
const nnn = 10000;type uk = ^ukk;     ukk = record v: integer;                  next: uk;              end;var head: array[1..nnn] of uk;    a: array[1..nnn] of integer;    ii,i,j,k,n: integer;    q,p: uk;    f: text;procedure dob(ii,jj: integer); {добавление ребра}var pp,qq: uk;begin new(qq); qq^.v:=jj; qq^.next:=nil; if head[ii]=nil  then head[ii]:=qq     {вставка первого}  else begin            {вставка остальных}        pp:=head[ii];        while pp^.next<>nil do pp:=pp^.next;        pp^.next:=qq;       end;end;begin{------- считывание графа ------------} ... readln(f,n);	{кол-во вершин в графе} while not eof(f) do  begin   read(f,i,j);   if i<>j then begin                 dob(j,i);                 dob(i,j);                end;  end;{--------- инициация массива ---------} for i:=1 to n do begin                       head[i]:=nil;                       a[i]:=0;                      end;{------- основная часть -------------} k:=0;     i:=1; repeat  k:=k+1;  a[i]:=k;  p:=head[i];  while p<>nil do   begin    j:=p^.v;    a[j]:=k;    if (head[j]<>nil) and (i<>j)     then begin           q:=p;           while q^.next<>nil do q:=q^.next;           q^.next:=head[j];           head[j]:=nil;          end;    p:=p^.next;   end;  i:=i+1;  while (head[i]=nil) and (i<=n) do i:=i+1; until i=n+1;  for i:=1 to n do  if a[i]=0 then k:=k+1;  writeln(k); {выдача результата}end.