URSS.ru - Издательская группа URSS. Научная и учебная литература
Об издательстве Интернет-магазин Контакты Оптовикам и библиотекам Вакансии Пишите нам
КНИГИ НА РУССКОМ ЯЗЫКЕ


 
Вернуться в: Каталог  
Обложка Грис Д. Наука программирования: Пер. с англ.
Id: 33263
 
1399 руб.

Наука программирования: Пер. с англ.

1984. 416 с. Твердый переплет. Букинист. Состояние: 4. .

 Аннотация

Монография известного американского ученого написана как введение в науку программирования и отражает богатый опыт автора в научной и преподавательской работе. По своему замыслу она примыкает к известной книге Э. Дейкстры «Дисциплина программирования» (М.: Мир, 1976). Автор знаком советским читателям по книге «Конструирование компиляторов для цифровых вычислительных машин» (М.: Мир, 1975).

Для программистов и разработчиков математического обеспечения ЭВМ.


 ОГЛАВЛЕНИЕ

Предисловие редактора перевода....................

Вступление..............................

Предисловие.............................

ЧАСТЬ О ЗАЧЕМ НУЖНО ИСПОЛЬЗОВАТЬ ЛОГИКУ И ДОКАЗЫВАТЬ ПРАВИЛЬНОСТЬ ПРОГРАММ?...............

ЧАСТЬ I. ВЫСКАЗЫВАНИЯ И ПРЕДИКАТЫ..............

Глава 1. Высказывания........................

1.1. Высказывания с полным набором скобок...........

1.2. Вычисление постоянных высказываний.............

1.3. Вычисление высказываний в данном состоянии........

1.4. Правила старшинства для операций..............

1.5. Тавтологии..........................

1.6. Высказывания как множества состояний...........

1.7. Перевод с естественного языка на язык высказываний......

Глава 2. Рассуждения при помощи эквивалентных преобразований...

2.1. Законы эквивалентности...................

2.2. Правила подстановки и транзитивности............

2.3. Формальная система аксиом и правил вывода..........

Глава 3. Система естественного вывода................

3.1. Введение в дедуктивные доказательства............

3.2. Правила вывода.......................

3.3. Выводы и подвыводы.....................

3.4. Увеличение гибкости системы естественного вывода........

3.5. Построение доказательств в системе естественного вывода....

Глава 4. Предикаты..........................

4.1. Расширение области значений состояния...........

4.2. Кванторы..........................

4.3. Свободные и связанные идентификаторы...........

4.4. Подстановка.........................

4.5. Кванторы по другим областям................

4.6. Несколько теорем о подстановке и состояниях.........

Глава 5. Обозначения и соглашения, касающиеся массивов........

5.1. Одномерный массив как функция...............

5.2. Сегменты массивов и картинки массивов...........

5.3. Обращение с массивами массивов...............

Глава 6. Использование утверждений для документирования программ

6.1. Спецификации программ...................

6.2. Представление начальных и конечных значений переменных...

6.3. Наброски доказательств....................

ЧАСТЬ II. СЕМАНТИКА ПРОСТОГО ЯЗЫКА ПРОГРАММИРОВАНИЯ

Глава 7. Преобразователь предикатов wp...............

Глава 8. Команды skip, abort и композиция команд..........

Глава 9. Команда присваивания....................

9.1. Присваивание простым переменным..............

9.2, Кратные присваивания простым переменным..........

9.3. Присваивание элементу массива............... 129

9.4. Краткое присваивание общего вида.............. 131

Глава 10. Команда выбора...................... 136

Глава 11. Команда повторения..................... 143

Глава 12. Вызов процедуры...................... 153

12.1. Вызовы с входными и выходными параметрами....... 154

12.2. Две теоремы о вызове процедуры.............. 157

12.3. Использование параметров --- переменных........... 162

12.4. Допуск входных параметров в постусловие.......... 164

ЧАСТЬ III. ПОСТРОЕНИЕ ПРОГРАММ................ 167

Глава 13. Введение.......................... 167

Глава 14. Программирование как целенаправленная деятельность..... 176

Глава 15. Построение циклов, исходя из инвариантов и ограничений... 183

15.1. О первоочередности разработки охраны............ 183

15.2. Приближение цикла к завершению............. 189

Глава 16. Построение инвариантов................... 196

16.1.. Теория воздушного шарика.................. 196

16.2. Устранение конъюнктивного члена.............. 198

16.3. Замена константы переменной............... 202

16.4. Расширение области значений переменной........... 209

16.5. Комбинирование пред- и постусловий............ 214

Глава 17. Замечания об ограничивающих функциях.......... 219

Глава 18. Использование циклов вместо рекурсии........... 224

18.1. Сведение к более простым задачам.............. 225

18.2. Разделяй и властвуй.................... 229

18.3. Обход двоичных деревьев.................. 232

Глава 19. Соображения эффективности................. 241

19.1. Ограничение недетермииизма................. 241

19.2. Вынесение утверждения из цикла............... 244

19.3. Изменение представления данных............... 249

Глава 20. Два больших примера построения программ......... 256

20.1. Выровненные строки текста................. 256

20.2. Максимальная восходящая последовательность........ 261

Глава 21. Обращение программ.................... 268

Глава 22. Замечания о документации................. 278

22.1. Размещение программы при печати.............. 278

22.2. Определения и описания переменных............. 286

22.3. Написание программ на других языках............ 289

Глава 23. Исторические замечания................... 297

23.1. Краткая история методологии программирования....... 297

23.2. Задачи, использованные в книге.............. 304

Приложение 1. Форма Бэкуса ---- Наура................. 307

Приложение 2. Множества, последовательности, целые и действительные

числа.......................... 313

Приложение 3. Отношения и функции................. 318

Приложение 4. Асимптотические свойства времени выполнения программ 323

Ответы к упражнениям........................ 326

Примечания переводчика....................... 410

Литература............................• •,413

 
© URSS 2016.

Информация о Продавце