Совместимость и преобразование типов данных
Рефераты >> Программирование и компьютеры >> Совместимость и преобразование типов данных

1.

С помощью несложной программы мы сможем узнать внутренний код произвольного символа.

Program Code_pf_Char;

{Программа читает символ с клавиатуры и выводит на экран

этот символ и соответствующий ему внутренний код}

var

ch: Char; {В эту переменную читается символ}

begin

Write('Введите любой символ: ');

ReadLn(ch); {Читаем один символ}

WriteLn(ch, ' = ',ord(ch)); {Преобразуем его к целому и выводим на экран}

END.

Обращаем внимание: при вызове

WriteLntch,' = ',ord(ch));

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

2.

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

Непроизносимые гласные:

Сочетания "вств" и "стн" транскрибируются как [ств] и [сн] соответственно, т. е.:

1) /вств/ -> [ств]

2) /стн/ -> [лнц]

Реализация двух данных правил на языке Паскаль:

program transcription;

var

Word: String;

I, J, K: Integer;

begin

Write('Введите слово: '); ReadLn(Word);

K := Pos('вств', word);

while (K <> 0) do

begin

delete(Word, K, 1);

K := Pos('вств', Word);

end;

K := Pos('стн', Word);

while (K <> 0) do

begin

delete(Word, K+1, 1);

K := Pos('стн', Word);

end;

WriteLn('Транскрипция: ', Word);

end.

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


Страница: