Клас для роботи в кільці многочленів, визначених над кільцем цілих чисел по модулю

Автор работы: Пользователь скрыл имя, 29 Апреля 2013 в 01:32, курсовая работа

Описание

Теорія перетворень в кільцях багаточленів знайшла широке застосування при вирішенні задач перешкодостійкого кодування, шифрування, передачі даних сигналами з великою базою (шумоподібних сигналів - ШПС) і т.п. В цих системах інформація передається блоками (кадрами, пакетами), в зв’язку з чим кожний блок може бути представлений багаточленом (вектором) фіксованої розмірності.
Метою даного курсового проекту є розробка класу для роботи в кільці многочленів над цілими числами. Для роботи з многоченами був розроблений програмний інтерфейс. Клас Zm дозволяє реалізувати функції додавання, віднімання та множення многочленів. Щоб представити результати операції в стандартному вигляді розроблена додаткова функція приведення подібних одночленів многочлена та сортування по збільшеню.

Содержание

Реферат .....................................................................................................................................
Перелік умовних позначень,символів ,скорочень та термінів...............................................
Вступ…………............................................................................................................................
1. Аналіз предметної області....................................................................................................
1.1 Математичний опис задачі.............................................................................................
1.2 Обґрунтування вибору програмних засобів…………………………………………
1.2.1 Огляд особливостей мови програмування...........................................................
1.2.2 Огляд особливостей обраного компілятору …………………………………...
1.2.3Створення візуального інтерфейсу………………………………………………
1.3 Аналіз структури стандартної бібліотеки шаблонів STL...........................................
1.4 Висновки до розділу ………………………………………………………………...
2. Рішення шодо розробки програми…………………………………………………………..
2.1 Основні рішення щодо уявлення даних системи ….………………………………...
2.2 Опис розроблених алгоритмів.....................................................................................
2.3 Основні рішення щодо модульного уявлення системи..............................................
2.4 Результати тестування програмного забезпечення.....................................................
3. Посібник програміста............................................................................................................
4. Інструкція користувача.........................................................................................................
5. Інформаційний листок……………………………………………………………………..
6.Література...............................................................................................................................
Висновки……………………………………………

Работа состоит из  1 файл

KURSOVAYa.doc

— 1.43 Мб (Скачать документ)


Міністерство освіти та науки України

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

 

 

 

кафедра Програмних засобів

з/к № 06.09.4.039

 

 

 

 

 

 

Пояснювальна  записка

з дисципліни «Об’єктно-орієнтоване  програмування»

до курсової роботи на тему

«Клас для роботи в кільці многочленів, визначених над кільцем цілих чисел по модулю»

 

 

 

 

 

 

 

 

 

 

 

Розробила:

Ст. гр. ІОТ-429                                                                                          Мринська К.А.

 

 

 

 

 

Прийняв доцент                                                                                                  Г.В. Табунщик

ст. викл.                                                                                                               Г.В. Неласа

асс.                                                                                                                       Н.О. Миронова

       

 

 

 

 

 

2011

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

 

Кафедра програмних засобів      

Дисципліна Об’єктно-орієнтоване програмування    

Спеціальність Програмне забезпечення автоматизованих систем 

Курс       2 Група       ІОТ-429  Семестр        III  

 

ЗАВДАННЯ

на курсовий проект (роботу) студентові

                                Мринській Катерині Андріївні                                              

 

1. Тема проекту (роботи): Клас для роботи в кільці багаточленів, визначених над кільцем цілих чисел по модулю _____________________________________________________ 

____________________

 

2. Термін здачі студентом закінченого проекту (роботи):     27 грудня 2010 _____________________________________________________________________________

____________________

3. Вихідні дані до проекту:   Реалізувати програму на тему класс для роботи в кільці многочленів___________________________________________________________________

вхідні дані: інформація про кількість cтепенів та коефіціентів многочлена а також число модуля;_________________________________________________________________

вихідні дані: програма повинна забезпечувати  виконання наступних арифметичних операцйі: додавання,,віднімання та множення многочленів та ділення результату «по модулю»_,та виводити результат вибраних операцій у відсортурованому вигляді_______

4. ЗМІСТ розрахунково-пояснювальної записки (перелік питань, що їх належить розробити): 1 Аналіз предметної області     __________________

         2 Аналіз програмних засобів     __________________

        3 Основні рішення по реалізації компонентів системи  ____________

        4 Посібник програміста     __________________

        5 Інструкція користувача     __________________

      Висновки,     Додаток А Технічне завдання____________     

    Додаток Б Інтерфейс програми      ____________

      Додаток В Результати роботи системи,  Додаток Д Презентація__________

5. Перелік графічного матеріалу:

    Слайд_ 1: Мета та завдання курсової роботи   ____________

    Слайд  2: Структури даних     __________________

    Слайд 3: Алгоритми роботи програми    __________

    Слайд  4: Інтерфейс користувача    __________________

___________________________________________________________

6. Дата видачі завдання:   07 вересня 2010     ____________

 

 

 

 

 

 

 

 

 

 

 

КАЛЕНДАРНИЙ ПЛАН

 

пор.

Назва етапів курсового 

проекту (роботи)

Термін виконання етапів проекту (роботи)

Примітка

1.

Аналіз індивідуального  завдання.

1-2 тиждень

 

2.

Аналіз програмних засобів, що будуть використовуватись в роботі.

3-4 тиждень

 

3.

Аналіз структур даних, що необхідно використати в курсової роботі.

4-5 тиждень

 

4.

Вивчення можливостей програмної реалізації структур даних та інтерфейсу користувача.

5-6 тиждень

 

5.

Оформлення відповідних  пунктів пояснювальної записки.

6-7 тиждень

розділи 1,2 ПЗ

6.

Проміжний модульний  контроль

8 тиждень

 

7.

Аналіз вимог до апаратних  засобів

9 тиждень

 

8.

Розробка програмного  забезпечення

10-15 тиждень

 

9.

Оформлення, відповідних  пунктів пояснювальної записки.

15-17 тиждень

розділи 3,4,5 ПЗ

10.

Захист курсової роботи.

18 тиждень

 
       
       
       
       
       
       
       
       
       
       
       
       
       

 

Студент__________________

                                (підпис)

      Керівник  __________________   _____________________

                                (підпис)                                         (прізвище, ім’я, по батькові )

 

“____”   _______________  2010 р.

 

 

 

 

 

 

 

 

Реферат

ПЗ:ст., рис.,джерела

Мета роботи: Створити клас для  роботи в кільці многочленів над Zm.

В даній роботі реалізована задача виконання арифметичних операцій з многочленами в кільці. Був здійснений математичний опис задачі, розроблені алгоритми її реалізації та здійснена сама реалізація на одній з версій алгоритмічної мови С#. Розроблено клас Zm для вирішення обробки операцій cкладання, віднімання, множення, над многочленами цілих чисел по модулю у кільці. Розглянуто особливості Visual Studio 2008.

КЛАС,КІЛЬЦЕ,МНОГОЧЛЕН, .NET Framework,ШАБЛОН,МОДУЛЬ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ПЕРЕЛІК УМОВНИХ ПОЗНАЧЕНЬ, СИМВОЛІВ,

СКОРОЧЕНЬ І  ТЕРМІНІВ

 

VS - Visual Studio 2008

ПЗ - Прогрограмні засоби

STL - Standart Template Library

CLR - Common Language Runtime

Zm -  Кільце цілих чисел по модулю

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ЗМІСТ

Реферат   .....................................................................................................................................

Перелік умовних позначень,символів ,скорочень та термінів...............................................

Вступ…………............................................................................................................................

1. Аналіз  предметної області....................................................................................................

1.1 Математичний  опис задачі.............................................................................................

1.2 Обґрунтування вибору програмних засобів…………………………………………

     1.2.1 Огляд особливостей мови програмування...........................................................

     1.2.2 Огляд особливостей обраного компілятору …………………………………...

     1.2.3Створення  візуального інтерфейсу………………………………………………

      1.3 Аналіз структури стандартної бібліотеки шаблонів STL...........................................

      1.4 Висновки до розділу ………………………………………………………………...

2. Рішення  шодо розробки програми…………………………………………………………..

2.1 Основні рішення щодо уявлення даних системи ….………………………………...

      2.2 Опис розроблених алгоритмів.....................................................................................

      2.3 Основні рішення щодо модульного уявлення системи..............................................

      2.4 Результати тестування програмного забезпечення.....................................................

3. Посібник програміста............................................................................................................

4. Інструкція користувача.........................................................................................................

5. Інформаційний листок……………………………………………………………………..

6.Література...............................................................................................................................

Висновки……………………………………………………………………………………….

Додаток А Технічне завдання……………………………………………………………….. 35

Додаток Б Текст програми…………………………………………………………………... 41

Додаток В Інтерфейс програми…………………………………………………………….. 53

Додаток Д Результати роботи системи…………………………………………………….. 54

Додаток Е Презентація до курсової роботи………………………………………………... 55

 

6

7

9

10

10

11

11

15

16

18

21

22

22

23

32

32

34

37

38

39

40

41

44

51

52

53


 

 

 

 

 

 

Вступ

Теорія перетворень в кільцях багаточленів знайшла широке застосування при вирішенні  задач  перешкодостійкого кодування, шифрування, передачі даних сигналами  з  великою  базою (шумоподібних сигналів - ШПС) і т.п. В цих системах інформація передається блоками (кадрами, пакетами), в зв’язку з чим кожний блок може бути представлений багаточленом (вектором) фіксованої розмірності.

