Проэкт для распознования палиндромов

Автор работы: Пользователь скрыл имя, 10 Января 2013 в 14:38, курсовая работа

Описание работы

Об'єктно-орієнтоване програмува́ння (ООП) — один з напрямків програмування, який розглядає програму як множину «об'єктів», що взаємодіють між собою. В ній використано декілька технологій від попередніх напрямків, зокрема успадкування, модульність, поліморфізм та інкапсуляцію. Попри те, що ця парадигма з'явилась в 1960-тих роках, вона не мала широкого застосування до 1990-тих. Сьогодні багато мов програмування (зокрема, Java, C#, C++, Python, PHP,Objective-C, ActionScript 3) підтримують ООП.

Содержание работы

ВСТУП 4
РОЗДІЛ 1. ПОСТАНОВКА ЗАДАЧІ 7
РОЗДІЛ 2. ОПИС ПРОГРАМНОГО ПРОДУКТУ 8
2.1 Діаграма класів 8
2.2 Діаграма взаємодії (кооперацій) 9
2.3 Опис класів та методів 10
Розділ 3. ІНСТРУКЦІЯ КОРИСТУВАЧА 11
РОЗДІЛ 4. ОХОРОНА ПРАЦІ ТА ТЕХНІКА БЕЗПЕКИ 12
4.1. Загальна техніка безпеки. 12
4.2. Вимоги щодо організації робочого місця 13
4.3. Вимоги з пожежної безпеки 15
4.4. Охорона навколишнього середовища 15
Висновки 16
СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ 17
ДОДАТКИ 18

Файлы: 1 файл

Отчёт курсовая Лучин.docx

— 303.09 Кб (Скачать файл)

Державний вищий навчальний заклад

“Чернівецький політехнічний  коледж”

 

Циклова комісія  програмування та інформаційних  технологій

 

 

 

 

 

КУРСОВИЙ  ПРОЕКТ

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

на тему: ____________________________________________

 

 

 

 

 

Студента (ки) IV курсу 541 групи

спеціальності 5.05010301

_____________________________

(прізвище  та ініціали)

Керівник  Гуменна Т.М.

Оцінка _____________________________

Члени комісії:

_________________ Н.В.  Голик

(підпис)

_________________ Т.М.  Гуменна

(підпис)

_________________ А.Г.  Смерека

(підпис)

 

м. Чернівці – 2012 рік

ЗМІСТ

АНОТАЦІЯ 3

ВСТУП 4

РОЗДІЛ 1. ПОСТАНОВКА ЗАДАЧІ 7

РОЗДІЛ 2. ОПИС ПРОГРАМНОГО ПРОДУКТУ 8

2.1 Діаграма класів 8

2.2 Діаграма взаємодії (кооперацій) 9

2.3 Опис класів та методів 10

Розділ 3. ІНСТРУКЦІЯ КОРИСТУВАЧА 11

РОЗДІЛ 4. ОХОРОНА ПРАЦІ ТА ТЕХНІКА БЕЗПЕКИ 12

4.1. Загальна техніка безпеки. 12

4.2. Вимоги щодо організації робочого місця 13

4.3. Вимоги з пожежної безпеки 15

4.4. Охорона навколишнього середовища 15

Висновки 16

СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ 17

ДОДАТКИ 18

 

 

 

 

АНОТАЦІЯ

Дана програма призначена для визначення паліндромів (паліндром, перевертень,паліндромон — слово, словосполучення або віршований рядок, що однаково читається в обох напрямках: зліва направо та справа наліво) за рахунок елементарно простого інтерфейсу працювати з даною програмою досить легко.

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

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

Реалізацію завдання організовано засобами мови С++ та продемонстровано можливості об’єктно-орієнтованого програмування. Вибір саме цієї мови програмування можна мотивувати вбудованими функціями для роботи з рядками, та наявністю стандартної бібліотеки для їх обробки, та дій над рядковими змінними.

 

 

 

ВСТУП

Об'єктно-орієнтоване програмува́ння (ООП) — один з напрямків програмування, який розглядає програму як множину «об'єктів», що взаємодіють між собою. В ній використано декілька технологій від попередніх напрямків, зокрема успадкування, модульність, поліморфізм та інкапсуляцію. Попри те, що ця парадигма з'явилась в 1960-тих роках, вона не мала широкого застосування до 1990-тих. Сьогодні багато мов програмування (зокрема, Java, C#, C++, Python, PHP,Objective-C, ActionScript 3) підтримують ООП.

Відповідно до парадигми об'єктно-орієнтованого програмування, кожний об'єкт здатний отримувати повідомлення, обробляти дані, та надсилати повідомлення іншим об'єктам. Кожен об'єкт — своєрідний незалежний автомат з окремим призначенням та відповідальністю.

