МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах
РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ" ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах Гендерна антидискримінаційна експертиза може зробити нас моральними рабами ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів
Контакти
Тлумачний словник Авто Автоматизація Архітектура Астрономія Аудит Біологія Будівництво Бухгалтерія Винахідництво Виробництво Військова справа Генетика Географія Геологія Господарство Держава Дім Екологія Економетрика Економіка Електроніка Журналістика та ЗМІ Зв'язок Іноземні мови Інформатика Історія Комп'ютери Креслення Кулінарія Культура Лексикологія Література Логіка Маркетинг Математика Машинобудування Медицина Менеджмент Метали і Зварювання Механіка Мистецтво Музика Населення Освіта Охорона безпеки життя Охорона Праці Педагогіка Політика Право Програмування Промисловість Психологія Радіо Регилия Соціологія Спорт Стандартизація Технології Торгівля Туризм Фізика Фізіологія Філософія Фінанси Хімія Юриспунденкция |
|
|||||||
Лекція 3. Машини з натуральнозначними регістрами.План: 1.Поняття про МНР. 2.Структура та система команд МНР. 3.Приклади роботи МНР. 4.МНР обчислюванні функції . Література: [2], [4], [10]. Машина з натуральнозначними регістрами (МНР) є ідеалізованою моделлю комп'ютера. МНР містить нескінчену кількість регістрів, вмістом яких є натуральні числа. Регістри нумеруємо (іменуємо) натуральними числами, починаючи з 0, і позначаємо їх R0,R1,…,Rn,… . Вміст регістра Rn позначатимемо ’Rn. Послідовність (’R0,’R1,...,’Rn,...) вмістів усіх регістрів МНР називатимемо конфігурацією МНР. МНР може змінити вміст регістрів згідно виконуваної нею команди. Скінчений список команд утворює програму МНР. Команди програми послідовно нумеруємо (іменуємо) натуральними числами, починаючи з 1. МНР-програму з командами І1, І2,...,Іk будемо позначати P=І1І2…Ik. Довжину (кількість команд) МНР-програми Р позначатимемо |Р|. Команди МНР бувають 4-х типів : Тип 1. Обнулення n-го регістру Z(n): ’Rn=0. Тип 2. Збільшення вмісту n-го регістру на одиницю S(n): ’Rn= ’Rn+1. Тип 3. Переадресація Т(m,n): ’Rn:= ’Rm (при цьому ’Rm не змінюється). Команди типів 1-3 називають арифметичними. Після виконання арифметичної команди МНР повинна виконувати наступну за списком команду програми. Тип 4. Умовний перехід J(m,n,q) : якщо ’Rn= ’Rm , то перейти на виконання q-ї команди, інакше виконувати наступну за списком команду програми. Виконання програми МНР починає, перебуваючи в деякій початковій конфігурації, з виконання першої за списком команди. Тобто, всі початкові дані задаються в ручну перед початком виконання програми. Домовимось, що всі вхідні дані алгоритму розміщуємо у перших послідовних регістрах, а результат виконання алгоритму (якщо він скалярний) розміщуємо у нульовому регістрі. Наступна для виконання команда програми визначається так, як описано вище. Виконання програми завершується (програма зупиняється), якщо наступна для виконання команда відсутня (тобто номер наступної команди перевищує номер останньої команди програми). Конфігурація МНР в момент завершення виконання програми називається фінальною і вона визначає результат роботи МНР- програми над даною початковою конфігурацією. Якщо МНР-програма Р при роботі над початковою конфігурацією (а0,а1,...) зупиняється із фінальною конфігурацією (b0,b1,...), це позначають наступним чином: Р(а0,а1...)*(b0,b1,...). Якщо МНР-програма Р при роботі над початковою конфігурацією ніколи не зупиняється, це позначатимемо Р(а0,а1...)*. Домовимося також конфігурації виду (а0,а1...,аn,0,0,...), в якій ’Rm=0 для всіх m>n, позначати (а0,а1...,аn). Дві МНР-програми називаються еквівалентними, якщо при роботі над однаковими початковими конфігураціями вони або зупиняються з однаковими фінальними конфігураціями, або обидві не зупиняються. МНР-програма Р вважається стандартною, якщо для кожної команди виду J(m,n,q) виконується умова q |P|+1. Конкатенацією стандартних МНР-програм Р=І1І2...Ік та Q=I1I2…Im назвемо стандартну МНР-програму І1І2...ІкІk+1...Іk+m , де команди Ік+1...Ік+m сспівпадають з командами програми Q, але кожна команда виду J(m,n,q) замінена командою J(m,n,q+к). МНР-програма Р обчислює часткову функцію f : Nк → N, якщо Р(а0,а1...) * (b0,b1,...) тоді і тільки тоді, коли (а0,а1,...,аn) Df та f(а0,а1...,аn)= b0. Це означає, що значення аргументів функції послідовно розміщуються в послідовних перших регістрах, починаючи з R0, а значення функції знімається з регістра R0. Функцію називають МНР-обчислюваною, якщо існує МНР-програма яка обчислює цю функцію. Роглянемо ряд прикладів МНР-програм для найпростіших функцій.
Приклад 1. МНР-програма для функції f(x,y) = х+у : Початкова конфігурація алгоритму ’R0=x, ’R1=y. 1) J(2,1,5) 2) S(0) 3) S ( 2 ) 4) J ( 1,1,1 ). Нехай Р - стандартна МНР-програма для n-арної функції f. Через Р[k1k2...kn → r] позначимо МНР-програму виду : Т(i,ki-1) 1 і n Z(k) n k (P) P T(0,r). Тут (Р) - найбільший номер регістру, задіяного при обчисленні f (вважаємо (Р) n-1). Така МНР-програма обчислює функцію f, для випадку коли початкові значення аргументів занести в регістри k1<...<kn, а значення функції знімаються з регістру r. При цьому задіяні щонайбільше (Р)+1 регістр, із 0-го по (Р)-й. Читайте також:
|
||||||||
|