Решение олимпиадных задач по информатике
В результате выполнения программы на Паскале, фрагмент которой приведен ниже, массив Flag будет содержать:
В результате выполнения программы на Паскале, фрагмент которой приведен ниже, массив Flag будет содержать:
…for i:=1 to 10 do begin a[i]:=i; flag[i]:=0;endfor i:=2 to 10 div 2 do if flag[i]=0 then for j:=i+1 to 10 do if (a[j] mod a[i]=0) then flag[j]:=1;…
В результате выполнения программы на Паскале, фрагмент которой приведен ниже, массив Flag будет содержать:
…readln (n);for i:=1 to n do a[i]:=i;for i:=2 to n div 2 do if flag[i]=0 then for j:=i+1 to n do if (a[j] mod a[i]=0) then flag[j]:=1;…
В результате выполнения программы на Паскале, фрагмент которой приведен ниже, на экран выведутся:
…readln (n);for i:=1 to n do a[i]:=i;for i:=2 to n div 2 do if flag[i]=0 then for j:=i+1 to n do if (a[j] mod a[i]=0) then flag[j]:=1;for i:=2 to n do if flag[i]=0 then writeln (a[i])…
Что выведется на экран в результате работы программы, фрагмент которой приведен ниже:
… stroka:='(5+y)*(x-4)'; n:=length (stroka); s:=0; for i:=1 to n do begin a[i]:=copy(stroka, i, 1); flag[i]:=0; end; for i:=1 to n do begin if a[i]="(" then flag [i]:=1; if a[i]=")" then flag [i]:=-1; end; for i:=1 to n do begin s:=s+flag [i]; if s<0 then x:=1; end; if (s=0) and (x=0) then writeln ('верно') else writeln ('неверно');…
В результате работы программы, фрагмент которой приведен ниже, идет проверка правильности расстановок скобок в арифметическом выражении. Что будет результатом работы программы, если в данном выражении (например: ) избыточное количество скобок:
… n:=length (stroka); s:=0; for i:=1 to n do begin a[i]:=copy(stroka, i, 1); flag[i]:=0; end; for i:=1 to n do begin if a[i]="(" then flag [i]:=1; if a[i]=")" then flag [i]:=-1; end; for i:=1 to n do begin s:=s+flag [i]; if s<0 then x:=1; end; if (s=0) and (x=0) then writeln ('верно') else writeln ('неверно');…
В результате работы программы, фрагмент которой приведен ниже, идет проверка правильности расстановок скобок в арифметическом выражении. Что будет результатом работы программы, если в данном выражении (например: избыточное количество скобок:
… n:=length (stroka); s:=0; for i:=1 to n do begin a[i]:=copy(stroka, i, 1); flag[i]:=0; end; for i:=1 to n do begin if a[i]="(" then flag [i]:=1; if a[i]=")" then flag [i]:=-1; end; for i:=1 to n do begin s:=s+flag [i]; if s<0 then x:=1; end; if (s=0) and (x=0) then writeln ('верно') else writeln ('неверно');…
…j:=0; k:=0; n:=9;for i:=1 to n do x[i]:=i;for i:=1 to n do if x[i] mod 2<>0 then begin j:=j+1; y[j]:=i; end;…
В результате выполнения программы на Паскале, фрагмент которой приведен ниже, переменная S будет содержать:
…n:=8; k:=n div 2; s:=1;for i:=1 to n do begin x[i]:=i; j:=i div 2 + 1; y[j]:=j*2; end;for i:=1 to k do s:=s*x[y[i]]; …
В результате выполнения программы на Паскале, фрагмент которой приведен ниже, в массив Х вводятся числа: 1, 8, 12, 3, 5, 4. Сумма элементов массива У будет равна:
…j:=1; k:=0; n:=6;for i:=1 to n do if x[i] mod 2=0 then begin y[j]:=i; j:=j+1; end;…
Ниже приведен фрагмент программы, реализующий алгоритм решения задачи: "N отрезков на координатной прямой заданы координатами своих концов. Определить количество связных областей":
…//заполнение массива a (координаты концов отрезка), массива flag ("1" и "-1")…//сортировка массива а с перестановкой элементов массива flag (в соответствии с перестанавливаемыми элементами массива а) …for i=1 to 2*n do begin s:=s+flag [i]; if s=0 then k:=k+1; end;writeln ('количество связных областей', k);…
Сколько связных областей дадут два отрезка, имеющие одну общую координату (начало одного совпадает с концом другого)?