Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые проекты » Калькулятор великий &кінцевої& арифметики

Реферат Калькулятор великий &кінцевої& арифметики





исновок


У ході виконання даної роботи був сформований калькулятор великий «кінцевої» арифметики lt; Z 8; +, * gt; для чотирьох дій (+, -, *, /) на основі малої «кінцевої» арифметики, із заданим правилом, і виконуються властивості коммутативности (+, *), асоціативності (+), дистрибутивності * щодо +, задані адитивна одиниця «0» і мультиплікативна одиниця «1», х * 0=0. Калькулятор підтримує роботу з негативними числами, захищений від некоректного введення даних.

Розташування чисел даної арифметики в порядку зростання: 0 lt; 1 lt; 3 lt; 6 lt; 7 lt; 5 lt; 4 lt; 2.

Код програми можна легко пристосувати для будь-якої кінцевої арифметики, для цього необхідно знати правило «+1». В принципі, при незначній зміні програми можна навіть зробити так, щоб користувач сам вводив необхідну йому кінцеву арифметику, причому не тільки для 8 цифр. Також користувачеві не доступна реалізована в програмі функція порівняння. При заповненні таблиць не враховувалася їх симетричність.



Список використаної літератури


1. Підручник Ф.А. Новикова «Дискретна математика для програмістів».

. Підручник з програмування, автор Павловська Т. А ..

3.Учебнік «Алгоритми: побудова та аналіз», автор Кормен, Лейзерсон, Ривест, Штайн. lt; # justify gt; Програми


Додаток 1. Приклад роботи програми




Додаток 2. Лістинг програми


# include lt; iostream gt;

# include lt; conio.h gt; std :: cout; std :: cin; std :: endl; int razr=8; Plus [razr] [razr];// створюємо двомірний масив (від 0 до 7) PlusP [razr] [razr]; Mult [razr] [razr]; MultP [razr] [razr]; Print (int matrix [] [razr], int matrix1 [] [ razr])

{(int i=0; i lt; razr; i ++)//висновок таблиць на екран

{(int j=0; j lt; razr; j ++) lt; lt; matrix [i] [j] lt; lt; raquo ;; lt; lt; raquo ;; (int j=0; j lt; razr; j ++) lt; lt; matrix1 [i] [j] lt; lt; raquo ;; lt; lt; endl;

} lt; lt; endl;

}

Find (int n)//використовується в порівнянні двох чисел і реалізації таблиці по додаванню і перенесенню по додаванню

{(int i=0; i lt; razr; i ++) (Plus [1] [i] == n)

{i;

} - 1;

} ObratPlus (int n)

{temp; (int i=0; i lt; 8; i ++) (Plus [i] [n] == 0) temp=i;

return temp;

} Sravn (int a, int b)//порівняння. якщо з меншого віднімає більше, то міняє місцями числа.

{(a == 0) return false; (b == 0) return true; rez=false; ostA=a, ostB=b, temp; n1, n2; (int i=0 ; ostA gt; 0 || ostB gt; 0; i ++)

{= 0;=0;=ostA% 10; (temp!=0)

{temp=Find (temp); ++;

} (temp!=0);=ostB% 10; (temp!=0)

{= Find (temp); ++;

} (temp!=0); (n1!=n2) (n2 gt; n1)=false;=true; /=10; /=10;

} rez;

} Summ (int a, int b, bool p)//додавання

{rez=0, bp=0; ostA=a, ostB=b, tempA, tempB; i=1; (i; ostA gt; 0 || ostB gt; 0; i *=10)

{=ostA%10;=(p)?ostB%10:ObratPlus(ostB%10);+=Plus[Plus[tempA][tempB]][bp]*i;(p==true)=PlusP[tempA][tempB]+PlusP[Plus[tempA][tempA]][bp];//вычитание

{(Sravn (ostB% 10, tempA) || (tempA == ostB% 10 amp; amp; bp!=0))

{= 2;

} bp=0;

} /=10; /=10;

} +=bp * i; rez;

} CheckSum (int a, int b, bool p)//перевірка a gt; b, якщо ні, міняє місцями, а результат у додаванні примножує на - 1

{need=false; (p == false)=Sravn (b, a); (p == false amp; amp; need == true) (- 1) * Summ ((need )? b: a, (need)? a: b, p); Summ ((need)? b: a, (need)? a: b, p);

} Umnog (int a, int b)//множення

{REZ=0; ostB=b; (int j=1; ostB gt; 0; j *=10)

{tempB=ostB% 10; tempREZ=0; ostA=a; i=1; dopU=0; (i; ostA gt; 0; i *=10)

{tempA=ostA% 10; tempDop=Summ (Mult [tempA] [tempB], dopU, 1); +=tempDop% 10 * i;=Summ (tempDop/10, MultP [tempA ] [tempB], 1); /=10;

} +=dopU * i;=Summ (REZ, tempREZ * j, 1); /=10;

} REZ;

} Delen (int a, int b, int * mod)//функція поділу

{(Sravn (b, a))

{


Назад | сторінка 3 з 5 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Рішення задач цілочисельний арифметики (пошук дільників і простих чисел)
  • Реферат на тему: Блок виконання операцій десяткової арифметики
  • Реферат на тему: Створення програми &Калькулятор&
  • Реферат на тему: Побудова кодів виправляють помилки з використанням арифметики полів Галуа
  • Реферат на тему: Розробка програми "Цифровий калькулятор"