Изучение языка программирования С++. Описание основных алгоритмов и синтаксиса языка C++, страница 8

Метод write выведет то количество байт ( nCount ), которое будет в памяти, начиная с адреса pch. Метод put выведет только один байт.

Для перемещения текущей позиции используют метод seekp:

ostream& seekp(streamoff off,

ios::seek_dir dir);

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

ios::beg  - смещение от начала файла

ios::cur - смещение от текущей позиции

ios::end - смещение от конца файла

За тем операция вывода продолжится с нового места файла.

Метод close выводит внутренние буферы в файл и отсоединяет поток от файла. Если объект уничтожается, происходит тоже самое.

Ввод из файлов в классе ifstream работает подобным образом. При создании объекта типа ifstream в качестве аргумента конструктора можно задать имя существующего файла:

ifstream(const char* szName, int nMode = ios::in,

int nProt = filebuf::openprot);

Можно воспользоваться стандартным конструктором, а подсоединиться к файлу с помощью метода open.

Чтение из файла производится операцией >> или методами read или get:

istream& read(char* pch, int nCount);

istream& get(char& rch);

Метод read вводит указанное количество байтов ( nCount ) в память, начиная с адреса pch. Метод get вводит один байт.

Так же, как и для вывода, текущую позицию ввода можно изменить с помощью метода seekp, а по завершении выполнения операций закрыть файл с помощью close или просто уничтожить объект.

2.2 Краткое описание правил составления блок-схем

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

Правила выполнения схем определяются следующими документами:

ГОСТ 19.701-90. Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила выполнения.

ГОСТ 19.003-80. Схемы алгоритмов и программ. Обозначения условные графические.

Рассмотрим основные элементы блок-схем ( в таблице 1).

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

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

Блок-схема должна содержать все разветвления, циклы и обращения к подпрограммам, содержащиеся в программе.

Таблица 1 - Основные элементы блок-схем

Наименование

Обозначение

Функция

Блок начало-конец

Flowchart start stop.png

Выход во внешнюю среду и вход из внешней среды

Блок действия

Flowchart process.png

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

Продолжение таблицы 1

Наименование

Обозначение

Функция

Логический блок (блок условия)

Flowchart selection.png

Обозначает выполнение условия. Вход обычно в верхней вершине элемента. Выходы из оставшихся вершин. Используют для условных операторов if (два выхода: true, false) и case (множество выходов).

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

Flowchart preprocess.png

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

Данные (ввод-вывод)

Flowchart io.png

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

Продолжение таблицы 1