Корректный вывод текста на экран в Borland Pascal 7.0
Разбиение текста на слова. Перенос слов
Статья показывает простой алгоритм вывода на экран монитора текста без обрезания слов при переносе на новую строку.
Алгоритм приспособлен для работы с текстовым режимом 80х25, но может быть изменен и для режима 40х25 и для графических режимов.
Часто, при выводе на экран, нам не хватает 80 символов. Строка, имеющая большую длину, переносится на новую строку и т.д. Т.к. для операторов вывода write и writeln безразлично, что выводить, они выводят в каждой строке не более 80 символов, ломая цепочки символов, являющихся для людей словами. Поэтому приходится использовать перенос слов.
Нижеприведенный алгоритм автоматически разбивает текст на слова и выводит их на строке до тех пор, пока они целиком умещаются на ней. Как только слово не может уместиться и должно быть частично перенесено на новую строку, алгоритм не станет выводить слово на текущей строке, а перенесет его на следующую.
procedure print(source: string);
var
x, i: integer;
s : string;
procedure output;
begin
{Выводим слово и при необходимости переносим его на следующую строку}
x := WhereX;
if (80 - x) > (Length(s))
then Write(s+' ')
else
begin
WriteLn; Write(S+' ');
end;
end;
begin
s := '';
i := 1;
while i<= Length (Source) do
begin
if Source[i] <> ' '
then s := s+ Source[i];
if (source[i]=' ')
then
begin
output;
s := '';
end;
inc(i);
end;
output;
end;
А это - пример использования функции вывода текста:
Print(' Большое пространство комнаты занимают кучи бумаги, беспорядочно');
Print('разбросанной по всему полу.');
Print('Некоторые листы потеряли свою первоначальную белизну, превратившись');
Print('в размокшие салфетки алого цвета.');
При использовании алгоритма переноса слов нет необходимости рассчитывать, уместится ли текст на одной строке, не сломаются ли слова.
Данный алгоритм нашел свое применение при выводе текста в текстовой
приключенческой игре
PHP — это язык программирования, основанный на использовании скриптов. Данный язык широко применяется для создания различных front-end и back-end веб-приложений. Поддерживается по-умолчанию большинством хостеров, являясь одним из лидеров среди языков программирования, предназначенных для создания динамических интерактивных сайтов.
Интересные материалы на сайте:
статье реализован алгоритм работы с кубическими сплайнами и построение 3D модели.
Описание алгоритмов шифрования данных. Каждый пример является самодостаточной программой, написанной на языке программирования Borlabd Pascal 7.0
В статье представлены алгоритмы работы с бинарным деревом: поиск ключа, вставка, LR и LL повороты, удаление.
Програмирование на Delphi. Эмуляция действий футболистов и мяча на футбольном поле. Исходники и demo-программа присутствуют.