Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
программирование лекции.doc
Скачиваний:
32
Добавлен:
03.12.2018
Размер:
4.85 Mб
Скачать

1.1.7 Вычисление и обработка результатов

Расчет по программе может выполнять оператор, даже незнакомый со спецификой программы. Ему должно быть известно, как запустить программу, как вести диалог, т.е. ему должны быть известны внешние характеристики программы. После расчетов осуществляется оценка полученных результатов.

Подобное разбиение на этапы подходит для разработки автономных программ и рассчитано на собственное использование. Когда программа разрабатывается в качестве комплексного программного продукта либо она автономна в разработке, но предназначена для использования другими лицами, то к данным этапам необходимо добавить и некоторые другие.

1.2 Формы записи алгоритмов

Слово «алгоритм» произошло от слова «алгоризм», обозначавшего совокупность правил выполнения четырех арифметических операций, и используется для названия точно определенной последовательности действий. В настоящее время это одно из важнейших понятий в программировании.

Алгоритм  это точное и понятное предписание исполнителю совершить определенную конечную последовательность действий для решения любой конкретной задачи из некоторого класса однотипных задач.

Существуют несколько способов описания алгоритмов, отличающихся друг от друга наглядностью, компактностью, степенью формализации. Рассмотрим некоторые из них, необходимые для работы программиста.

1.2.1 Словесное описание

Словесное описание алгоритмов ориентировано, прежде всего, на исполнителя-человека. Оно представляет собой средства обычного языка, но с тщательно отобранным набором слов и фраз, не допускающим повторений, синонимов, двусмысленностей, лишних слов. Кроме того, принимаются соглашения о форме записи, порядке выполнения действий. Допускается использование математических символов.

1.2.2 Запись алгоритма с помощью схем

Запись алгоритма с помощью схем предполагает изображение с использованием графических символов-блоков, каждый из которых предписывает исполнение определенных действий. Совокупность символов образуют схему алгоритма. Графические символы между собой соединяются линиями потока информации. Основное направление потока идет сверху вниз и слева направо. Учитывая это, стрелки на схемах, совпадающие с таким потоком информации, могут не проставляться. Правила выполнения схем алгоритмов регламентирует ГОСТ 19.002-80, а изображение символов устанавливает ГОСТ 19.003-80.

Ниже в таблице 1.1 приведены изображения наиболее часто употребляемых блоков и даны пояснения к ним.

Таблица 1.1  Графические обозначения, применяемые при составлении схем алгоритмов

Название символа

Символ

Отображаемая функция

Блок вычислений (процесс)

Вычислительное действие или последовательность вычислительных действий

Логический блок (решение)

Выбор направления выполнения алгоритма в зависимости от некоторых условий (условия)

Блоки ввода-вывода

Общее обозначение ввода или вывода данных (вне зависимости от физического носителя)

Вывод данных, носителем которых служит документ (печатающее устройство)

Начало-конец (вход-выход)

Начало или конец программы, останов, вход или выход в подпрограммах

Предопределенный процесс

(подпрограмма)

Вычисления по стандартной подпрограмме или подпрограмме пользователя

Блок модификации (заголовок цикла)

Выполнение действий, изменяющих пункты алгоритма

Соединитель

Указание связи между частями схемы в пределах одной страницы

Межстраничный

соединитель

Указание связи между частями схемы, расположенными на разных листах

По отношению к блоку линии потока могут быть входящими или выходящими. При большом количестве пересекающихся линий схема становится мало наглядной. В этих случаях допускается разрывать линии потока информации, размещая на обоих концах разрыва специальный символ «соединитель». Внутри символов, обозначающих разрыв одной и той же линии, помещается один и тот же маркер (буква, цифра и др.).

Если же схема располагается на нескольких листах, то переход линий потока с одного листа на другой обозначается с помощью символа «межстраничный соединитель». При этом на листе с блоком-источником соединитель содержит номер листа и координаты блока-приемника, а на листе с блоком-приемником – номер листа и координаты блока-источника.

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

При выполнении схем алгоритмов необходимо выдерживать минимальное расстояние 3 мм между параллельными линиями потоков и 5 мм между остальными блоками. Вычерчивая блоки, необходимо соблюдать соотношение между высотой b и шириной блока а (b=1,5а, при а=10,15,20,…мм).

Степень детализации схемы алгоритма определяется только потребностями программиста и ничем не регламентируется. Однако следует иметь в виду, что излишне общий характер схемы нежелателен из-за малой ее информативности, а очень детальная схема проигрывает в наглядности. Поэтому, особенно для сложных и больших алгоритмов, целесообразно составлять несколько схем различных уровней детализации. Схема первого уровня изображает весь алгоритм. Схемы второго уровня раскрывают логику отдельных блоков схемы первого уровня и т.д.

Рассмотрим примеры схем алгоритмов некоторых простейших задач.

Пример 1. Даны три числа a, b, с. Определить наибольшее из них и вывести его на экран.

Рисунок 1.1 – Схема алгоритма к примеру 1

На рисунке1.1 приведена схема алгоритма решения этой задачи, где показано, что после ввода трех исходных чисел выполняется сравнение первых двух: a и b. Наибольшее из них присваивается переменной Max. После чего переменная Max сравнивается с переменной c. В том случае, если Max<c, значение Max корректируется заменой его на значение с. В заключении найденное наибольшее значение из трех исходных чисел выводится на экран монитора.

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

Пример 2. Дано целое натуральное число N. Обеспечить вывод на экран всех простых чисел в диапазоне от M до N, где M < N.

Рисунок 1.2 – Схема алгоритма к примеру 2

Существует ряд подходов к решению этой задачи. Схема алгоритма одного из них дана на рисунке 1.2. На ней показано, что после ввода чисел M и N по очереди в возрастающем порядке перебираются все натуральные числа от M до N. Перебор осуществляется с помощью цикла, где управляющей переменной является А. Каждое значение А подвергается целочисленному делению с определением остатка на все числа, лежащие в диапазоне от 2 до А / 2. Если остаток от деления равен нулю, происходят выход из внутреннего цикла и переход к следующему значению А. Если же внутренний цикл отработает полностью все свои итерации, значит С=0 не было получено ни разу, а, следовательно, данное значение А является простым числом и оно выводится на печать.