Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Kursovy_proekt_Sribny_V_A_1234 (Автосохраненный...docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
341.65 Кб
Скачать

3 Побудова програмної моделі

3.1 Постановка задачі

Задача полягає в тому щоб, построїти модель програми, яка буде виконувати пошук файлів на комп’ютері. Нам потрібно для цієї дії виконати різні види робіт. Нам потрібно буде підключити різні бібліотеки . Працювати с програмою ми повинні в середовищем розробки компанії Майкрософт,на мові програмування C#.

Для виконання завдання курсового проектування, необхідно скласти початковий перелік самих цих завдань. Сам список зазначен нижче:

1) розробити програмний продукт (ПП) на тему "Пошуковик";

2) зробити цей ПП унікальним, простим у застосуванні та розуммінні;

3) створення програми на мові С#;

4) налагодження розробленого продукту.

Всі ці інструменти будуть використовуватися від компанії Майкрософт. Наш програмній продукт повинен запускатися и виконувати свою роботу.

3.2 Поняття алгоритму та модель програмного продукту модель

Виконавці алгоритму: людина, робот, комп’ютер . Команди, виконувані виконавцем можуть бути допустимі та недопустимі. За загальноприйнятим визначенням, алгоритм це обчислювальний процес, який має початок, детерміновану послідовність дій, кінець, і який для різних початкових даних дає очікувані результати. Це визначення стосується трансформуючих обчислювальних систем (ОС) без обмежень на швидкодію. У протилежних до них ОС реального часу періоди виконання алгоритмів не перевищують заданих часових обмежень. Такі ОС поділяють на інтерактивні, якщо вони реагують на вхідні дані з притаманною їм швидкістю, та реактивні, які не допускають втрати цих даних через свою недостатню швидкодію . Персональні комп'ютери, засоби мобільного зв’язку та інші засоби цифрової обробки сигналів (ЦОС) відносяться до ОС реального часу.

Для програмування періодичних алгоритмів, що виконуються в ОС реального часу, кожна нова програмістська парадигма додає нові засоби й можливості. Так, в об'єктно-орієнтованому програмуванні програміст виконує опис об'єктів, уявляючи, що об'єкти обробляються паралельно. В дійсності, ці об'єкти обробляються на ресурсах ОС послідовно та з різними періодами . Таким чином, в обчислювальній техніці зараз нас оточують, в основному, періодичні алгоритми, що обробляють потоки даних і/або команд і які потенційно є нескінченними.

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

Модель обчислювача, що реалізує функціональний алгоритм, прийнято представляти у вигляді графа. В такій моделі вершини графа представляють функції або оператори алгоритму, а дуги – залежності по даних і керуванню. Реалізація алгоритму на такій моделі представляє собою передачу даних у напрямку дуг і обхід вершин у відповідності до їхньої інцидентності, наявності даних на їхніх входах або за іншими правилами. На відміну від імперативних алгоритмів, тут порядок виконання операторів є нестрогим, а паралелізм алгоритму заданий явним чином. Далі розглянемо кілька відомих графових моделей функціональних алгоритмів щоб показати їхні основні властивості.

Граф Карпа і Міллера (граф обчислень, computation graph) був першою обчислювальною моделлю для задавання алгоритмів обробки потоків даних . Вершини такого графа – актори – представляють операції, а дуги – черги даних, причому кожній дузі призначені число міток (даних) в черзі на початку обчислень, число міток, що входять в чергу при виконанні оператора на початку дуги, число міток, що виходять з дуги при виконанні актора на кінці дуги й мінімальна довжина черги. При виконанні обчислювального процесу актори спрацьовують у відповідності з деяким розкладом і читають дані з потоків, причому дані можуть залишатись в потоках після читання. Між графом Карпа і Міллера та мережею Петрі є взаємно-однозначний зв'язок – черги даних відповідають вершинам-позиціям, а актори – вершинам-переходам [14].

Взаємні відношення графових моделей обробки потоків даних зображено на рис.3.1.

Рисунок3.1 – Графові моделі обробки потоків даних

Між графом Карпа і Міллера та мережею Петрі є взаємно-однозначний зв'язок – черги даних відповідають вершинам-позиціям, а актори – вершинам-переходам [14].

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