Алгоритм

Всякому вводимому с клавиатуры числу должен предшествовать запрос на дисплее: что вводить и в какой форме. Как и любое значение, вводимое пользователем с клавиатуры, количество чисел (N) должно контролироваться на допустимость введенной величины.

Если введено недопустимое значение, требуется выполнить два действия: сообщить об этом и вернуться на запрос нового значения N. Возврат назад возможен двумя способами: командой перехода на метку, поставленную перед оператором запроса или оператором итеративного цикла, причем цикла с "постусловием", так как один раз цикл должен выполниться обязательно.

В данном случае используем первый способ, и потому в программе появляется еще один объект – метка. Дадим ей имя vvod.

Кроме того, дадим имя нашей программе, например laborator_N_3. В результате в таблице имен добавится две строки:

 

Таблица 14. Окончание таблицы идентификаторов

Имя Тип Р-р, байт Назначение
laborator_N_3 Имя программы - Поиск номера определенного числа
vvod Метка - Возврат по ошибке ввода

Раздел поиска номера обычно включает подготовку и цикл поиска. Так как количество чисел известно, используется арифметический цикл. В тело цикла входит получение очередного числа и, если нужно, запоминание его номера. Если встретится хотя бы одно число, удовлетворяющее условию превышения значения 10.5, номер будет найден, иначе нужно иметь признак, что такого числа не встретилось. В качестве такого признака можно использовать переменную Num, в которую перед циклом поиска заносится значение, невозможное для номера числа: например, –1. Если после цикла Num останется равным –1, следовательно, искомых чисел не встретилось.

Таким образом, раздел поиска включает присваивание начального значения переменной Num и цикл, тело которого содержит запрос ввода очередного числа, прием и занесение его в переменную для текущего числа A; проверку, что A>10.5, и если так, запоминание текущего номера в переменной Num. Цикл поиска нужно вести до конца, так как нас интересует последнее число, удовлетворяющее условию выбора.

По окончании раздела поиска, в разделе вывода результатов, печатается найденный номер Num, если он не равен –1, иначе выдается сообщение об отсутствии чисел, удовлетворяющих условию задачи. Построение алгоритма здесь приведено очень подробно, чтобы пояснить весь ход рассуждений. В последующих работах примеры построения алгоритмов будут даваться в укрупненном виде – т.е. только основные идеи. Для разработки алгоритма стоит обратиться к материалам лекции по структурному программированию.

 

Рисунок 6. Алгоритм 31-го варианта

На основании построенного алгоритма можно написать текст программы, причем таблица идентификаторов используется для создания раздела описаний, а алгоритм – для выполняемого блока. При написании учтем требования к оформлению текста программы.

Получим следующую программу на Паскале.