осле того, как текст набран и проверен, желательно придать ему внешний вид, облегчающий восприятие написанного. Для этого различные смысловые части документа принято выделять шрифтами разных гарнитур (например, с засечками и без засечек) или разных начертаний (курсивного, полужирного), отступами, дополнительными межстрочными интервалами (отбивками) и другими
Например, заголовок документа желательно набрать более крупно и разместить его по центру страницы, подписи к рисункам оформить курсивом, а номера страниц разместить в правом нижнем углу каждой страницы.
Присвоение параметров оформления определённым частям документа принято называть форматированием.
Форматирование может быть жёстким или мягким. При жёстком форматировании каждой конкретной части документа — символу, слову, абзацу или странице задаются определённые параметры отображения. При этом форматирование никак не связано с логической структурой документа и объекты, логически относящиеся к одному типу, могут оказаться (и почти всегда оказываются, как показывает практика) оформленными по-разному. Например, одна из подписей к рисункам не будет выделена курсивом, в отличие от остальных.
При мягком форматировании описывается внешний вид не конкретного фрагмента текста, а логической части документа — заголовков, основного текста, сносок, колонтитулов, а для каждой конкретной части документа задаётся только её роль в документе: например, «подпись к рисунку». Описание оформления для определённой логической части документа принято называть стилем.
При использовании стилей необходимо логически разметить документ, т. е. обозначить его структуру. Отмечается, что в документе является заголовком, что основным текстом, а что другими элементами. При этом каждый элемент примет внешний вид в соответствии с тем стилем, который для него определён.
Использование логической разметки документа и мягкого форматирования облегчает работу с большими и сложными по структуре документами и позволяет автоматизировать многие этапы работы с текстом — автоматически создавать оглавления, легко перемещаться по большим документам, быстро изменять оформление и многое другое
// Внимание! Если программа не работает, обновите версию!
begin
Write('Введите количество строк и столбцов массива: ');
var (m,n):=ReadInteger2;
Writeln('*** Исходный массив ***');
var a:=MatrRandom(m,n,-5,5);
a.Println(3); Writeln(3*a.ColCount*'-');
var k:=ReadInteger('Введите число А для замены нулей:');
a.Transform(x->x=0?k:x); // вот это и вся замена...
Writeln('*** Результат ***');
a.Println(3)
end.
Пример
Введите количество строк и столбцов массива: 7 10
*** Исходный массив ***
2 -4 -1 3 -4 -4 2 1 -5 -1
-5 2 -3 -1 -1 -5 2 -4 -5 -5
-4 1 0 -1 5 -1 1 4 3 -4
2 3 3 1 -3 3 -4 0 -3 3
-3 -1 4 -3 -1 -5 -1 1 2 2
-2 4 -2 3 3 -5 1 5 4 3
1 3 4 5 3 -2 5 2 -4 1
Введите число А для замены нулей: 77
*** Результат ***
2 -4 -1 3 -4 -4 2 1 -5 -1
-5 2 -3 -1 -1 -5 2 -4 -5 -5
-4 1 77 -1 5 -1 1 4 3 -4
2 3 3 1 -3 3 -4 77 -3 3
-3 -1 4 -3 -1 -5 -1 1 2 2
-2 4 -2 3 3 -5 1 5 4 3
1 3 4 5 3 -2 5 2 -4 1