Коллоквиум по ДМ

Всем участникам коллоквиума скопировать все варианты. 
Архитекторам (по одному от группы) договориться о типах данных и языках программирования.
Один из них готовит и раздает всем участникам файлы с подготовленными структурами данных.
На коллоквиум принести компьютеры. Команды состоят из двух человек и делают по 4 модуля.
Около команды должна находиться табличками с именами модулей, расшифровкой имен и языком программирования.
Модули должны быть хорошо написаны и прокомментированы. Внутри каждого модуля должны быть фамилии создателей с указанием групп студентов.
Каждая команда тестирует свои модули независимо, используя заглушки для подключаемых модулей.
Цель: написать как можно более короткие программы, ссылающиеся на программы других участников.
Архитекторы сами программ не пишут, но помогают участникам и собирают созданные модули в библиотеку так, чтобы у преподавателя был удобный интерфейс для работы с созданными модулями. Также архитекторы готовят наборы примеров для тестирования программ.


Натуральные числа с нулем:

(n; A[..]) - номер старшей позиции и массив цифр

Цифра D (тип - целое)

Имена

Базовые модули

N-1

Сравнение натуральных чисел: 2 - если первое больше либо равно второму, 0, если равно, 1 иначе.

COM_NN_D


N-2

Проверка на ноль: если число не равно нулю, то «да» иначе «нет»

NZER_N_B


N-3

Добавление 1 к натуральному числу

ADD_1N_N


N-4

Сложение натуральных чисел

ADD_NN_N

COM_NN_D

N-5

Вычитание из первого большего натурального числа второго меньшего или равного

SUB_NN_N

COM_NN_D

N-6

Умножение натурального числа на цифру

MUL_ND_N


N-7

Умножение натурального числа на 10^k

MUL_Nk_N


N-8

Умножение натуральных чисел

MUL_NN_N

MUL_ND_N

MUL_Nk_N

ADD_NN_N

N-9

Вычитание из натурального другого натурального, умноженного на цифру для случая с неотрицательным результатом

SUB_NDN_N

SUB_NN_N

MUL_ND_N

COM_NN_D

N-10

Вычисление первой цифры деления большего натурального на меньшее, домноженное на 10^k, где k - номер позиции этой цифры омер считается с нуля)

DIV_NN_Dk

MUL_Nk_N

COM_NN_D

N-11

Частное от деления большего натурального числа на меньшее или равное натуральное с остатком (делитель отличен от нуля)

DIV_NN_N

DIV_NN_Dk

SUB_NDN_N

N-12

Остаток от деления большего натурального числа на меньшее или равное натуральное с остатком (делитель отличен от нуля)

MOD_NN_N

DIV_NN_N

SUB_NDN_N

N-13

НОД натуральных чисел

GCF_NN_N

MOD_NN_N

COM_NN_D

NZER_N_B

N-14

НОК натуральных чисел

LCM_NN_N

GCF_NN_N

MUL_NN_N



Целые числа (b, n; A[..]) - знак числа (1 — минус, 0 — плюс) номер старшей позиции и массив цифр



Z-1

Абсолютная величина числа, результат - натуральное

ABS_Z_N


Z-2

Определение положительности числа (2 - положительное, 0 — равное нулю, 2 - отрицательное)

POZ_Z_D


Z-3

Умножение целого на (-1)

MUL_Z-_Z


Z-4

Преобразование натурального в целое

TRANS_N_Z


Z-5

Преобразование целого неотрицательного в натуральное

TRANS_Z_N


Z-5

Сложение целых чисел

ADD_ZZ_Z

POZ_Z_D

ABS_Z_N

COM_NN_D

ADD_NN_N

SUB_NN_N

MUL_Z-_Z

Z-6

Вычитание целых чисел

SUB_ZZ_Z

POZ_Z_D

ABS_Z_N

COM_NN_D

ADD_NN_N

SUB_NN_N

MUL_Z-_Z

Z-7

Умножение целых чисел

MUL_ZZ_Z

POZ_Z_D

ABS_Z_N

MUL_NN_N

MUL_Z-_Z

Z-8

Частное от деления большего целого числа на меньшее или равное натуральное с остатком (делитель отличен от нуля)

DIV_ZZ_Z

ABS_Z_N

POZ_Z_D

DIV_NN_N

ADD_1N_N

Z-9

Остаток от деления большего целого числа на меньшее или равное натуральное с остатком (делитель отличен от нуля)

MOD_ZZ_Z

DIV_ZZ_Z

MUL_ZZ_Z

SUB_ZZ_Z

MUL_Z-_Z



Рациональная числа (дроби) — пара (целое; натуральное), первое имеет смысл числителя, второе - знаменателя



Q-1

Сокращение дроби

RED_Q_Q

ABS_Z_N

GCF_NN_N

DIV_ZZ_Z

Q-2

Проверка на целое, если рациональное число является целым, то «да», иначе «нет»

INT_Q_Z


Q-3

Преобразование целого в дробное

TRAN_Z_Q


Q-4

Преобразование дробного в целое (если знаменатель равен 1)

TRAN_Q_Z


Q-5

Сложение дробей

ADD_QQ_Q

LCM_NN_N

MUL_ZZ_Z

ADD_ZZ_Z

Q-6

Вычитание дробей

SUB_QQ_Q

LCM_NN_N

MUL_ZZ_Z

SUB_ZZ_Z

Q-7

Умножение дробей

MUL_QQ_Q

MUL_ZZ_Z

Q-8

Деление дробей (делитель отличен от нуля)

DIV_QQ_Q

MUL_ZZ_Z



Многочлен с рациональными коэффициентами

m – степень многочлена и массив C коэффициентов



P-1

Сложение многочленов

ADD_PP_P

ADD_QQ_Q

P-2

Вычитание многочленов

SUB_PP_P

SUB_ZZ_Z

P-3

Умножение многочлена на рациональное число

MUL_P_Q

MUL_ZZ_Z

P-4

Умножение многочлена на x^k

MUL_Pxk_P


P-5

Старший коэффициент многочлена

LED_P_Z


P-6

Степень многочлена

DEG_P_N


P-7

Вынесение из многочлена НОК знаменателей коэффициентов и НОД числителей

FAC_P_PQ

ABS_Z_N

TRANS_Z_N

LCM_NN_N

GCF_NN_N

TRANS_N_Z

DIV_ZZ_Z

P-8

Умножение многочленов

MUL_PP_P

MUL_P_Q

MUL_Pxk_P

ADD_QQ_Q

P-9

Частное от деления многочлена на многочлен при делении с остатком

DIV_PP_P

DIV_PP_Z

DEG_PP_N

MUL_Pxk_P

SUB_ZZ_Z

ADD_QQ_Q

P-10

Остаток от деления многочлена на многочлен при делении с остатком

MOV_PP_P

DIV_PP_P

MUL_PP_P

SUB_ZZ_Z

P-11

НОД многочленов

GCF_PP_P

DEG_P_N

MOD_PP_P

P-12

Производная многочлена

DER_P_P


P-13

Преобразование многочлена — кратные корни в простые

NMR_P_P

GCF_PP_P

DER_P_P

DIV_PP_P

Подстраницы (1): Коллоквиум по ДМ-2
Comments