Заклик до дотримання математичної строгості

 

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

Замість оператора GOTO Дейкстра запропонував використовувати три типи управляючих структур: просту послідовність (тобто групу операторів, що виконуються один за одним), альтернативу (конструкцію, що дозволяє вибрати один з двох або більш можливих операторів) та повторення (конструкцію, що дозволяє виконувати задану групу операторів доти, доки виконується деяка умова). На думку Дейкстри, використовуючи ці три структури, програміст може взагалі обходитися без оператора GOTO.

Спочатку ідеї Дейкстри викликали лише усмішку серед програмістів, проте на початку 70-х років група співробітників фірми ІВМ під керівництвом фахівця із системного програмування Харлана Міллсазастосувала структурне програмування для створення інформаційного банку даних газети “Нью-Йорк Таймс”. Робота над проектом йшла на подив гладко, а закінчена програма практично не містила помилок.

З тих пір структурне програмування почало робити помітний вплив на розвиток програмного забезпечення всіх рангів.

 








Дата добавления: 2015-09-28; просмотров: 614;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.004 сек.