К основному контенту

Литература


Wirth N. Algorithms and Data Structures. Oberon version: 2004
AD.pdf

Н. Вирт. Алгоритмы и структуры данных / пер. с анг. Д.Б. Подшивалова. - М.: Мир, 1989.
virt.pdf

Дейкстра Э. Дисциплина программирования. - М.: Мир, 1978.
Систематический метод построения программ.
deikstra_discipline_programming_full.zip

Koltashev A.A., in: Lecture in Computer Science 2789. - Springer-Verlag, 2003.
link.springer.com/chapter/10.1007/978-3-540-45213-3_13

Wirth N. and Gutknecht J. Project Oberon. - Addison-Wesley, 1992.
ProjectOberon.pdf

Свердлов С.В. Языки программирования и методы трансляции. - СПб.: Питер, 2007.
contents.htm

Ильин А.С. и Попков А.И. Компонентный Паскаль в школьном курсе информатики
inf.1september.ru/article.php?ID=200800100

***

Эти статьи сосредоточили внимание на построении и анализе программ, или, точнее говоря, на структуре алгоритмов, представленных текстом программы:

Dijkstra E.W., in: Dahl O-.J., Dijkstra E. W., Hoare C. A. R. Structured Programming. F. Genuys, Ed., New York, Academic Press, 1972. Р. 1–82 (имеется перевод: Дейкстра Э. Заметки по структурному программированию, в кн.: Дал У., Дейкстра Э., Хоор К. Структурное программирование. – М.: Мир, 1975. С. 7–97).
Взгляд на программирование как на объект научного анализа.
Hoare C. A. R. Comm. ACM, 12, No. 10 (1969), 576–83.
Работа Хоора "Аксиоматические основы программирования" продемонстрировала, что программы допускают точный анализ, основанный на математических рассуждениях.
Hoare C. A. R., in Structured Programming [1]. Р. 83174 (имеется перевод: Хоор К. О структурной организации данных, в кн. [1]. С. 98–197).
Выдающийся вклад в наведение порядка в огромном разнообразии терминологии и понятий, относящихся к структурам данных.

Wirth N. The Programming Language Pascal. Acta Informatica, 1, No. 1 (1971), 35–63.
Wirth N. Program Development by Stepwise Refinement. Comm. ACM, 14, No. 4 (1971), 221-27.
В процессе построения программы представление данных постепенно уточняется - в соответствии с уточнением алгоритма, - чтобы всё более и более удовлетворить ограничениям, налагаемым имеющейся системой программирования.
dl.acm.org/citation.cfm?id=362577

Wirth N. Systematic Programming. Englewood Cliffs, N. J. PrenticeHall, Inc., 1973 (имеется перевод: Вирт Н. Систематическое программирование. Введение. – М.: Мир, 1977).
Jensen K. and Wirth N. PASCAL-User Manual and Report. Berlin, Heidelberg, New York; SpringerVerlag, 1974 (имеется перевод: Йенсен К., Вирт Н. Паскаль. Руководство для пользователя и описание языка. – М.: Финансы и статистика, 1988).

Комментарии

Популярные сообщения из этого блога

Метод турниров

Метод турниров можно использовать для решения задач, в которых информация, полученная в результате первого прохода по данным, может облегчить последующие проходы. Поиск наибольшего значения Если воспользоваться им для поиска наибольшего значения, то потребуется построение бинарного дерева, все элементы которого являются листьями. На каждом уровне два элемента объединены в пару, причем наибольший из двух элементов копируется в родительский узел. Процесс повторяется до достижения корневого узла. Полное дерево турнира для фиксированного набора данных: Алгоритм поиска второго по величине элемента списка из N значений, требующий около N сравнений В результате каждого сравнения мы получаем "победителя" и "проигравшего". Проигравших мы забываем, и вверх по дереву двигаются только победители. Всякий элемент, за исключением наибольшего, "проигрывает" в точности в одном сравнении. Поэтому для построения дерева турнира требуется N-1 сравнение. Вт...

Выбор представления данных

Выбор представления данных часто довольно сложен и не полностью определяется имеющимися вычислительными средствами. Делать такой выбор всегда нужно с учетом операций, которые нужно выполнять с данными.  Нельзя принимать решения о структуре данных без учета того, какие алгоритмы применяются к данным, и что, обратно, структура и выбор алгоритмов часто сильно зависят от структуры обрабатываемых данных. Задачу построения программ нельзя отделять от задачи структурирования данных. Вопрос представления часто требует рассматривать несколько уровней детализации. Первое решение в цепочке зависит главным образом от решаемой задачи, а дальнейшие всё больше зависят от используемого инструмента и применяемых в нём технологий. Решения низкого уровня можно оставить проектировщикам вычислительного оборудования. Вряд ли можно требовать, чтобы программист решал, какое представление чисел использовать или даже какими должны быть характеристики устройства хранения данных. Реальный компьютер ...

Наихудший случай

Анализ наихудшего случая говорит о максимальном времени работы алгоритма. Анализ наихудшего случая даёт верхние оценки для времени работы частей программы в зависимости от выбранных алгоритмов. При анализе наихудшего случая необходимо найти входные данные, на которых алгоритм будет выполнять больше всего работы.