Найти в Дзене

Алгоритмы ввода последовательности с клавиатуры - 16 задание ОГЭ по информатике

В 16-м задании ОГЭ по информатике необходимо организовать пользовательский ввод последовательности чисел с клавиатуры. В данной статье рассматривается реализация двух подходов к решению этой задачи. Существует два основных подхода к организации ввода последовательности чисел с клавиатуры. Первый подход заключается в том, что пользователь сначала вводит количество чисел в последовательности, а затем вводит сами числа. Таким образом вводится последовательность с заранее известным количеством элементов. Второй подход же заключается в вводе чисел до тех пор, пока в последовательности не появится триггер, обозначающий конец ввода. Обычно в роли такого триггера в задании 16 ОГЭ выступает число 0. Второй подход позволяет ввести последовательность, количество чисел в которой заранее неизвестно. Каждый из подходов удобнее реализовывать через свой цикл. Цикл с счётчиком (цикл for) используется для реализации первого подхода. Цикл с условием (цикл while) - для реализации второго. Алгоритм закл
Оглавление

В 16-м задании ОГЭ по информатике необходимо организовать пользовательский ввод последовательности чисел с клавиатуры. В данной статье рассматривается реализация двух подходов к решению этой задачи.

Подходы к организации ввода последовательности

Существует два основных подхода к организации ввода последовательности чисел с клавиатуры.

Первый подход заключается в том, что пользователь сначала вводит количество чисел в последовательности, а затем вводит сами числа. Таким образом вводится последовательность с заранее известным количеством элементов.

Второй подход же заключается в вводе чисел до тех пор, пока в последовательности не появится триггер, обозначающий конец ввода.

Обычно в роли такого триггера в задании 16 ОГЭ выступает число 0.

Второй подход позволяет ввести последовательность, количество чисел в которой заранее неизвестно.

Каждый из подходов удобнее реализовывать через свой цикл. Цикл с счётчиком (цикл for) используется для реализации первого подхода. Цикл с условием (цикл while) - для реализации второго.

Алгоритм ввода заранее известного количества чисел (первый подход)

Алгоритм заключается в следующем:

1. Пользователь указывает количество элементов будущей последовательности (количество чисел).

-2

2. Цикл for перебирает все числа в полуинтервале [0; k). Таким образом, цикл for выполнит ровно k итераций - столько раз, сколько чисел указал пользователь.

-3

3. Внутри итерации цикла реализуется ввод элемента последовательности. Таким образом, цикл for позволит ввести ровно k элементов.

-4

Замечание:

Элементы последовательности не сохраняются в памяти на долгое время. Переменная a обновляется каждую итерацию цикла. По этой причине дальнейшая работа с элементами последовательности осуществляется внутри цикла

Реализация алгоритма

Визуализация алгоритма:

Блок-схема
Блок-схема
Код на Python
Код на Python

Алгоритм ввода чисел до появления триггера (второй подход)

Для реализации алгоритма используется бесконечный цикл.

"Бесконечный цикл" - это цикл while, в котором в качестве условия передаётся высказывание, которое принципиально не может оказаться ложным. В Python бесконечный цикл можно реализовать очень просто:

-7

В таком цикле итерации будут выполняться до тех пор, пока внутри одной из них не сработает оператор прерывания цикла - break.

Алгоритма подхода:

1. Создаём бесконечный цикл while.

2. Внутри итерации цикла вводим элемент последовательности (число)

-8

3. Проверяем, является ли введённый элемент последовательности триггером. Например, если триггер - это число "0", то проверяем, равняется ли введённое число нулю. Если равняется, то прерываем цикл

-9

Замечание:

else не требуется, так как break мгновенно прерывает итерацию

Реализация алгоритма

Блок-схема:

-10

Код на Python:

-11

Как определить, где какой алгоритм использовать

Чтобы понять, какой из двух подходов нужно использовать для решения 16-й задачи, нужно посмотреть на то, как вводятся числа.

Если пользователь сначала вводит количество чисел, а потом сами числа, то это первый подход - используй цикл for.

-12

Если числа вводятся до тех пор, пока не будет введен триггер (обычно "0"), то это второй подход - используй цикл while.

-13

Заключение

Мы рассмотрели два подхода к организации ввода последовательности элементов (чисел). В практически всех задачах 16-го номера нужно реализовать либо первый алгоритм, либо второй.

В дальнейшем будут рассмотрены работа с счётчиками и нахождение минимального/максимального элемента последовательности.