свої мінуси. Зручність у використанні мови програмістом є важливим фактором при оцінці і порівнянні мов, а гнучкість мови дозволяє розширити можливості при реалізації алгоритмів різних рівнів. Мова Паскаль громіздкий і має обмежений набір можливостей порівняно з багатьма мовами, проте він досить иерархичен і структурований. Мова Сі гнучкий і логічний у своїй структурі, має набагато більше можливостей для роботи, однак таїть у собі багато небезпек. Керниган каже: «ѳ - інструмент, гострий, як бритва: з його допомогою можна створити і елегантну програму, і криваве місивоВ» [4]. Тому використання мови Сі виправдано лише при достатньому рівні знань у сфері програмування. На сьогоднішній день очевидно, що мова Паскаль не може гідно конкурувати з мовою Сі, так як при ускладненні завдань, що постають перед програмістами, потрібно в першу чергу гнучкість і функціональність. br/>
2. Практична реалізація завдання
.1 Опис завдання і обмежень на її виконання
Формулювання завдання звучить таким чином: У целочисленном масиві знайти найбільш довгий ланцюжок однакових поспіль стоять елементів. Необхідно реалізувати програму, здатну генерувати випадкову послідовність чисел або завантажувати її з попередньо підготовленого файлу, і робити пошук максимальної по довжині підпослідовності, а потім проводити збереження послідовності у файл.
Обмеження, встановлені для реалізації завдання:
В· багатофайлових проекту;
В· наявність меню з зручним інтуїтивно зрозумілим графічним інтерфейсом;
В· можливість зміни параметрів програми без зміни початкового коду;
В· можливість проводити пошук всіх підпослідовностей максимальної довжини;
В· робота з файлами.
.2 Реалізація завдання
При реалізації завдання були розроблені дві структури: для роботи з послідовностями posled і для організації пошуку підпослідовності всередині послідовності search. Список файлів проекту представлений в таблиці 3.2.1. Для зручності доступу до файлів в MAIN.CPP описані макроси для швидкого зміни шляху до файлів: з використанням склейки рядків MSTR (p) для текстових файлів і підстановки DISK (p) для підключаються файлів. br/>
Таблиця 3.2.1 Файли проекту
Назва файлаОпісаніе файлаEGAVGA.BGIФайл графічного драйвераINCLUDE.HПодключеніе стандартних бібліотек, опис користувача типів, прототипи функцій, підключення користувальницьких файлов.ALG.CPPФункціі роботи з последовательностями.MENU.CPPФункции графічного інтерфейса.MAIN.CPPГлавний компільований файл проекту , що містить фун...