ООП виникло в результаті розвитку ідеології процедурного програмування, де дані і підпрограми (процедури, функції) їх обробки формально не пов'язані. Об'єктно-орієнтований підхід полягає в наступному наборі основних понять:

  • клас визначає абстрактні характеристики деякої сутності, включаючи характеристики самої сутності (її атрибути або властивості) та дії, які вона здатна виконувати (її поведінку, методи або можливості);
  • об’єкт – окремий екземпляр класу. Сукупність значень атрибутів окремого об'єкта називається станом;
  • метод – можливості об'єкта;
  • обмін повідомленнями – передача даних від одного процесу іншому, або надсилання викликів методів;
  • клас може мати «підкласи», підкласи успадковують атрибути та поведінку своїх батьківських класів, і можуть мати свої власні. Успадкування може бути одиничне та множинне;
  • інкапсуляція – приховування деталей про роботу класів від об'єктів, що їх використовують або надсилають їм повідомлення.  

Інкапсуляція потрібна для того, аби запобігти використанню користувачами інтерфейсу тих частин реалізації, які, швидше за все, будуть змінюватись. Це дозволить полегшити внесення змін, тобто, без потреби змінювати і користувачів інтерфейсу;

  • абстрагування – спрощення складної дійсності шляхом моделювання класів, що відповідають проблемі, та використання найприйнятнішого рівня деталізації окремих аспектів проблеми;
  • поліморфізм означає залежність поведінки від класу, в якому ця поведінка викликається, тобто, два або більше класів можуть реагувати по різному на однакові повідомлення.

Тема даного курсового  проекту- створення программи для роспізнавання паліндромів. Часто в процесі життя ми стикаємось з паліндромами, але не розумієм цього. Не дуже давно археологи знайшли плиту з сильно пошкодженим стародавнім надписом. Здавалося б, повне розуміння тексту втрачено назавжди, але... Раптом виявляється дивна і водночас щаслива особливість відкритої мови - кожне його слово складається з двох дзеркальних половин, точних копій один одного. У цій мові все окремо записані слова – паліндроми. Після написання відповідної програми відновлення втрачених частин слів робиться автоматично.

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

  • Російська мова: «А роза упала на лапу Азора»
  • Латинська мова: «Sum summus mus (Я - найсильніша миша)»
  • Фінська мова: «Saippuakivikauppias» (найдовше в слово-паліндром)
  • Українська мова: «Три психи пили Пилипихи спирт»

Також паліндроми присутні в біології: У структурі нуклеїнових кислот є відносно короткі взаємно комплементарні ділянки, що мають «дзеркальні» послідовності нуклеотидів. Загальне число таких «перевертнів» у геномі людини може складати від 100 тис. до 1 млн. Паліндроми здатні забезпечити збільшення обсягу інформації без збільшення числа нуклеотидів.

У музиці, коли п'єсу грають як зазвичай, але після того як вона закінчується, ноти перевертають і твір грають заново, при цьому мелодія не зміниться. Таких ітерацій може бути скільки завгодно. Такі твори можна грати вдвох читаючи ноти з різних сторін. Прикладами музичних паліндромів можуть бути твори «Застільна мелодія для двох» Моцарта і «Шлях Миру» Мошелеса.

 Звернення до цієї  теми можна мотивувати цікавістю  як самої предметної області,  так і реалізації даної программи методами обраної мови програмуванн. Під час роботи над цією темою було взято за мету створити якомога простіший інтерфейс, та пришвидшити роспізнавання паліндрому у введеному рядку. Оскільки є дуже багато методів роспізнавання паліндромів було обрано найефективніший з них- «метод перегортання».

 

РОЗДІЛ 1. ПОСТАНОВКА ЗАДАЧІ

Головне завдання курсового  проекту розробити програму для  рзспізнавання паліндромів і продемонструвати, на прикладі даної програми, можливості ООП. Забезпечити ввід рядка з клавіатури, та подальший аналіз цього рядку на паліндромність, з усіма супутніми діями, створити консольну програму на С++ . Програма має мати простий інтерфейс, який забезпечуватиме просту та ефективну роботу з нею.

Загальною метою даної роботи є освоєння навичок з технології роспізнавання паліндромів. 

У роботі поставлені такі завдання:

  • розглянути поняття і призначення паліндромів, та їх суть;
  • розглянути методи роспізнавання паліндромів;
  • визначити найефективніший з них;
  • розглянути організацію обраного методу;
  • розробити програмну організацію методу роспізнавання паліндромів;
  • розробити ієрархічну структуру класів для вирішення поставлених задач;

 

РОЗДІЛ 2. ОПИС ПРОГРАМНОГО ПРОДУКТУ

