Хелпикс

Главная

Контакты

Случайная статья





for i := 1 to N do. if (a[i] mod 16 = 15) and (a[i] > k) then. writeln(k);. for i := 1 to N do. if (a[i] mod 8 = 7) and (a[i] < k) then. if k = 10001 then. writeln(0). writeln(k);. for i := 1 to N do. if (a[i] mod 8 = 7) and. ((a[i] < k) or (k =



 

Ответы к задания из ЕГЭ (№ 25-2)

1) Если шестнадцатеричная запись числа заканчивается на F, это означает, что остаток от деления этого числа на 16 равен 15. Перед циклом перебора элементов массива нужно записать в переменную k, которая будет хранить максимальное подходящее значение, число 0. Если ни одного подходящего числа мы не найдем, в этой переменной останется 0 и он будет выведен в качестве результата. Заметьте, что по условию все числа положительные и нуля среди них быть не может.

k: = 0;

for i: = 1 to N do

if (a[i] mod 16 = 15) and (a[i] > k) then

k: = a[i];

writeln(k);

2) Эта задача полностью аналогична предыдущей, за исключением выбора начального значения для переменной k. Можно, например, использовать тот факт, что все значения элементов массива не превышают 10000. Сначала записываем в переменную k значение 10001 (или любое значение, большее 10000). Если это значение не изменится после работы цикла (не нашли ни одного подходящего числа), выводим 0.

k: = 10001;

for i: = 1 to N do

if (a[i] mod 8 = 7) and (a[i] < k) then

k: = a[i];

if k = 10001 then

writeln(0)

else

writeln(k);

Возможен другой вариант – сначала присвоить переменной k значение 0 и усложнить условие: будем изменять k, если значение подходящего элемента массива меньше k или k = 0. В этом случае не требуется ветвление при выводе результата, так как в переменной k останется 0, если ни одного подходящего значения не нашли.

k: = 0;

for i: = 1 to N do

if (a[i] mod 8 = 7) and

((a[i] < k) or (k = 0)) then

k: = a[i];

writeln(k);

3) Если восьмеричная запись числа содержит три цифры, то число находится в диапазоне [82; 83-1], то есть [64; 511]. В остальном решение аналогично решению задачи 51:

k: = 0;

for i: = 1 to N do

if (64 < = a[i]) and (a[i] < 512) and (a[i] > k) then



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.