Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
gosi_-_kopia.docx
Скачиваний:
36
Добавлен:
18.03.2015
Размер:
155.67 Кб
Скачать

25.Стеки. Реалізація стеків з використанням масивів.

Стек – спеціальний тип списку, у якому всі вставки й видалення виконуються тільки на одному кінці, називаному вершиною – top.

Стек - LIFO –( in-first-out) – останнім увійшов, першим пішов.

Кожну реалізацію списків можна розглядати як реалізацію стеков, оскільки стеки є окремими випадками списків. Реалізація списків на основі масивів не дуже підходить для стеков, тому що кожне виконання операторів Pop і Push у цьому випадку вимагає переміщення всіх елементів стека й тому час їхнього виконання пропорційно числу елементів у стеці.

Абстрактний тип даних Stack використовують абстрактні оператори:

Makenull (S) – обнуляет список

Top (S) – повертає елемент із вершини S. Його можна записати в термінах масиву так: retrieve (first(S),S)

Pop (S) – видаляє елемент із вершини («виштовхує») - Delete (First(S),S)

Push (x,S) – вставляє елемент х у вершину («заштовхує» у стек) – Insert (x, First(S) S)

Empty (S) – true, якщо стік порожній

false, якщо стік не порожній

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

Top; перший елемент

Другий елемент

Останній елемент

maxlenght

elements

Для такої реалізації стеков визначається абстрактний тип даних Stack=record

top:integer;

elements=array[1..maxlenght] of elementtype

27. Файлові типи даних мови програмування Паскаль. Текстові, типізовані та нетипізовані файли.

Файл у Паскалі – це або поіменована область зовнішньої пам’яті ПК(диску, дискети , “віртуального” диску), або пристрій – носій інформації. В Паскалі можна створити файли, що містять дані будь-якого з допустимих типів, крім файлового типу. Тобто не можна створити файл файлів. Всі файли, які використовуються в Паскалі, можна розділити на три групи :

• типізовані файли;

• текстові файли;

• нетипізовані файли.

Типізовані файли – це файли, які містять дані певного типу. Текстові файли – це файли, що містять текстову інформацію. Ці файли слід відрізняти від типізованих файлів, що містять символи чи строки. Нетипізовані файли – це файли, до яких інформація записується без урахування типу. Фактично – це канали вводу-виводу інформації нижнього рівня, що можуть використовуватись для прямого доступу до будь-якого файлу без урахування його типу та структури. Змінна файлового типу – це змінна, що містить інформацію, про місцезнаходження та тип файлу.

f : file of string; {файлова змінна типу файл строк} begin assign(f,'myfile.dat');

________________________

f : Text; beginAssign(f,'TEST.TXT'); --------------------------------------

FromF, ToF: file;

Begin Assign(FromF, 'c:\myin.txt');

  1. Поняття життєвого циклу. Основні етапи життєвого циклу програмного забезпечення. Моделі ЖЦ. Порівняльний аналіз моделей життєвого циклу ПО. Методологія RAD.

В основі діяльності щодо створення і використання програмного забезпечення (ПЗ) лежить поняття його життєвого циклу (ЖЦ). ЖЦ є моделлю створення ПЗ, що відбиває його різні стани, починаючи з моменту виникнення необхідного в даному програмному виробі і закінчуючи моментом його повного виходу з ужитку у всіх користувачів. Традиційно виділяються такі основні етапи ЖЦ ПЗ: • аналіз вимог, • проектування, • кодування (програмування), • тестування і налагодження, • експлуатація та супровід. На кожному етапі ЖЦ породжується певний набір документів і технічних рішень, при цьому для кожного етапу вихідними є документи і рішення, отримані на попередньому етапі. Кожен етап завершується верифікацією породжених документів і рішень з метою перевірки їх відповідності. Моделі ЖЦ. Існуючі моделі ЖЦ визначають порядок виконання етапів в ході розробки, а також критерії переходу від етапу до етапу. Відповідно до цього найбільше поширення будови отримали три наступні моделі ЖЦ: Каскадна модель: Його основною характеристикою є розбиття всієї розробки на етапи, причому перехід з одного етапу на наступний відбувається тільки після того, як буде повністю завершена робота на поточному. Кожен етап завершується випуском повного комплекту документації, достатньої для того, щоб розробка могла бути продовжена іншою командою розробників Поетапна модель з проміжним контролем - Ітераційна модель розробки ПЗ з циклами зворотного зв'язку між етапами. Перевага такої моделі полягає в тому, що між етапні коригування забезпечують меншу трудомісткість в порівнянні з каскадною моделлю, з іншого боку, час життя кожного з етапів розтягується на весь період розробки. Спіральна модель - Робить упор на початкові етапи ЖЦ: аналіз вимог, проектування специфікацій, попереднє і детальне проектування. На цих етапах перевіряється і обґрунтовується реалізація технічних рішень шляхом створення прототипів. Кожен виток спіралі відповідає створенню фрагмента або версії програмного виробу, на ньому уточнюються цілі і характеристики проекту, визначається його якість, плануються роботи наступного витка спіралі. Таким чином, поглиблюються і послідовно конкретизуються деталі проекту і в результаті вибирається обґрунтований варіант, який доводиться до реалізації. Методологія RAD. Одним з можливих підходів до розробки ПЗ в рамках спіральної моделі ЖЦ вважається методологія швидкої розробки додатків RAD (Rapid Application Development). Під цим терміном зазвичай розуміється процес розробки ПЗ, що містить 3 елементи: • невелику команду програмістів; • короткий, але ретельно пророблений виробничий графік; • повторюваний цикл, при якому розробники, у міру того, як додаток починає набувати форму, запитують і реалізують в продукті вимоги, отримані через взаємодію із замовником. Життєвий цикл ПЗ за методологією RAD складається з чотирьох фаз: • фаза аналізу і планування вимог - користувачі системи визначають функції, які вона повинна виконувати, виділяють найбільш пріоритетні з них, які описують інформаційні потреби.; • фаза проектування - частина користувачів бере участь у технічному проектуванні системи під керівництвом фахівців-розробників; • фаза побудови - виконується безпосередньо саме швидка розробка програми. На даній фазі розробники виробляють ітеративну побудову реальної системи на основі отриманих в попередній фазі моделей, а також вимог не функціонального характеру; • фаза впровадження - проводиться навчанням користувачів, організаційної зміни і паралельно з впровадженням нової системи здійснюється робота з існуючою системою (до повного впровадження нової).

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