функционално програмиране

РЕЗЮМЕ функционален (приложния) програмиране A. P. Ershovym определя като ". метод за програмиране, в които единственото действие, е да се обадите на функцията, единственият начин да се разчленяването на програмата е да се въведе име на функцията, а единственото правило на състава - функциите на състава на оператора. Всяко памет клетъчни нито присвояване изявления или цикли, или, по-специално, блок-схеми и предаване контрол. "

Ролята на основната структура на функционални езици играе израз, за ​​да изрази са скаларни константи, структурирани цели, характеристики, функции на тялото и извиквания на функции. Функцията се третират като един картографиране от X до X, gdeX - набор от изрази.

Практическо език за програмиране, включва следните елементи:

класове на константи, които могат да бъдат манипулирани чрез функция;

правила за изграждане на новите функции на основата;

правила за формиране изрази въз основа на функцията повиквания.

Програмата представлява набор от описания на функции и изрази, които трябва да бъдат изчислени. Този израз се оценява с помощта на намаляване, т.е. серия от опростявания, толкова дълго, колкото това е възможно съгласно следните правила: Разговори основни функции се заменят със съответните стойности; повиквания не се заменят с основните функции на телата им, в които параметрите са заместени аргументи.

Функционално програмиране не използва понятието памет за съхранението на променливи. оператори за присвояване липсват, така че променливите не показват зоната на паметта, както и програмни обекти, което напълно съответства на концепцията за променлива по математика. По принцип, можете да направите програмата и без никакви променливи. В допълнение, няма съществени различия между константи и функции, а именно между програми и данни. В резултат на тази функция може да бъде на стойност на повикване към друга функция и може да бъде елемент на структуриран обект. Броят на аргументи в извикването на функция не е задължително да е различен от броя на параметрите, определени в описанието му. Тези свойства са характерни приложният езици като езици за програмиране е много висока.

Първият подобен език е LISP (LISP) (Списък обработка на информацията - за обработка на списък), създадена през 1959 година. Целта на създаването му е да се организира по-лесно манипулиране на информация характер. Съществена особеност на езика - обединението на програмни структури и структури от данни: всички изрази са написани под формата на списъци.

Логическо програмиране

Нов площ - логичното, или релационна програмиране - отвори външния вид на PROLOG език (Пролог) (програмиране на логиката - от гледна точка на програмирането логика). Този език е създаден от френския учен А. Kolmeroe през 1973. В момента има и други езици, но най-модерната и широко разпространен език на логиката програмиране е точно пролог. Така например, има над 15 различни реализации на това на компютър. езици за програмиране логика, особено пролог, се използват широко в системи с изкуствен интелект, включени в този урок.

Централната концепция в логиката програмиране yavlyaetsyaotnoshenie. Програма, е набор от дефиниции на отношенията между обектите (от гледна точка на условията или ограниченията) и целеви (заявката). поток програма се третира като процеса на валидност на логическата формула солна конструиран в съответствие с правилата на програмата, семантиката на езика на. Резултатът от изчислението е вторичен продукт от процеса. В релационна програмиране само трябва да се уточни фактите, на които се основава на алгоритъма, но не и да се определи последователността на стъпките, които трябва да се извършат. Това показва декларативно логика език за програмиране. Тя подходящо изразени във формула R. Kowalski: "алгоритъм = Logic + Control". езици за програмиране Logic се характеризират с:

строга ориентация на символично изчисление;

възможност за обратна изчисление, т.е. променливите са разделени на входа и на изхода на процедурите;

Възможно логично непълноти, тъй като често е невъзможно да се изразят в определена логическа връзка програма и не е възможно да се измъкнем от програмата всички изводи са правилни.

Logic програма по принцип имат малък производителност, тъй като изчисленията се извършват от пробата и грешката, че не спазва ангажимента да предишните стъпки.