Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Комп'ютерна інженерія
Кафедра:
Кафедра ЕОМ

Інформація про роботу

Рік:
2008
Тип роботи:
Методичні вказівки до лабораторної роботи
Предмет:
Структури даних та алгоритми
Група:
МЕ

Частина тексту файла (без зображень, графіків і формул):

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”  Кафедра ЕОМ Структура даних ЧЕРГА МЕТОДИЧНІ ВКАЗІВКИ до лабораторної роботи № 4 з дисципліни " Програмування. Частина III. Структури даних та алгоритми " для студентів напрямку 6.0915 “Комп’ютерна інженерія” Львів – 2008 Методичні вказівки до лабораторної роботи "Структура даних ЧЕРГА" з дисципліни “Програмування. Частина IIІ. Структури даних та алгоритми" для підготовки студентів напрямку 6.0915 “Комп’ютерна інженерія” / Укл. Т.А.Лисак – Львів: Видавництво НУ “Львівська політехніка”, 2008 – 27 с. Укладач: Лисак Т.А., ст. викладач каф.ЕОМ Відповідальний за випуск: Мельник А.О., д-р техн. наук, проф. Рецензенти: Опир Ю.М., ст. викладач каф.ЕОМ Юрчак І.Ю., доцент кафедри САПР, к.т.н. 1. МЕТА РОБОТИ Вивчення фундаментальної абстрактної структури даних - черги. Набуття практичних навичок побудови черги, дослідження динаміки її вмісту та використання черг для розв'язання прикладних задач. 2. ТЕОРЕТИЧНІ ВІДОМОСТІ Чергою FІFO (Fіrst - Іn - Fіrst- Out - "першим прийшов - першим вийшов") називається така послідовність зі змінною довжиною, у якій додавання елементів виконується тільки з однієї сторони (цю сторону часто називають кінцем або хвостом черги), а вилучення - з іншої сторони (називають початком або головою черги). Ті самі черги до прилавків і до кас, які ми так не любимо, є типовим побутовим прикладом черги FІFO. Основні операції над чергою - ті ж, що й над стеком - додавання, вилучення, визначення розміру, читання, що не руйнує чергу. Приклад 1: В послідовності 8 2 6 3 1 4 9 кожна парна цифра визначає операцію push (додавання цієї цифри в чергу), а кожна непарна цифра визначає операцію pop (вилученя з черги одного елемента). Введемо такі позначення: P – вказівник на початок черги, К – вказівник на кінець черги Нижче показана динаміка вмісту черги під час обробки заданої послідовності:  K P  0)       - порожня черга      P K   P K   P K  1) 8       2) 8 2      3) 8 2 6        P K   P K   P K  4)  2 6     5)   6     6)   6 4       P K      7)    4            Оскільки черга - це важлива абстракція даних, у стандартній бібліотеці С++ передбачений клас queue, для використання якого потрібно включити заголовочний файл: #include < queue> Набір стандартних операцій роботи зі стеком показаний у таблиці: Операція Дія  empty() Повертає true, якщо черга порожня, і false у противному випадку  sіze() Повертає кількість елементів у черзі  pop() Видаляє елемент з черги, але не повертає його значення  front() Повертає значення елемента з початку черги, але не видаляє його  push(іtem) Поміщає новий елемент у кінець черги   Розглянемо статичну реалізацію черги на основі масиву з фіксованим рзміром. В наведенному далі лістінгу показано заголовочний файл для шаблонного класу queue, аналогічний класу queue зі стандартної бібліотеки шаблонів STL. // ФАЙЛ: queue1.h (частина простору імен main_savitch_8B) #ifndef MAIN_SAVITCH_QUEUE1_H #define MAIN_SAVITCH_QUEUE1_H #include <cstdlib> // Provides size_t namespace main_savitch_8B { template <class Item> class queue { public: // ОПЕРАТОРИ ПЕРЕІМЕНОВАННЯ ТИПІВ ТА КОНСТАНТНІ ЧЛЕНИ typedef std::size_t size_type; typedef Item value_type; static const size_type CAPACITY = 30; // КОНСТРУКТОР queue( ); // МОДИФІКУЮЧІ ФУНКЦІЇ-ЧЛЕНИ void pop( ); void push(const Item& entry); // КОНСТАНТНІ ФУНКЦІЇ-ЧЛЕНИ bool empty( ) const { return (count == 0); } Item front( ) const; size_type size( ) const { return count; } private: Item data[CAPACITY]; size_type first; size_type last; size_type count; // ДОПОМІЖНІ ФУНКЦІЇ-ЧЛЕНИ size_type next_index(size_type i) const { return (i+1) % CAPACITY; } }; } #include "queue1.template" // Директива включення реалізації. #endif Файл реалізації класу queue показаний в наступному лістінгу: #include <cassert> // Надає макрос assert. namespace main_savitch_8B { template <class Item> const typename queue<Item>::size_type queue<Item>::CAPACITY; template <class Item> queue<Item>::queue( ) { count = 0; first = 0; last = CAPACITY - 1; } template <class Item> Item queue<Item>::front( ) const { assert(!empty( )); return data[first]; } template <class Item> void queue<Item>::pop( ) { assert(!empty( )); first = next_index(first); --count; } template <class Item> void queue<Item>::push(const Item& entry) { assert(size( ) < CAPACITY); last = next_index(last); data[last] = entry; ++count; } } Дек - особливий вид черги. Дек (від англ. deq - double ended queue, тобто черга із двома кінцями) - це така послідовність, у якій як додавання, так і вилучення елементів може здійснюватися з кожного із двох кінців. Окремий випадок дека - дек з обмеженим входом і дек з обмеженим виходом. Логічна й фізична структури дека аналогічні логічній і фізичній структурі кільцевої FіFO-черги. Однак, стосовно до дека доцільно говорити не про початок і кінець, а про лівий і правий кінці. Динамічна реалізація дека є об'єднанням стека і черги. Операції над деком: додавання элемента справа; додавання элемента слева; вилучення элемента справа; вилучення элемента слева; визначення розміру. Задачі, що вимагають використання структури дека, зустрічаються в обчислювальній техніці і програмуванні набагато рідше, ніж завдання, реалізовані на структурі стека або черги. Як правило, вся організація дека виконується програмістом без яких-небудь спеціальних засобів системної підтримки. Прикладом дека може бути, наприклад, якийсь термінал, у який вводяться команди, кожна з яких виконується якийсь час. Якщо ввести наступну команду, не дочекавшись, поки закінчиться виконання попередньої, то вона встане в чергу й почне виконуватися, як тільки звільниться термінал. Це FІFO черга. Якщо ж додатково ввести операцію скасування останньої введеної команди, то отримаємо дек. 3. ПОРЯДОК ВИКОНАННЯ РОБОТИ 1. При підготовці до лабораторної роботи, необхідно засвоїти теоретичний матеріал по темі і підготуватись до контрольного опитування по розумінню питань даної тематики. 2. Згідно з індивідуальним завданням розробити алгоритм розв’язання задачі. 3. Підготувати програмну реалізацію розробленого алгоритму. Засобами вбудованого тексто-вого редактора інтегрованого середовища набрати текст підготовленої програми. Відкомпілювати, налагодити та виконати програму. 4. Протестувати програму згідно зі складеною системою тестів і, при потребі, підкоректувати текст програми. Проаналізувати отримані результати. 5. Написати контрольне опитування по темі. 6. Оформити звіт по роботі. Без підготовкі до роботи (програмної реалізації розробленого алгоритму) студент до роботи не допускається. 4. ЗМІСТ ЗВІТУ I. Оформити титульну сторінку звіту стандартного зразка, на якій вказати назву лабораторної роботи, її номер та номер варіанту. II. В звіті мають бути відображені наступні пункти: 1. Мета роботи. 2. Завдання 1. 2.1. Постановка задачі. 2.2. Алгоритми розв’язання задачі. 2.3. Результати виконання програми. 3. Завдання 2. 3.1. Постановка задачі. 3.2. Динаміка вмісту стеку. 3.3. Результати виконання програми. Висновки. Додаток: тексти програм (обов’язково відображати на екрані всі зміни, що будуть відбуватись у стеку). 5. ЗАВДАННЯ НА ЛАБОРАТОРНУ РОБОТУ І. Завдання 1: Використати для розв’язання задач клас queue зі стандартної бібліотеки шаблонів STL . 1. У магазині стоїть черга з m покупців. Час обслуговування покупця з черги – це випадкове ціле число в діапазоні від 1 до t1. Час додавання нового покупця до черги - це випадкове ціле число в діапазоні від 1 до t2. Промоделювати стан черги: а) вивести повідомлення про час виникнення подій ( обслуговування та додавання покупця ) за період часу T (T >> t1, T >> t2); б) показати залишок черги; в) розв’язати задачу, передбачивши, що через випадковий час від 1 до t3 до початку черги додається „пільговий” покупець, який обслуговується першим, а через випадковий час від 1 до t4 не витримує та йде з черги останній покупець. 2. Автостоянка має одну полосу, на якій може бути розмiщено до 10 автомобiлiв. Машини в'їжджають з пiвденного кiнця стоянки i від'їжджають з пiвнiчного. Якщо автомобiль власника, що прийшов на стоянку забрати його, не розташований пiвнiчнiше за всі решту, то всi автомобiлi, що стоять пiвнiчнiше його, виїжджають iз зупинки, потiм виїжджає його машина і всі машини повертаються в початковому порядку. Якщо машина залишає гараж, то всi машини розташованi пiвденнiше, перемiщаються вперед на стiльки позицій, скiльки є вiльних мiсць в пiвнiчнiй частинi. Написати програму зчитування групи рядків, кожний з яких мiстить літеру "A" для прибуття i літеру "D" для вiдправлення, а також номер машини. Машини прибувають i вiдправляються в порядку, що задає цей список рядків. Програма має видавати повiдомлення при кожному прибутті або вiдправленні машини. При прибутті машини в ньому повинно говоритись, чи є на стоянці вiльне мiсце. Якщо вiльне мiсце вiдсутнє, машина чекає до тих пiр, поки воно не звiльниться, або до моменту зчитування рядка, що повідомляє про вiдправлення цього автомобiля. Якщо з'являється вiльне мiсце, повинно видаватись iнше повiдомлення. При вiдправленнi автомобiля повiдомлення повинно мiстити в собi кiлькiсть перемiщень машини в серединi стоянки (включаючи її вiдправлення, але не прибуття; це число рiвне 0, якщо машина була вiдправлена під час очiкування вільного місця). 3. Написати програму, що моделює обчислювальну систему з кiлькома користувачами. Кожен користувач має свiй унiкальний iдетифiкацiйний номер ID i бажає виконати на ЕОМ ряд операцiй. У будь-який момент часу ЕОМ може виконувати одночасно тiльки одну операцiю. Кожний вхiдний рядок вiдповiдає одному користувачу i мiстить його ID, за яким йде початок роботи, а за ним - набiр цiлих чисел, кожне з яких представляє тривалість кожної з виконуваних користувачем операцiй. Вхiднi данi впорядкованi по зростанню часу початку роботи. Весь час задається в секундах. Вважається, що користувач не видає запрос на проведення наступної операцiї до тих пiр, поки не закiнчилось виконання попередньої, а ЕОМ виконує операцiї за принципом "перший, що поступив, обслуговується першим". Програма повинна iмiтувати роботу системи i виводити повiдомлення, що мiстять ID користувача i час початку i закiнчення проведення операцiї. В кiнцi процесу моделювання вивести середній час очiкування для кожної операцiї. Час очiкування - це рiзниця мiж тим часом, коли був виданий запрос на виконання операцiї, i початком її виконання. 4. Фiрма KRESS по зберiганню i збуту побутової техніки отримує вантажi з товарами по рiзним цiнам. Пізніше фiрма продає ці товари з 20-% надбавкою, причому товари, що отриманi раніше, продаються у першу чергу (стратегiя "перший отриманий - продається першим"). Товари з першої партії грузів продаються по ціні, на 20% вищій ніж закупочна. Після того як вся перша партія повністю розпродана, приступають до продажі другої партії, також по збільшеній на 20% цені, і т.д. Написати програму, яка зчитує з текстового файлу записи про торговi операцiї двох типiв: операцiї по закупцi i операцiї по продажу. Запис про продажу мiстить префiкс "Р", після якого йде кiлькiсть товару, що продається. Запис про закупку мiстить префiкс "Z" , кiлькiсть товару і вартiсть всієї партiї. Пiсля зчитування запису про закупку товару виводити повідомлення про кiлькiсть товару, вартiсть одиниці товару i загальну вартiсть всiєї партiї. Пiсля зчитування запису про операцiю продажу товару виводити повідомлення про кiлькiсть товару, продану з кожної партії, цiну, по якiй був проданий кожний товар, суму, на яку були продані товари з кожної партії, а також загальну суму проданого товару, середню ціну одиниці товару і суму отриманого прибутку. Якщо кiлькiсть товару що є на складi недостатня для виконання замовлення на продаж товару, то продати всi товари зі складу і вивести повідомлення: "ХХХ одиниць товару немає на складi". Приклад: Якщо фiрма продала 200 одиниць товару, в які входили 70 одиниць з закупочною цiною 125 грн., 100 одиниць з закупочною цiною 110 грн. i 30 одиниць з закупочною цiною 100 грн., то надрукувати (згадайте про 20-% надбавку) таку послідовність повідомлень: Фiрма KRESS продала 200 виробiв: 70 штук по ціні 150 грн. на суму 10500 грн. 100 штук по ціні 132 грн. на суму 13200 грн. 30 штук по ціні 180 грн. на суму 5400 грн. Всього продано товарів на суму 29100 грн. за ціною 145,5 грн. кожний. Отримано прибутку на суму 6350 грн. 5. У місті розташовано n автобусних зупинок, позначених числами з N={1,2,....,n}. В текстовому файлі записано k автобусних маршрутів, заданих послідовностями сусідніх зупинок при русі автобуса в одному напрямку: М1={P11,P12,...,P1m1}, М2={P21,P22,...,P2m2}, ..... Mk={Pk1,Pk2,...,Pkmk}, де Pij натуральне число з N. Написати програму, що по заданих номерах зупинок I і J визначає найбільш швидкий шлях переміщення пасажира з зупинки I у зупинку J з використанням наявних маршрутів автобусів при умові, що час руху між сусідніми зупинками у всіх маршрутах однаковий і у 3 рази менший за час зміни маршруту. Автобуси можуть рухатись в обох напрямках. Вказівки до розв’язання задачі: Ідея рішення грунтується на використанні черг. Для кожної зупинки введіть трійку чисел (О,М,Z), де О - номер зупинки, М - номер маршруту, Z - величина затримки. При виборі чергового елемента з черги можливі дві ситуації: 1). Продовжується рух по тому ж маршруту. У цьому випадку в чергу занесіть трійки типу (О',М,Z), де О' - номер зупинки, сусідньої з О, у маршруті М, Z=0. 2). Змінюється маршрут. У цьому випадку в чергу занесіть трійки типу (О,М',Z), де М' - номер зміненого маршруту, Z=3 (затримка на пересадку). Всі нові трійки породжуються тільки трійками з затримкою, рівною 0. У випадку трійки з ненульовою затримкою занесіть її знову в чергу зі зменшеним на 1 значенням затримки. 6. Надрукувати в порядку зростання перші n натуральних чисел, у розклад яких на прості множники входять тільки числа 2, 3, 5. Вказівки до розв’язання задачі: Введіть три черги x2, x3, x5, у яких зберігайте елементи, що відповідно в 2, 3, 5 разів більше надрукованих, але ще не надруковані. Найменший з ненадрукованих елементів, нехай це x, ділиться націло на одне з чисел 2, 3, 5. x знаходиться в одній з черг і є в ній першим (менші надруковані, а елементи черг не надруковані). Надрукуйте x, вилучіть його і додайте його кратні. Довжини черг не перевищують числа надрукованих елементів. 7. Дано позначення двох полів шахівниці (наприклад, A5 і C2). Знайти мінімальне число ходів, які потрібні шаховому коневі для переходу з першого поля на друге. Вказівки до розв’язання задачі: Ідея рішення ґрунтується на використанні черги. Спочатку в чергу міститься елемент, що визначає вихідне положення шахового коня, а відповідна клітка поля позначається як така, яку відвідали. На кожному з наступних кроків алгоритму (поки черга не порожня або не позначена кінцева клітка) виконуються наступні дії. Із черги вилучається черговий елемент, що визначає деяку позицію (x,y). Знаходяться клітки в межах поля, які досяжні з (x,y) одним ходом шахового коня, і які ще не позначені. Елементи, що відповідають знайденим кліткам, додаються в чергу, а клітки позначаються як такі, яких відвідали. При цьому спочатку всі клітки повинні бути непозначені, а мітку бажано ставити таку, щоб можна було відновити шлях між полями. Для цього мітку поля можна визначити як позицію поля, з якої вона була позначена. ІІ. Завдання 2: Змоделюйте чергу (або дек) згідно з завданням. Перепишіть основні операції для роботи з чергою (деком), і продемонструйте їх застосування для операцій додавання і вилучення елементів в чергу (дек). Для цього задайте послідовність з N цілих чисел. Всі додатні числа послідовно заносяться в чергу (дек), кожне від’ємне число вилучає з черги (деку) один елемент (при роботі з деком, парні числа працюють з одним кінцем деку, а непарні – з іншим). Показувати всі зміни, що будуть відбуватись у черзі (деку). 1. Змоделюйте циклічну чергу, в якій реалізований такий механізм додавання нового елемента: якщо досягнутий кінець масиву, то новий елемент додається в перший елемент масиву, якщо це можливо. 2. Змоделюйте структуру даних ДЕК з обмеженим виходом (тобто додавати в дек можна з обох кінців, а вилучати тільки з одного). 3. Змоделюйте чергу, в якій кінець черги вказує не на останній елемент черги, а на перший вільний елемент масиву. 4. Змоделюйте чергу, в якій реалізований такий механізм вилучення елемента з черги: початок черги завжди знаходиться в першому елементі масиву; при вилученні одного елемента з черги, всі решта елементів пересуваються на одну позицію ближче до початку масиву. 5. Змоделюйте структуру даних ДЕК з обмеженим входом (тобто вилучати з дека можна з обох кінців, а додавати тільки з одного). 6. Змоделюйте чергу, в якій задається початок черги і довжина черги (замість кінця черги). 7. Змоделюйте структуру даних ДЕК (тобто додавати i вилучати елементи можна з обох кінців). 8. Змоделюйте чергу, в якій реалізований такий механізм додавання нового елемента: якщо досягнутий кінець масиву, то всі елементи черги пересуваються на початок масиву. 9. Змоделюйте чергу за допомогою масиву INFO, де INFO[0] (а не окрема змiнна) використовуєтся для зберiгання початку черги, INFO[QueueSize+1] (а не окрема змiнна) використовуєтся для зберiгання кінця черги, а решта елементів масиву можуть містити елементи самої черги. 10. Змоделюйте чергу за допомогою двух стеків, представлених за допомогою вказівників. Додавання елементу до черги зводиться до додавання до одному зі стеков, а перевірка, чи черга порожня - до перевірки, чи порожні обидва стеки. При вилученні елемента з черги можливі два випадки. Якщо стек, де знаходиться початок черги, не порожній, то вилучається з нього елемент. Якщо він порожній, то попередньо в нього переписуються всі елементи другого стеку, змінюючи порядок (це відбувається саме при перекладанні зі стеку в стек) і далі задача зводиться до першого випадку. 6. ВИБІР ІНДИВІДУАЛЬНОГО ЗАВДАННЯ Перша літера прізвища  Номер студента в списку групи  И, Р, Я З, П, Ю Ж,О,Ш,Щ Є, Н, Ч Е, М, Ц Д, Л, Х Г, К, Ф В, Й, У Б, Ї, Т А, І, С   1, 11, 21 І 1 ІІ 1 І 1 ІІ 2 І 1 ІІ 3 І 1 ІІ 4 І 1 ІІ 5 І 1 ІІ 6 І 1 ІІ 7 І 1 ІІ 8 І 1 ІІ 9 І 1 ІІ 10   2, 12, 22 І 2 ІІ 1 І 2 ІІ 2 І 2 ІІ 3 І 2 ІІ 4 І 2 ІІ 5 І 2 ІІ 6 І 2 ІІ 7 І 2 ІІ 8 І 2 ІІ 9 І 2 ІІ 10   3, 13, 23 І 3 ІІ 1 І 3 ІІ 2 І 3 ІІ 3 І 3 ІІ 4 І 3 ІІ 5 І 3 ІІ 6 І 3 ІІ 7 І 3 ІІ 8 І 3 ІІ 9 І 3 ІІ 10   4, 14, 24 І 4 ІІ 1 І 4 ІІ 2 І 4 ІІ 3 І 4 ІІ 4 І 4 ІІ 5 І 4 ІІ 6 І 4 ІІ 7 І 4 ІІ 8 І 4 ІІ 9 І 4 ІІ 10   5, 15, 25 І 5 ІІ 1 І 5 ІІ 2 І 5 ІІ 3 І 5 ІІ 4 І 5 ІІ 5 І 5 ІІ 6 І 5 ІІ 7 І 5 ІІ 8 І 5 ІІ 9 І 5 ІІ 10   6, 16, 26 І 6 ІІ 1 І 6 ІІ 2 І 6 ІІ 3 І 6 ІІ 4 І 6 ІІ 5 І 6 ІІ 6 І 6 ІІ 7 І 6 ІІ 8 І 6 ІІ 9 І 6 ІІ 10   7, 17, 27 І 7 ІІ 1 І 7 ІІ 2 І 7 ІІ 3 І 7 ІІ 4 І 7 ІІ 5 І 7 ІІ 6 І 7 ІІ 7 І 7 ІІ 8 І 7 ІІ 9 І 7 ІІ 10   8, 18, 28 І 1 ІІ 1 І 1 ІІ 2 І 1 ІІ 3 І 1 ІІ 4 І 1 ІІ 5 І 1 ІІ 6 І 1 ІІ 7 І 1 ІІ 8 І 1 ІІ 9 І 1 ІІ 10   9, 19, 29 І 2 ІІ 1 І 2 ІІ 2 І 2 ІІ 3 І 2 ІІ 4 І 2 ІІ 5 І 2 ІІ 6 І 2 ІІ 7 І 2 ІІ 8 І 2 ІІ 9 І 2 ІІ 10   10, 20, 30 І 3 ІІ 1 І 3 ІІ 2 І 3 ІІ 3 І 3 ІІ 4 І 3 ІІ 5 І 3 ІІ 6 І 3 ІІ 7 І 3 ІІ 8 І 3 ІІ 9 І 3 ІІ 10   7. НАВЧАЛЬНО-МЕТОДИЧНІ МАТЕРІАЛИ Грегори К. Использование Visual С++. Специальное издание. - М.: «Диалектика», 1999. Мешков А.В., Тихомиров Ю.В. Visual С++ и MFC. Пер. с англ. – 2-е изд. перераб. и доп. – СПб.: БХВ - Петербург, 2002. – 1040 с. Страуструп Б. Язык программирования С++. Третье издание. - М.: «Издательство Бином», 1999. Трамбле Ж., Соренсон П. Введение в структуры данных. – М.:Машиностроение, 1982 Уильям Топп, Уильям Форд. Структуры данных в С++. – М.:Бином, 2000 - 700 с 8. КОНТРОЛЬНІ ЗАПИТАННЯ A B C D E F G H     Go[0] Go[1] Go[2] Go[3] Go[4] Go[5] Go[6] Go[7] 1. На малюнку 1 зображений масив Go , початок черги Open і кінець черги Close, за допомогою яких задана черга My. Намалюйте схематичне зображення цієї черги.   2. Перемалюйте малюнок 1 після виконання такої операції: Push (’W’);  Open 1   Close 4       3. Перемалюйте малюнок 1 після виконання такої операції: Pop ();  Мал.1. Реалізація черги My на базі масиву Go    4. Для заданої на малюнку 1 черги My напишіть функцію додавання в чергу елемента X (дотримуйтесь назв згідно з малюнком ).  5. В послідовності 8 2 1 4 8 5 3 парна цифра означає операцію Push, а непарна цифра - операцію Pop. Намалюйте динаміку вмісту черги під час виконання цих операцій над порожньою спочатку чергою.   ЗМІСТ Мета роботи............................................................................................................................. 3 Теоретичні відомості……………………………… …….…………………………………..3 Порядок виконання роботи….………………………………………………………….…....6 Зміст звіту....................................………...…………………………………………………....7 Завдання на лабораторну роботу……...………………………………………………...…....7 Вибір індивідуального завдвння.……………………….......………………..……..………...9 Навчально-методичні матеріали…………………….......………………........……..……… 10 Контрольні запитання.................………...…………………………………………….……. 10 НАВЧАЛЬНЕ ВИДАННЯ МЕТОДИЧНІ ВКАЗІВКИ до лабораторної роботи "Структура даних СТЕК" з дисципліни “Програмування. Частина IIІ. Структури даних та алгоритми" для підготовки студентів напрямку 6.0915 “Комп’ютерна інженерія Укладач Т.А.Лисак, ст. викладач каф.ЕОМ Редактор Комп’ютерне складання Підписано до друку 2006 р. Формат 70 х 100 1/16. Папір офсетний. Друк на різографі. Умовн. друк. арк. ...... Обл.-вид. арк. ...... Наклад ..... прим. Зам. Поліграфічний центр Видавництва Національного університету “Львівська політехніка” вул. Колесси, 2, 79000, Львів
Антиботан аватар за замовчуванням

01.01.1970 03:01-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!