Блоґ одного кібера

Історія хвороби контуженого інформаційним вибухом

Множення і ділення в МНР

leave a comment »

Вирішив написати ще дві програмки в МНР. Тим більше, що це моє домашнє завдання.
Навіть не знаю чого воно мені так сподобалось. Може тому що в МНР можна дуже просто описувати цикли, і взагалі, програми доволі структуровані. Мені трохи нагадує Бейсік 1980 року. Не те що в НАМ.

Одним словом – множення. Збоку є аналог такої ж програми на С.


//Multiplication
// 0 - res
// 1 - y
// 2 - x
// 3 - i
// 4 - j
I(0
I(1

J(0,2,zero
J(1,2,zero

T(0,2
S(3//                    i++;

loop1)J(3,1,exit//     while(i!=y)
Z(4//                  {   j=0;
loop2)J(4,2,loop3//        while(j!=x)
S(4//                      { 
S(0//                           j++; res++;
J(0,0,loop2//               };
loop3)S(3//                i++; 
J(0,0,loop1//          };
J(0,0,exit

zero)Z(0

exit)Z(1

І ділення. Тут все і так ясно : x=y*res+ost. Де y – дільник, x – ділене, res – частка, а ost – остача.
В кінці роботи результат в нульовому регістрі, а остача в першому.


// division
// 0 - x
// 1 - y
// 2 - res
// 3 - ost
// 4 - ny

I(0
I(1

loop1)J(4,0,exit
Z(3
loop2)J(3,1,loop3
S(3
S(4
J(4,0,exit
J(0,0,loop2
loop3)S(2
J(0,0,loop1

exit)T(2,0
J(1,3,ost
T(3,1
ost)Z(1

Advertisements

Written by bunyk

Лютий 11, 2009 at 18:30

Оприлюднено в Всяке, Кодерство, Конспекти

Tagged with

Залишити відповідь

Заповніть поля нижче або авторизуйтесь клікнувши по іконці

Лого WordPress.com

Ви коментуєте, використовуючи свій обліковий запис WordPress.com. Log Out / Змінити )

Twitter picture

Ви коментуєте, використовуючи свій обліковий запис Twitter. Log Out / Змінити )

Facebook photo

Ви коментуєте, використовуючи свій обліковий запис Facebook. Log Out / Змінити )

Google+ photo

Ви коментуєте, використовуючи свій обліковий запис Google+. Log Out / Змінити )

З’єднання з %s

%d блогерам подобається це: