Apr. 29th, 2021

spamsink: (Default)
[personal profile] spamsink
Есть язык Паскаль, в котором есть понятие о текстовых файлах - последовательностях символов (char). Эти текстовые файлы могут быть разбиты на строки, но не обязательно. Чтобы записать в файл разделитель строк, нужно сказать writeln.

И есть мониторная система "Дубна", в которой есть понятие о текстовых файлах - последовательностях 80-символьных строк. Каждая строка - это последовательность байтов, определяющая 80 символов (группы пробелов могут быть сжаты в виде байта с кодом 0200+число пробелов), после которых стоит символ 012, и если в результате получилось не целое число слов (т.е. символ 012 не является младшим байтом), то 012 дублируется в младшем байте, а промежуточные байты, если есть, заполняются пробелами. При нарушении выравнивания строк по границам слов МС "Дубна" считает файл нетекстовым.

Таким образом, чтобы из Паскаля создать текстовый файл, который можно будет прочитать базовыми средствами МС "Дубна", нужно озаботиться подсчетом символов в выводимых строках. Приписывание байта, добивающего число символов в строке до 80, возложено на пользователя, а для обеспечения выравнивания строк на границы слов, оказывается, есть специальная процедура PASENDED(var F:text).

До идеи установки специального режима (наподобие текстового режима в MS-DOS), чтобы writeln или, более общо, запись байта с кодом 012 автоматически делали выравнивание, почему-то не додумались.

Profile

Сообщество любителей БЭСМ-6

December 2025

S M T W T F S
 123456
78910111213
14151617181920
21222324252627
282930 31   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 13th, 2026 11:23 pm
Powered by Dreamwidth Studios