Решение олимпиадных задач по информатике
Программа на Паскале, фрагмент которой приведен ниже, выводит индексы положительных элементов двумерного массива, произведение индексов которых четно. Какое логическое выражение вместо вопросительного знака в ветвлении необходимо указать:
…for i:=1 to n dofor j:=1 to m doif ? then writeln (i,j);…
В решениях приведенных ниже задач:
А."В строке, содержащей арифметическое выражение проверить, правильно ли расставлены скобки";
В."В картинной галерее работают сторожа. Для каждого сторожа известно время прихода на работу и время ухода. Определить, всегда ли галерея охраняется";
С."N отрезков на координатной прямой заданы координатами своих концов. Определить количество связных областей"
используются типовые алгоритмы:
Для решения приведенных ниже задач:
- В строке, содержащей арифметическое выражение проверить, правильно ли расставлены скобки;
- В картинной галерее работают сторожа. Для каждого сторожа известно время прихода на работу и время ухода. Определить, всегда ли галерея охраняется;
- N отрезков на координатной прямой заданы координатами своих концов. Определить количество связных областей.
необходимо воспользоваться типовыми алгоритмами:
В результате выполнения программы на Паскале, фрагмент которой приведен ниже заполняется квадратный массив:
… for i:=1 to (?) dofor j:=1 to i do x[i,j]:=1;…
Укажите выражение, которое должно стоять вместо вопросительного знака в заголовке цикла, чтобы квадратный массив заполнится таким образом:
В решениях приведенных ниже задач:
А."В строке, содержащей арифметическое выражение проверить, правильно ли расставлены скобки";
В."В картинной галерее работают сторожа. Для каждого сторожа известно время прихода на работу и время ухода. Определить, всегда ли галерея охраняется";
С."N отрезков на координатной прямой заданы координатами своих концов. Определить количество связных областей"
элементы массива флажков, отмечающих наступление-окончание события, на этапе заполнения начальных значений примут такие значения:
Какие шаги необходимо включить в словесный алгоритм для решения задачи: "В строке, содержащей арифметическое выражение проверить, правильно ли расставлены скобки" из предложенного набора:
A. исходные данные вводим в массив
B. массив Flag заполняется "1" (если имеющий такой же порядок элемент массива исходных данных соответствует началу события, связанного с этим данным), "-1" (соответствует окончанию события)
C. сортируем массив исходных данных, одновременно переставляя элементы массива Flag
D. суммируем элементы массива Flag. Анализируем сумму.
Определите результат работы фрагмента программы на Паскале:
…for i:=1 to 10 do a[i]:=i-1;z:=0; d:=0; h=1;for i:=1 to 10 do beginif i mod 2 <> 0 then z:=z+a[i]; if a[i] mod 3 = 0 then d:=d*a[i];if a[i] <= 0 then h:=h+1; end; write (z, ' ', d, ' ', h);…
Определите результат работы фрагмента программы на Паскале:
…for i:=1 to 10 do a[i]:=i-1;z:=0; d:=1; h:=1;for i:=1 to 10 do beginif i mod 2 <> 0 then z:=z+a[i]; if a[i] mod 3 = 0 then d:=d*a[i];if a[i] <= 0 then h:=h+1; end; write (z, ' ', d, ' ', h);…