Метою даного курсового проекту  є розробка класу для роботи в  кільці многочленів над цілими числами. Для роботи з многоченами був розроблений програмний інтерфейс. Клас Zm дозволяє реалізувати функції додавання, віднімання та множення многочленів. Щоб представити результати операції в стандартному вигляді розроблена додаткова функція приведення подібних одночленів многочлена та сортування по збільшеню.

У роботі необхідно виконати наступні завдання: проаналізувати предметну  область, розробити програму, створити візуальний інтерфейс, провести тестування.

Програмний продукт розроблений на мові програмування С# в середовищі програмного засобу Microsoft Visual Studio 2008 і повинен працювати під OC Windows XP/2000/…”

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 АНАЛІЗ ПЕРЕДМЕТНОЇ  ОБЛАСТІ

 

1.1 Математичний опис задачі

В математиці, многочленом чи поліномом або багаточленом однієї змінної називається вираз вигляду

де ci є постійними коефіцієнтами (константами), а x — змінна.

Наприклад, 12 + 3.1x + 2x6, та 1 + x + x2 + x3, є многочленами, але та не є многочленами.

Многочленом від декількох змінних  називається скінченна сума, в якій кожен з доданків є добутком скінченного числа цілих ступенів змінних та константи:

Многочлени є одним з найважливіших  класів елементарних функцій.

Загалом многочлени можна трактувати як масиви чисел (елементів поля).Довільний елемент поля (скаляр) може трактуватися як многочлен нульового степеня.На множині многочленів введено відношення рівності та операції додавання і множення. Два многочлени будуть вважатися рівними, якщо рівні їх коефіцієнти ai при однакових степенях невідомого.

Сумою двох многочленiв  вважається многочлен, коефіцієнти  якого одержуємо додаванням коефіцієнтів многочленів-доданків при однакових степенях x. Якщо степені многочленiв різні, коефіцієнти при степенях невідомого у тому многочлені, який має нижчий ступінь, вважаються нулями, що відповідає означенню

Сума многочленів є многочленом. Степінь суми многочленів менше або дорівнює максимуму степенів доданків.

 

Добуток многочленів є многочленом. Степінь добутку многочленів дорівнює сумі степенів співмножників.

Віднімання многочленів є многочленом. Степінь суми многочленів менше або дорівнює максимуму степенів доданків.

Многочлени  над довільним полем утворюють кільце.Многочлени над полем дійсних чисел утворюють кільце, а не поле, тому загалом говорити про ділення многочлена на многочлен нема сенсу. Натомість можна ввести операцію ділення з остачею (по модулю): для двох многочленів f(x) та g(x) знаходження таких многочленів u(x) та v(x), що f(x)=g(x)u(x)+v(x), причому степінь остачі v(x) менший від ступеня дільника g(x). Загалом степені f(x) i g(x) можуть бути довільні.

Додавання за модулем 2, логічне додавання, що виключає або, сувора диз'юнкція - булева функція і логічна операція. Результат виконання операції є істинним тільки за умови, якщо є істинним в точності один з аргументів. Така операція природним чином виникає в кільці лишків за модулем 2, звідки і походить назва операції.

У теорії множин додаванню за модулем 2 відповідає операція симетричної різниці двох множин.

1.2 Oбґрунтування вибору програмних засобів

1.2.1 Огляд особливостей  мови програмування

 

Оскільки C# прийшов з с подібних мов програмування він має  деякі особливості що дозволяють початківцям набувати майстерності в програмуванні на даній мові швидше ніж на С чи С++ подібно до Java, дані мова програмування є обєктно орієнтована, з наявними бібліотеками класів і супутніми засобами як то поліморфізм та  інше. Ці особливості в поєднанні з її потужними засобами розробки, мультиплатформенністю, роблять C# хорошим вибором для швидкої розробки різноманітних програмних продуктів, великими і малими группами розробників, інтернет додатки та інші проекти створені з її допомогою задовільнають найстрогішим вимогам по надійності.

Більша чатина засобів C# (як і інші .NET мови програмування), прийшла з.NET Framework API, що забезпечує безліч бібліотек класів, включно  з засобами кодування, засоби для  роботи з TCP/IP, та графікою. Саме тому розробники можуть писати частину програми на C# а іншу частину на іншій .NET платформі(. VB .NET). Через те що C# дуже схожа на сімю C подібних мов, так само як і Java, розробник з навиками роботи в інших середовищах обєктно орієнтованого програмуввання типу C++ чи інші може інтуітивно розібратися з розробкою програм в C#. Первинна ідея Microsoft's була створити конкурента Java, під назвою J++ але цей план було закинуто на корист розробки C#. Реліз C# 2.0 відбувся в кінці 2005року як чатина середовища розробки програмного забезпечення, Visual Studio 2005.

Информация о работе Клас для роботи в кільці многочленів, визначених над кільцем цілих чисел по модулю