Скачать презентацию Знакомство с CLIPSJNI Курс “Экспертные системы”. Четвёртое Скачать презентацию Знакомство с CLIPSJNI Курс “Экспертные системы”. Четвёртое

pres.ppt

  • Количество слайдов: 13

 Знакомство с CLIPSJNI Курс “Экспертные системы”. Четвёртое практическое занятие. 14 октября 2011 Волкова Знакомство с CLIPSJNI Курс “Экспертные системы”. Четвёртое практическое занятие. 14 октября 2011 Волкова Т. А.

 План Демонстрация CLIPSJNI Введение в язык Java Написание первой программы (Hello World) То План Демонстрация CLIPSJNI Введение в язык Java Написание первой программы (Hello World) То же самое, но с графическим интерфейсом Swing То же самое, но с подключением CLIPS

 CLIPSJNI У CLIPS нет подходящего графического интерфейса пользователя Игра на CLIPS выглядит уныло CLIPSJNI У CLIPS нет подходящего графического интерфейса пользователя Игра на CLIPS выглядит уныло Однако Гэри Райли (автор CLIPS) позаботился о нас и написал библиотеку для взаимодействия Java! Она называется CLIPSJNI и вышла совсем недавно – в марте 2011 JNI = Java Native Interface

 Зачем нам Java? В Java очень удобно делать красивые интерфейсы – а это Зачем нам Java? В Java очень удобно делать красивые интерфейсы – а это нам и нужно! Кроме того, Java – просто приятный язык Просто посмотрите на индекс популярности языков программирования TOIBE. Вам всё равно придётся самостоятельно изучать Java в курсе М. Е. Епифанова Я могу обеспечить вам быстрый старт

 Отличия Java от C++ Код выполняется в виртуальной машине (плюс: кроссплатформенность, минус: проигрыш Отличия Java от C++ Код выполняется в виртуальной машине (плюс: кроссплатформенность, минус: проигрыш в скорости) Нет явной работы с указателями Есть “сборщик мусора” Всё в классах (даже main), никаких глобальных переменных Каждый класс - в отдельном файле. java, скомпилированные файлы -. class Библиотеки лежат в архивах. jar

 Отличия в синтакисие import - аналог #include в С и using в C++ Отличия в синтакисие import - аналог #include в С и using в C++ Иерархия package (аналог namespace) Main ничего не возвращает Вместо printf(); пишем System. out. print(); Нет операторов ->, *, & (с указателями) Нет delete (не нужно освобождать память)

 Установка Java под Windows Установить JRE, JDK (с сайта oracle. com), Прописать в Установка Java под Windows Установить JRE, JDK (с сайта oracle. com), Прописать в системной переменной Path путь: C: Program FilesJavajdk 1. 6. 0_23bin чтобы система знала, где искать компилятор Java

 Командная строка Вызов: Пуск-Выполнить-cmd Команды: dir – получить листинг директории cd – сменить Командная строка Вызов: Пуск-Выполнить-cmd Команды: dir – получить листинг директории cd – сменить директорию H: - переключиться на диск H tab – автозаполнение %PATH% – получить значение системной переменной PATH Right-Click, “вставить” – вставка текста из буфера Up/Down - предыдущая/следующая команда

 Hello World на Java Создайте файл Hello. World. java и напишите: public class Hello World на Java Создайте файл Hello. World. java и напишите: public class Hello. World { public static void main(String[] args) { System. out. println("Здравствуй, мир!"); } } Компиляция: javac My. Prog. java Запуск полученной программы: java My. Prog

 Java Swing Библиотека графических интерфейсов (как MFC или wx. Widgets для C++) Входит Java Swing Библиотека графических интерфейсов (как MFC или wx. Widgets для C++) Входит в состав JRE Легко делать интерфейсы Можно ставить различный “Look and feel“ (демонстрация на примере JAlbum)

 «Hello World» на Swing import javax. swing. *; public class Hello. World. Swing «Hello World» на Swing import javax. swing. *; public class Hello. World. Swing { public static void main(String[] args) { JFrame frame = new JFrame("Hello. World. Swing"); final JLabel label = new JLabel("Hello World"); frame. get. Content. Pane(). add(label); frame. set. Default. Close. Operation(JFrame. EXI T_ON_CLOSE);

 Работа с CLIPSJNI В начале: сделайте import CLIPSJNI. *; Environment clips; clips = Работа с CLIPSJNI В начале: сделайте import CLIPSJNI. *; Environment clips; clips = new Environment(); clips. load("wumpus_world. clp"); clips. reset(); clips. run(); clips. assert. String("(coord (agent pit) (x 1) (y 5))"); String eval. Str = "(find-all-facts ((? f coord)) TRUE)";

 Компиляция программы с использованием JNI Компиляция: javac -classpath. . /CLIPSJNI. jar - Djava. Компиляция программы с использованием JNI Компиляция: javac -classpath. . /CLIPSJNI. jar - Djava. library. path=. . /. . My. Prog. java Запуск полученной программы: java -classpath. . /CLIPSJNI. jar; . My. Prog Точка в classpath обязательна! Без нее не запустится, т. к java не будет знать, где искать файлы вашей программы. Можно сократить -classpath до -cp Пояснение: в -classpath мы указываем путь к библиотеке CLIPSJNI. jar директорией выше.