Разбор 25 задания демонстрационной версии ЕГЭ по информатике 2016

Разбор 25 задания демонстрационной версии ЕГЭ по информатике 2016

Разбор типовой задачи ЕГЭ по информатике под номером 25 из ЕГЭ за 2016 год. Очень похожее задание было и в ЕГЭ 2017 года. На данный момент существует довольно много вариантов ЕГЭ по информатике, но они имеют схожую структуру.  Разбор 8 задания из ЕГЭ можно найти по этой ссылке.

Дан целочисленный массив из 20 элементов. Элементы массива могут принимать целые значения от –10 000 до 10 000 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести количество пар элементов массива, в которых хотя бы одно число делится на 3. В данной задаче под парой подразумевается два подряд идущих элемента массива. 

Исходные данные объявлены так, как показано ниже на примерах для некоторых языков программирования. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать некоторые из описанных переменных.

Поскольку ZedPost.Ru из представленных языков программирования представляет только Паскаль, то ниже мы публикуем только код на Pascal: 

const 
    N = 20; 
var 
    a: array [1..N] of integer; 
    i, j, k: integer; 
begin 
    for i := 1 to N do 
        readln(a[i]); 
   … 
end.
 
Решение поставленной задачи:
Необходимо отыскать количество таких пар (соседних элементов) массива, в которых есть ходябы один элемент, делящийся на 3 (mod 3 = 0).
Приведем пример таких элементов.
Пусть есть массив:
1 2 3 4 5
7 15 14 6 1
Подходящими парами будут элементы: [7 15], [15 14], [14 6], [6 1]. Количество пар подходящих элементов равно 4-м.
 
Проверку будем производить с помощью цикла с параметром FOR. Для решения поставленной задачи нам нужно проверить на кратность трем текущий и следующий элемент. Чтобы небыло выхода за предела массива цикл необходимо делать от 1 до n-1. Счетчиком цикла будет переменая i. Для того, чтобы подсчитывать количество нам потребуется переменная k. Её нужно занулить перед циклом и при положительном результате проверки на кратность её необходимо увеличивать на 1 с помощью функции inc. После прохождения цикла нужно вывести количество пар на экран с помощью функции writeln.
 
В заданиях ЕГЭ бывает такое, что какая-то предложенная переменная не используется. В данном случа не используется переменная j.
 
Обратите внимание, что в ответе необходимо написать только алгоритм (часть программы), а не весь код программы.
 
Ответ:  
k:=0; //Зануление счетчика пар
for i:=1 to n-1 do //Цикл перебора, с i от 1 до n-1
if (a[i] mod 3 = 0) or (a[i+1] mod 3 = 0) then //если a[i] или a[i+1] кратно 3
inc(k); //то k увеличивается на 1
writeln(k); //Вывод k на экран 
Автор: от 2017-08-01 21:25:14   Просмотров: 548