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

Решение олимпиадных задач по информатике

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

Приведенный ниже фрагмент программы на Паскале реализует алгоритм заполнения Арифметического квадрата.

…for i:=1 to n do for j:=1 to n do begin a[i,j]:=1; a[i,j]:=1; end;for i:=2 to n do for j:=2 to n do a[i,j]:=a[i-1,j]+a[i,j-1];…

Что в нем стоит изменить?

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

Варианты ответа
программа работает неэффективно, так как происходит заполнение не только первой строки и первого столбца единицами, но и всего массива((Верный ответ)
в одном теле цикла нельзя обращаться к элементам первой строки и первого столбца одновременно
программа полностью соответствует типовому алгоритму заполнения арифметического квадрата
первая строка и первый столбец должны быть заполнены числами натурального ряда, а не единицами
Похожие вопросы

Приведенный ниже фрагмент программы на Паскале реализует алгоритм заполнения Арифметического квадрата.

…for i:=1 to n dobegin a[i,1]:=1; a[1,i]:=1;end;for i:=1 to n do for j:=1 to n do a[i,j]:=a[i-1,j]+a[i,j-1];…

Найдите в нем ошибку:

Приведенный ниже фрагмент программы на Паскале реализует алгоритм заполнения Арифметического квадрата.

…for i:=1 to n dobegin a[i,1]:=i; a[1,i]:=i;end;for i:=2 to n do for j:=2 to n do a[i,j]:=a[i-1,j]+a[i,j-1];…

Найдите в нем ошибку:

Предположим, что есть программа на Паскале, реализующая заполнение Арифметического квадрата порядка nxn. Для вывода на экран "Треугольника Паскаля" в программу дописали фрагмент:

…for i:=1 to n do begin for j:=1 to ? do write (a[i,j]); writeln; end;…

Какое значение необходимо написать в заголовке внутреннего цикла вместо знака вопроса?

В каком направлении идет заполнение двумерного массива в 2-ом вложенном цикле по i, в результате выполнения программы на Паскале, фрагмент которой приведен ниже:

… x:=1;for k:=1 to n div 2 do begin for i:=k to n-k do  begin a[k,i]:=x; x:=x+1; end; for i:=k to n-k do  begin a[i,n-k+1]:=x; x:=x+1; end; for i:=k to n-k do  begin a[n-k+1,n-i+1]:=x; x:=x+1; end; for i:=k to n-k do  begin a[n-i+1,k]:=x; x:=x+1; end;end; …

В каком направлении идет заполнение двумерного массива в 3-ем вложенном цикле по i, в результате выполнения программы на Паскале, фрагмент которой приведен ниже:

… x:=1;for k:=1 to n div 2 do begin for i:=k to n-k do  begin a[k,i]:=x; x:=x+1; end; for i:=k to n-k do  begin a[i,n-k+1]:=x; x:=x+1; end; for i:=k to n-k do  begin a[n-k+1,n-i+1]:=x; x:=x+1; end; for i:=k to n-k do  begin a[n-i+1,k]:=x; x:=x+1; end;end; …

В каком направлении идет заполнение двумерного массива в 1-ом вложенном цикле по i, в результате выполнения программы на Паскале, фрагмент которой приведен ниже:

… x:=1;for k:=1 to n div 2 do begin for i:=k to n-k do  begin a[k,i]:=x; x:=x+1; end; for i:=k to n-k do  begin a[i,n-k+1]:=x; x:=x+1; end; for i:=k to n-k do  begin a[n-k+1,n-i+1]:=x; x:=x+1; end; for i:=k to n-k do  begin a[n-i+1,k]:=x; x:=x+1; end;end; …

В результате выполнения программы на Паскале, фрагмент которой приведен ниже, произойдет следующее:

… j:=1; k:=0; for i:=1 to n do  if x[i] >0 then   begin   y[j]:=i; j:=j+1; k:=k+1;   end; for j:=k downto 2 do  for i:=1 to j-1 do   if x[y[i]]<x[y[i+1]] then 	begin	z:=x[y[i]]; x[y[i]]:=x[y[i+1]]; x[y[i+1]]:=z;	end;…

В результате выполнения программы на Паскале, фрагмент которой приведен ниже, произойдет следующее:

… j:=1; k:=0; for i:=1 to n do  if x[i] mod 2=0 then    begin	y[j]:=i; j:=j+1; k:=k+1;	end; for j:=k downto 2 do  for i:=1 to j-1 do   	if x[y[i]]>x[y[i+1]] then 	 begin	 z:=x[y[i]]; x[y[i]]:=x[y[i+1]]; x[y[i+1]]:=z;	 end;…

Предскажите результат выполнения программы на Паскале (фрагмент ниже):

…a:='1234'; n:=length(a);while (n>1) do begin s:=0; for i:=1 to n do  begin  val (copy(a,i,1),x,k); s:=s+x;  end; str(s,a); n:=length(a); end;writeln (s);…

В результате выполнения программы на Паскале, фрагмент которой приведен ниже, в переменной M будет находиться:

…j:=0; m:=1; n:=10;for i:=1 to n do x[i]:=i;for i:=1 to n do  begin if x[i] mod 3=0 then  begin  j:=j+1; y[j]:=i;   end; end;for i:=1 to j do m:=m*x[y[i]]; …