- •М. Харків 2013 р.
- •Реферат
- •Перелік скорочень та позначень
- •1 Концепція об'єктно-орієнтованого програмування
- •1.1 Поняття об'єктно-орієнтованого програмування
- •1.2 Засоби розробки
- •1.3 Порівняння мов програмування с sharp, c plus-plus
- •2 Вибір інструмента програмного продукту
- •2.1 Огляд платформи .Net Framework
- •2.2 Огляд Visual Studio 2010
- •2.3 Поняття DreamSpark
- •2.4 Історія Visual Studio, c sharp, f sharp, Visual Basic
- •2.5 Мова програмуванняC#
- •3 Побудова програмної моделі
- •3.1 Постановка задачі
- •3.2 Поняття алгоритму та модель програмного продукту модель
- •3.3 Поняття математична модель
- •3.4 Побудова технологічної моделі програми
- •4 Розробка програмного виробу
- •4 1 Побудувати модель основного (глобальний) модуля програми
- •4.2 Побудувати модель вікон інтерфейсу програми
- •4.3 Розробка основного модуля програми
- •4.4 Емпіричне та формальне тестування програмного виробу
- •Висновок
- •Список джерел інформаці додаток а
- •Додаток б
- •Додаток в
3 Побудова програмної моделі
3.1 Постановка задачі
Задача полягає в тому щоб, построїти модель програми, яка буде виконувати пошук файлів на комп’ютері. Нам потрібно для цієї дії виконати різні види робіт. Нам потрібно буде підключити різні бібліотеки . Працювати с програмою ми повинні в середовищем розробки компанії Майкрософт,на мові програмування C#.
Для виконання завдання курсового проектування, необхідно скласти початковий перелік самих цих завдань. Сам список зазначен нижче:
1) розробити програмний продукт (ПП) на тему "Пошуковик";
2) зробити цей ПП унікальним, простим у застосуванні та розуммінні;
3) створення програми на мові С#;
4) налагодження розробленого продукту.
Всі ці інструменти будуть використовуватися від компанії Майкрософт. Наш програмній продукт повинен запускатися и виконувати свою роботу.
3.2 Поняття алгоритму та модель програмного продукту модель
Виконавці алгоритму: людина, робот, комп’ютер . Команди, виконувані виконавцем можуть бути допустимі та недопустимі. За загальноприйнятим визначенням, алгоритм це обчислювальний процес, який має початок, детерміновану послідовність дій, кінець, і який для різних початкових даних дає очікувані результати. Це визначення стосується трансформуючих обчислювальних систем (ОС) без обмежень на швидкодію. У протилежних до них ОС реального часу періоди виконання алгоритмів не перевищують заданих часових обмежень. Такі ОС поділяють на інтерактивні, якщо вони реагують на вхідні дані з притаманною їм швидкістю, та реактивні, які не допускають втрати цих даних через свою недостатню швидкодію . Персональні комп'ютери, засоби мобільного зв’язку та інші засоби цифрової обробки сигналів (ЦОС) відносяться до ОС реального часу.
Для програмування періодичних алгоритмів, що виконуються в ОС реального часу, кожна нова програмістська парадигма додає нові засоби й можливості. Так, в об'єктно-орієнтованому програмуванні програміст виконує опис об'єктів, уявляючи, що об'єкти обробляються паралельно. В дійсності, ці об'єкти обробляються на ресурсах ОС послідовно та з різними періодами . Таким чином, в обчислювальній техніці зараз нас оточують, в основному, періодичні алгоритми, що обробляють потоки даних і/або команд і які потенційно є нескінченними.
Але ще є друге визначення алгоритму. За визначенням Поста і Тюрінга, алгоритм це обчислювальний процес, який виконується деякою моделлю обчислювача, яка з конструйована в рамках точних математичних понять . Таке визначення алгоритму дає змогу, по-перше, класифікувати алгоритми за типом моделі обчислювача, по-друге, порівнювати між собою різні алгоритми шляхом їхнього еквівалентного перетворення в алгоритми, що задані на стандартній моделі обчислювача, такій, як машина Тюрінга, по-третє, конструювати такі моделі обчислювачів, які найбільш придатні для ефективного задавання того чи іншого класу алгоритмів.
Модель обчислювача, що реалізує функціональний алгоритм, прийнято представляти у вигляді графа. В такій моделі вершини графа представляють функції або оператори алгоритму, а дуги – залежності по даних і керуванню. Реалізація алгоритму на такій моделі представляє собою передачу даних у напрямку дуг і обхід вершин у відповідності до їхньої інцидентності, наявності даних на їхніх входах або за іншими правилами. На відміну від імперативних алгоритмів, тут порядок виконання операторів є нестрогим, а паралелізм алгоритму заданий явним чином. Далі розглянемо кілька відомих графових моделей функціональних алгоритмів щоб показати їхні основні властивості.
Граф Карпа і Міллера (граф обчислень, computation graph) був першою обчислювальною моделлю для задавання алгоритмів обробки потоків даних . Вершини такого графа – актори – представляють операції, а дуги – черги даних, причому кожній дузі призначені число міток (даних) в черзі на початку обчислень, число міток, що входять в чергу при виконанні оператора на початку дуги, число міток, що виходять з дуги при виконанні актора на кінці дуги й мінімальна довжина черги. При виконанні обчислювального процесу актори спрацьовують у відповідності з деяким розкладом і читають дані з потоків, причому дані можуть залишатись в потоках після читання. Між графом Карпа і Міллера та мережею Петрі є взаємно-однозначний зв'язок – черги даних відповідають вершинам-позиціям, а актори – вершинам-переходам [14].
Взаємні відношення графових моделей обробки потоків даних зображено на рис.3.1.
Рисунок3.1 – Графові моделі обробки потоків даних
Між графом Карпа і Міллера та мережею Петрі є взаємно-однозначний зв'язок – черги даних відповідають вершинам-позиціям, а актори – вершинам-переходам [14].
