WWW.DISSERS.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА

   Добро пожаловать!


Pages:     | 1 |   ...   | 2 | 3 ||

Следует иметь в виду, что установка echo=on не работает o, i pattern шаблон для заливки допустимого для кириллических символов. Отображаются при вводе только пространства при рисовании, когда символы латиницы. При выводе для кириллицы проблем не возатрибут "fillstyle" имеет никает при соответствующем выборе шрифта. Но единственный значение "textured" или "masked".

способ ввести строку в кириллице – это обратиться к WRead и Значения "black", "verydark", вводить без «эха».

"darkgray", "gray", "lightgray", 45 Строки можно записать на экран также при помощи функ- TextDialog(W,caption,L1,L2,L3,L4,L5,i) ций: позволяют вводить текстовые строки в латинице.

DrawString(x,y,s), CenterString(x,y,s), LeftString(x,y,s) и caption – это список строк оглавления диалогового окна, RightString(x,y,s) L1 – наименования текстовых боксов, В данном случае s – выводимая строка, а x,y – координаты L2 – значения боксов по умолчанию, начала вывода, центра строки, крайнего левого символа и крайне- L3 – максимальная ширина боксов в символах, го правого символа соответственно. L4 – наименования кнопок.

i – номер кнопки по умолчанию, либо 0 – нет кнопок по 13.3. Диалоги умолчанию.

Функции возвращают имена кнопок, а глобальная переменДля краткого сообщения пользователю используется Noная dialog_value содержит введенные значения.

tice(S).

Пример:

Выбрать файл (name и path могут быть записаны в кириллиcase TextDialog("Выберите нужное", це) Вы можете при помощи функции: OpenDialog(caption, ["Строка 1","Строка 2", "Строка 3"],,[32,32,32], ["Okey", filename).

"cancel"], 2) of Параметры можно опустить. Выбранное имя файла будет за{ гружено в глобальную переменную dialog_value.

"Okey":

Например:

{ case OpenDialog("Выберите файл","*.txt") of GotoRC(4,1) { every i:=1 to 3 do WWrite(i," "||dialog_value[i]) "Okay": { } f:=open(dialog_value);WWrite(read(f));close(f);Notice("Вы "Cancel": {} выбрали файл"||dialog_value) } EraseArea(1, 1, 600, 400) } 13.4. Создание меню "Cancel": {} } Меню создается функцией WinMenuBar, вызов которой мо жет выглядеть следующим образом:

