віатури даних у файл, що складається з восьми елементів типу TRAIN;
? Завантаження і друк на екрані даних з файлу
? Додавання запису
? Видалення запису
? Виведення на екран даних і результатів їх обробки:
впорядкованих записів за номерами поїздів;
інформації про потяг, номер якого введено з клавіатури; якщо таких поїздів немає, видати на дисплей відповідне повідомлення.
пошук поїздів по пункту призначення, що починається з певної літери.
пошук поїздів за кількістю місць.
3. Аналіз та дослідження задачі
. 1 Типи вирішення завдання
Рішення завдань визначається вибором способу її вирішення. Для реалізації завдання ми побудували модель проектування структури програми у вигляді блок - схем і послідовних кроків до кінцевого результату.
До кожної підпрограмі складені блок - схеми, які служать алгоритмом до написання коду на мові програмування С ++. Також побудована модель Дерева функцій - Служить меню в структурі побудови.
Підсумком дослідження є кінцеві результати роботи програми (введення, висновок, сортування, пошук за певними полям у таблиці структури)
Для вирішення даної задачі була застосована сортування методом бульбашки, послідовний пошук.
. 2 Математична модель
Для вирішення поставленого завдання була використана сортування методом бульбашки.
Сортування простими обмінами, сортува? вкапузирько? м (англ. bubblesort) - простий алгоритм сортування. Для розуміння і реалізації цей алгоритм - найпростіший, але ефективний він лише для невеликих масивів. Складність алгоритму: O (Nі).
Алгоритм вважається навчальним і практично не застосовується поза навчальної літератури, замість нього на практиці застосовуються більш ефективні алгоритми сортування. У той же час метод сортування обмінами лежить в основі деяких більш досконалих алгоритмів, таких як шейкерні сортування, пірамідальна сортування і швидке сортування.
Алгоритм складається з повторюваних проходів по сортованого масиву. За кожен прохід елементи послідовно порівнюються попарно і, якщо порядок у парі невірний, виконується обмін елементів. Проходи по масиву повторюються N - 1 раз або до тих пір, поки на черговому проході бракуватиме, що обміни більше не потрібні, що означає - масив відсортований. При кожному проході алгоритму по внутрішньому циклу, черговий найбільший елемент масиву ставиться на своє місце в кінці масиву поруч з попереднім найбільшим елементом, а найменший елемент переміщається на одну позицію до початку масиву ( спливає до потрібної позиції як бульбашка у воді, звідси і назва алгоритму).
На вході: масив A [N], складається з N елементів, з нумерацією від A [1] до A [N]
ЦИКЛ ДЛЯ J=1 ДО N - 1 КРОК 1 ЦІКЛДЛЯI=1ДОN-JШАГ1 ЯКЩО A [I] gt; A [I + 1] ТООБМЕН A [I], A [I + 1] НАСТУПНЕ I НАСТУПНЕ JFOR J=1TO N - 1 STEP 1 FOR I=1TO NJ STEP 1 IF A [I] gt; A [I + 1] THEN SWAP A [I], A [I + 1] NEXT I NEXT J
Блок-схема 1 - Блок схема алгоритму бульбашки
Для пошуку, з наявних методів, був обраний метод послідовного пошуку.
Суть методу полягає в тому, що послідовно проглядається масив, поки не буде знайдений потрібний елемент масиву. Послідовний пошук в середньому разі виконає перевірку 1/2n елементів. У найкращому випадку вона виконає перевірку тільки одного елемента, а в найгіршому - n елементів. Якщо обсяг даних не великий, ця продуктивність буде прийнятною.
4. Алгоритм рішення задачі
. 1 Метод проектування алгоритму
Методи проектування алгоритмів включають: спадний проектування, модульність, структурне програмування.
Спадний проектування передбачає послідовне розбиття вихідної задачі на підзадачі до такої конкретизації, коли подзадача зможе бути реалізована одним оператором обраного для програмування мови.
По ходу спадного проектування та чи інша подзадача може сформувати самостійний модуль. Тоді може бути застосований принцип модульного програмування.
Він забезпечує легкість складання алгоритмів і налагодження програм, легкість супроводу і модифікації, а також можливість одночасної розробки різних модулів різними фахівцями з використанням різних мов програмування.
При роботі над модулем можна застосувати принцип структурного програмування.
Його ...