- •Основні концепції індустріалізації програми.
- •2. Задача супроводження проектів проблемних програм.
- •3. Задача налагодження проектів системних програм.
- •4. Роль засобів специфікації в системних програмах.
- •5. Специфікації мов та задач.
- •6. Базові технології розробки прикладних програм.
- •7. Технології генерації тестів та тестування.
- •8. Стандартизація комп"ютерних мов.
- •9. Етапи розробки прикладних програм з використанням технологічних комплексів.
- •10. Основи технології модульного програмування.
- •11. Організація міжмодульних зв"язків за даними.
- •12. Особливості угод про зв"язки за даними.
- •13. Організація міжмодульних зв"язків за управлінням.
- •16. Особливості угод про зв"язки в мові Pascal.
- •17. Органцізація передачі результатів підпрограм і функцій.
- •18. Технологія налагодження програм на рівні машинних команд.
- •21. Способи пошуку помилок при налагоджені програм.
- •22. Способи декомпозиції програм за структурами вхідних та вихідних даних. 23. Способи декомпозиції програм за обчислювальними формулами.
- •24. Технології тестування програм елементарними тестами для кореції їх роботи.
- •25. Технології тестування програм комплексними тестами.
- •26. Технології тестування програм тестами продуктивності.
- •29. Організація роботи з таблицями в програмах.
- •30. Роль ключових та функціональних полів в таблицях.
- •31. Організація роботи з таблицями з використанням прямої адреси.
- •32. Організація роботи з таблицями з використанням лінійного пошуку.
- •33. Організація роботи з таблицями з використанням двійкового пошуку.
- •39. Відношення порядку на ключових полях.
- •45. Структури і типи даних для визначення графів-автоматів.
45. Структури і типи даних для визначення графів-автоматів.
Основу найпростішої програмної реалізації скінченного автомату складають коди стану автомата та так звана матриця переходів автомата. Коди стану, частіше за все, визначаються перенумерованим типом з іменованими значеннями станів. Приклад опису типу для подання автомата з 5-ма станами, наведеного на рис. 3.7 показано нижче. Дуги та назви сигналів, за якими зберігається попередній стан графа на схемі умовно не показані.
Fig. 8.7. Стани кінцевого автомата
enum autStat
{S0, // S0 - Початковий стан
S1, // S1 - Перший стан
S2, // S2 - Другий стан
Se // Se - Останній стан
};
Коди сигналів також зручно визначати іншим перенумерованим типом з іменованими значеннями кодів сигналів. Приклад опису типу для подання 5 типів сигналів, показаного на рис. 3.7, наведено нижче.
enum autSgn
{sg0, // s0 - Початковий сигнал
sg1, // s1 - Перший сигнал
sg2, // s2 - Другий сигнал
sg3, // s3 - Третій сигнал
sgE // sE - Заключний сигнал
};
Матриця переходів визначається двомірним масивом типу enum autStat, перший індекс якого визначає ціле число, яке відповідає попередньому стану автомата, а другий індекс – число, яке відповідає сигналу ао класу сигналу для переведення автомата в наступний стан.
enum autStat nxtSts[Se+1][ sgE+1] ={{S0,S1,S2,S0,S0}, // для S0 {S1,S1,S3,S2,Se}, // для S1 {S1,S2,S2,S2,S2}, // для S2 {S1,S3,S3,S2,S2}, // для S3 {Se,Se,Se,Se,Se} // для Se};
Функція переходів визначена в лабораторній роботі наступним чином:
enum autStat nxtStat(enum autSgn sgn)
{static enum autStat s=S0;// поточний стан лексеми
return s=nxtSts[s][sgn]; // новий стан лексеми
}
46. Декомпозиція задач на послідовні блоки. 47. Декомпозиція задач на паралельно-виконувані блоки. 48. Декомпозиція задач на розгалуджувані блоки. 49. Декомпозиція задач обробки масивів на циклічні блоки. 50. Декомпозиція задач обробки рекурсивних математичних формул. 51. Особливості обробки термінальних вузлів дерев підлеглості. 52. Особливості обробки нетермінальних вузлів дерев підлеглості операцій. 53. Особливості обробки присвоювань в деревах підлеглості операцій. 54. Особливості обробки тернарних операцій в деревах підлеглості операцій. 55. Способи виявлення та локалізації помилок в розпаралелених програмах. 56. Способи виявлення та локалізації помилок в лінійних програмах. 57. Способи виявлення та локалізації помилок в розгалуджених програмах. 58. Способи виявлення та локалізації помилок в циклічних програмах. 59. Способи корекції помилок в розпаралелених програмах. 60. Способи корекції помилок в лінійних програмах. 61. Способи корекції помилок в розгалуджених програмах. 62. Способи корекції помилок в циклічних програмах.