Теория:

Для решения задания № \(15\) ОГЭ по информатике подходят \(3\) современных языка программирования: Python, \(C++\) и Java. У каждого из данных языков программирования есть свои достоинства и недостатки, мы рассмотрим решение задания с использованием языка Python.
Python — это современный язык программирования, работающий на всех распространённых операционных системах.
Перед началом работы необходимо скачать интерпретатор Python с официального сайта www.python.org. В разделе Download можно скачать последнюю версию, подходящую для операционной системы на твоём ПК. После открытия установщика нужно нажать Install Now, и программа автоматически установится.
Если в твоей программе присутствуют вычисления, то лучше не записывать их в виде одного длинного выражения, а вычислять его значения по частям, используя переменные для хранения промежуточных результатов.
Переменная — это некоторая ячейка в памяти, в которой хранится какое-то значение любого из возможных типов (например, число или строка). В переменную можно записать какое-то значение (это называется «присвоить переменной значение»).
Для присваивания значения переменной используется операция \(=\), где слева от знака присваивания записывается имя переменной, справа — присваиваемое значение, которое может быть числом, строкой, другой переменной, каким-то выражением.
Значение переменной можно использовать при вычислениях или вывести его на экран при помощи функции print().
Имя переменной (также называется идентификатором) может состоять из букв, цифр и символа подчёркивания, первым символом обязательно идёт буква или символ подчёркивания.
В языке Python допускаются буквы не латинского алфавита в качестве имён переменных, но лучше ограничиваться только латинскими символами.
 
Обрати внимание!
Если мы присваиваем переменной a значение, равное \(5\), то переменная будет иметь значение типа int, который используется для целых чисел.
При умножении, вычитании и сложении чисел этого типа мы получаем числа того же типа.
При выполнении операции деления результатом будет дробное число.
Если переменной b присвоить значение \(10 / 2\), при выводе на экран результата увидим число \(5.0\), которое равно числу \(5\), но имеет другой тип.
Переменная b имеет значение типа float. Это специальный тип данных для представления дробных чисел, и при умножении, вычитании и сложении чисел этого типа мы получаем числа того же типа.
Цикл for, также называемый циклом с параметром, в языке Python богат возможностями.
В цикле for указывается переменная и множество значений, по которому будет пробегать переменная.
Множество значений может быть задано списком.
Вот простейший пример использования цикла, где на экран выводятся квадраты пяти простых чисел.
Пример:
\(for~ i~in~2, 3, 5, 7, 11:\)
    \(print(i **2)\)
Пример цикла for с проверкой условия, выводящий все числа от \(1\) до \(99\), которые не делятся на \(3\).
Пример:
\(for~i~in~range(1, 100):\)
    \(if ~i  \%3!=0:\)
        \(print(I)\)
С помощью цикла for решаются задачи, обрабатывающие последовательности числовых данных с известным числом элементов. В цикле for мы явно указываем, какие значения будет принимать переменная i (например, от \(1\) до \(10\)).
Если же число элементов последовательности заранее неизвестно, а ввод ограничен тем или иным образом, такие задачи можно решать, используя цикл while.
Цикл while (пока) — это так называемый цикл с условием или с предусловием.
При выполнении цикла while сначала проверяется условие.
Пока условие истинно, выполняются все инструкции из блока.
Как только условие становится ложным, работа цикла завершается, и управление передаётся следующей инструкции после цикла.
Синтаксис цикла while в простейшем случае выглядит так:
while  условие:
    блок инструкций
Рассмотрим пример такой задачи.
 
Дана последовательность натуральных чисел, заканчивающаяся нулём.
Требуется найти произведение и количество этих чисел (ноль не должен участвовать в подсчёте количества и нахождении произведения).
Решение может выглядеть так:
\(count = 0\)  
\(prod = 1\)   
\(elem\) \(= int(input())\) 
\(while\) \(elem\) \(!= 0:\) 
    \(count += 1\) 
    \(prod\) \(*= elem\)  
    \(elem\) \(= int(input())\) 
\(print(prod)\)   
\(print(count)\)   
/ переменная для подсчёта количества чисел
/ переменная для подсчёта произведения чисел
/ считываются элементы вводимых чисел
/ пока не встретим \(0\)
/ количество чисел увеличиваем на \(1\)
/ произведение домножаем на это число
/ читаем следующий элемент
/ по завершении цикла печатаем произведение чисел
/ по завершении цикла печатаем количество чисел