Преобразование типов

 

Все предикаты преобразования типов действуют в обе стороны

((i,о) и (o,i)), а случай (i,i) проверяет истинность (не для

предиката real). Преобразование между типами symbol и string, a

также между типами integer и real производится автоматически.

 

char_int(знак,целое)

(char,integer):(i,о)(о,i)(i,i)

 

Знак <--> соответствующий ASCII-код как целое число.

 

str_char(знак_как_строка,знак)

(string,char): (i,o)(o,i)(i,i)

 

Один знак как строка <--> знак.

 

str_int(строка,целое)

(string,integer): (i,o)(o,i)(i,i)

 

Строка, представляющая целое число <--> целое число.

 

str_real(строка,действительное)

(string,real):(i,o)(o,i).

 

Строка, представляющая действительное число <--> действительное

число. Внимание, случай (i,i) не предусмотрен!

 

upper_lower(строка_с_прописными,cтрока_со_строчными)

(string,string):(i,о)(о,i) (i,i)

 

Строка с прописными буквами <---> строка со строчными буквами.

Работает только с латинскими буквами.

Для примера можно запустить задачу без исходного текста и задать

цели:

 

Goal: ответ (без количества решений

char_int('A',X) Х=65

char_int(X,66) Х=В

char_lnt("A",X) Type error

str_ohar("A",X) Х=А

str_char('A',X) Type error

str..char("A",'A') True

str_lnt("0012",X) X=12

str_real("1.0e3",X) Х=1000