2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Как вычислить полухарактеристическую функцию предиката Rm ?
Сообщение15.03.2013, 17:24 
В условие сказано построить программу, которая вычисляет полухарактеристическую функцию: $x \in A$, если n делится на 7. В условие также дана одноместная функция $f={n+20, если n \in  [10,20]$, иначе $f=0$.

Я так понял нужно написать программу, которая делит n на 7, если остатка нет, то это подходит. А если есть остаток, то вернуть 0. А как сделать деление, в мнр есть только команды: обнуление, увеличение на 1, присваивание, условный переход.

У меня идея сделать в цикле уменьшение на 7 (7 раз выполнить команду $S(1)$), после сравнить это число с числами возможных остатков: 1,2,3,4,5,6 и 0. Если 0, то делится, иначе нет.

Правильно ли я рассуждаю, подскажите, пожалуйста.

 
 
 
 Posted automatically
Сообщение15.03.2013, 18:58 
Аватара пользователя
 i  Тема перемещена из форума «Помогите решить / разобраться (М)» в форум «Карантин»
Причина переноса: формулы не оформлены ТеХом

Наберите формулы ТеХом. Инструкции по оформлению формул здесь или здесь (или в этом видеоролике).
После исправлений сообщите в теме Сообщение в карантине исправлено, и тогда тема будет возвращена.

 
 
 
 Posted automatically
Сообщение15.03.2013, 23:11 
Аватара пользователя
 i  Тема перемещена из форума «Карантин» в форум «Помогите решить / разобраться (М)»

 
 
 
 Re: Как вычислить полухарактеристическую функцию предиката Rm ?
Сообщение16.03.2013, 12:20 
Аватара пользователя
По условию, уменьшения на 1 нет. Есть "плюс 1" и хитрый вариант "плюс 20".

 
 
 
 Re: Как вычислить полухарактеристическую функцию предиката Rm ?
Сообщение16.03.2013, 12:38 
nikvic в сообщении #696512 писал(а):
По условию, уменьшения на 1 нет. Есть "плюс 1" и хитрый вариант "плюс 20".

В том то и проблема, нет минус 1, а как тут можно решить задачу, подскажите, пожалуйста.

 
 
 
 Re: Как вычислить полухарактеристическую функцию предиката Rm ?
Сообщение16.03.2013, 13:31 
Аватара пользователя
Там есть непонятка - условный переход. Что может быть в качестве условия? Равенство/неравенкство/больше для двух переменных, для переменной и нуля....
И что значит полухарактеристическая?

Пока вижу способ, не использующий "+20".

Инициализируем 7 переменных значениями 0..6.
Бесконечный цикл, где проверяется равенство одного из них входному числу (с выходом для ДА), а перед повтором каждое увеличивается на 7.

 
 
 
 Re: Как вычислить полухарактеристическую функцию предиката Rm ?
Сообщение16.03.2013, 15:05 
nikvic писал(а):
Инициализируем 7 переменных значениями 0..6.
Бесконечный цикл, где проверяется равенство одного из них входному числу (с выходом для ДА), а перед повтором каждое увеличивается на 7.

Тоже такая идея пришла в голову, реализовал ее. Только я ввел переменные 1..7. Потов в цикле их все увеличивал на 7, если то число равно значениям регистров $r1-r6$, то значит оно не делится на 7. Тогда выход из цикла. А если равно регистру $r7$, там я 7 каждый раз в цикле увеличиваю на 7, то делится и выход из цикла.

-- 16.03.2013, 16:07 --

nikvic писал(а):
И что значит полухарактеристическая?

Эта функция вовращает 1, если условие выполняется. И возвращает пустое множество, если не выполняется.
Только вот как в программе вернуть пустое множество, если не делится на 7 ? Я так понял, это значит просто зациклить программу ? Или это означает вернуть 0 просто в регистр на выходе ?

 
 
 
 Re: Как вычислить полухарактеристическую функцию предиката Rm ?
Сообщение16.03.2013, 15:50 
Аватара пользователя
kola1357 в сообщении #696573 писал(а):
Эта функция ...возвращает пустое множество, если не выполняется.

В программировании это - иносказание :wink:

 
 
 [ Сообщений: 8 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group