ВУЗ:
Составители:
Рубрика:
7
странять собственные выполняемые модули (exe – файлы), в от-
личие от PDC Visual Prolog.)
Приведем несколько «программулек» для иллюстрации:
procedure main()
#Перезапись файла
f:=open("x.txt","r")|stop("cannot open x.txt")
f2:=open("y.txt","w")|stop("cannot open y.txt")
# Классический стиль
while s:=read(f) do write(f2,s)
close(f)
close(f2)
end
В стиле Icon'а подчеркнутые элементы кода заменит выра-
жение
every write(f2,!f)
link graphics
procedure main()
# Простейший вариант открытия графического окна:
WOpen("size=400,300") | stop("can't open window")
Font("Times New Roman,18") # Устанавливаем шрифт
L:=["Линия 1","Линия 2","Линия 3"]
case SelectDialog("Выберите линию",L,L[1]) of
{
"Okey":
{
GotoRC(1,1)
WWrite(dialog_value) # Печатаем выбранную строку
WDone()
}
"Cancel": {}
}
end
Может быть, единственное, что мне не нравится в Icon'е, это
семантическая многозначность операционных символов (разре-
шаемая контекстно). Вот цитата из Cristophera [2, с
. 41]:
8
"The vertical bar, "|", read "«or»", looks like a binary operator
but does not behave like one".
Другой пример: символ "\" в выражениях "\x" и "|(z to y)\x"
обозначает различные операторы (в первом случае проверяется,
имеет ли значение переменная x, а во втором – является ли огра-
ничителем генерируемых значений).
У Icon’а есть сложности с кириллицей. Он «не понимает»
кириллические имена файлов при стандартном открытии
f:=open(“имя_моего_файла”,”rt”) либо когда имя файла передается
в командной строке
icon_prog.exe имя_моего_файла
procedure main(args))
f:=open(args[1],”rt”)
……………………….
end
Чтобы обойти эту сложность, следует работать в графиче-
ском режиме и обращаться к соответствующему «диалогу».
Большинство проблем при парсировании кириллического
текста Вы можете обойти, создав собственное множество симво-
лов:
allRus:='АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЪЫЭ
ЮЯабвгдеёжзийклмнопрстуфхцчшщьъыэюя'
И при необходимости можете создать объеденное множество:
allLetters:= &ascii++allRus
………………………………………………………………..
Теперь несколько слов о
математических возможностях
Icon’а (которые меня не очень интересуют и в дальнейшем изло-
жении специально не рассматриваются). Язык обладает вполне
достаточным набором операторов и функций для того, чтобы быть
алгоритмически полным и в «вычислительном» смысле. Он рабо-
тает с целыми и реальными числами. Имеет специальные средства
для манипулирования коплексными и рациональными
числами.
Бинарные операторы:
* – умножение
/ – деление
% – остаток (5%2=1)
+ – сложение
- – вычитание
странять собственные выполняемые модули (exe – файлы), в от- "The vertical bar, "|", read "«or»", looks like a binary operator
личие от PDC Visual Prolog.) but does not behave like one".
Приведем несколько «программулек» для иллюстрации: Другой пример: символ "\" в выражениях "\x" и "|(z to y)\x"
procedure main() обозначает различные операторы (в первом случае проверяется,
#Перезапись файла имеет ли значение переменная x, а во втором – является ли огра-
f:=open("x.txt","r")|stop("cannot open x.txt") ничителем генерируемых значений).
f2:=open("y.txt","w")|stop("cannot open y.txt") У Icon’а есть сложности с кириллицей. Он «не понимает»
# Классический стиль кириллические имена файлов при стандартном открытии
while s:=read(f) do write(f2,s) f:=open(“имя_моего_файла”,”rt”) либо когда имя файла передается
close(f) в командной строке
close(f2) icon_prog.exe имя_моего_файла
end procedure main(args))
f:=open(args[1],”rt”)
В стиле Icon'а подчеркнутые элементы кода заменит выра- ……………………….
жение end
every write(f2,!f) Чтобы обойти эту сложность, следует работать в графиче-
link graphics ском режиме и обращаться к соответствующему «диалогу».
procedure main() Большинство проблем при парсировании кириллического
# Простейший вариант открытия графического окна: текста Вы можете обойти, создав собственное множество симво-
WOpen("size=400,300") | stop("can't open window") лов:
Font("Times New Roman,18") # Устанавливаем шрифт allRus:='АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЪЫЭ
ЮЯабвгдеёжзийклмнопрстуфхцчшщьъыэюя'
L:=["Линия 1","Линия 2","Линия 3"]
И при необходимости можете создать объеденное множество:
case SelectDialog("Выберите линию",L,L[1]) of
allLetters:= &ascii++allRus
{
………………………………………………………………..
"Okey":
Теперь несколько слов о математических возможностях
{
Icon’а (которые меня не очень интересуют и в дальнейшем изло-
GotoRC(1,1) жении специально не рассматриваются). Язык обладает вполне
WWrite(dialog_value) # Печатаем выбранную строку достаточным набором операторов и функций для того, чтобы быть
WDone() алгоритмически полным и в «вычислительном» смысле. Он рабо-
} тает с целыми и реальными числами. Имеет специальные средства
"Cancel": {} для манипулирования коплексными и рациональными числами.
} Бинарные операторы:
end * – умножение
/ – деление
Может быть, единственное, что мне не нравится в Icon'е, это % – остаток (5%2=1)
семантическая многозначность операционных символов (разре- + – сложение
шаемая контекстно). Вот цитата из Cristophera [2, с. 41]: - – вычитание
7 8
Страницы
- « первая
- ‹ предыдущая
- …
- 2
- 3
- 4
- 5
- 6
- …
- следующая ›
- последняя »
