Консультация № 189127
08.04.2016, 13:57
0.00 руб.
0 8 1
Здравствуйте, уважаемые эксперты! Прошу вас ответить на следующий вопрос:
Требуется написать программу для МНР для вычисления функции f(x,y)=x+y (x>0, y>=0, в начальный момент значение x находится в регистре R1, а значение y - в регистре R2; программа должна завершать работу за конечное время и в момент завершения регистр R1 должен содержать значение x+y) и вычислить геделев номер программы, созданной в рамках первой части задания.

Обсуждение

давно
Посетитель
7438
7205
08.04.2016, 17:59
общий
это ответ
Здравствуйте, gremyatskaya!
Программа МНР (два варианта)
Код:

1) j(0,1,5)
2) S(2)
3) S(0)
4) j(2,2,1)
5) T(0,1)

Код:

1) j(0,2,5)
2) S(1)
3) S(0)
4) j(2,2,1)

5
Об авторе:
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен
давно
Посетитель
7438
7205
08.04.2016, 18:01
общий
Адресаты:
Насчет номера Гёделя... Если дадите теорию, то попробую ответить и на это
Об авторе:
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен
давно
Посетитель
400163
2
09.04.2016, 01:07
общий
Игорь Витальевич, спасибо за ответ. Сложность у меня как раз возникает во второй части этого вопроса. В приложении теория.
Прикрепленные файлы:
d8d9a7258e2e5cf7d50637e0a96976e0.jpg
давно
Посетитель
7438
7205
11.04.2016, 12:32
общий
11.04.2016, 12:53
Скажу честно, я теорию алгоритмов учил ну очень давно :)
Если машину Тьюринга я еще помню, то МНР нет. А числа Гёделя, тем более...
Но у нас есть голова на плечах, давайте вместе подумаем, как оно должно быть...
Перепишем МНР немного по-другому. Я писал ответ с учетом того, что есть нулевой регистр, а они, так понимаю,
начинаются с 1. Итак, рассматриваем следующую МНР:
1) j(2,3,5)
2) S(1)
3) S(3)
4) j(1,1,1)
Для каждого типа команды МНР есть свои правила для вычисления числа Гёделя:
[font=Times][$946$][/font](S(n)) = 4(n-1) + 1
[font=Times][$946$][/font](J(m,n,q)) = 4[font=Times][$958$][/font](m,n,q)+3=4[font=Times][$960$][/font]([font=Times][$960$][/font](m-1,n-1),q-1)+3
где [font=Times][$960$][/font](m,n) = 2m(2n+1)-1
1) [font=Times][$946$][/font]1(J(2,3,5)) = 4[font=Times][$960$][/font]([font=Times][$960$][/font](1,2),4)+3 = 4[font=Times][$960$][/font](9,4)+3 = 4(29*9-1)+3 = 18431
2) [font=Times][$946$][/font]2(S(1)) = 1
3) [font=Times][$946$][/font]3(S(3)) = 9
4) [font=Times][$946$][/font]4(J(1,1,1)) = 4[font=Times][$960$][/font]([font=Times][$960$][/font](0,0),0)+3 = 4[font=Times][$960$][/font](0,0)+3 = 3
Тогда Гёделев номер программы считаем как:
[font=Times][$947$][/font](P) = [font=Times][$964$][/font]([font=Times][$946$][/font]1,[font=Times][$946$][/font]2,[font=Times][$946$][/font]3,[font=Times][$946$][/font]4) - 1 = 2[font=Times][$946$][/font][sub]1[/sub] + 2[font=Times][$946$][/font][sub]1[/sub]+[font=Times][$946$][/font][sub]2[/sub]+1 + 2[font=Times][$946$][/font][sub]1[/sub]+[font=Times][$946$][/font][sub]2[/sub]+[font=Times][$946$][/font][sub]3[/sub]+2 + 2[font=Times][$946$][/font][sub]1[/sub]+[font=Times][$946$][/font][sub]2[/sub]+[font=Times][$946$][/font][sub]3[/sub]+[font=Times][$946$][/font][sub]4[/sub]+3 - 1 = 218431 + 218433 + 218444 + 218450 - 1
Мне думается где-то так.
Об авторе:
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен
давно
Посетитель
400163
2
11.04.2016, 12:39
общий
Игорь Витальевич, с Вами трудно поспорить😀, спасибо!
давно
Посетитель
403208
3
05.08.2019, 16:46
общий
05.08.2019, 17:04
Адресаты:
Добрый день!
Я тоже бы хотела попросить помощи , еще одно задание, с такими же условиями по похожей теме:

Написать программу, геделев номер которой равен 188.
давно
Посетитель
7438
7205
05.08.2019, 17:25
общий
05.08.2019, 17:25
Адресаты:
Во-первых, чем Вас не устраивает это решение? Пункты 1) и 2) один в один.
Во-вторых, пункт 3) тоже решался мной на Портале. Поищите.
В-третьих, что касается Паскаля и Си, то они не имеют отношения к теории автоматов. Придется понять в том виде, как они подаются
Об авторе:
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен
давно
Посетитель
7438
7205
05.08.2019, 17:33
общий
Адресаты:
Вот решение для программы, геделев номер которой равен 188
Об авторе:
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен
Форма ответа