
- •Дослідження програмних об'єктів напередвизначених типів та операцій над ними
- •Опис програмних об’єктів
- •Ініціалізація змінних при створенні
- •Оператор привласнення
- •Загальна спрощена структура програми
- •Методичні вказівки Правила складання ідентифікаторів
- •Правила опису об’єктів у програмі
- •Частина 1 дослідження цілих типів даних
- •Завдання
- •Частина 2 дослідження дійсних типів даних
- •Завдання
- •Частина 3 дослідження арифметичних операцій над значеннями цілих та дійсних типів
- •Завдання
- •Частина 4 дослідження бітових операцій над цілими значеннями
- •Бітові операції
- •Завдання
- •Частина 5 дослідження логічних типів, логічних операцій та операцій відношення
- •Завдання
- •Частина 6 дослідження вказівних типів даних
- •Завдання
- •Частина 7 дослідження символьних типів та базової операції – атрибут
- •Завдання
- •Лабораторна робота 2
- •Дослідження структурних операторів операторного
- •Базису мов програмування паскаль та сі
- •Мета лабораторної роботи - вивчити устрій структурних операторів мов Паскаль та Сі та та використати їх при дослідженні адресної арифметики.
- •Теоретичні відомості
- •Адресна арифметика в Сі
- •Правила написання програм
- •Завдання
- •Лабораторна робота 3
- •Частина 2 багатовимірні масиви
- •Лабораторна робота 4 дослідження пойменованого типу даних
- •Лабораторна робота 5
- •Завдання
- •Контрольні запитання
- •Лабораторна робота 6 дослідження механізму підпрограм Мета лабораторної роботи - вивчити в мовах Паскаль та Сі опис та використання відкритих і закритих підпрограм.
- •Inline- підпрограми Сі:
- •Контрольні запитання
- •Контрольна робота дослідження використання підпрограм в лінійних структурах даних
- •Контрольні запитання
- •Напередвизначені типи
- •Знак Число без знаку
- •Знак e
- •Список літератури
- •С. Робинсон и др. С# для профессионалов. Т 1,2. – м.: Лори, 2003. – 995с.
Контрольні запитання
Що таке структура даних?
Наведіть класифікацію значень структур даних.
Наведіть типи та засоби представлень лінійних структур даних.
Наведіть типи та засоби представлень нелінійних структур даних.
Як можна ефективно представити лінійні та нелінійні структури даних?
Література: [2]; [6]; [7].
Лабораторна робота 6 дослідження механізму підпрограм Мета лабораторної роботи - вивчити в мовах Паскаль та Сі опис та використання відкритих і закритих підпрограм.
Теоретичні відомості
Підпрограма є конструктивно інкапсульованим програмним кодом, який реалізує визначену функцію та викликається для виконання за допомогою оператору виклику. Існують два типи підпрограм за видом їх обробки – закриті та відкриті. Код закритої підпрограми присутній у працюючій програмі у одному екземплярі, а кожний її виклик у вихідному коді при створенні машинного коду транслюється у передачу адреси виконання на перший оператор підпрограми. Код відкритої підпрограми у вихідному коду перед трансляцією розміщюється замість кожного її виклику, тобто копіюється багаторазово.
Визначення підпрограми має дві основні частини: заголовок, який специфікує правила її виклику, та тіло, яке містить опис дій, що виконує підпрограма.
Закриті підпрограми існують у двох формах: процедури та функції. Процедура викликається оператором, який не може входити у склад виразу. Виклик функції може входити до складу виразу, тому що при роботі функція повертає результат у точку виклику у вигляді значення.
<підпрограма> ::= <відкрита підпрограма>|<закрита підпрограма>
< закрита підпрограма>::=<процедура>|<функція>
< відкрита підпрограма >::=<inline підпрограми>|<шаблон>|<макрос>
Закрита підпрограма
Паскаль:
<опис процедури>::=procedure<позначка>{ (<список формальних параметрів) }0
<тіло>
<опис функції>::=function< позначка >{ (<список формальних параметрів) }0
<опис типу вироблювального значення> <тіло>
< позначка >::=<ідентифікатор>
<список формальних параметрів>::=<формальний параметр>|
{;<формальний параметр>}0
<формальний параметр>::={var}0 < позначка формального параметру>:<опис типу>
<позначка формального параметру>::= <ідентифікатор>
<тіло>::=<опис програмних об’єктів та типів>begin<оператор>end
<опис програмних об’єктів та типів>::=(див. лаб. 3, 6)
<оператор>::= <оператор привласнення>|<структурний оператор>
<виклик процедури чи функції>::=< позначка >{(<список фактичних параметрів>)}0
<список фактичних параметрів>::=< позначка фактичного параметру>|
{,<позначка фактичного параметру>}
Cі:
<опис процедури>::=void< позначка >({<список формальних параметрів>}0)
<тіло>
<опис функції>::=< позначка типу вироблювального значення>< позначка >
({<список формальних параметрів>}0)<тіло>
< позначка типу вироблювального значення>::=< позначка типу>
<список формальних параметрів>::=<формальний параметр>|{,<формальний
параметр>}0
<формальний параметр>::=>:< позначка типу> < позначка формального
параметру>
<тіло>::={{<оператор>}0}
<оператор>::= <оператор привласнення>|<структурний оператор>
<виклик процедури чи функції>::=< позначка > ({<список фактичних
параметрів>}0)
<список фактичних параметрів>::=< позначка фактичного параметру>|
{,<позначка фактичного параметру>}
<опис прототипу процедури>::=< позначка типу вироблювального
значення>< позначка >({<список формальних параметрів>}0)
Шаблони Сі++:
<шаблон>::=template<class <ідентифікатор типу>><опис процедури чи функції з використанням введеного ідентифікатору типу>