АИС_Конспект. Учебное пособие по предмету основы построения автоматизированных информационных систем для специальности
Скачать 1.88 Mb.
|
Приложение №1. Базовые сведения о языкепрограммирования Visual PrologПри составлении программы в Visual Prolog ключевые слова языка программирования, константы, имена доменов, предикатов записываются латинскими буквами в нижнем регистре. В общем виде программа представляет собой структуру, состоящую из следующих разделов: /*Структура программы Visual Prolog */ domains %Домены программы predicates %Описание предикатов clauses %предложения программы goal %Целевой предикат программы В теле программы могут быть использованы комментарии. Однострочный комментарий должен начинаться со специального символа %, многострочный комментарий размещают в паре символов /* , */. Домены программы – области допустимых значений, из которых могут выбираться значения констант и переменных поставляемые в предикаты. Задается домен в программе в виде: dom_name=system_domen Здесь dom_name – имя домена выбранное программистом, а system_domen – наименование системного домена VIP, выбранное из таблиц 1.1 и 1.2. Таблица 1.1. Количественные домены.
Таблица 1.2. Вещественные и символьные домены.
Примечание. При использовании домена string строки могут заключаться в двойные кавычки и содержать как символы кириллицы, так и латинские буквы. Строки без двойных кавычек могут содержать только латинские буквы, первый символ – строчная буква. Домен symbol позволяют использовать любую последовательность латинских символов, начинающихся со строчной буквы. Примеры: hello_world – домены string и symbol; “Привет МИР” – домен string. Символьный домен char дает возможность использовать символы напрямую или в виде кода: ‘\169’ – код сим; ‘a’ – символ. В разделе предикатов приводится описание всех предикатов создаваемой программы. Аргумент предиката – условное обозначение домена, из которого может принимать значение переменная или константа предметной области программы. Допускается указывать напрямую имена доменов, в этом случае раздел доменов в программе может отсутствовать. Допускается наличие предикатов, не содержащих аргументов. Обычно такие предикаты используются для программирования правил. Для организации вывода в окно утилиты TestGoal используются системные предикаты: write – вывод в окно; writef – форматный вывод в окно; nl – переход на следующую строку при выводе. При организации вывода в предикатах write и writef могут быть использованы служебные символы, показанные в таблице 1.3. Таблица 1.3. Служебные символы.
Предикат write имеет формат write(param1,param2,…).В качестве параметра может выступать имя переменной, либо строка. Формат предиката writef writef(Format_String,param1,param2,…) где Format_String – форматная строка. Форматная строка должно содержать форматные спецификаторы. В общем виде такой спецификатор имеет вид %-m.pf, описание спецификатора приводится в таблице 1.4. Таблица 1.4. Форматный спецификатор.
Форматы вывода чисел сведены в таблицу 1.5.. Таблица 1.5. Примеры форматов для чисел.
Для организации ввода с клавиатуры в Visual Prolog используются системные предикаты, показанные в таблице 1.6. Таблица 1.6. Системные предикаты ввода.
В качестве аргумента задается имя переменной, которая инициализируется вводимым значением. Пример. Правило для ввода с клавиатуры двух целых чисел, их сложения и вывода суммы на экран. sum:-readint(X1),nl,readint(X2),X3=X1+X2,write(X3). Приложение №.2. Компилирование программ в Visual Prolog ver 5.2. Для создания программы с простым оконным диалогом нужно разработать проект пригодный для обработки с помощью утилиты TestGoal системы программирования. Разработчик должен выполнить следующую последовательность действий: Выполнить команду Project > New Project и настроить параметры проекта программы. Эти параметры указываются в окне, показанном на рисунке 2.1, а их описание приводится в таблице 2.1. Рис.2.1. Окно задания параметров проекта. Таблица.2.1. Настройка параметров проекта.
Что бы изменить каталог проекта нужно использовать кнопку Browse. В результате будет открыто окно, показанное на рисунке 2.2. Если нужно создать новый каталог его имя вводят в поле Subdirectory. В данной версии системы программирования нужно использовать латинский алфавит в названии каталогов, кириллица отображается некорректно. Рис. 2.2. Смена каталога. Затем следует, используя вкладку Target настроить тип компилируемого файла. Требуемые настройки для проекта, подлежащего обработке, показаны на рисунке 2.3. Рис.2.3. Параметры компиляции проекта. После выполнения перечисленных действий следует нажать кнопку Create для создания проекта. В результате на экран будет выведено окно проекта (см. рисунок 2.4). Рис. 2.4. Окно проекта. Основным элементом окна проекта является дерево файлов проекта. Простые проекты содержат обычно один подчиненный узел – файл с расширением PRO в котором хранится текст программы. В окне слева и справа расположены кнопки для управления проектом. С помощью кнопки Edit либо с двойным щелчком мыши на имени файла открывается окно редактирования программы. Редактор Visual Prolog – обычный текстовый редактор, который позволяет выполнять редактирование, используя команды операционной системы Windows: копирование текста в буфер обмена, вырезание текста в буфер обмена, удаление строк, символов и т.д. Для изменения шрифта нужно воспользоваться командой контекстного меню окна редактора Font, либо использовать инструмент с пиктограммой F , расположенный в верхней строке окна системы программирования. После набора текста программы необходимо перед ее компилированием выполнить настройку параметров компилятора. Для этого нужно выполнить следующую последовательность действий: Options > Project > Compiler Options Здесь Options – команда меню системы программирования. Затем следует выбрать вкладку Warnings и установить параметры так, как это показано на рисунке 2.5. Рис. 2.5. Окно настройка режима компиляции. После задание настроек выполняется компилирование программы с помощью утилиты TestGoal. Для этого следует использовать инструмент с пиктограммой G либо воспользоваться меню команды Project системы программирования и выполнить команду Test Goal (Ctrl+G) в скобках указан горячий ключ команды. Откомпилированную программу можно выполнять с помощью специальной команды Run. Данные команда может быть выполнена с помощью инструмента R либо с помощью команды меню системы Project > Run (F9). Результат работы программы выводится в отдельном окне, так как это показано на рисунке 2.6. Пример. Текст программы. Проект HelloWorld.vpr predicates getmes clauses getmes:- write("Привет МИР !"),nl. goal getmes. Результат работы программы показан на рисунке 2.6. Рис. 2.6. Окно с результатом работы программы. Приложение №.3. Программа «Внутренняя база данных фактов» В оперативной памяти нужно разместить данные о служащих и отделах. Для работы с фактами требуется запрограммировать следующие действия: добавление нового отдела; удаление сотрудника по фамилии; удаление сотрудников по коду отдела; просмотр сотрудников; просмотр отделов. Программа: facts dbotdel(integer ID_OTD,string NAIM,integer ID_RUK) facts-fsotrudniki dbsotrudniki(integer ID_SOTR,string FAM,integer ID_OTD) predicates otdel(integer,string,integer) %отделы sotrudniki(integer,string,integer) %сотрудники process(integer) %обработка меню assertdbotdely %инициализация фактов - отделы assertdbsotr %инициализация фактов - сотрудники repeat %зацикливание menu %меню clauses %Зацикливание repeat. repeat:-repeat. %Исходные данные otdel(1,"Бухгалтерия",10). otdel(2,"Сбыт",20). sotrudniki(100,"Иванов А.И.",1). sotrudniki(200,"Котов О.К.",1). sotrudniki(300,"Ким И.К.",1). sotrudniki(400,"Зверева О.С.",2). sotrudniki(500,"Хватова М.И.",2). %Формирование фактов assertdbotdely:- otdel(KOtd,N,KRuk),assertz(dbotdel(KOtd,N,KRuk)), fail. assertdbotdely:-!. assertdbsotr:- sotrudniki(KSotr,N,KOtd), assertz(dbsotrudniki(KSotr,N,KOtd), fsotrudniki),fail. assertdbsotr:-!. %вывод меню menu:- repeat, write("Введите код\n1-Добавить отдел"), write("\n2-Удаление служ\n3-Удалитьсотрудников”), write(“\n4- Сотрудники\n5- Отделы”), write(“\n6 – Exit\n > "), readint(Exec),process(Exec),Exec=6,nl,!. %Обработка команд меню process(1):- write("Код="),readint(K),nl, write("Название="),readln(N),nl, write("Код руков="),readint(KR), assertz(dbotdel(K,N,KR)). process(2):- write("Фамилия="),readln(N), retract(dbsotrudniki(_,N,_),fsotrudniki). process(3):- write("Введите код отдела="), readint(KOtd),retractall(dbsotrudniki(_,_,KOtd), fsotrudniki). process(4):- dbsotrudniki(KSotr,N,KOtd), write(KSotr,"\t",N,"\t",KOtd), nl,fail. process(5):- dbotdel(KOtd,N,KRuk),write(KOtd,"\t",N,"\t",KRuk), nl,fail. process(6):- write("\nExit "). goal %целевая установка assertdbotdely,assertdbsotr,menu. Приложение №.4. Программа «Внешняя база данных» Требуется создать базу данных, в которой хранится информация о физическом лице с атрибутами: Почтовый индекс(PostIndex), Фамилия с инициалами (Name). Разместить цепочку термов в оперативной памяти. Действия над термами: добавление, просмотр списка термов, удаление, замена терма на новый. Программа: domains db_selector=dbp%селектор %домен терма и терм: persons=person(string PostIndex,string Name) predicates browse %просмотр термов dbadd %добавление термов getmemory %выделение памяти menu %меню process(integer Job)%выбор пользователя %исходные данные: person_rec(string PostIndex,string Name) %зацикливание repeat clauses repeat. repeat:-repeat. %набор фактов person_rec("123789","Иванова А.С"). person_rec("123567","Квасова О.П"). person_rec("123700","Зверева А.И"). %меню программы menu:- repeat, write("1 – Новая запись\n2 – Просмотр”), write(“\n3-Удаление\n4-Замена\n5-EXIT\n\n"), readint(Job),process(Job),Job=5,!. %выделить память getmemory:- db_create(dbp,"persons_list",in_memory). %заполнение базы dbadd:- person_rec(PIndex,Name), chain_insertz(dbp,chain1,persons,person(PIndex,Name),_) ,fail. %вывод значений термов browse:- chain_terms(dbp,chain1,persons, person(PIndex,Name),Ref), write(PIndex," ",Name," ",Ref,"\n"),fail. browse:-write("\nPress key !\n"),readchar(_),!. %реакция на выбор в меню process(1):- %заполнить базу dbadd. process(2):- %просмотр browse. process(3):- %уничтожение терма write("Input post index > "),readln(PIndex), chain_terms(dbp,chain1,persons,person(PIndex,_),Ref), term_delete(dbp,chain1,Ref). process(4):- %замена терма write("Input post index for search > "), readln(PIndex), chain_terms(dbp,chain1,persons,person(PIndex,_),Ref), write("Input new index >"),readln(PInew),nl, write("Input new name >"),readln(Name), term_replace(dbp,persons,Ref,person(PInew,Name)). process(5):- %завершение работы write("Exit !\n"),db_close(dbp), db_delete("persons_list",in_memory). goal getmemory,menu. Приложение №5.Некоторые стилевые параметрыТаблица 5.1. Оформление узла.
Таблица 5.2.Типы выравнивания.
Таблица 5.3. Параметры для работы с текстом.
Таблица. 5.4. Оформление текстовых областей.
Примечание. Отступы можно задавать в процентах от площади экрана. Под текстовой областью понимается текст, связанный с узлом – тегом XML документа. Таблица 5.5. Относительные единицы измерения.
Список литературыБасовский Л.Е. Управление качеством: учебник / Л.Е. Басовский, В.Б. Протасьев. – М.: ИНФРАМ, 2001. Брукшир Д.Г. Введение в компьютерные науки: пер. с англ. / Д. Г. Брукшир – М.: Издательский дом «Вильямс», 2001. Буч Г. Язык UML. Руководство пользователя: пер. с англ. / Г. Буч, А. Джекобсон, Д. Рамбо – М.: ДМК Пресс, 2001. Васютин С. Базы данных. Интеллектуальная обработка информации / С. Васютин, А. Гареев, В. Корнеев, В. Райх (2-е издание). – М.: Нолидж, 2003. Вендров А.М. CASE – технологии. Современные методы и средства проектирования информационных систем / А.М. Вендров. – М.: Финансы и статистика, 1998. Вендров А.М. Проектирование программного обеспечения экономических информационных систем: учебник / А.М. Вендров. – М.: Финансы и статистика, 2002. Вигерс К. Разработка требований к программному обеспечению: пер. с англ. / К. Вигерс. – М.: Издательско-торговый дом «Русская Редакция», 2004. Громов А. Моделирование бизнеса. Методология ARIS. Практическое руководство / А. Громов, М. Каменнова, М. Ферапонтов, А. Шматалюк. – М.: Весть – Метатехнология, 2001. Емельянова Н.З., Партыка Т.Л., Попов И.И. Основы построения автоматизированных систем: учебное пособие / Н.З. Емельянова, Т.Л. Партыка, И.И. Попов. – М.:ФОРУМ: ИНФРА , 2005. Ин Ц. Использование Турбо – Пролога: пер с англ. / Ц. Ин, Д. Соломон. – М.: Мир, 1993. Кузьменко В.Г. Базы данных в Visual Basic и VBA: самоучитель / В.Г. Кузьменко – М.: «Бином – Пресс», 2004. Мухин В.Н. Исследование систем управления: учебник / В.Н. Мухин. – М.: Издательство «Экзамен», 2006. Нотон П. Полный справочник по Java : пер. с англ. / П. Нотон, Г. Шилдт. – К.: Диалектика, 1997. Риордан Р.М. Программирование в Microsoft SQL Server 2000. Практическое пособие: пер. с англ. / Р.М. Риордан. – М.: Издательство ЭКОМ, 2002. Семенов Ю.Д. CASE – технологии: практикум / Ю.Д. Семенов, К.Н. Чижик, Д.Э. Федотова. – М.: Горячая линия – Телеком, 2005. Смирнов Г.Н. Проектирование экономических информационных систем: учебник / Г.Н. Смирнова, А.А. Сорокин, Ю.Ф.Тельнов. – М.: Финансы и статистика, 2002. ГОСТ 34.201–89. Виды, комплектность и обозначение документов при создании автоматизированных систем. – М.: Изд-во стандартов, 1991. ГОСТ 34.601–90. Информационная технология. Комплекс стандартов на автоматизированные системы. Автоматизированные системы. Стадии создания. – М.: Изд–во стандартов, 1991. ГОСТ 34.602–89. Техническое задание на создание автоматизированной системы. – М.: Изд–во стандартов, 1991. ГОСТ ИСО/МЭК 9126-93. Информационная технология. Оценка программной продукции. Характеристики качества и руководство по их применению. Государственный стандарт Российской федерации. Издание официальное. – М.: Госстандарт России, 1994. |