Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
методичка по программированию СУА.doc
Скачиваний:
12
Добавлен:
11.11.2019
Размер:
1.3 Mб
Скачать

2.2. Стандарты построения блок-схем алгоритмов

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

Рассмотрим основнее блоки таких схем.

1. Блок начала или завершения

При описании основного алгоритма он помещается вверху схемы и содержит слово «Начало», а также размещается в конце алгоритма со словом «Конец» внутри. Так должен начинаться и заканчиваться каждый алгоритм. Блоки начала и конца в алгоритме на схеме только один раз.

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

2. Блок ввода-вывода данных

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

3. Блок вывода

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

4. Основной блок

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

5. Вызов вспомогательного алгоритма

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

6. Условный оператор

В условном операторе указывается условие (логическое выражение). Из него всегда выходит две линии, которые помечены «+» и «–» (возможна пометка словами «да» и «нет»). Если условие истинно, то будут выполняться действия по стрелке, помеченной «+», иначе выполнится оператор, к которому ведет линия, помеченная «–».

Такой оператор может применятся для организации ветвления и при описании циклов с неизвестным числом повторений.

7. Цикл с известным числом повторений

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

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

8. Разрыв на странице

При невозможности провести стрелку к блоку на одной странице (много пересечений с другими линиями) производится разрыв линии. Стрелка подводится к данному блоку, в нем указывается номер разрыва. Затем в удобном для продолжения месте вставляется данный блок с тем же номером и из него продолжается разорванная стрелка.

9. Разрыв с переходом на другую страницу

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

Контрольные вопросы:

    1. Зачем нужны блок-схемы?

    2. Как обозначаются ввод и вывод данных?

    3. Какие блоки обязательно присутствуют в каждой блок-схеме?

    4. Как описывается начало у вспомогательных алгоритмов?

    5. Как выглядит блок для цикла с известным числом повторений?

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

    7. Что делать, если блок-схема не помещается на одной странице?

3 ИСТОРИЯ ЯЗЫКА ПРОГРАММИРОВАНИЯ С++

Разработчиком языка Си++ является Бьерн Страуструп. В своей работе он опирался на опыт создателей языков Симула, Модула 2, абстрактных типов данных. Основные работы велись в исследовательском центре компании Bell Labs.Непосредственный предшественник Си++ – язык Си с классами – появился в 1979 году, а в 1997 году был принят международный стандарт Си++, который фактически подвел итоги его 20-летнего развития. Принятие стандарта обеспечило единообразие всех реализаций языка Си++. Не менее важным результатом стандартизации стало то, что в процессе выработки и утверждения стандарта язык был уточнен и дополнен рядом существенных возможностей. На сегодня стандарт утвержден Международной организацией по стандартизации ISO. Его номер ISO/IEC 14882. ISO бесплатно стандарты не распространяет. Его можно получить на узле американского национального комитета по стандартам в информационных технологиях: www.ncits.org. В России следует обращаться в ВНИИ Сертификации:http://www.vniis.ru. Проекты стандарта имеются в свободном доступе:

ftp://ftp.research.att.com/dist/c++std/WP/CD2/, http://www.research.att.com/~bs/bs_faq.html.

Язык Си++ является универсальным языком программирования, в дополнение к которому разработан набор разнообразных библиотек. Поэтому, строго говоря, он позволяет решить практически любую задачу программирования. Тем не менее, в силу разных причин (не всегда технических) для каких-то типов задач он употребляется чаще, а для каких-то – реже. Си++ как преемник языка Си широко используется в системном программировании. На нем можно писать высокоэффективные программы, в том числе операционные системы, драйверы и т.п. Язык Си++ – один из основных языков разработки трансляторов. Поскольку системное программное обеспечение часто бывает написано на языке Си или Си++, то и программные интерфейсы к подсистемам ОС тоже часто пишут на Си++. Распределенные системы, функционирующие на разных компьютерах, также разрабатываются на языке Си++. Этому способствует то, что у широко распространенных компонентных моделей CORBA и COM есть удобные интерфейсы на языке Си++. Обработка сложных структур данных – текста, бизнес-информации, Internet-страниц и т.п. – одна из наиболее распространенных возможностей применения языка. В прикладном программировании, наверное, проще назвать те области, где язык Си++ применяется мало. Разработка графического пользовательского интерфейса на языке Си++ выполняется, в основном, тогда, когда необходимо разрабатывать сложные, нестандартные интерфейсы. Простые программы чаще пишутся на языках Visual Basic, Java и т.п.Программирование для Internet в основном производится на языках Java, VBScript, Perl. В целом надо сказать, что язык Си++ в настоящее время является одним из наиболее распространенных языков программирования в мире.