Дана програма розроблена для розпізнавання  паліндромів. Механізм роботи програми досить простий на перший погляд: користувач вмикає програму, на екрані з’являється привітання, після натискання клавіші «Enter» користувач розпочинає роботу з програмою, після чого він має ще раз натиснути клавішу «Enter» щоб очистити потік «cin» він вводить рядок, після чого натискає клавішу «Enter», та програма починає обробляти введений рядок шляхом видалення пробілів, та переведення всього рядка в нижній регістр, після чого починається процес перевірки отриманого рядка на паліндромність: в тимчасову змінну записується записується рядок задом на перед, після чого посимвольно , в циклі перевіряються обидва рядки, після чого на екрані з’являється повідомлення, яке містить результат перевірки, після чого користувачу надається можливість продовжити роботу з програмою, чи завершити роботу, якщо користувач продовжує роботу- він знову вводить рядок, після чого процедура розпізнавання паліндрома повторюється,  якщо ж користувач обирає завершити роботу з програмою, программа очищує екран, після чого з’являється повідомлення від автора программи, та після натискання клавіші «Enter» робота з програмою завершується.

2.1 Діаграма класів

Клас – категорія речей з  загальними атрибутами і операціями.

Діаграма класів – набір статичних  декларативних елементів моделі.

Діаграми класів застосовують в  процесі розробки нової системи (пряме проектування) при описі  існуючих систем.

 Діаграму класів, які були  використані для вирішення даної  задачі можна побачити на рисунку.

 

 

 

 

 

 

 

 

 

2.2 Діаграма взаємодії (кооперацій)

Діаграма  взаємодії відображає потік повідомлень  між об’єктами системи в часі. Вона є альтернативою діаграми послідовностей.


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2.3 Опис класів та методів

  • Клас «phrase» -батьківський клас. В цьому класі міститься рядок «str» з максимальною довжиною 255 символів, та конструктор по замовчуванню, який занулятиме вище вказаний рядок при створенні об’єкта.
  • Класс «palindr» - похідний клас. В цьому класі міститься поле «len», яке містить довжину рядка, та методи: «vvid()» - для вводу рядка з клавіатури, з подальшим виведенням його довжини; «perevid()» - для переведення рядка в нижній регістр; «del_space()» - для видалення пробілів в рядку;  «vuvid()» - для відображення рядка;   «vuvid()» - для відображення рядка; та «ispalinrome()- для роспізнавання паліндрома в рядку.

 

 

 

Розділ 3. ІНСТРУКЦІЯ КОРИСТУВАЧА

 Механізм роботи програми  досить простий на перший погляд: користувач вмикає програму, на  екрані з’являється привітання (рис.)

, після натискання клавіші «Enter» користувач розпочинає роботу з програмою, після чого він має ще раз натиснути клавішу «Enter» щоб очистити потік «cin» він вводить рядок, після чого натискає клавішу «Enter», та програма починає обробляти введений рядок шляхом видалення пробілів, та переведення всього рядка в нижній регістр, після чого починається процес перевірки отриманого рядка на паліндромність: в тимчасову змінну записується записується рядок задом на перед, після чого посимвольно , в циклі перевіряються обидва рядки, після чого на екрані з’являється повідомлення, яке містить результат перевірки (рис.)

після чого користувачу надається  можливість продовжити роботу з програмою, чи завершити роботу, якщо користувач продовжує роботу- він знову вводить рядок, після чого процедура розпізнавання паліндрома повторюється,  якщо ж користувач обирає завершити роботу з програмою, программа очищує екран, після чого з’являється повідомлення від автора программи (рис.)

, та після натискання клавіші  «Enter» робота з програмою завершується. 
РОЗДІЛ 4. ОХОРОНА ПРАЦІ ТА ТЕХНІКА БЕЗПЕКИ

4.1. Загальна техніка безпеки.

Персональний  комп'ютер - електроприлад. Від інших  електроприладів він відрізняється  тим, що для нього передбачена  можливість тривалої експлуатації без  відключення від електричної  мережі. Крім звичайного режиму роботи комп'ютер може перебувати в режимі роботи зі зниженим електроспоживанням або в черговому режимі очікування запиту. У зв'язку з можливістю тривалої роботи комп'ютера без відключення від електромережі слід приділити особливу увагу якості організації електроживлення.

Неприпустимо  використання неякісних та зношених компонентів в системі електропостачання, а також їх сурогатних замінників: розеток, подовжувачів, перехідників, трійників. Неприпустимо самостійно модифікувати розетки для підключення вилок, відповідних іншим стандартам. Електричні контакти розеток не повинні відчувати механічних навантажень, пов'язаних з підключенням масивних компонентів (адаптерів, трійників і т. п.).

 Всі  кабелі та проводи повинні  розташовуватися з заднього боку  комп'ютера і периферійних пристроїв.  Їх розміщення в робочій зоні  користувача неприпустимо. Забороняються  будь-які операції з кабелями  без відповідної підготовки та  інструктажу. Не можна відключати  живлення комп'ютера до повного  його вимкнення.

Информация о работе Проэкт для распознования палиндромов