Добавил:
Education Must Be Free Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторные работы / LR_2_Razrabotka_algoritma_vypolnenia_programmy.docx
Скачиваний:
13
Добавлен:
22.09.2021
Размер:
237.64 Кб
Скачать
    1. Правила оформление Блок-схемы

Расстояние между параллельными линиями потоков должно быть не менее 3 мм , между остальными элементами схемы – не менее 5 мм .

Горизонтальный и вертикальный размеры блока должны быть кратны 5 мм (делиться на 5 нацело). Отношение горизонтального и вертикального размеров блока b/а = 1.5 является основным. При ручном выполнении блока допустимо отношение b/а = 2.

Блоки "Начало", "Конец" и "Соединитель" имеют высоту а/2, т. е. вдвое меньше основной высоты блоков.

Для размещения блоков рекомендуется поле листа разбивать на горизонтальные и вертикальные (для разветвлявшихся схем) зоны.

Для удобства описания блок-схемы каждый ее блок следует пронумеровать. Удобно использовать сквозную нумерации блоков. Номер блока располагают в разрыве в левой верхней части рамки блока.

    1. Структурное программирование

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

Рис. 1. Основные управляющие конструкции структурного программирования.

Основными конструкциями структурного программирования являются: следование, разветвление и повторение (см. Рисунок). Компонентами этих конструкций являются обобщенные операторы S, S1, S2 и условие (предикат) P. В качестве обобщенного оператора может быть либо простой оператор используемого языка программирования (операторы присваивания, ввода, вывода, обращения к процедуре), либо фрагмент программы, являющийся композицией основных управляющих конструкций структурного программирования. Существенно, что каждая из этих конструкций имеет по управлению только один вход и один выход. Тем самым, и обобщенный оператор имеет только один вход и один выход.

    1. Оператор goto

Структурное программирование иногда называют еще "программированием без GO TO". Однако дело здесь не в операторе GO TO, а в его беспорядочном использовании. Очень часто при воплощении структурного программирования на некоторых языках программирования оператор перехода (GO TO) используется для реализации структурных конструкций, что не нарушает принципов структурного программирования. Запутывают программу как раз "неструктурные" операторы перехода, особенно переход к оператору, расположенному в тексте модуля выше (раньше) выполняемого оператора перехода. Тем не менее, попытка избежать оператора перехода в некоторых простых случаях может привести к слишком громоздким структурированным программам, что не улучшает их ясность и содержит опасность появления в тексте модуля дополнительных ошибок. Поэтому можно рекомендовать избегать употребления оператора перехода всюду, где это возможно, но не ценой ясности программы. К полезным случаям использования оператора перехода можно отнести выход из цикла или процедуры по особому условию, "досрочно" прекращающего работу данного цикла или данной процедуры, т.е. завершающего работу некоторой структурной единицы (обобщенного оператора) и тем самым лишь локально нарушающего структурированность программы. Большие трудности (и усложнение структуры) вызывает структурная реализация реакции на возникающие исключительные (часто ошибочные) ситуации, так как при этом требуется не только осуществить досрочный выход из структурной единицы, но и произвести необходимую обработку (исключение) этой ситуации (например, выдачу подходящей диагностической информации). Обработчик исключительной ситуации может находиться на любом уровне структуры программы, а обращение к нему может производиться с разных нижних уровней. Вполне приемлемой с технологической точки зрения является следующая "неструктурная" реализация реакции на исключительные ситуации. Обработчики исключительных ситуаций помещаются в конце той или иной структурной единицы и каждый такой обработчик программируется таким образом, что после окончания своей работы производит выход из той структурной единицы, в конце которой он помещен. Обращение к такому обработчику производится оператором перехода из данной структурной единицы (включая любую вложенную в нее структурную единицу).

Свойства алгоритма:

    1. Однозначность алгоритма, т.е. единственность толкования исполнителем правил выполнения действий и порядка их выполнений.

    2. Конечность алгоритма – обязательность завершения каждого из действий, составленных алгоритмов и завершимость выполнения алгоритма в целом.

    3. Результативность алгоритма, предполагающая, что выполнение алгоритма должно завершиться получением определенных результатов.

    4. Массивность, т.е. возможность применения данного алгоритма для решения целого класса задач.

    5. Правильность алгоритма, под которым понимается способность алгоритма давать правильный результат решения поставленной задачи.

    1. Примеры Блок-схем алгоритмов

ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ.

  1. Продумать алгоритм решения задачи в соответствии с вариантом.

  2. Определить диапазоны допустимых значений, продумать исключительные ситуации.

  3. Разработать блок-схему алгоритма решения задачи.

  4. Реализовать разработанный алгоритм на языке программирования C++.

  5. Предусмотреть проверку вводимых значений.

  6. Протестировать программу.

СОДЕРЖАНИЕ ОТЧЕТА

    1. Титульный лист с названием лабораторной работы, номером своего варианта, фамилией студента(ов) и группы.

    2. На первом после титульного листа указать :

- Название работы.

- Цель.

- Задание по варианту.

    1. Блок схема алгоритма.

    2. Текст программы.

    3. Результаты действия программы.

    4. Выводы о полученных результатах работы программы.

КОНТРОЛЬНЫЕ ВОПРОСЫ

    1. Что такое алгоритм?

    2. Какие Виды блоков вы знаете?

    3. Свойства алгоритма.

    4. Правила оформления блок схем.

СПИСОК РЕКОМЕНДУЕМОЙ ЛИТЕРАТУРЫ

  1. Липпман С. Б. Основы программирования на C++: Пер. с англ. — М.:Вильямс, 2002. — 256 с.

  2. Липпман С. Б., Лажойе Ж. Язык программирования С++. Вводный курс: Пер. с англ. — 3-е изд. — М.: ДМК, 2001. — 1104 с.

  3. Страуструп Б. Язык программирования C++: Пер. с англ. — 3-е спец. изд. — М.: Бином, 2003. — 1104 с.

  4. Страуструп Б. Дизайн и эволюция языка C++. Объектно-ориентированный язык программирования: Пер. с англ. — М.: ДМК пресс, Питер, 2006. — 448 с.

  5. Эккель Б. Философия C++. Введение в стандартный C++: Пер. с англ. — 2-е изд. — СПб.: Питер, 2004. — 572 с.

  6. Эккель Б., Эллисон Ч. Философия C++. Практическое программирование: Пер. с англ. — СПб.: Питер, 2004. — 608 с.

Приложение