Case A:switch(current)

{

case'a':where=B;break;

default:;

}

break;

Case B:switch(current)

{

case'a':;break;

case'b':where=C;break;

default:where=A;

}

break;

Case C:switch(current)

{

case'c':where=D;break;

case'a':where=B;break;

default:where=A;

}

break;

Case D:switch(current)

{

case'd':

printf("входить\n");

stop=true;

break;

case'a':where=B;break;

default:where=A;

}

}

}

if(!stop)printf("не входити");

}

Завдання для самостійної роботи

1. Побудувати СА, що розпізнає мову L. Алфавіт А = { а, b, c }:

а) aÎ L тоді й тільки тоді, коли в слові a зустрічається не більше трьох літер aпоспіль;

б) aÎ L тоді й тільки тоді, коли в слові a поєднання ab зустрічається не більше двох разів;

в) aÎ L тоді й тільки тоді, коли в слові a міститься підслово bbсс;

г) aÎ L тоді й тільки тоді, коли слово a містить парну кількість літер;

д) aÎ L тоді й тільки тоді, коли за наявності в слові a літери а зустрічається також і літера b.

2. Написати програму для реалізації СА з прикладу 1.

3. Написати програму, що перевіряє, чи є слово X підсловом слова Y.

4. Написати програму, що перевіряє, чи є у вхідному слові фрагмент вигляду а? b.

5. Написати програму, що перевіряє, чи є у вхідному слові зразок ab * cd (* позначає входження будь-якого слова).

6. Дано список слів X 1 ,...,Xk і слово Y. Визначити, чи входить принаймні одне зі слів Xi до слова Y як підслово. Кількість дій не має перевищувати константи, помноженої на сумарну довжину всіх слів (зі списку, у якому відбувається пошук).

7. Написати програму для реалізації СА, зображеного діаграмою станів, який розпізнає числа з плаваючою точкою.


СПИСОК ЛІТЕРАТУРИ

Основи сучасного програмування Основи сучасного програмування Основи сучасного програмування Основи сучасного програмування Основи сучасного програмування Основи сучасного

1. Бабэ Б. Просто и ясно о Borland С++. – 3-е изд., доп. – М.: БИНОМ, 1996.

2. Березин Б., Березин С. Начальный курс C и C++. – М.: ДИАЛОГ-МИФИ, 1999.

3. Биллиг В., Мусикаев И. Visual C++ 4. Книга для программистов. – М.: Русская редакция, 1996.

4. Вирт Н. Алгоритмы + структуры данных = программы. – М.: Мир, 1985.

5. Голуб А. C и C++. Правила программирования. – М.: Бином, 1996.

6. Грегори К. Использование Visual C++ 5: Спец. издание. – К.; М.: Диалектика, 1997.

7. Дэвис С. C++ для "чайников". – К.: Диалектика, 1996.

8. Касаткин А. Профессиональное программирование на языке Си. Управление ресурсами: Справ. пособие. – Минск: Вышэйшая школа, 1992.

9. Керниган Б., Ритчи Д. Язык программирования Си. – 2-е изд., пеpеpаб. и доп. – М.: Финансы и статистика, 1992.

10. Дерк Л. C и C ++: Спpав. – М.: БИНОМ, 1997.

11. Майерс Г. Надежность программного обеспечения – М.: Мир, 1980.

12. Мешков А. Visual C ++ и MFC. Программирование для Windows NT и Windows 95: В 3 т. – Спб.: BHV-Санкт-Петербург, 1997. – Т. 1, 2.

13. Мешков А., Тихомиров Ю. Visual C++ и MFC. Программирование для Windows NT(тм) и Windows 95: В 3 т. -Спб.: BHV- Санкт-Петербург, 1997. – Т. 1.

14. Нейбауэр А. Моя первая программа на С/С++. – Спб.: Питер Пресс, 1996.

15. Паппас К., Мюррэй У. Visual C++: Рук-во для пpофессионалов. – Спб.: BHV-Санкт-Петербург, 1996.

16. Поттс С., Монк Т. Borland C++ в примерах. – Минск: Попурри, 1996.

17. Программирование на C++: Учеб. Пособие / В.П. Аверкин, А.И. Бобровский, В.В. Веснич и др.; под ред. А.Д. Хомоненко. – Спб.: КОРОНА принт, 1999.

18. Рассохин Д. От С к С++. – М.: Эдель, 1993.

19. Секунов Н. Самоучитель Visual C++ 6. – Спб.: BHV-Санкт-Петербург, 1999.

20. Скляров В. Программирование на языках Си и Си++:Практ. пособие. – М.: Высш. шк., 1996.

21. Собоцинский В. Практический курс TURBO C++. Основы объектно-ориентированного программирования. – М.: Свет, 1993.

22. Страуструп Б. Язык программирования С++. – М.: Радио и связь, 1991.

23. Том С. Освоение Borland С++ 4.5: Пpакт. куpс. – 2-е изд. – К.: Диалектика, 1996.

24. Топп У., Форд У. Структура данных в C++. – М.: БИНОМ, 1999.

25. Фейсон Т. Объектно-ориентированное программирование на Borland C++ 4.5. – 4-е изд. – К.: Диалектика, 1996.

26. Фридман А. Основы объектно-ориентированного программирования на языке Си++. – М.: Радио и связь, 1999.

27. Хаймен М. Borland C++ для "чайников". – К.: Диалектика, 1996.

28. Хендрикс Д. Компилятор языка Си для микро-ЭВМ. – М.: Радио и связь, 1989.

29. Шилдт Г. Теория и практика С++. – Спб.: BHV-Санкт-Петербург, 1996.

30. Эйткен П., Скотт Д. Visual C++ для мультимедиа. – К.: Комиздат, 1996.


ЗМІСТ

Основи сучасного програмування Основи сучасного програмування Основи сучасного програмування Основи сучасного програмування Основи сучасного програмування Основи сучасного

Передмова............................................................................................................ 3

ВСТУП...................................................................................................................... 5

1. ОСНОВИ АЛГОРИТМІЗАЦІЇ.............................................................................. 12

1.1. Поняття алгоритму........................................................................................ 12

1.2. Класифікація внутрішніх структур алгоритмів................................................. 14

1.3. Складність алгоритмів................................................................................... 16

1.4. Складність задач........................................................................................... 19

2. Форма Бекуса – Наура................................................................................. 26


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: