- •6.Семейство ос Windows.
- •5. Программное обеспечение.
- •7.Сервисное по.
- •3.Антивирусы
- •4.Программы для определения аппаратной конфигурации эвм и тестир-ия произ-ти
- •8.Обработка текста на эвм.
- •10.Компьютерная графика.
- •16.Стек протоколов tcp/ip
- •18.Сеть Интернет.
- •17.Локальные компьютерные сети.
- •20.Активное содержимое док-ов www
- •21.Информационные системы.
20.Активное содержимое док-ов www
-пр-мы,кот.тем или иным способ связаны со страничкой.Страницы,где есть актив.содержимое-динамич. HTML (DHTML)-программы,кот.генерир-ся прямо на ходу.
Пр.,момент захода польз-ля:
1)обогащение страниц
2)диалог с польз.(введите данные…)
Клиентские прилож.(на клиентской машине),серверные прил.(на сервере)
Запрос-сервер-серв.прилож.
Осн.виды клиентских прилож.:
-апплеты(опис.на Java)
-скрипты(сценарии)
JavaScript(включ.в стран.)-язык,осн.на объектах выс.уровня,нетработы с файлами(+:выс.безопасн.,упрощение разр-ки и использ.пр-м,язык массового применения)
Flash-макромедиа-возм-ть объедин.гиперссылок и мультимедиа
Интерфейс CGI(web-сервер: Apache,MS IIS.На запрос пересылает стр-ку, переадресовывает запрос др.серверу, web-сервер привлекает для реш.задач польз-ля стороннюю пр-му,наз-ую CGI-прилож.,CGI-прилож.преобраз.инф-ию в html-cтр. И посылает на web-сервер, затем из веб-сервера клиент получает веб-стр.)
Технология Ajax-позвол.изменять части страницы без перезагрузки
Perl-скриптовый язык(вып-ся на сервере)
PHP-наработано много,опир-ся на язык прогр-ия PHP.Язык PHP-ис.сценариев(скриптовый язык)Эти скрипты вставл-ся в страничку с помощью тегов <?....?>Такой скрипт вып-ся PHP-интерпретатором,нах-ся на сервере.
21.Информационные системы.
-программно-аппаратные комплексы предназначенные для хранения инф-ии в организ.форме, обработки и использ-ия.
Виды ИС:
1)документальные(банки док-ов-хранят док-ты, результат поиска-списки док-ов,они не предполагают однозн-ого ответа на запрос польз.)-сбор-накопление-хранение инф-ии, поиск инф-ии по запросу пользов-ей(Пр.,1) www-распределен.гипертекст.док.ИС глобал.масштаба-осн.часть-интернета,страничка-док-т, 2) 1с бухгалтерия)
2)фактографические ИС(банки данных)-обработка инф-ии-раб.с хорошо стр-ой инф-ией и хранят сведения о фактах реального мира. Однозначный ответ на запрос(Пр.таблица-смысл не важен,гл.-стр-ра).
3)банки знаний(сов-ть инф-й,в кот.отражаются существ.смысл.связи между фактами,отражающие реальные связи между объектами предметной обл-ти(Пр.,иск.интел.))- выдача инф-ии в разл.формах для ее использования.
Компоненты ИС:
1)массив инф-ии
2)инф-поисковый язык для представл.инф-ии и осн.операций с ней
3)правила,методы,алгоритмы для описания инф-ии и обработки
4)комплекс программ и аппаратных ср-в,с помощью кот.функционирует инф-ая система
5)обслужив.персонал(программисты, операторы, системщики, системн.аналитик )
Основные классы ИС:
1)инф-поисковые системы
2)сист.автоматиз.проектирования-поддерж.конструкторскую работу(автокад)
3)геоинформационные сист.(ИС,привяз.к карте)
4)системы автоматизации научных иссл-ий(лабор.установки)
5)экспертные системы(ср-ва Иск.инт.-суть:по нечетко пост.вопросу сделать вывод)
Жизненный цикл ИС.
ЖЦ сис-мы наз.непрерывный процесс,кот.начинается с момента принятия решения о созд-и с-мы и заканчивается в момент ее полной изъятия из эксплуатации.
Стадии ЖЦ Инф.с-мы:
1.предпроект.анализ:
-изучение пред.области
-создание функ. И инф.модели объектов,подлеж.автоматизации(анализ инф.потоков,обязанности польз-й,график док-в)
2.проектирование с-мы вкл.3 стадии:
-Разработка техн.задания(требования к буд.инф.с-мы)
-экзисный прект(док-т,кот.описывает как выглядит с-ма со стороны конеч.пол-ля)
-техн.проект(гл.док-т для разработчика :какие компоненты требуется создать,на каких технл-х построена с-ма )
3.разработка с-мы
-прогр-е и тестир-е ПО
-приобретение необх.компонентов
4.интеграция и сборка с-мы
-установка оборудования,ПО,монтаж,настройка,создание БД ит.д
5.эксплуатация с-мы и ее сопровождение(обучение польз-й)
6.развитие с-мы(утилизация).
ЖЦ инф.с-мы сост-т около 10 лет,т.к.меняются технологии.
Модели ЖЦ.
-каскадная модель с промеж.контролем
22.Архитектура «клиент-сервер». Распределенные компьютерные среды. Службы (сервисы) в информационных системах. Двухзвенная и многозвенная архитектуры приложений. Примеры.
Компьютер (или программу), управляющий/владеющий ресурсом, называют сервером этого ресурса (файл-сервер, сервер базы данных, вычислительный сервер...). Компьютер (или программа), использующий ресурс, называют клиентом. Клиент и сервер какого-либо ресурса могут находится как в рамках одной вычислительной системы, так и на различных компьютерах, связанных сетью.
Основной принцип технологии "клиент-сервер" (двухзвенная архитектура) заключается в разделении функций приложения на три группы:
-ввод и отображение данных (взаимодействие с пользователем);
-прикладные функции, характерные для данной предметной области;
-функции управления ресурсами (файловой системой, базой даных и т.д.)
Поэтому, в любом приложении выделяются следующие компоненты:
-компонент представления данных
-прикладной компонент
-компонент управления ресурсом
Связь между компонентами осуществляется по определенным правилам, которые называют "протокол взаимодействия".
Существуют два подхода к организации обработки распределнных данных.
технология распределенной компьютерной среды Такая среда включает фрагменты данных, расположенные на различных узлах сети. С точки зрения пользователей она выглядит так, как будто все данные хранятся в одном месте. Естественно, такая схема предъявляет жесткие требования к производительности и надежности каналов связи.
-технология тиражирования В этом случае в каждом узле сети дублируются данные всех элементов. При этом:
-передаются только операции изменения данных, а не сами данные
-передача может быть асинхронной (неодновременной для разных узлов)
-данные располагаются там, где обрабатываются
Это позволяет снизить требования к пропускной способности каналов связи, более того при выходе из строя линии связи какого-либо компьютера, пользователи других узлов могут продолжать работу. Однако при этом допускается неодинаковое состояние базы данных для различных пользователей в один и тот же момент времени. Следовательно, невозможно исключить конфликты между двумя копиями одной и той же записи.
На прикладном уровне работает множество стандартных утилит и служб, к числу которых относятся:
-распределенные файловые системы - сновная идея распределенной файловой системы состоит в том, чтобы обеспечить совместный доступ к файлам локальной файловой системы для процессов, которые могут выполняются на других компьютерах.
-службы каталогов - это средство иерархического представления ресурсов, принадлежащих некоторой отдельно взятой системе, и информации об этих ресурсах. Под ресурсами могут пониматься материальные ресурсы, пользователей, сетевые ресурсы и т. д.
22.-службы НТТР - используется для организации доступа к общим данным, расположенным на веб-серверах, с целью публикации и чтения общедоступной информации. Протокол HTTP описывает взаимодействие между HTTP-серверами (веб-серверами) и HTTP-клиентами (веб-браузерами);
-службы FTP - служба Интернета, обеспечивающая передачу файлов между компьютерами;
-службы POP3/SMTP - применяется почтовыми серверами для приема/передачи электронной почты;
-службы имен (DNS) - набор протоколов и служб позволяющий управлять именованием компьютеров в сети;
-службы SNMP - позволяет централизованно управлять узлами сети, например серверами, рабочими станциями, маршрутизаторами, мостами и концентраторами. Кроме того, SNMP можно использовать для конфигурирования удаленных устройств, мониторинга производительности сети, выявления ошибок сети и попыток несанкционированного доступа, а также для аудита использования сети.Многозвенная архитектура баз данных вызвана к жизни необходимостью обрабатывать на стороне сервера запросы от большого числа удаленных клиентов. В рамках этой архитектуры "тонкие" клиенты представляют собой простейшие приложения, обеспечивающие лишь передачу данных, их локальное кэширование, представление средствами пользовательского интерфейса, редактирование и простейшую обработку. Клиентские приложения обращаются не к серверу напрямую, а к специализированному ПО промежуточного слоя. Это может быть и одно звено (простейшая трехзвенная модель) и более сложная структура. ПО промежуточного слоя называется сервером приложений, принимает запросы клиентов, обрабатывает их в соответствии с запрограммированными правилами, при необходимости преобразует в форму, удобную для сервера и отправляет серверу. Сервер БД выполняет полученные запросы и отправляет результаты серверу приложений, который адресует данные клиентам.
25. Циклом наз.многократно повторяющ.участок вычислител.процесса.Достаточно 2-х циклических структур:с предусловием и постусловием.В паскале еще сущ-ет цикл с параметром.
Циклы:
-Арифметич-е(циклы с параметром);
-Итерационные(с пост. и предусловием).
В арифмет.цикле заранее известно кол-во повторений.
Для инер.циклов кол-во повторений выясн.в ходе их выполнения.У циклов с постусловием тело цикла м.не выполняться ни разу.У циклов с постусловием тело цикла выпол.хотя бы один раз.
Операторы циклов.
1.арифмет.цикл(цикл с параметром)
For i:=k1 to(down) k2 do begin
………….
операторы
End.
Операторы -тело цикла.
i-параметр
k1-нач.зн-е параметра
k2-кон.зн-е
2.Итерац.цикл с предусловием
While<условие>do begin
……………
Операторы
End;
Тело цикла выполняется дл тех пор,пока условие принем.знач-е истина.
3.Итер.цикл с постусловием.
Repead
………
Отераторы
Until<условие>
Этот цикл повт-ся,пока условие несет ложь.как только условие станет истинным,цикл завершит свою работу.
Repead
Writeln(‘введите пол.число’)
Readln(x)
Until x>0;
Массивы. –совок-ти однотипных эл-в.
Харект-ся тем,что:
-каж.компонент м.б.явно обозначен и к нему имеется доступ
-число компонент массива опред-ся при его описании и в дальнейшем не меняется.
А
А[3]
Описание.type
Имя Типа=array[список индексов] of тип.
Имя типа-имя данных,массив.
Список индексов-список одного или неск.индексных типов.
Тип-тип компонентов массива,это люб.тип данных,за искл.фактов.
Список индексов обычно предст.собой отрезок.Отрезок обозн.сл.образом:k1..k2.k1 и k2 д.иметь один тип данных.
Обычно размеры массива неизменны и поэтому д.описываться с пом.констант,задающ.верх. и ниж. Границу диапазона,или названий типов.Такие массивы наз. Статическими.А динамич.массивы,размер кот.не известен и м.меняться во время работы.для описания дин.массивой указывать диапазоны изменений не нужно.
26. Процедуры и функции.
В совр.языках прогр-я предусмотрены средства,позвол.оформлять вспом.алгоритм,как подрограммы.Они позволяют искл.повтор.участки алгоритмов.Фун-и могут в отличие от процедур возвращать некот.значения и исп.в ариф.и лог.выражениях.
Описание и вызов процедур и фун-й.
-заголовок
-раздел описаний
-исполняемая часть
Procedure имя(форм.параметры)
Раздел описания
Begin
Испол.часть
End;
Function имя(форм.параметры):Тип результата;
Var имя_перем:тип_перем.
Вызов процедуры производиться указанием ее имени с перечисл-ем фактич.параметров,кот.указываются через запятую.
Процедурой в Delphi наз.оформленный фрагмент прогр.,имеющий собств.имя.Упоминание этого имени в тексте программы проводит к активации процедуры(вызов).Затем выполн.вход.в нее параметры,после выполнения посл-го из них управление возвращается обратно в осн.прог-му и вып-ся операторы,стоящие за оператором вызова процедуры.
Стандарт.процедуры- Exit,ShowMessage, фун-и- StrToInt,Random и т.д.Станд.они наз.потому,что созданы вместа с сис-й Delphi и явл.неотъем.частью.В отличие от процедуры,люб.фун-я имеет внутр.переменную Result того же типа,что и тип фун-и.Присваивание этой переменной зн-я трактуется как указание результата,возвр.функцией.В станд.языке паскаль такой переменной нет,и для указания возвр.-го результата нужно присваивать знач-е названию фун-и.
Пример,
Function MyFuunc:Integer;
Begin
MyFunc:=0;
End;
Передача параметров.
Сущ-ет неск.способов передачи параметров в процедуре и фун-и:
1.по значению
2.по ссылке
1.Для передачи переменной по зн-ю не следует включ.слово Var.
Procedure Primer(i:integer);
Begin
.
.
End.
Это означ.,что в стеке выделяется память для хранения переменной.
2.передача по ссылке произ-ся с пом.указания ключ.слова Var/
Procedure Primer 2(var i:integer;)
Begin
.
.
End.
Переменные,кот.передаются по значению-выходные параметры.
27.Объект и класс
Классом в Object Pascal называется структура языка, которая может иметь в своем составе переменные, функции и процедуры. Переменные в зависимости от предназначения именуются полями или свойствами .Процедуры и функции класса — методами. Соответствующий классу тип будем называть объектным типом:
type
TMyObject = class(TObject)
MyField: Integer;
function MyMethod: Integer;
end;
В этом примере описан класс TMyObject, содержащий поле MyField и метод
MyMethod.
Поля объекта аналогичны полям записи (record). Это данные, уникальные для каждого созданного в программе экземпляра класса. Описанный здесь класс TMyObject имеет одно поле — MyField.
Классы могут быть описаны либо в секции интерфейса модуля, либо на верхнем уровне вложенности секции реализации. Не допускается описание классов "где попало", т. е. внутри процедур и других блоков кода.
Чтобы использовать класс в программе, нужно, как минимум, объявить переменную этого типа. Переменная объектного типа называется экземпляром класса или объектом:
var
AMyObject: TMyObject;
До введения термина "класс" в языке Pascal существовала двусмысленность определения "объект", который мог обозначать и тип, и переменную этого типа. Теперь же существует четкая граница: класс — это описание, объект — то, что создано в соответствии с этим описанием.
Класс TObject
Класс TObject является родоначальником всей иерархии использующихся в Delphi классов. Он реализует функции, которые обязательно будет выполнять любой объект, который может быть создан в среде разработки.
Процесс создания объекта включает выделение области адресного пространства, установку указателя на экземпляр объекта, задание начальных значений свойств и выполнение установочных действий, связанных с назначением объекта. В общем случае две последние операции могут не выполняться.
Указатель на экземпляр объекта передается в переменную объектного типа, которая в дальнейшем будет идентифицировать объект в программном коде приложения.
Объект класса TObject обеспечивает выполнение этого процесса для любого порожденного от него объекта. А уже внутри конструктора, который унаследован от класса TObject, можно предусмотреть инициализацию переменных и выполнение дополнительных операций. Объявление конструктора выглядит следующим образом:
constructor Create;
В конструкторах потомков это объявление может перекрываться, но при необходимости вызвать конструктор предка используется оператор inherited:
constructor TSomeObject.Create;
begin
inherited Create;
...
end;
Для уничтожения экземпляра объекта в классе TObject предназначены методы Destroy и Free:
destructor Destroy; virtual;
procedure Free;
27. Как видно из объявления, настоящим деструктором является метод Destroy. Он обеспечивает освобождение всех занимаемых экземпляром объекта ресурсов. Обычно при создании новых классов деструктор всегда перекрывается для того, чтобы корректно завершить работу с данными.
Описание класса.
Нов.тип(класс) описывается с пом.ключ.слова class.
Type имя класса
Class(имя родит.класса)
Список членов класса;
End;
Имя род.класса указывает ,если нов.класс д.наследовать все его хар-ки(и хар-ки всех его родителей).Иск-ть к-л члены род.классов нельзя.
28. Поля, свойства и методы
Поля класса являются переменными, объявленными внутри класса. Поля м.б.любого типа,в том числе классами.Они предназначены для хранения данных во время работы экземпляра класса (объекта). В описании класса поля должны предшествовать методам и свойствам. Обычно поля используются для обеспечения выполнения операций внутри класса.
При объявлении имен полей принято к названию добавлять заглавную букву F. Например FSomeField.
Поля предназначены для использования внутри класса. Однако класс должен каким-либо образом взаимодействовать с другими классами или программными элементами приложения. В подавляющем большинстве случаев класс должен выполнить с некоторыми данными определенные действия и представить результат.
Доступ к методам поля возможен с пом.составных имен:
Var
aObject:TMyClass:
begin
….
aObject.MyProg;
..
End;
Для получения и передачи данных в классе применяются свойства. Для объявления свойств в классе используется зарезервированное слово property.
Свойства представляют собой атрибуты, которые составляют индивидуальность объекта и помогают описать его. Например, обычная кнопка в окне приложения обладает такими свойствами, как цвет, размеры, положение. Для экземпляра класса "кнопка" значения этих атрибутов задаются при помощи свойств — специальных переменных, определяемых ключевым словом property. Цвет может задаваться свойством Color, размеры — свойствами Width и Height и т. д.
Так как свойство обеспечивает обмен данными с внешней средой, то для доступа к его значению используются специальные методы класса. Поэтому обычно свойство определяется тремя элементами: полем и двумя методами, которые осуществляют его чтение/запись:
type
TAnObject = class(TObject)
function GetColor: TSomeType;
procedure SetColor(ANewValue: TSomeType);
property AColor: TSomeType read GetColor write SetColor;
end;
В данном примере доступ к значению свойства AColor осуществляется через вызовы методов GetColor и SetColor. Однако в обращении к этим методам в явном виде нет необходимости: достаточно написать:
AnObject.AColor := AValue;
AVariable := AnObject.AColor;
и компилятор самостоятельно оттранслирует обращение к свойству AColor в вызовы методов Getcolor или Setcolor. Tо есть внешне свойство выглядит в точности как обычное поле, но за всяким обращением к нему могут стоять нужные вам действия. Например, если у вас есть объект, представляющий собой квадрат на экране, и его свойству "цвет" вы присваиваете значение "белый", то произойдет немедленная перерисовка, приводящая реальный цвет на экране в соответствие со значением свойства. Выполнение этой операции осуществляется методом, который связан с 28.установкой значения свойства "цвет".
Инкапсуляция
объект — это сложная конструкция, свойства и поведение составных частей которой находятся во взаимодействии. К примеру, если мы моделируем взлетающий самолет, то после набора им определенной скорости и отрыва от земли принципы управления им полностью изменяются. Поэтому в объекте "самолет" явно недостаточно просто увеличить значение поля "скорость" на несколько километров в час — такое изменение должно автоматически повлечь за собой целый ряд других.
При создании программных объектов подобные ситуации можно моделировать, связывая со свойствами необходимые методы. Понятие инкапсуляции соответствует этому механизму.
Классическое правило объектно-ориентированного программирования утверждает, что для обеспечения надежности нежелателен прямой доступ к полям объекта: чтение и обновление их содержимого должно производиться посредством вызова соответствующих методов. Это правило и называется инкапсуляцией.
Наследование Этот простой принцип означает, что если вы хотите создать новый класс, лишь немного отличающийся от старого, то совершенно нет необходимости в переписывании заново уже существующих полей и методов. Вы объявляете, что новый класс TNewObject
TNewObject = class(TOldObject);
является потомком или дочерним классом старого класса TOldObject, называемого предком или родительским классом, и добавляете к нему новые поля, методы и свойства — иными словами, то, что нужно при переходе от общего к частному.
29. Методы класса .
Инкапсулированные в классе процедуры и фун-и наз.методами.Они объявл.также как и обычные подпрограммы.
Type
TMyClass
Function MyFunc(aPar:Integer):Integer;
Procedure MyProg;
End;
Конструкторы и деконструкторы.
Когда описывается переменная class,для ее полей и св-в памяти выделяется соот-й объем,но маш.код,в кот.транслируются методы класса,т.к.меняться он не может,и хранит неск.один.копий прог-м не имеет смысла.когда объект создается,однократно вызывается спец.метод-конструктор.В нем выпол-ся разл.действия по нач.инициализации полей объекта.Когда объект уничтожается(напр,он был описан внутри процедуры как локал.переменная и удаляется из памяти приее завершении),вызывается др.метод-деструктор,кот.выпол-ет разл.доп.действия по освобождению памяти,если это необ-мо.Явно вызвать конст.или дестр.из прогр.кода нельзя.Это происходит автоматически.
Полиморфизм. Это св-во классов решать схожие по смыслу проблемы раз.способами.В рамках Delphi св-ва класса опред-ся набором вх.в него методов.Изменяя алгоритм того лил иного метода в потомках класса,можно придавать этим потомкам отсутст.у родителя специфич.св-ва.Для изменения метода необ-мо перекрыть его в потомке,т.е.объявить в потомке одноим.метод и реализовать в нем нужные действия.В результате в объекте-родителе и объекте-потомке б.действ-ть 2 одноименных метода,имею.разн.алгоритмич.основу,и следова-но,придающие объектам разн.св-ва.Это и наз.полиморфизмом объектов.
Абстрактными называются методы, которые определены в классе, но не содержат никаких действий, никогда не вызываются и обязательно должны быть переопределены в потомках класса. Абстрактными могут быть только виртуальные и динамические методы. В Object Pascal такие методы объявляются с помощью одноименной директивы. Она указывается при описании метода:
procedure NeverCallMe; virtual; abstract;
В практике программирования принято присваивать всем идентификаторам в программе (в том числе полям объектов) осмысленные названия. В отличие от поля, внутри других методов перекрытый метод доступен при указании зарезервированного слова inherited. По умолчанию все методы объектов являются статическими — их адрес определяется еще на стадии компиляции проекта, поэтому они вызываются быстрее всего. Принципиально отличаются от статических виртуальные и динамические методы. Они должны быть объявлены путем добавления соответствующей директивы virtual или dynamic. С точки зрения наследования методы этих двух видов одинаковы: они могут быть перекрыты в дочернем классе только одноименными методами, имеющими тот же тип.
У компилятора нет возможности определить класс объекта. Нужен механизм, позволяющий определить это прямо во время выполнения. Такой механизм называется поздним связыванием (late binding).
29.Естественно, что этот механизм должен быть каким-то образом связан с передаваемым объектом. Для этого используются таблица виртуальных методов (Virtual Method Table, VMT) и таблица динамических методов (Dynamic Method Table, DMT).
Разница между виртуальными и динамическими методами заключается в особенности поиска адреса. Когда компилятор встречает обращение к виртуальному методу, он подставляет вместо прямого вызова по конкретному адресу код, который обращается к VMT и извлекает оттуда нужный адрес.
Такая таблица есть для каждого класса (объектного типа). В ней хранятся адреса всех виртуальных методов класса, независимо от того, унаследованы ли они от предка или перекрыты в данном классе. Отсюда и достоинства, и недостатки виртуальных методов: они вызываются сравнительно быстро, однако для хранения указателей на них в таблице VMT требуется большое количество памяти.
Динамические методы вызываются медленнее, но позволяют более экономно расходовать память. Каждому динамическому методу системой присваивается уникальный индекс. В таблице динамических методов класса хранятся индексы и адреса только тех динамических методов, которые описаны в данном классе. При вызове динамического метода происходит поиск в этой таблице; в случае неудачи просматриваются таблицы DMT всех классов-предков в порядке иерархии и, наконец, класс TObject, где имеется стандартный обработчик вызова динамических методов. Экономия памяти.
Для перекрытия и виртуальных, и динамических методов служит директива override, с помощью которой можно переопределять оба этих типа методов.
30 Проектирование программ - наиболее ответственный этап жизненного цикла программных продуктов, определяющий, насколько создаваемая программа соответствует спецификациям и требованиям со стороны конечных пользователей. Затраты на создание, сопровождение и эксплуатацию программных продуктов, научно-технический уровень разработки, время морального устаревания и многое другое- все это также зависит от проектных решений.
Классификация методов
-степень автоматизации проектных работ( методы традиционного (неавтоматизированного) проектирования;
методы автоматизированного проектирования (CASE-технология и ее элементы)).
-принятая методология процесса разработки.
Подходы в проектировании
-структурное проектирование программных продуктов;
-информационное моделирование предметной области и связанных с ней приложений;
-объектно-ориентированное проектирование программных продуктов.
1) В основе структурного проектирования лежит последовательная декомпозиция, целенаправленное структурирование на отдельные составляющие.
Типичными методами структурного проектирования являются:
-нисходящее проектирование, кодирование и тестирование программ;
-модульное программирование;
-структурное проектирование (программирование) и др.
В зависимости от объекта структурирования различают:
-функционально-ориентированные методы - последовательное разложение задачи или целостной проблемы на отдельные, достаточно простые составляющие, обладающие функциональной определенностью;
-методы структурирования данных.
2) для информационного моделирования предметной области, в основе которого положение об определяющей роли данных при проектировании алгоритмов и программ
3) бъектно-ориентированный подход к проектированию программных продуктов основан на:
-выделении классов объектов;
-установлении характерных свойств объектов и методов их обработки;
-создании иерархии классов, наследовании свойств объектов и методов их обработки.
Модуль - это самостоятельная часть программы, имеющая определенное назначение и обеспечивающая заданные функции обработки автономно от других программных модулей.
Таким образом, программный продукт обладает внутренней организацией, или внутренней структурой, образованной взаимосвязанными программными модулями. Это справедливо для сложных и многофункциональных программных продуктов, которые часто называются программными системами.
Таким образом, структуризация программных продуктов преследует основные цели:
распределить работы по исполнителям, обеспечив приемлемую их загрузку и требуемые сроки разработки программных продуктов;
30.построить календарные графики проектных работ и осуществлять их координацию в процессе создания программных изделий;
контролировать трудозатраты и стоимость проектных работ и др.
модулей различают:
-головной модуль - управляет запуском программного продукта (существует в единственном числе);
-управляющий модуль - обеспечивает вызов других модулей на обработку;
-рабочие модули - выполняют функции обработки;
-сервисные модули и библиотеки, утилиты - осуществляют обслуживающие функции.
В работе программного продукта активизируются необходимые программные модули. Управляющие модули задают последовательность вызова на выполнение очередною модуля. Информационная связь модулей обеспечивается за счет использования общей базы данных либо межмодульной передачи данных через переменные обмена.
DLL (англ. Dynamic-link library —динамическая библиотека, позволяющая многократное применение различными программными приложениями.
Первоначально предполагалось, что введение DLL позволит эффективно организовать память и дисковое пространство, используя только одну инстанцию библиотечных модулей для многих приложений.
Далее, предполагалось улучшить эффективность разработок и использования системных средств за счёт модульности. Замена DLL-программ с одной версии на другую должна была позволить независимо наращивать систему, не затрагивая приложений. Кроме того, библиотеки DLL могли использоваться разнотипными приложениями — например, Microsoft Office, Microsoft Visual Studio
API
Интерфе́йс программи́рования приложе́ний (англ. Application Programming Interface)— набор методов (функций), который программист может использовать для доступа к функциональности программного компонента (программы, модуля, библиотеки). API является важной абстракцией, описывающей функциональность «в чистом виде».
API определяет функциональность, которую предоставляет программа (модуль, библиотека), при этом API позволяет абстрагироваться от того, как именно эта функциональность реализована.
Если программу (модуль, библиотеку) рассматривать как чёрный ящик, то API — это множество «ручек», которые доступны пользователю данного ящика, которые он может вертеть и дёргать.
Программные компоненты взаимодействуют друг с другом посредством API. При этом обычно компоненты образуют иерархию --- высокоуровневые компоненты используют API низкоуровневых компонент, а те, в свою очередь, используют API ещё более низкоуровневых компонент
ПР(По такому принципу построены протоколы передачи данных по Internet. Стандартный протокол Internet (сетевая модель OSI) содержит 7 уровней (от физического уровня передачи пакетов бит до уровня протоколов приложений, подобных протоколам HTTP и IMAP). Каждый уровень пользуется функциональностью предыдущего уровня передачи данных и, в свою очередь, предоставляет нужную
31 Моделирование
Слово «модель» произошло от латинского слова «modulus», означает «мера», «образец».
Модель – это такой материальный или мысленно представляемый объект, который в процессе исследования замещает объект-оригинал так, что его непосредственное изучение дает новые знания об объекте-оригинале.
Под моделированием понимается процесс построения, изучения и применения моделей. Оно тесно связано с такими категориями, как абстракция, аналогия, гипотеза и др. Процесс моделирования обязательно включает и построение абстракций, и умозаключения по аналогии, и конструирование научных гипотез.Главная особенность моделирования в том, что это метод опосредованного познания с помощью объектов-заместителей. Модель выступает как своеобразный инструмент познания, который исследователь ставит между собой и объектом, и с помощью которого изучает интересующий его объект. Именно эта особенность метода моделирования определяет специфические формы использования абстракций, аналогий, гипотез, других категорий и методов познания.
В самом общем случае при построении модели исследователь отбрасывает те характеристики, параметры объекта-оригинала, которые несущественны для изучения объекта. Выбор характеристик объекта-оригинала, которые при этом сохраняются и войдут в модель, определяется целями моделирования. Обычно такой процесс абстрагирования от несущественных параметров объекта называют формализацией. Более точно, формализация – это замена реального объекта или процесса его формальным описанием.Основное требование, предъявляемое к моделям – это их адекватность реальным процессам или объектам, которые замещает модель.В моделировании есть два различных подхода. Модель может быть похожей копией объекта, выполненной из другого материала, в другом масштабе, с отсутствием ряда деталей. Например, это игрушечный кораблик, домик из кубиков, деревянная модель самолета в натуральную величину, используемая в авиаконструировании и др. Модели такого рода называют натурными.
формализация – это замена реального объекта или процесса его формальным описанием.
Модель может, однако, отображать реальность более абстрактно – словесным описанием в свободной форме, описанием, формализованным по каким-то правилам, математическими соотношениями и т.п. Будем называть такие модели абстрактными.
Классификация абстрактных моделей:
1. Вербальные (текстовые) модели. Эти модели используют последовательности предложений на формализованных диалектах естественного языка для описания той или иной области действительности (примерами такого рода моделей являются милицейский протокол, правила дорожного движения).
2. Математические модели – очень широкий класс знаковых моделей (основанных на формальных языках над конечными алфавитами), использующих те или иные математические методы. Например, математическая модель звезды будет представлять собой сложную систему уравнений, 31.описывающих физические процессы, происходящие в недрах звезды. Другой математической моделью являются, например, математические соотношения, позволяющие рассчитать оптимальный (наилучший с экономической точки зрения) план работы какого-либо предприятия.
3. Информационные модели – класс знаковых моделей, описывающих информационные процессы (получение, передачу, обработку, хранение и использование информации) в системах самой разнообразной природы. Примерами таких моделей могут служить OSI – семиуровневая модель взаимодействия открытых систем в компьютерных сетях, или машина Тьюринга – универсальная алгоритмическая модель.
Компьютерное моделирование — метод решения задачи анализа или синтеза сложной системы на основе использования ее компьютерной модели. Суть компьютерного моделирования заключена в получении количественных и качественных результатов по имеющейся модели. Качественные выводы, получаемые по результатам анализа, позволяют обнаружить неизвестные ранее свойства сложной системы: ее структуру, динамику развития, устойчивость, целостность и др. Количественные выводы в основном носят характер прогноза некоторых будущих или объяснения прошлых значений переменных, характеризирующих систему.
Этапы
Первый этап – определение целей моделирования. Основные из них таковы:
1) Понимание
Модель в этой ситуации нужна для того, чтобы понять, как устроен конкретный объект, какова его структура, основные свойства, законы развития и взаимодействия с окружающим миром.
2) Управление
Модель нужна для того, чтобы научиться управлять объектом (или процессом) и определить наилучшие способы управления при заданных целях и критериях;
З) Прогнозирование
Модель используется для того, чтобы прогнозировать прямые и косвенные последствия воздействия на объект заданными способами.
следующей классификации:
• дескриптивные (описательные) модели;- движение кометы
• оптимизационные модели;- меняя тепловой режим в зернохранилище, мы можем стремиться подобрать такой, чтобы достичь максимальной сохранности зерна
• многокритериальные модели;- зная цены на продукты и потребность человека в пище, организовать питание больших групп людей
• игровые модели;- . В современной математике есть специальный раздел – теория игр
• имитационные модели.-динамику численности микроорганизмов в колони
32 Компьютерное моделирование — метод решения задачи анализа или синтеза сложной системы на основе использования ее компьютерной модели. Суть компьютерного моделирования заключена в получении количественных и качественных результатов по имеющейся модели. Качественные выводы, получаемые по результатам анализа, позволяют обнаружить неизвестные ранее свойства сложной системы: ее структуру, динамику развития, устойчивость, целостность и др. Количественные выводы в основном носят характер прогноза некоторых будущих или объяснения прошлых значений переменных, характеризирующих систему.
Под стохастическими будем понимать системы, процесс эволюции которых имеет случайный характер, т.е. такие, в которых результат развития системы не детерминирован полностью влияющими на нее факторами.
Для описания явлений с неопределенным исходом используется идея случайности. Согласно ей, результат таких явлений как бы определяется неким случайным выбором, случайным испытанием
Статистический подход к изучению явлений заключается в мысленном разделении наблюдаемой изменчивости на две части – обусловленные закономерными и случайными причинами, и выявлении закономерной изменчивости на фоне случайной.
Вероятность события – это числовая мера его правдоподобия, объективной возможности его появления. Приближенно, это отношение числа появлений данного события к числу испытаний, если число испытаний достаточно велико (теорема Бернулли).
Случайными величинами называют величины, принимающие в ходе случайных испытаний заранее неизвестные значения.
Дискретной случайной величиной (ДСВ) называется такая случайная величина, множество возможных значений которой конечно, либо счетно.
Непрерывной случайной величиной (НСВ) называется такая случайная величина, множество значений которой может принять любое значение из некоторого интервала.Появление тех или иных значений случайной величины можно рассматривать как события, которым в общем случае соответствуют различные вероятности. Полное представление о случайной величине дает закон ее распределения. закон распределения задается либо интегральной функцией распределения F(x), задающей вероятность того, что случайная величина X принимает значение, меньшее x, либо, чаще, плотностью вероятности f(x) = F’(x).Законом распределения ДСВ называется соотношение, устанавливающее связь между возможными значениями случайной величины и соответствующими вероятностями. метод статистических испытаний (метод Монте-Карло).
Основная идея этого метода состоит в следующем: вместо аналитического решения задачи либо проводят испытания, непосредственно рассматриваемые в задаче, либо эти испытания заменяют другими, имеющими с исходными одинаковую вероятностную структуру. Иначе говоря, рассматриваемые в задаче случайные явления имитируют, 32.моделируют другими случайными явлениями.
Определённые по результатам достаточно большого числа испытаний характеристики случайных явлений (относительные частоты, средние арифметические) используют в качестве приближенного решения задачи (в качестве оценок вероятностей, математических ожиданий). Допустимость этого приближения основывается на законе больших чисел.
Метод статистических испытаний применяют для решения не только тех задач, в которых в явном виде имеются случайные явления, но также и для решения других математических задач. В этом случае искусственно подбирают такое случайное явление, характеристики которого связаны с результатом решения исходной задачи. Для определения числовых значений этих характеристик используется метод статистических испытаний.
Оказывается, что для имитации на ЭВМ случайных явлений самой различной природы достаточно получить на ЭВМ последовательность значений случайной величины, равномерно распределенной на отрезке [0,1]. Процесс получения значений случайной величины называют ее моделированием.Напомним, непрерывная случайная величина X имеет равномерное распределение на отрезке [a,b], если её плотность вероятности
Случайную величину с равномерным распределением на отрезке [0,1] будем обозначать R. ИмеемСлучайная величина R обладает следующим свойством: вероятность попадания ее в любую часть отрезка [0,1] равна длине этой части. Действительно, если [r1, r2] — некоторая часть отрезка [0,1], то вероятность
ОБЩИЕ МЕТОДЫ МОДЕЛИРОВАНИЯ СЛУЧАЙНЫХ ВЕЛИЧИН
Если случайная величина дискретна, то её моделирование (получение последовательности значений) можно свести к моделированию независимых испытаний. Действительно, пусть имеет место следующий ряд распределения:
X |
x1 x2 … xn |
P |
p1 p2 … pn |
Обозначим через Ai событие, состоящее в том, что случайная величина X примет значение xi. Тогда нахождение значения, принятого случайной величиной X в результате испытания, сводится к определению того, какое из событий A1, A2,…,An появится. Так как события A1, A2,…,An несовместны, образуют полную группу и вероятность появления каждого из них не изменяется от испытания к испытанию, то для определения последовательности значений, принятых случайной величиной X, можно использовать процедуру моделирования последовательности независимых испытаний.Помимо описанного выше общего алгоритма моделирования дискретной случайной величины для многих законов распределения существуют специальные алгоритмы.Для моделирования непрерывной случайной величины существует множество методов, большая часть которых зависит от вида заданного распределения этой величины. Рассмотрим общие алгоритмы моделирования НСВ. Простейший случай – это равномерно распределенные случайные числа. Для получения их последовательности можно использовать линейный
33 Системный анализ
термин система как совокупность (множество) отдельных объектов с неизбежными связями между ними. Если мы обнаруживаем хотя бы два таких объекта: учитель и ученик в процессе обучения, продавец и покупатель в торговле
Системный анализ — это совокупность методов, основанных на использовании ЭВМ и ориентированных на исследование сложных систем — технических, экономических, экологических и т.д. Результатом системных исследований является, как правило, выбор вполне определенной альтернативы: плана развития региона, параметров конструкции и т.д. Поэтому истоки системного анализа, его методические концепции лежат в тех дисциплинах, которые занимаются проблемами принятия решений: теории операций и общей теории управления».
СИСТЕМНЫЙ АНАЛИЗ
Процесс выделения существенных для моделирования свойств объекта и связей между ними с целью их описания мы называли формализацией. В более широком смысле слова под формализацией понимают построение теории или какой-либо области знания в таком виде, который допускает использование математических (строгих) методов исследования. Можно сказать, что формализация – это отображение результатов мышления в точных понятиях.
В современной науке процесс формализации неотделим от методологии, базирующейся на использовании понятия «система». Общие свойства и закономерности различных систем исследуются наукой, которая получила название «общая теория систем».
Система (греч. systema – целое, составленное из частей, соединенное) – это совокупность взаимодействующих, взаимосвязанных элементов, образующих определенную целостность.
Первую концепцию общей теории систем выдвинул во второй половине XX века австрийский биолог Людвиг фон Берталанфи. Согласно его определению, общей теорией систем или системным анализом, называется наука, занимающаяся изучением преимущественно больших и сложных систем. Предшественниками фон Берталанфи были А.А.Богданов, В.И.Вернадский, Н.Винер и др.
Выдающийся кибернетик Уильям Росс Эшби так писал в 19966 году об общей теории систем: «По сути дела, в течение двухсот лет наука одерживала победы главным образом благодаря тому, что она исследовала многие представляющие большой практический интерес системы, взаимодействие отдельных частей в которых было довольно слабым... Однако, начиная с сороковых годов, предпринимаются серьезные попытки исследования динамических систем, отличающихся большими размерами и наличием богатых внутренних связей... Так возникла теория систем – попытка объединения научных принципов, которые могли бы служить ориентиром в нашем стремлении овладеть динамическими системами».
Понятия «большая система» и «сложная система» достаточно субъективны.
Большие системы — это системы, в которых число разных состояний элементов или взаимосвязей между элементами комбинаторно велико или несчетно.
При исследовании больших систем перебор состояний 33. 33.системы исключен. Для них требуются специфические методы исследования и синтеза. Одним из таких методов является декомпозиция системы, разбиение ее на подсистемы.
Сложные системы — это системы, обладающие большим числом достаточно сильных взаимосвязей между составляющими их элементами.
Процессы в сложных системах не могут быть описаны на языке классической математики, аналитическими средствами. Отметим, что большая система не обязательно должна быть сложной, а сложная – не обязательно должна быть большой.Существуют два взгляда на теорию систем. С одной стороны, общая теория систем (системным анализ) признает объективность существования систем в виде реальных объектов и их взаимодействия. Другие исследователи утверждают, что никаких реальных систем не существует, что системы – это не более чем способ рассмотрения объектов, поэтому следует говорить не о теории систем, а о системном подходе к исследованию законов и явлений природы. Системный подход отрицает объективность самого существования систем, считая использование понятия системы чисто методологическим приемом, одним из способов описания действительности. Мы не будем учитывать методологических различий, и будем использовать далее термин «системный анализ».
Современный системный анализ является наукой, изучающей структуру, свойства и поведение абстрактных систем с целью их описания и управления ими.
Все возрастающая дифференциация и углубление наук, сопровождающиеся разрывом связей между науками и отдельными научными направлениями, привели к необходимости интеграции наук. Надежды на решение этой задачи и установление междисциплинарных связей между узкоспециализированными науками связаны с процессом становления и развития общей теории систем. Именно понятие системы лежит в основе таких интегральных наук, как кибернетика, синергетика (теория самоорганизации), информационные системы.
Центральные, главные свойства систем постулируются в основных принципах системного анализа:
1.Целостность (связность системы, относительная независимость и отграниченность системы от внешней среды).
2.Эмерджентность (несводимость свойств системы к сумме свойств ее элементов).
3.Структурность (наличие структуры, т. е. сети связей и отношений внутри системы).
4.Иерархичность (структурирование отношений между подсистемами в соответствии с подчиненностью).
5.Принцип единства целей (подчиненность всей организации системы, ее поведения некоторой цели).
Одной из задач системного анализа является классификация систем по различным признакам. В частности, выделяются абстрактные и материальные (неорганические и живые; социальные), детерминированные и стохастические, статические и динамические системы. Изучению динамических систем уделяется особое внимание. Для описания таких систем надо определить их входы (способность воспринимать воздействия других систем), выходы (способность данной системы воздействовать на
34 ИИ-
отрасль информат направлен на разработку новых методов и моделей решения сложн интелектуальн задач
ИЗ-те для котор на современн этапе не известен алгоритм решения
ИИ занимается моделированием интеллектуальн деятельности человека
Предыстория – Раймонд лулий(18в)
Науки на кот основывался ИИ:
Физиология,философия,логика
Основное понятие силлогизм-форма записи дедуктвного заклчения приведением к которой дает однозначный ответ об истинности или ложности вывода из двух истинных посылок.
-Порфирий привел логику к независимой от формы чтобы оперировать только логическими связками
-декарт заложил аналитическю геометрию(от графиков к уравнениям)
- 19в Дж.Буль –матем логика (словестные формы логики превратил в матем символы)
- 20в понятие «формальная система»
компоненты формальной системы (алфавит,формулы,аксиомы теории,теоремы-формулы для кот сущ докозательство)
Кибернетика-наука об оптимальном управлении сложными динамическими системами
Современн.толкование-кибернетика-наука об общих законах получения,обработки,хрнения,и передачи информации в управляемых сложных системах
Разделы Кибернетики: -математич оптимизация
-терия игр
-терия мас обслуживания
-системы автомат управления
-робототехника
-распознование образов
Существуют технич устройства кот работают на принципах отличн от машины Тьюринга.Эти устройтва могут эффективно решать сложные интеллектуальн задачи
ПР:Персептрон-устройство для распознования образов
ИИ разделил на 2 методологич подхода:
А)нейрокибернетика(нейроинформатика)
Б)кибернетика «черного ящика»
А)-основная идея в том чтобы моделировать аппаратными программными средствами структкру человеч мозга и его функции обусловленные этой структурой
Подходы к моделированию структуры мозга:
-аппаратный подход
-программный
-гибридный
Разнообразные модели мозга и его функция наз.нейросетями
Нейрокомп-впервые в 80е годы (Макколок,Питтс)
Нейросети хранят знания в неявной форме,способны к обучению и самообучению
Б)-не имеет значения как устроено мыслящ устройство,главное чтобы решало задачи также эффективно как чел
Основн асобенность-представление знаний в компе и использование некот алгоритмов ,приемов человеч мышления
Эвристика-не решат задачу перебором,а а правила формируются в результате полученного опыта,наблюдений,теоретич не обоснованные
Интеллектуальная сист-любая вычислит система или комплексн программы базирующ на моделировании интеллектуальн функций человека
34.Система становится интеллектуальн если в ней представлен знания или она использ приемы характур для мыслящ человека или комбинируются оба этих подхода
1)представление знаний в явной форме опирается на БЗ
-построение и исследование моделей представления знаний
-создание БЗ для экспертных систем
-изучение методов извлечения знаний и посика закономерностей
2)разработка ПО для ИИ
-языки програмировани(lisp,prolog,planner,smalltalk)
-инструментальн средства для разработки интеллект программ
-оболочки экспертных систем
3)обработка текстов на естествен языке
-машинный перевод
-естественно-языков интерфейсы
Метод структурного анализа включ 4 последоват этапа
-морфологич анализ(пословный)
-синтаксический(частей предложений и граммат связей между этими частями)
-семантический(смысл частей предложений на осонове БЗ)
-прогматический анализ(анализ смысла предложений в контексте предметной области)
4)робототехника
сущ 3 поколения роботов
-роботы с жесткой схемой управления
-адаптивные роботы с сенсорными устройствами
-интеллектуальн роботы
5)распознование образов
классификация объектов на основании набора значимых признаков
6)машинное обучение и самообучение
изучает модели и методы направленные на автоматич накопление и формирование знаний на осове анализа и обобщения данных –«обучение на примерах»
1960-1970 Лотфи Заде
Нечеткая матем занимается формализацией расплывчат,нечетких понятий
Степень принадлежности это субъективная мера того на сколько Х соответствует тому понятию которое формализуется данным нечетким множеством
Пр: «небольшой запас деталей на складе
Цель использования нечеткого множества-добиться единства толкований нечетких понятий
Используя нечеткие множества м строить нечеткие отношения, нечеткие числа,функции,переменные….
Кибернетика-наука об оптимальном управлении сложными динамическими системами
Современн.толкование-кибернетика-наука об общих законах получения,обработки,хрнения,и передачи информации в управляемых сложных системах
Разделы Кибернетики: -математич оптимизация
-терия игр
-терия мас обслуживания
-системы автомат управления
-робототехника
-распознование образов
Существуют технич устройства кот работают на принципах отличн от машины Тьюринга.Эти устройтва могут эффективно решать сложные интеллектуальн задачи
ПР:Персептрон-устройство для распознования образов
35 Представление знаний
Данные-это отдельные факты характериз объекты,процессы,явления в предметн области
Знания-закономерности предметн области
Любое знание это результат обобщения практического опыта
Знания м условно разделить на
1)эмпирические-отображают результаты наблюдений тоесть видимые закономерности
2)теоретические
Знания м разделить на
1)процедурные-достижение цели проходя через цепочку шагов
2)декларативные-направлено на описание ситуации
Модели представления знаний
-продукционная
-симантическая сеть
-фреймовая модель
-логические модели
Знания описанные на к-л языках представления знаний и хранящиеся на машинных носителях образуют БЗ(намного меньше БД)
Система знаний-матем или информац модель некотор предметн области
СЗ и БЗ близкие понятия но БЗ подразумевает конкретн машинную реализац СЗ
Основные требования к СЗ
-наличие механизма получения нов знаний из исходных(вывод,поиск…)
-терпимость к внутренним противоречиям
-критичность к новой информ
-дробность СЗ.модель д делиться на части удобные для работы
-адаптивность-способность к обучению и переструктурировнию знаний
Продукционная модель
Представляет знания виде продукционных правил тоесть предложений
«если <условие>,то <дейсствие>»
условие-это некот предложение,образец по кот производится поиск в БЗ
действие-наюор выполняемых процедур
36 Логическое прогр-ие
В логическом программировании программа представляет собой не набор команд и инструкции для компьютера, а описание абстрактной модели решаемой задачи; в виде логических утверждений
A:-B1, B2, … Bn A истинно, если истинны Bi
Формулируются сведения о задаче и предположения, достаточные для её решения.
Подобная программа может выполняться путем постановки задачи, описанной в виде логического утверждения - целевого утверждения (вопроса) G?
Выполнение программы состоит в попытке решить задачу, т.е. доказать целевое утверждение G, используя предположения A, заданные в логической программе.
Наиболее известным языком логического программирования является Пролог, созданный на рубеже 60 - 70-х годов ХХ в. в Марсельском университете А. Колмерором и его сотрудниками на основе теоретических работ Р.А. Ковальского (программа доказательства теорем Programmation en Logique, которая включала интерпретатор хорновых дизъюнктов Ковальского).
Основн структурн единица программы-предложение
Оно бывает 3х типов: -факты, -правила, -цели
В конце предложен ставится точка,для логич связак внутри предложен ставится , ; и соотвтств &
Объекты предметн области наз атомами и их имена пишутся с маленьк буквы
Пример запроса
?-ребенок(Петр,ирина)
-сначала prolog ищет цель в списке фактов
-если не найдено начинает сопоставлять цель с правилами,использ обратный выводцель поставляется в заключение правила
-если цель соответств заключению правила то происходит конкретизация переменных
конкретизация переменных: Y=Ирина X=Петр
«ребенок(Ирина,петр):-родитель(Петр,ирина)»
подцель:родитель(Петр,ирина)
с новой целью происходит то же действие что и с исходной
поскольку в списке фактов найден факт соответств подцели то верна и исходн цель
Основные стандартные предикаты в Turbo Prolog
1)write(a1,a2,…..an)предикат выводит на текущее устройство вывода значение своих аргументов
Число аргумент м.б. произвольным. Аргумент м.б. любые const, переменные,значение кот принадлеж одному из стандартн доменов
2)nl-предикат посылает на текущ устройство вывода маркер перевода строки
3)readln(S)-считывает с текущ устройства ввода символьн строку и помещает в строков переменную S
4)readint(N)-предикат вводит с текущ устройства ввода целое число и помещ в переменн N
5)clearwindow-очистка текущего окна вывода
6) !-предикат отсечения
Отсечение позволяет сократить пространство поиска запроса тоесть сократить перебор возможных ответов рассматриваем при выполнении запроса- в итоге отсечение позволяет повысить скорость работы программы
7)not(P)-предикат истенен если цель Р истинна
Исполнение prolog программ
Процесс выполнения программы запускается заданием цели-поиска
36.При этом цель м задаваться пользователем в диалоге с программ(внешняя цель) либо цель указывается в самой прогрмме(внутр цель).В последнем случае достаточно дать команду на выполнение программы(проверяется та цель кот вписана внутри программы)
Программа считает факты и правила логич аксиомами;цель считает теоремы требующ докозательства
Программа пытается построить доказательство теоремы как цепочку логическ вывода
Сам вывод\делает интерпретатор пролога.Используются стратегии обратного вывода
Если в процессе порожения подцелей очередн подцель оказывается недостижимой то происходит возврат к предыдущ подцели и отмена конкретизации переменных
Структура прграммы в turbo prolog
Программа в turbo prolog состоит из 5 разделов
-domains-содержит описание доменов(совокупность допустимых значений к-л вида данных-integer, real, symbol…)
-detebase-хранит предикаты динамическ БД,возможность пополнить программу на ходу
-predicates-задает описание предикатов использ в программе
-goal-задает внутреннюю цель программы
-clauses-перечисление фактов и правил
Не все они явл обязательными все их можно опустить кроме clauses
Дескриптивн,процедурн,машин смысл программ
-Дескриптивн-определ логическ связи между объектами в предметн области тоесть соответств человеческ логике рассуждений
-процедурн-определ последовательн конкретн шагов по проверке истинности запроса
(процедура по установлению истинности некот отношения)
Программа верная в дискрептивн смысле м работать неправильно с т.зрен.процедурной
-с т.зрен. машинного смысла запуск программ на prolog вызывает определен поведение интерпретатора prolog
Описание данных в prolog
Prolog различает объекты данных по их синтаксису
Атом-простейший конкретный объект.Имена атомов пишутся с маленькой буквы,м.писать в «».Во всей программе имя атома обозначает один и тот же объект
Переменные-имена переменных пишутся с заглавн буквы или символа подчеркивания
37 Экспертные системы
Задача-разработка методов извлечения экспертных знаний и построение экспертной системы
ЭС-программа кот основана на БЗ в узкой конкретн предметн обл и используемая для решения достаточно трудных задач в этой предметн обл.
Во многих предметных обл знания экспертов м разделить на те кот м.б. зафиксированы в виде книг,инструкций,конспектов,в форме пригодной для массового распространения и знания,хранящиеся в неявн.форме
Знания хранящиеся в неявной форме м.б.извлечены спец методами и зафиксированы в комп форме
Структура ЭС
Интеллект интерфейс БЗ
р ешатель Интел редактор БЗ
П одсистем объяснений
ЯдроЭС эксперт+аналитик
Конечн пользоват
решатель формирует последовательн правил приводящ к решению задачи
Минимальн разработка ЭС ипольз 3 роли
-эксперт(определ знания характерн предметн обл)
-аналитик(выбирает модель представления знаний,помогает эксперту выявлять и структурировать знания,определ средства разработки ЭС и програмирет правила)
-програмист(занимается разработкой модульной структуры программы,разрабатывает отдельн компоненты ЭС и обеспечивает сопряжение ЭС и ОС)
Режимы использ ЭС:
1)режим приобретения знаний(взаимодействует эксперт и аналитик)
2)режим консультации(работает конкретн область)
Классификация средств разработки ЭС
1)символьные языки(lips,smalltalk)
2)языки инженерии знаний(prolog,ops-5)
3)инструментальные системы для автоматизирован разработки экспертн сист
4)оболочки экспертн сист
Основные виды задач
1)интерпритация данных-процесс определения смысла данных полученных из внешне среды(задача классификации,идентификации,определения структуры объектов…)
2)прогнозирование-определение вероятных последствий заданных воздействий-военные системы
3)диагностика-процесс соотнесения объекта с к-л классом объктов и поиск отклонений от нормы в к-л системе(mycin)
4)мониторинг-процесс неприрывной интерпретации данных в реальном времени и сигнализация о выходе системы за пределы нормы(FALCON,REACTOR)
5)проектирование-разработка конфигурации объектов заданными си-ми(генная инженерия..)
6)планирование-определение точной последовательности действий по достижению целей
7)обучение-диагностика знаний обучаемого и поиск путей к ликвидации пробелов в знании
8)управление-удержание системы в заданных рамках
9)поддержка принятия решений
38 Архитектура-общие принципы построения ЭВМ с т.зр.ее функционирования. А. определ из каких блоков состоит ,принципы работы этих блоков и организацию взаимодействия этих блоков виде единой сист.
ЭВМ рассматр и с т.зр. информац модели.
Информац модель-определ как отдельные блоки обрабатыв информац и информац потоки внутри ЭВМ
Принципы фон Неймана
1)в состав ЭВМ входят:
-устройства управления(вырабатыв управляющ сигналы для отдельн блоков и всей сист вцелом)
-арифметич-логич устройства-обрабатыв инфу
устр ввода АЛУ
нешн оперативн УУ пульт
память память управления
устройство
вывода
2)нформац кодируется в двоичн форме и разделяется на единицы- наз машинным символом
3)алгоритм представл в форме последовательн управляющ слов(команд).Совокупн команд наз программой
4)данные и команды хранятся в единой памяти совместно. Они кодируются одинаково и различ только по способам
5)принцип програмн управлен-УУ и АЛУ объедин в ЦП
Процессор определ действия подлежащие выполнению путем считывания команд из ОЗУ. Обработка данных предписан алгоритмам сводится к последовательному выполнению команд в порядке,определ программой
Машинный язык зависит от системы команд процессора,режимов адресации,формата данных и набора доступных регистров (внутренние ячейки памяти компьютера) процессора
Разл виды архитектур
П оток команд процессор поток данных
результат
1)SISD(single intruction single date stream)-один поток команд,один поток действий
2)SIMD(single instruction multiplay data stream)-множественный
д анные
д анные
п оток команд данные
д анные
результат
3)MIMD (multiplay)
д анные
д анные
п оток команд данные
д анные
результат
Классификация ЭВМ
По производительности
1)микроЭВМ(персональные, рабочие станции,встроенные,многопользовательские)
2)мини ЭВМ
3)Большие ЭВМ
4)суперкомпьютеры
1)Микро-ЦП выполнен как микросхема
38. ПЭВМ-однопользовательск ЭВМ с невысокой или средней призводительностью
(Altair- перв массов ПК фирмы Apple)
IBM –совместим компьют
Рабоч.станция-однопользоват микрокомп ориентирован на специализир задачи
Встроенные ЭВМ- управл транспортно-технич средствами
2)использ для управления технологич процессами и серверы локальн сети для научн расчетов средн сложности (IBM, AS/400)
3)специализирован,физически большие,выделяется спец помещение
4)ЭВМ имеющ наивысшую производительн в соответств историч период(RS/6000SP)
Задачи суперкомп:-научные(моделирование погоды,космонавтика,ядерн испытар)
-управление крупн БД
39.Микропроцессор (МП). Это центральный блок ПК, предназначенный для управления работой всех блоков машины и для выполнения арифметических и логических операций над информацией.
В состав микропроцессора входят:
• устройство управления (УУ)—формирует и подает во все блоки машины в нужные моменты времени определенные сигналы управления (управляющие импульсы), обусловленные спецификой выполняемой операции и результатами предыдущих операций; формирует адреса ячеек памяти, используемых выполняемой операцией, и передает эти адреса в соответствующие блоки ЭВМ; опорную последовательность импульсов устройство управления получает от генератора тактовых импульсов;
• арифметико-логическое устройство (АЛУ)—предназначено для выполнения всех арифметических и логических операций над числовой и символьной информацией (в некоторых моделях ПК для ускорения выполнения операций к АЛУ подключается дополнительный математический сопроцесс ор),
• микропроцессорная память (МПП) — служит для кратковременного хранения, записи и выдачи информации, непосредственно используемой в вычислениях в ближайшие такты работы машины. МПП строится на регистрах и используется для обеспечения высокого быстродействия машины, ибо основная память (ОП) не всегда обеспечивает скорость записи, поиска и считывания информации, необходимую для эффективной работы быстродействующего микропроцессора. Регистры — быстродействующие ячейки памяти различной длины (в отличие от ячеек ОП, имеющих стандартную длину 1 байт и более низкое быстродействие);
• интерфейсная система микропроцессора —реализует сопряжение и связь с другими устройствами ПК; включает в себя внутренний интерфейс МП, буферные запоминающие регистры и схемы управления портами ввода-вывода (ПВВ) и системной шиной. Интерфейс (interface) — совокупность средств сопряжения и связи устройств компьютера, обеспечивающая их эффективное взаимодействие. Порт ввода-вывода (I/O — Input/Output port) — аппаратура сопряжения, позволяющая подключить к микропроцессору другое устройство ПК. Генератор тактовых импульсов. Он генерирует последовательность электрических импульсов; частота генерируемых импульсов определяет тактовую частоту машины.
Промежуток времени между соседними импульсами определяет время одного такта работы машины или просто такт работы машины.
Частота генератора тактовых импульсов является одной из основных характеристик персонального компьютера и во многом определяет скорость его работы, ибо каждая операция в машине выполняется за определенное количество тактов:
40.Внешняя память. Она относится к внешним устройствам ПК и используется для долговременного хранения любой информации, которая может когда-либо потребоваться для решения задач. В частности, во внешней памяти хранится все программное обеспечение компьютера. Внешняя память содержит разнообразные виды запоминающих устройств, но наиболее распространенными, имеющимися практически на любом компьютере, являются накопители на жестких (НЖМД) и гибких (НГМД) магнитных дисках.
Назначение этих накопителей — хранение больших объемов информации, запись и выдача хранимой информации по запросу в оперативное запоминающее устройство. Различаются НЖМД и НГМД лишь конструктивно, объемами хранимой информации и временем поиска, записи и считывания информации.
В качестве устройств внешней памяти используются также запоминающие устройства на кассетной магнитной ленте (стриммеры), накопители на оптических дисках CD-R и CD-RW.
Основные периферийные устройства персональных ЭВМ.
Компьютеры — это инструменты, используемые для обработки информации. Основные блоки IBM PC
Обычно персональные компьютеры IBM PC состоят из трех частей (блоков):
• системного блока;
• клавиатуры, позволяющей вводить символы в компьютер;
• монитора (или дисплея) — для изображения текстовой и графической информации.
Хотя из этих частей компьютера системный блок выглядит наименее эффектно, именно он является в компьютере «главным». В нем располагаются все основные узлы компьютера:
• электронные схемы, управляющие работой компьютера (микропроцессор, оперативная память, контроллеры устройств и т.д., см. ниже);
• блок питания, преобразующий электропитание сети в постоянный ток низкого напряжения, подаваемый на электронные схемы компьютера;
• накопители (или дисководы) для гибких магнитных дисков, используемые для чтения и записи на гибкие магнитные диски (дискеты);
• накопитель на жестком магнитном диске, предназначенный для чтения и записи на несъемный жесткий магнитный диск (винчестер).
Дополнительные устройства
К системному блоку компьютера IBM PC можно подключать различные устройства ввода-вывода информации, расширяя тем самым его функциональные возможности. Многие устройства подсоединяются через специальные гнезда (разъемы), находящиеся обычно на задней стенке системного блока компьютера. Кроме монитора и клавиатуры, такими устройствами являются:
• принтер — для вывода на печать текстовой и графической информации;
• мышь — устройство, облегчающее ввод информации в компьютер;
• джойстик — манипулятор в виде укрепленной на шарнире ручки с кнопкой, употребляется в основном для компьютерных игр;
• а также другие устройства.
Подключение этих устройств выполняется с помощью специальных проводов (кабелей). Для защиты от ошибок («от 40.дурака») разъемы для вставки этих кабелей сделаны разными, так что кабель просто не воткнется в неподходящее гнездо.
Некоторые устройства могут вставляться внутрь системного блока компьютера, например:
• модем — для обмена информацией с другими компьютерами через телефонную сеть;
• факс-модем — сочетает возможности модема и телефакса;
• стример — для хранения данных на магнитной ленте.
Некоторые устройства, например, многие разновидности сканеров (приборов для ввода рисунков и текстов в компьютер), используют смешанный способ подключения: в системный блок компьютера вставляется только электронная плата (контроллер), управляющая работой устройства, а само устройство подсоединяется к этой плате кабелем.
Внешние устройства (ВУ). Это важнейшая составная часть любого вычислительного комплекса. Достаточно сказать, что по стоимости ВУ иногда составляют 50 - 80% всего ПК. От состава и характеристик ВУ во многом зависят возможность и эффективность применения ПК в системах управления и в народном хозяйстве в целом.
ВУ ПК обеспечивают взаимодействие машины с окружающей средой: пользователями, объектами управления и другими ЭВМ. ВУ весьма разнообразны и могут быть классифицированы по ряду признаков. Так, по назначению можно выделить следующие виды ВУ:
-внешние запоминающие устройства (ВЗУ) или внешняя память ПК;
-диалоговые средства пользователя;
-устройства ввода информации;
-устройства вывода информации;
-средства связи и телекоммуникации.
Диалоговые средства пользователя включают в свой состав видеомониторы (дисплеи), реже пультовые пишущие машинки (принтеры с клавиатурой) и устройства речевого ввода-вывода информации.
Видеомонитор (дисплей) — устройство для отображения вводимой и выводимой из ПК информации.
Устройства речевого ввода-вывода относятся к быстроразвивающимся средствам мультимедиа. Устройства речевого ввода — это различные микрофонные акустические системы, "звуковые мыши", например, со сложным программным обеспечением, позволяющим распознавать произносимые человеком буквы и слова, идентифицировать их и закодировать.
Устройства речевого вывода — это различные синтезаторы звука, выполняющие преобразование цифровых кодов в буквы и слова, воспроизводимые через громкоговорители (динамики) или звуковые колонки, подсоединенные к компьютеру.
К устройствам ввода информации относятся:
клавиатура — устройство для ручного ввода числовой, текстовой и управляющей информации в ПК;
графические планшеты (диджитайзеры)—для ручного ввода графической информации, изображений путем перемещения по планшету специального указателя (пера); при перемещении пера автоматически выполняются считывание координат его местоположения и ввод этих координат в ПК;
40.-сканеры (читающие автоматы) — для автоматического считывания с бумажных носителей и ввода в ПК машинописных текстов, графиков, рисунков, чертежей; в устройстве кодирования сканера в текстовом режиме считанные символы после сравнения с эталонными контурами специальными программами преобразуются в коды ASCII, а в графическом режиме считанные графики и чертежи преобразуются в последовательности двухмерных координат (см. подразд. 4.5);
-манипуляторы (устройства указания): джойстик—рычаг, мышь, трекбол— шар в оправе и др. — для ввода графической информации на экран дисплея путем управления движением курсора по экрану с последующим кодированием координат курсора и вводом их в ПК;
-сенсорные экраны — для ввода отдельных элементов изображения, программ или команд с полиэкрана дисплея в ПК.
-К устройствам вывода информации относятся:
-принтеры — печатающие устройства для регистрации информации на бумажный носитель (см. подразд. 4.5);
-графопостроители (плоттеры) —для вывода графической информации (графиков, чертежей, рисунков) из ПК на бумажный носитель; плоттеры бывают векторные с вычерчиванием изображения с помощью пера и растровые: термографические, электростатические, струйные и лазерные. По конструкции плоттеры подразделяются на планшетные и барабанные. Основные характеристики всех плоттеров примерно одинаковые: скорость вычерчивания — 100 - 1000 мм/с, у лучших моделей возможны цветное изображение и передача полутонов; наибольшая разрешающая способность и четкость изображения у лазерных плоттеров, но они самые дорогие. Устройства связи и телекоммуникации используются для связи с приборами и другими средствами автоматизации (согласователи интерфейсов, адаптеры, цифро-аналоговые и аналого-цифровые преобразователи и т.п.) и для подключения ПК к каналам связи, к другим ЭВМ и вычислительным сетям (сетевые интерфейсные платы, "стыки", мультиплексоры передачи данных, модемы).
В частности, показанный на рис. 4.2 с е т е в о и адаптер является внешним интерфейсом ПК и служит для подключения его к каналу связи для обмена информацией с другими ЭВМ, для работы в составе вычислительной сети. В глобальных сетях функции сетевого адаптера выполняет модулятор-демодулятор (модем, см. гл. 7).Многие из названных выше устройств относятся к условно выделенной группе — средствам мультимедиа.Средства мультимедиа (multimedia — многосредовость) — это комплекс аппаратных и программных средств, позволяющих человеку общаться с компьютером, используя самые разные, естественные для себя среды: звук, видео, графику, тексты, анимацию и др.К средствам мультимедиа относятся устройства речевого ввода и вывода информации;широко распространенные уже сейчас сканеры (поскольку они позволяют автоматически вводить в компьютер печатные тексты и рисунки); высококачественные видео- (video-) и звуковые (sound-) платы, платы видеозахвата (videograbber), снимающие изображение с видеомагнитофона или видеокамеры и вводящие его в ПК; высококачественные акустические и видеовоспроизводящие системы с усилителями, звуковыми колонками, большими видеоэкранами. Но, пожалуй, еще с большим основанием к средствам мультимедиа относят внешние запоминающие устройства большой емкости на оптических дисках, часто используемые для записи звуковой и видеоинформации.Стоимость компактных дисков (CD) при их массовом тиражировании невысокая, а учитывая их большую емкость (650 Мбайт, а новых типов — 1Гбайт и выше), высокие надежность и долговечность, стоимость хранения информации на CD для пользователя оказывается несравнимо меньшей, нежели на 40.магнитных дисках. Это уже привело к тому, что большинство программных средств самого разного назначения поставляется на CD. На компакт-дисках за рубежом организуются обширные базы данных, целые библиотеки; на CD представлены словари, справочники, энциклопедии; обучающие и развивающие программы по общеобразовательным и специальным предметам.
CD широко используются, например, при изучении иностранных языков, правил дорожного движения, бухгалтерского учета, законодательства вообще и налогового законодательства в частности. И все это сопровождается текстами и рисунками, речевой информацией и мультипликацией, музыкой и видео. В чисто бытовом аспекте CD можно использовать для хранения аудио- и видеозаписей, т.е. использовать вместо плейерных ау-диокассет и видеокассет. Следует упомянуть, конечно, и о большом количестве программ компьютерных игр, хранимых на CD.
Таким образом, CD-ROM открывает доступ к огромным объемам разнообразной и по функциональному назначению, и по среде воспроизведения информации, записанной на компакт-дисках.