Перед установкой цвета Вы можете выбрать его из палитры WinMenuBar(W, ["&File", "&Open", "&Save", "E&xit"], при помощи ColorDialog(). ["&Edit", "C&ut", "&Paste", "C&opy"],["&Help", "&About"]) case ColorDialog() of { Однако Вы можете создать список, описывающий меню, а "Okay": Notice("Цвет: "||dialog_value) затем создать меню:

"Cancel": {} } menu := [ ["&Open","E&xit","Т&екстовый диалог","П&росто диалог"], Функции ["&Options", "&Font...","&Залить фоновым цветом"], Dialog(W,caption,L1,L2,L3,L4,i) и ["&Help", "&Wi Programming Environment", 47 "Icon &Обзор возможностей учителя", "П&росто диалог":

Icon &Language Reference", { "I&dol Reference", EraseArea(&window, 1, 1, 600, 400) "Icon &Graphics Facilities Reference", WAttrib("fg=black") "Icon &Program Library Reference", GotoRC(1,1);WWrite("Введите строку") "&Visual Interface Builder Reference", WAttrib("echo=on") "&Frequently Asked Questions", GotoRC(2,1);SU:=WRead() "&About..."] GotoRC(3,1);WWrite(SU) ] } WinMenuBar ! menu |{GotoRC(5,1);WWrite("Не могу создать..........................................

меню")} mainloop() 13.5. Чтение и запись изображений Для чтения и записи изображений используются функции Пример обработки команд меню:

ReadImage(W,s1,x,y) и WriteImage(W,s,x,y,w,h), procedure mainloop() s1 и s – файлы, w,h – ширина и высота, W – окно.

while e := Event() do Работают с *.gif и *.bmp форматами.

case e of {........................................

"&Залить фоновым цветом":

{ dflt:=&null ColorDialog(,dflt) WAttrib("bg="||dialog_value) EraseArea(&window, 1, 1, 600, 400) } "Т&екстовый диалог":

{ WAttrib("fg=black") SS:=TextDialog(&window, ["Введите в поля что угодно"], ["1","2","3"], [], [24,24,24], ["Yes","CANCEL"], i) if SS=="Yes" then { D:=dialog_value[1] GotoRC(5,3) WWrite(D) } } 49 Заключение Задачи для закрепления материала Задача 1. Напишите программу преобразования русских Даже наш краткий обзор возможностей языка Icon дает слов в нижний регистр, предполагая, что Icon не имеет соответстпредставление о его мощности и универсальности. Если говорить вующей встроенной функции для кириллицы.

об эффективности, то могу привести следующий пример (задачи Задача 2. Напишите программу, выделяющую цепочки симрешались на компьютере с процессором Seleron 1700 и оперативволов кириллицы (верхний и нижний регистр) из входного текстоной памятью в 512 Мб): последовательный просмотр строк двух вого файла и выводящие их в некий выходной файл. При этом текстовых файлов по 14 Mb каждый (~207000 строк) с целью выглавная процедура для получения каждого следующего слова в явления строк, которые удовлетворяют хотя бы одному из шести цикле обращается к процедуре чтения строк файла и выделения условий, занимает 2 сек; это не рекорд, но более чем приемлемый слов. Последняя возвращает слова, используя для возврата значерезультат.

ния оператор suspend.

Для быстрого создания прототипов сложных систем людьЗадача 3. Предположим, что цепочки типа <ФИО> могут ми, привыкшими к императивному стилю в программировании, быть заданы как «Петров П.П.» и «П.П. Петров». Выделите из Icon незаменим.

входного текста все такие цепочки и преобразуйте их в список записей. Каждая запись содержит поля: фамилия, первый инициал, второй инициал. Распечатайте список.

Задача 4. Файл DICT1.txt содержит некоторый словарь на русском языке, каждая статья которого начинается с 3-й позиции с буквы в верхнем регистре. Напишите программу, перезаписи в файл GORA.txt статей, первые строки которых содержат хотя бы одну из подстрок: «горная», «ГОРЫ», «ГОРА».

Используйте функции find и any.

Задача 5. Создание словаря текста.

На входе имеем текст жанра деловой или художественной прозы (файл text.txt), а также «стоп-словарь» stopW.txt. В каждой строке этого файла содержится только одно слово.

Напишите программу составления словаря текста, содержащую слова, не принадлежащие «стоп-словарю». Словарь текста составляется в виде таблицы, ключом которой является слово, а значение есть запись, состоящая из номера слова и частоты встречаемости в тексте. Используйте написанную ранее программу преобразования регистров.

Задача 6. Напишите программу, в графическом режиме изменяющую шрифт вывода сообщений.

Задача 7. В графическом режиме создайте окно, содержащее строку меню, а в основном поле разместите рисунок, представленный файлом im.gif 51 Задача 8. Предполагая, что предложения текста ограничиСписок используемой литературы ваются точкой, вопросительным или восклицательным знаками, за которыми следует слово «с большой буквы», напишите програм1. Братко И. Программирование на языке Пролог для исму, которая делает следующее:

кусственного интеллекта. М.: Мир, 1990.

– определяет границы предложений;

2. Зубинский А. Инструменты скриптинга // Компьютерное – выделяет слова и подсчитывает их частоты – число повтообозрение. 2000. № 41. 25–31 октября.

рение слов в различных предложениях;

3. Thomas W. Christopher. Icon Programming Language Hand– для каждого предложения рассчитывает его вес, равный book. http://www.cs.arizona.edu/icon/books.htm сумме частот входящих слов;

– строит и выводит (в графическом режиме) график весов предложений.

Усложните программу, введя «стоп-словарь» для исключения служебных слов языка.

53 Учебное издание О.Г. Чанышев Основные элементы языка программирования Icon Учебное пособие Технический редактор Н.В. Москвичёва Редактор Л.Ф. Платоненко Подписано в печать 11.11.04. Формат бумаги 60х84 1/16.

Печ. л. 3,4. Уч.-изд. л. 3,1. Тираж 100 экз. Заказ 581.

Издательство Омского государственного университета 644077, г. Омск-77, пр. Мира, 55а, госуниверситет 55

Pages:     | 1 |   ...   | 2 | 3 ||










© 2011 www.dissers.ru - «Бесплатная электронная библиотека»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.