є правила побудови Present Indefinite для третьої особи однини.
Правило 1 (основне). Третя особа однини даного часу утворюється шляхом додавання закінчення -s. Наприклад, live - lives.
Правило 2. Якщо наприкінці дієслова букви -x, -s, -ch, -sh, -ss, то форма третьої особи однини утворюється за допомогою закінчення -es. Наприклад, advise - advises, miss - misses.
Правило 3. Якщо наприкінці дієслова буква -y, а перед нею стоїть приголосна, то форма третьої особи однини утворюється за допомогою закінчення -es, а буква y змінюється на -i. Наприклад, study - studies.
Правило 4. Якщо наприкінці дієслова буква -о, то форма третьої особи однини утворюється за допомогою закінчення -es. Наприклад, go - goes.
Виходячи з перерахованих правил, наведемо алгоритм для дієслів третьої особи однини освіти часу Present Indefinite.
Алгоритм освіти Present Indefinite для третьої особи однини
Вхідні дані- рядок (інфінітив дієслова)
Вихідні дані- рядок (словоформа -Present Indefinite третя особа однина для str)
Проміжні переменние- ціле, довжина рядка str={b, c, d, f, g, h, j, r, l, m, n, p, q, r, s, t, v, w, x, z} безліч елементів символьного типу (безліч приголосних англійського алфавіту);
початок
Ініціалізація=str;
якщо (str [l] == s) або (str [l] == x) або ((str [l - 1] == s) і (str [l] == s )) або
((str [l] == h) і ((str [l - 1] == s) або (str [l - 1] == c)))
то
. 1 res=res + es
. 2 вихід з алгоритму
якщо (str [l] == y) і (str [l - 1] належить безлічі Consonant)
то
. 1 res [l]=i
. 2 res=res + es
3.3 вихід з алгоритму
якщо (str [l] == o)
то
. 1 res=res + es
. 2 вихід з алгоритму
Результат res
кінець
За способом утворення -ed форм всі дієслова діляться на правильні і неправильні. Неправильними дієсловами називаються дієслова, які утворюють -ed форми особливими способами. Кількість неправильних дієслів невелика, але до них відносяться самі вживані дієслова. Розробити алгоритми освіти словоформ для таких дієслів неможливо, тому базу даних цих словоформ довелося заповнювати вручну. Для занесення словоформ неправильних дієслів в базу даних використовувалася таблиця [7] неправильних дієслів, що містить всі неправильні дієслова англійської мови.
4.2 Опис класів, реалізованих в системі, та їх функцій
У ході розробки був реалізований ряд класів. Нижче, на малюнку 4.1, наведена схема класів з урахуванням їх взаємодії між собою та приладдя до функціонального модулю.
- клас, реалізований в модулі TABLE- стандартний клас бібліотеки C ++ - клас, реалізований у консольному пріложеніі- клас бібліотеки РДМА_ІПІІ- посилання на клас, який використовується в даному класі
спадкування класу
Малюнок 4.1 - Схема організації класів ПЗ системи синтезу парадигм слів англійської мови
Клас CTableDlg містить у собі реалізацію головного вікна програми, користувальницький інтерфейс і обробники подій від елементів управління. У таблиці 4.4 наведено список основних методів класу.
Таблиця 4.4 - Список основних методів класу CTableDlg
МетодОпісаніеvoid CTableDlg :: OnCreate_Tree () Додає до дерева по рядку елементи парадигми починаючи з 0void CTableDlg :: OnAddTree () Додає до існуючої таблиці дані з текстового файлаvoid CTableDlg :: OnSave_Tree () Зберігає деревоvoid CTableDlg :: OnLoad_Tree () Завантажує деревоvoid CTableDlg :: OnLemma_Find () Пошук леми слова в деревеvoid CTableDlg :: OnFind_Paradigm () Пошук парадигми слова в деревеvoid CTableDlg :: OnDel () Видалення з існуючої таблиці даних, з текстового файлаvoid CTableDlg :: OnCancel () Вихід
Клас english_paradigm призначений для формування файлу парадигм англійської мови. Вхідними даними є файл зі словником початкових форм англійських слів з мітками для їх словозміни. В результаті роботи методів цього класу (див. Табл. 4.5) на виході консольного застосування створюється файл у форматі, необхідному бібліотекою РДМА_ІПІІ, для додавання отриманих словоформ в дерево.
Таблиця 4.5 - Список основних методів класу english_paradigm
МетодОпісаніеbool Noun_paradigm (char * str) Формування парадигм...