Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Новые рефераты » Метод покрокової деталізації в програмуванні

Реферат Метод покрокової деталізації в програмуванні





менту x по заданому значенню функції y при відомому значенні n


В 

Де: n> 1, x> 0

При n> 1 функція є монотонно зростаючою, значення аргументу x можна визначити за допомогою методу половинного ділення. У чому полягає це метод? p> 1. Знаходимо відрізок [x1, x2], який задовольняє умові: f (x1) <= y <= f (x2).

2. Ділимо отриманий відрізок навпіл: xt = (x1 + x2)/2 і определеяется в якій половині відрізка знаходиться x. Для цього порівнюємо два значення: f (x1) і y. p> 3. Отриманий відрізок знову ділимо навпіл, процес повторюється до тих пір, поки різниця x1 і x2 чи не стане менше заданого значення eps.

При розробці алгоритму даної програми використовуємо метод покрокової деталізації.

1 етап. Загальна структура програми:

Програма:

Ввести y, n, eps

Визначити x

Вивести x, y

Кінець.

2 етап. Деталізуємо операцію визначення x:

Визначити x

Визначити x1 таке, що f (x1) <= y

Визначити x2 таке, що f (x2)> = y

Визначити x на інтервалі [x1, x2]

Все.

3 етап. Деталізуємо операцію визначення x1. Значення x1 підбираємо таким чином, щоб виконувалася умова f (x1) <= y. Відомо, що x> 0, отже, беремо будь-яке значення x, наприклад x1 = 1 і будемо його пследовательно зменшувати, допустимо в 2 рази. Таким чином визначимо значення x1, яке задовольняє даним умові:

Визначити x1:

x1: = 1

цикл - поки f (x1)> y

x1: = x1/2

Всі - цикл

Всі

4 етап. Деталізуємо операцію визначення x2. Значення x2 визначаємо аналогічно x1, але вихідне значення будемо послідовно збільшувати в 2 рази.

Визначити x2:

x2: = 1

цикл - поки f (x2)

x2: = x2 * 2

Всі - цикл

Все.

5 етап. Деталізуємо операцію визначення x. Визначення x виконується послідовним скороченням відрізка [x1, x2].

Визначити x:

цикл - поки x2-x1> eps

скоротити відрізок [x1, x2]

все - цикл

Все.

6 етап. Деталізуємо операцію скорочення відрізка [x1, x2]. Інтервал визначення x скорочуємо діленням навпіл і відкидаємо половину, яка не задовольняє умові f (x1) <= y <= f (x2):

Скоротити інтервал визначення x:

xt = (x1 + x2)/2

якщо f (xt)> y

то x2: = xt

інакше x1: = xt

все - якщо

Все.

Таким чином, за 6 етапів розроблений наступний алгоритм:

Програма:

Ввести y, n, eps

x1: = 1

цикл - поки f (x1)> y

x1: = x1/2

все - цикл

x2: = 1

цикл - поки f (x2)

x2: = x2 * 2

все - цикл

цикл - поки x2-x1> eps

xt: = (x1 + x2)/2

якщо f (xt)> y

то x2: = xt

інакше x1: = xt

все - якщо

все - цикл

Вивести xt, y

Кінець.

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


Плюси і мінуси методик програмування


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


Програмування знизу вгору

Програмування зверху вниз

Переваги

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

Серйозні помилки з великою ймовірністю відшукуються вже на ранніх стадіях проекту.

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

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

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

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


Тестування виявляється більш систематичним.

Недоліки

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

Якщо виявляється, що модуль низького рівня неможливо реалізувати, як замислювалося, іноді дов...


Назад | сторінка 2 з 3 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Життєвий цикл інвестиційного проекту
  • Реферат на тему: Програмування алгоритмів роботи з частинами матриці. Складання програми ви ...
  • Реферат на тему: Коли працювати можна менше ...
  • Реферат на тему: Життєвий цикл і процеси нафтогазового проекту на прикладі ВАТ "ЛУКОЙЛ& ...
  • Реферат на тему: Життєвий цикл товару і його використання в маркетингу