Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
derzh.docx
Скачиваний:
8
Добавлен:
17.09.2019
Размер:
10.8 Mб
Скачать

152

Зміст

1. Аналіз класів пам’яті змінних 4

2. Аналіз класів пам’яті функцій. 5

3. Концепція типу у мові програмування. Аналіз відомих методів типізації 6

4. Вільні масиви в мові програмування Сі, їх призначення та відмінність від звичайних. Навести приклади опису та застосування. 8

5, 24. Принцип спадкування у Сі++. Віртуальні базові класи. 10

6, 25. Формування класів у Сі++ за допомогою ключових слів class, struct та union і їх особливості. Вказівник this. 11

7, 26. Правила формування атрибутів доступу до членів похідного класу в залежності від атрибуту доступу базового класу та заданого атрибуту у списку спадкування. 12

8, 27. Вказівники та динамічна пам’ять. Аналіз методів виділення та звільнення динамічної пам’яті 14

9, 28. Аналіз методів передачі параметрів до підпрограм через локальні та нелокальні середовища 18

10. Зв’язний список та наскрізний прохід по зв’язному списку. Операції над зв’язними списками. Додавання та вилучення елементів у зв’язному списку. Навести приклади. 20

11. Структури даних. Типові статичні та динамічні структури даних. Доступ до даних. 25

12. Аналіз методів подання графів у вигляді динамічних та статичних структур даних. Матриця суміжності 27

13. Парадигма об’єктно-орієнтованого програмування та основні його принципи, їх зміст. 31

14. Порівняльний аналіз статичних та віртуальних методів в об’єктно-орієнтованому програмуванні, їх особливості. Призначення та правила формування конструкторів та деструкторів. 33

15. Правила віртуалізації методів в ООП. 36

16. Поняття технології створення програмного забезпечення та основні технологічні етапи. Приклади технологій. 38

17. Взаємозв’язок імен масивів та вказівників в мові програмування Сі. Операції над вказівниками. Приклади для одно- та двомірних масивів. 40

18. Контейнерні класи та їх призначення 45

19, 29. Вкладені класи та їх призначення. 47

20. Локальні класи та їх призначення 48

21. Призначення «дружніх» функцій у Сі++. Навести приклади. 50

22. Правила перевантаження операцій у Сі++. 53

23. Абстрактні типи даних, правила і засоби їх формування. 56

30. Математичні моделі біполярного транзистора програми Spice 58

31. Алгоритм розрахунку перехідної характеристики програми Spice 63

32. Алгоритм розрахунку режиму за постійним струмом програми Spice 65

34. Поняття об’єкту в мові VHDL 69

35. Поняття сигналу в мові VHDL. Драйвер сигналу 72

36. Модель дискретного часу в мові VHDL. 74

37. Модель польового транзистора програми Spice 76

38. Архітектурне тіло та об’єкт в мові VHDL 79

39. Призначення та можливості програми SPICE 83

40. Оператор процесу в мові VHDL 84

41. Створення структурного опису цифрової системи мовою VHDL 86

42. Змінні та сигнали в мові VHDL 89

43. Присвоювання сигналу в мові VHDL 91

44. Планування транзакцій та драйвер сигналу в мові VHDL 94

45. Розрахунок амплітудно-частотної характеристики в програмі Spice. 95

46. Послідовні та паралельні оператори мови VHDL 96

47. Створення примірників компонентів та опис топології цифрового пристрою мовою VHDL 99

48.Опис рівня регістрової передачі мовою VHDL 101

49. Вхідна мова програми Spice 104

50. Модель Еберса-Мола біполярного транзистора 106

51. Модель Гумеля-Пуна біполярного транзистора 109

52. Інерційна та транспортна затримки в мові VHDL 111

53. Принципи роботи системного інтерфейсу ISA (8 біт). 114

54. Стандарти систем автоматизації, побудованих на основі системних інтерфейсів. 118

55. Інтерфейс HS-488 ( швидкісний канал спільного користування). 120

57, 66, 70, 71.Канал спільного користування. Структура магістралі. Робота шини. Реалізація інтерфейсу. 122

58, 73. Приладовий інтерфейс (канал загального користування). Адресування приладів на магістралі. Алгоритми обміну інформацією в магістралі. 128

59. Приладовий інтерфейс (канал загального користування). Пошук джерела сигналу “запит на обслуговування”. Послідовне опитування. 131

60. Приладовий інтерфейс (канал загального користування). Пошук джерела сигналу “запит на обслуговування”. Паралельне опитування 133

61. Паралельні комунікаційні порти персонального комп’ютера. Загальні відомості. Призначення ліній інтерфейсу Centronics. Часові діаграми обміну інформацією. Особливості використання інтерфейсу Centronics. 135

64. Основні принципи перетворення сигналів. Дискретизація сигналів. Цифро-аналогові перетворювачі. 139

67, 72. Основні принципи перетворення сигналів. Дискретизація сигналів. Цифро-аналогові перетворювачі. 142

65, 68, 69. Аналогово-цифрове перетворення. Принципи роботи. Реалізація інтерфейсу з IBM PC. Реалізація систем збору інформації 145

1. Аналіз класів пам’яті змінних

Кожен об’єкт програми (змінна, функція,...) має свій тип і клас пам’яті (клас зберігання). Тип визначає обсяг пам’яті для об’єкта і операції, що можуть виконуватись над об’єктом, а клас пам'яті задає місце розташування об'єкта (внутрішні регістри мікропроцесора, сегмент даних, сегмент стека тощо) та встановлює для нього час існування, тобто час, протягом якого об‘єкт зберігається в пам‘яті. На відміну від типу, клас пам’яті можна явно не вказувати, тоді він встановлюється компілятором за правилами замовчання, в залежності від розташування ідентифікатора в тексті програми.

Із класом пам’яті тісно пов’язані поняття області визначення та області видимості. Областю визначення називається та частина коду програми, в межах якої ідентифікатор може використовуватися для доступу. Є різні області визначення: в межах блоку (локальна область визначення), в межах функції, в межах файлу тексту програми. Область видимості область вихідного тексту програми, із меж якої можливий коректний доступ до пам’яті або функції з використанням ідентифікатора.

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

Для змінних існує 4 класи пам’яті:

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

    • register - зберігання змінної у регістрі процесора, дає змогу істотно скоротити час звертання до змінних, за відсутності вільних регістрів змінна буде опрацьовуватись як змінна з класом auto (тобто компілятор не зобов’язаний виконувати умову розташування змінної у регістрах); така змінна не має адреси;

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

    • extern - змінні є посиланнями на відповідні зовнішні змінні та роблять ці змінні видимими (оголошеними) в межах поточного файлу.

2. Аналіз класів пам’яті функцій.

Для функції існує всього два класи памяті extern та static.

Правила визначення області видимості для функцій відрізняються від правил видимості для змінних :

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

  • Функція, оголошена з класом памяті extern, видима в межах всіх вихідних файлів програми. Будь-яка функція може викликати функції з класом памяті extern;

  • Якщо в оголошенні функції відсутній специфікатор класа памяті, то за замовчанням приймається клас extern.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]