- •Лекция 1 Основы алгоритмизации
- •1.1 Языки программирования
- •1.2 Этапы решения задач на компьютере
- •1.3 Понятие алгоритма и его свойства
- •1.4 Графическое описание алгоритмов. Схемы алгоритмов
- •Блоки для изображения схем алгоритмов и программ
- •1.5 Типы алгоритмов
- •Лекция 2 Начальные сведения о языке
- •2.3 Компиляция и выполнение программы
- •Лекция 3 Имена, переменные и константы
- •3.1 Имена
- •3.2 Переменные
- •3.3 Константы
- •Лекция 4 Операции и выражения
- •4.1 Выражения
- •4.2 Операция присваивания
- •4.3.1 Арифметические операции
- •4.3.2 Операции сравнения
- •4.4 Порядок вычисления выражений
- •Лекция 5 Операторы
- •5.1 Что такое оператор
- •5.1.1 Операторы-выражения
- •5.1.2 Объявления имен
- •5.1.3 Операторы управления
- •5.1.3.1 Условные операторы
- •5.1.3.2 Операторы цикла
- •5.1.3.3 Оператор возврата
- •5.1.3.4 Оператор перехода
- •Лекция 6 Функции
- •6.1 Вызов функций
- •6.2 Имена функций
- •6.3 Необязательные аргументы функций
- •6.4 Рекурсия
- •Лекция 7 Встроенные типы данных
- •7.1 Общая информация
- •7.2 Целые числа
- •7.3 Вещественные числа
- •7.4 Логические величины
- •7.5 Символы и байты
- •7.6 Кодировка, многобайтовые символы
- •7.7 Наборы перечисляемых значений
- •Лекция 8 Классы и объекты
- •8.1 Понятие класса
- •8.2 Определение методов класса
- •8.3 Переопределение операций
- •8.4 Подписи методов и необязательные аргументы
- •8.4.1 Запись классов
- •Лекция 9 Производные типы данных
- •9.1 Массивы
- •9.2 Структуры
- •9.2.1 Битовые поля
- •9.3 Объединения
- •9.4 Указатели
- •9.4.1 Адресная арифметика
- •9.4.2 Связь между массивами и указателями
- •9.4.3 Бестиповый указатель
- •9.4.4 Нулевой указатель
- •9.5 Строки и литералы
- •Лекция 10 Распределение памяти
- •10.1 Автоматические переменные
- •10.2 Статические переменные
- •10.3 Динамическое выделение памяти
- •10.4 Выделение памяти под строки
- •10.5 Рекомендации по использованию указателей и динамического распределения памяти
- •10.6 Ссылки
- •10.6 Распределение памяти при передаче аргументов функции
- •10.6.1 Рекомендации по передаче аргументов
- •Лекция 11 Производные классы, наследование
- •11.1 Виртуальные методы
- •11.1.1 Виртуальные методы и переопределение методов
- •11.2 Преобразование базового и производного классов
- •11.3 Внутреннее и защищенное наследование
- •11.4 Абстрактные классы
- •11.5 Множественное наследование
- •11.5.1 Виртуальное наследование
- •15.2 Проблема использования общих функций и имен
- •15.3 Использование включаемых файлов
- •15.4 Препроцессор
- •15.4.1 Определение макросов
- •Условная компиляция
- •15.4.2 Дополнительные директивы препроцессора
- •Лекция 16 Определение, время жизни и области видимости переменных в больших программах
- •16.1 Файлы и переменные
- •16.1.1 Общие данные
- •16.1.2 Глобальные переменные
- •16.1.3 Повышение надежности обращения к общим данным
- •16.2 Область видимости имен
- •16.3 Оператор определения контекста namespace
- •Лекция 17 Обработка ошибок
- •17.1 Виды ошибок
- •17.2 Возвращаемое значение как признак ошибки
- •17.3 Исключительные ситуации
- •17.3.1 Обработка исключительных ситуаций
- •17.3.2 Примеры обработки исключительных ситуаций
- •Лекция 18 Bвод-вывод
- •18.1 Потоки
- •18.3 Манипуляторы и форматирование ввода-вывода
- •18.4 Строковые потоки
- •18.5 Ввод-вывод файлов
- •Лекция 19 Шаблоны
- •19.1 Назначение шаблонов
- •19.2 Функции-шаблоны
- •19.3 Шаблоны классов
- •19.3.1 "Интеллигентный указатель"
- •19.3.2 Задание свойств класса
- •Список использованных источников
- •Содержание
1.4 Графическое описание алгоритмов. Схемы алгоритмов
Схемы алгоритмов и программ входят в состав программной документации и оформляются в соответствии с ГОСТ 19.701 – 90 (ИСО 5807 – 85) «Схемы алгоритмов, программ, данных и систем» (взамен ГОСТ 19.002-80, 19.003-80). При этом используются условные графические обозначения (УГО), которые вписываются в прямоугольник (см. рис. 1.3). Стороны прямоугольника имеют следующие размеры:
a = 10, 15, 20 и т.д. через 5 мм, b = 1,5а или b = 2a.
Наиболее часто используемые блоки приведены в табл. 1.
Схема алгоритма представляет собой совокупность УГО, соединенных линиями связи. В качестве примеров можно рассмотреть рис. 5, 6, 7. Все линии на схеме (контуры элементов и соединения) имеют одинаковую толщину. Схема начинается блоком "Начало" и заканчивается блоком "Конец". Для каждого элемента схемы должно выполняться условие: существует, по крайней мере, один путь от блока "Начало" до блока "Конец", проходящий через этот элемент.
При проведении линий связи между блоками допустимо не ставить стрелки, если информация передается слева направо или сверху вниз без единого излома. В остальных случаях стрелки должны быть поставлены в конце линии связи (не более одной стрелки на линии связи). Рекомендуется входные линии подводить к верхней стороне блока, а выходную следует проводить от нижней стороны. В крайнем случае, допустимо входные линии подводить к левой стороне блока, а выходную проводить от правой стороны
Таблица 1
Блоки для изображения схем алгоритмов и программ
Наименование |
Обозначение |
Действие |
y=x2 |
|
Выполнение любых операций по обработке данных, например вычисления по формуле |
|
|
Выбор направления выполнения алгоритма в зависимости от условия
|
|
|
Ввод – вывод данных. Внутри блока – имена переменных |
|
|
Представление данных на дисплее при выводе. Внутри записывают имена выводимых переменных |
|
|
Вывод данных на бумажный носитель. Внутри записывают имена выводимых переменных |
|
|
|
|
|
Связь между прерванными линиями схемы |
|
|
Связь между блоками на разных листах |
Программная документация должна содержать не только схемы алгоритмов, но и их описание. При этом могут описываться действия, выполняемые отдельными блоками или группами блоков. Для удобства ссылок элементы схем могут нумероваться. При этом блоки «Начало» и «Конец» не нумеруются.
Другим способом обозначения блоков является разбиение листа, на котором изображается схема, на прямоугольные зоны. Границы зон обозначаются черточками на границах листа. Размеры зон пропорциональны размеру "a" стороны основного прямоугольника, показанного на рис. 4 (обычно в 2 раза больше). Столбцы зон обозначаются цифрами, а строки – заглавными латинскими буквами. Блоки располагают посредине каждой зоны и обозначают сочетанием букв и цифр их зон, например, A1, B1 и т.д.

Процесс
Решение
Ввод
– вывод
Дисплей
Документ
Пуск
– останов
Соединитель
Межстраничный
соединитель