Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Fylthy animal.docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
908 Кб
Скачать
☆

24)Засоби правового захисту для безпеки комп'ютерних мереж

Згідно ECPA, кожна людина має право на приватний зв'язок, а тому є нелегальною будь-яка діяльність Інтернет-провайдера, яка спрямована на отримання інформації про зв'язки своїх клієнтів, а також незаконною є діяльність пов’язана з несанкційованим прослуховуванням чужих комунікацій. Однак ECPA залишає місце для дискусій.

У 2000 році ФБР оголосило про існування власної системи під назвою Carnivore, яка звітувала про всіх з'єднання абонентів усіх інтернет-провайдерів

У 2001 році Конгрес США прийняв суперечливий закон, під назвою ПАТРІОТ (Об'єднання та зміцнення Америки шляхом створення відповідних механізмів, необхідних для запобігання і припинення тероризму), який змінив обмеження щодо принципів діяльності державних установ

Тема 6. Алгоритми

1.Поняття алгоритму.

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

2. Представлення алгоритму - примітиви

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

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

Кожен примітив складається з двох частин:

- синтаксису

- семантики.

Синтаксис відноситься до символьного представлення примітиву, а семантика відноситься до значення примітиву.

3. Представлення алгоритму - псевдокод

Можна відмовитись від мови формального програмування на користь більш інтуїтивної системи позначень, відомої як псевдокод.Загалом, псевдокод — система запису, в якій ідеї можуть бути виражені неофіційно в ході процесу розробки алгоритму.Одним із способів отримання псевдокоду є просте послаблення правил формальної мови, на якій повинен бути вираженим остаточний варіант алгоритму.

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

4. Методи представлення алгоритмів.

Написати щось з 3 і 2-ого питання.

5. Створення алгоритму – теорія рішень задач

Створення програми складається з двох різних дій-створення алгоритму її роботи і представлення цього алгоритму у виді програми.Створити алгоритм-означає знайти метод рішення задачі.

Тобто, щоб зрозуміти,як створюються алгоритми, необхідно зрозуміти процес рішення задач.

Нечітке визначення фаз рішення задач, запропонованих математиком Г. Поліа в 1945 році, залишається  тими основними принципами рішення задач:

Етап 1. Зрозуміти суть задачі

Етап 2. Розробити план щодо вирішення задачі.

Етап 3. Виконати план.

Етап 4. Оцінити точність  рішення, а також його потенціал як інструмент для вирішення інших задач.

6. Створення алгоритму – аналіз списку Поліа

Ключове слово в список, представлений Поліа проходження.

Ще одним важливим спостереженням є те, що фази Полі не обов'язково завершені у певній послідовності.

Успішно вирішувати проблеми часто починаються розробці стратегій для вирішення проблеми (фаза 2), перш ніж сама проблема цілком зрозумілі (Фаза 1).

Тоді, якщо ці стратегії не працюють (під час фази 3 або 4), потенціал вирішення проблеми набуває більш глибоке розуміння.Написати 4 фази вище.

7. Ітераційні структури – алгоритм послідовного пошуку

Пошук здійснюється простим порівнянням чергового розглянутого значення і, якщо значення збігаються , то пошук вважається завершеним.Розглянемо завдання пошуку в списку для входження певного цільового значення.Наприклад:Ми хочемо розробити алгоритм, який визначає, чи буде це значення у списку.Якщо значення вказано в списку, ми вважаємо пошук успішний, в іншому випадку ми вважаємо, що невдачний.Якщо б ми мали список імен,то у цих умовах ми могли б сканувати список з самого початку, порівнюючи кожен запис з ім'ям мети.Якщо ми знаходимо ім'я мети, пошук закінчується, як успіх. Однак, якщо ми не досягнемо кінця списку, не знаходячи цільового значення, наш пошук закінчується, як провал.Таким чином, наше загальне уявлення є продовження пошуку за списком до тих пір, поки не буде найдене імя мети.

8. Ітераційні структури – управління циклами

Повторне використання інструкції або послідовності інструкцій є важливим алгоритмічної концепцією.

Одним із способів реалізації такого повторення ітеративної структури, є цикл.Цикли дозволяють спростити складність задачі, оскільки ми можемо не виконувати одну дію багато раз, а можемо використати умову.Так наш цикл буде виконуватися до того часу поки умова не виконається.Написати які є цикли.

9. Ітераційні структури - сортування методом вставки

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

10. Рекурсивні структури – алгоритм бінарного пошуку

Рекурсивні структури представляють собою альтернативий цикл для реалізації і повторення діяльності.

У той час як цикл включає повторювані набір інструкцій у порядку, в якому набір завершено, і потім повторюється, рекурсія включає повторювані набір інструкцій, як підзадачі саме по собі .

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

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

11. Управління рекурсією.

Щою керувати рекурсією потрібно задати умову кол умова завершиться.Тобто скільки разів функція буде викликати сама себе.Написати щось з 10 питання.

12. Ефективність  і коректність алгоритму

Хоча сучасні машини здатні виконання мільйонів інструкцій у секунду, ефективність залишається серйозною проблемою в розробці алгоритмів .

Алгоритм вважають ефективним, якщо всі його оператори досить прості для того, аби їх можна було точно виконати за скінченний проміжок часу з допомогою олівця та аркушу паперу.Ефективність. Алгоритм повинен забезпечувати розв'язування задачі за мінімальний час із мінімальними витратами оперативної пам'яті. Для доведення коректності програм, поняття коректності було розширене на два типи:

Часткова коректність — програма дає коректний результат для тих випадків, коли вона завершується.

Повна коректність — програма завершує роботу та видає коректний результат для всіх елементів з діапазону вхідних даних.

13. Верифікація програм

Верифікаці– це метод аналізу, перевірки специфікацій і правильності виконання програм відповідно до заданих вимог і формального опису програми.

Метод верифікації допомагає зробити висновок про коректність створеної програмної системи при її проектуванні і після завершення її розроблення.Мета процесу – переконатися, що кожен програмний продукт проекту відбиває погоджені вимоги до їхньої реалізації. Цей процес ґрунтується:

– на стратегії і критеріях верифікації всіх робочих програмних продуктів ;

– на виконанні дій з верифікації відповідно до стандарту;

– на усуненні недоліків, виявлених у програмних продуктах;

– на узгодженні результатів верифікації з замовником.

Процес верифікації може проводитися виконавцем програми або іншим співробітником тієї ж організації, або співробітником іншої організації, наприклад представником замовника. Цей процес містить у собі дії з його впровадження і виконання.

14. Поняття блок-схеми алгоритму.

Блок-схема —Представлення задачі для її аналізу або розв'язування за допомогою спеціальних символів (геометричних образів), які позначають такі елементи, як операції, потік, дані тощо.Намалювати фігури блок схеми.

15. Різниця між блок-схемою алгоритму та псевдокодом

Псевдокод — це неформальний запис алгоритму, який використовує структуру поширених мов програмування, але нехтує деталями коду, неістотними для розуміння алгоритму (опис типів, виклик підпрограм тощо). Мова програмування доповнюється природною мовою, компактними математичними позначеннями. Псевдокод є зрозумілішим, ніж програми, формою запису алгоритмів.

Не існує формальних правил написання псевдокоду.Блок-схема —Представлення задачі для її аналізу або розв'язування за допомогою спеціальних символів (геометричних образів), які позначають такі елементи, як операції, потік, дані тощо.

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