Система федеральных образовательных порталов "Российское Образование" о портале | карта портала | обратная связь
федеральный портал ИНЖЕНЕРНОЕ ОБРАЗОВАНИЕ


«Знание бывает двух видов. Мы либо знаем предмет сами,
либо знаем, где можно найти о нем сведения.»
С. Джонсон

 
[Каталог ресурсов] [Программы. Методики. Право.] [Электронный журнал] [Личный кабинет]
 
На портале В каталоге ресурсов В электронном журнале
только в текущем разделе
 Карта портала |  Новости |  Карты |  Форум

Алгоритмы обработки и преобразования информации
11.11.2004 17:28

На данном ресурсе представлено описание семи алгоритмов обработки и преобразования информации с примерами. Для перехода от алгоритма к алгоритму слева представлен перечень/список рассмотренных алгоритмов.

Хрестоматия по программированию на Си в Unix
11.11.2004 17:27

Автор: Андрей Богатырев. В этой книге вы найдете ряд задач, примеров, алгоритмов, советов и стилистических замечаний по использованию языка программирования "C" (Си) в среде операционной системы UNIX. Здесь собраны этюды разной сложности и "штрихи к портрету" языка Си. Также описаны различные "подводные камни" на которых нередко терпят крушение новички в Си. В этом смысле эту книгу можно местами назвать "Как не надо программировать на Си".

Введение в теорию программирования. Функциональный подход
11.11.2004 17:27 | С.В.Зыков

Автор: Зыков Сергей Викторович Курс основан на творческом синтезе избранных формальных теорий (ламбда-исчисление, комбинаторная логика, теория категорий и др.) и уникальной технологической платформы Microsoft.NET, обеспечивающей практически прозрачную интеграцию кода на языках программирования различных типов.

Введение в теорию программирования. Объектно-ориентированный подход
11.11.2004 17:27 | С.В.Зыков

Курс является вводным в объектно-ориентированное программирование и теоретический фундамент программирования. Курс лекций охватывает основные разделы программирования в приложении к объектно-ориентированным языкам программирования (теория вычислений, представление синтаксиса и семантики выражений, теория типов и др.). Курс проиллюстрирован примерами, связывающими фундаментальные понятия теории с особенностями программирования на языке C# (типизация, наследование, инкапсуляция, полиморфизм, динамическое связывание и др.) и языке SML («ленивые» вычисления, расширенный полиморфизм, выводимость типов и т.д.). Базовые аспекты профессионального программирования излагаются в сравнении языков C# и SML на единой платформе Microsoft .NET.Сравнительное изучение языков программирования «нового поколения» SML и C# дает возможность более глубоко проникнуть в суть процесса создания программных систем.

Объектно-ориентированные базы данных: среда разработки программ плюс хранилище объектов
11.11.2004 17:26

Введение в объектные базы данных Особенности программирования объектной СУБД Использование объектных СУБД

gcc: Компилятор языков C, C++, Objective C
11.11.2004 17:23 | Ричард Столлман

В большинстве случаев приходится компилировать написанные на С/С++ программы. Для этого используются различные компиляторы. В данном руководстве пользователя описывается компилятор языков C, C++, Objective C. Содержание 1. Компиляция C, C++ или Objective C 4 2. Командные Опции GNU CC 6 2.1. Сводка Опций 7 2.2. Опции, Управляющие Видом Вывода 9 2.3. Опции, Управляющие Диалектом C 12 2.4. Опции для Включения или Подавления Предупреждений 17 2.5. Опции для Отладки Ваших Программ или GNU CC 27 2.6. Опции, которые Управляют Оптимизацией 34 2.7. Опции Управляющие Препроцессором 40 2.8. Передача Опций Ассемблеру 44 2.9. Опции Линковки 44 2.10. Опции для Поиска в Директориях 48 2.11. Указание Целевой Машины и Версии Компилятора 49 2.12. Модели и Конфигурации Машин 51 2.12.1. Опции Intel 386 52 2.13. Опции Соглашений о Генерации Кода 55 2.14. Переменные Окружения, Затрагивающие GNU CC 60 2.15. Выполнение Protoize 62 3. Установка GNU CC 67 3.1. Конфигурации Поддерживаемые GNU CC 76 3.2. Компиляция в Отдельном Каталоге 78 3.3. Построение и Установка Кросскомпилятора 79 3.3.1. Шаги Кросскомпиляции 80 3.3.2. Конфигурирование Кросскомпилятора 80 3.3.3. Инструментальные Средства и Библиотеки для Кросскомпилятор 81 3.3.4. Реальное Построение Кросскомпилятора 82 3.4. Стандартные Директории Заголовочных Файлов 83 4. Расширения Семейства Языка C 84 4.1. Операторы и Объявления в Выражениях 84 4.2. Локально Объявляемые Метки 85 4.3. Метки как Значения 87 4.4. Вложенные Функции 88 4.5. Конструирование Вызовов Функций 91 4.6. Именование Типа Выражения 93 4.7. Ссылки на Тип с Помощью typeof 93 4.8. Обобщенные L-значения 94 - 3 - 4.9. Условные Выражения с Опущенными Операндами 95 4.10. Двухсловные Целые 96 4.11. Комплексные Числа 96 4.12. Массивы Нулевой Длины 97 4.13. Массивы Переменной Длины 97 4.14. Макросы с Переменным Числом Аргументов 99 4.15. Массивы Не L-значения Могут Иметь Индексы 100 4.16. Арифметика над Указателями на void и на Функции 101 4.17. Неконстантные Инициализаторы 101 4.18. Выражения Конструкторов 101 4.19. Помеченные Элементы в Инициализаторах 102 4.20. Диапазоны Case 104 4.21. Приведение к Типу Объединения 104 4.22. Объявления Атрибутов Функций 105 4.23. Прототипы и Определения Функций в Старом Стиле 109 4.24. Комментарии в C++ Стиле 109 4.25. Знак Доллара в Идентификаторах 110 4.26. Символ ESC в Константах 110 4.27. Выравнивание Типов и Переменных 110 4.28. Указание Атрибутов Переменных 111 4.29. Указание Атрибутов Типов 114

C/C++. Структурное программирование. Практикум.
11.11.2004 17:23 | Т.А.Павловская, Ю.А.Щупак

Практикум предназначен для изучения языка C++ на семинарах и для его самостоятельного освоения. Он является дополнением к учебнику Т. А. Павловской "C/C++. Программирование на языке высокого уровня.", выпущенному издательством "Питер" в 2001 году.В практикуме на примерах рассматриваются средства C++, используемые в рамках структурной парадигмы: стандартные типы данных, основные конструкции, массивы, строки, структуры, функции, шаблоны, динамические структуры данных. Обсуждаются алгоритмы, приемы отладки, вопросы качества и стиля. По каждой теме приведено несколько комплектов из 20 вариантов заданий.Допущено Министерством образования Российской Федерации в качестве учебного пособия для студентов высших учебных заведений, обучающихся по направлению "Информатика и вычислительная техника". Содержание Предисловие Семинар 1. Линейные программы Задача 1.1. Расчет по формуле Особенности работы в интегрированной среде Visual C++ 6.0 Отладка программы Описание переменных Задача 1.2. Временной интервал Задания Семинар 2. Разветвляющиеся программы. Циклы Разветвляющиеся программы Задача 2.1. Вычисление значения функции, заданной графически Задача 2.2. Выстрел по мишени Задача 2.3. Клавиши курсора. Циклы Задача 2.4. Таблица значений функции Задача 2.5. Вычисление суммы ряда Задания Семинар 3. Одномерные массивы и указатели Задача 3.1. Количество элементов между минимумом и максимумом Динамические массивы Задача 3.2. Сумма элементов правее последнего отрицательного Задача 3.3. Быстрая сортировка массива Задания Семинар 4. Двумерные массивы Задача 4.1. Среднее арифметическое и количество положительных элементов Динамические массивы Задача 4.2. Номер столбца из положительных элементов Задача 4.3. Упорядочивание строк матрицы Задания Семинар 5. Строки и файлы Описание строк Ввод-вывод строк Операции со строками Работа с символами Задача 5.1. Поиск подстроки Задача 5.2. Подсчет количества вхождений слова в текст Задача 5.3. Вывод вопросительных предложений. Задания Семинар 6. Структуры Задача 6.1. Поиск в массиве структур Задача 6.2. Сортировка массива структур Задача 6.3. Структуры и бинарные файлы Задача 6.4. Структуры в динамической памяти Задания Семинар 7. Функции Задача 7.1. Передача в функцию параметров стандартных типов Задача 7.1-а. Передача в функцию имени функции Задача 7.2. Передача одномерных массивов в функцию Задача 7.3. Передача строк в функцию Задача 7.4. Передача двумерных массивов в функцию Задача 7.5. Передача структур в функцию Задача 7.6. Рекурсивные функции Многофайловые проекты Что и как следует размещать в заголовочном файле Задача 7.7. Многофайловый проект — форматирование текста Задания Семинар 8. Перегрузка и шаблоны функций Перегрузка функций Задача 8.1. Перегрузка функций Шаблоны функций Задача 8.2. Шаблоны функций Задания Семинар 9. Динамические структуры данных Задача 9.1. Стек Задача 9.2. Линейный список Задача 9.3. Очередь Задача 9.4. Бинарное дерево Задания Приложение 1. Интегрированная среда Visual C++ 6.0 Запуск IDE. Типы приложений Создание нового проекта Добавление к проекту файлов с исходным кодом Добавление существующего файла Добавление нового файла Многофайловые проекты Компиляция, компоновка и выполнение проекта Проблемы с вводом-выводом кириллицы Конфигурация проекта Как закончить работу над проектом Как открыть проект, над которым вы работали ранее Встроенная справочная система Работа с отладчиком Установка точки прерывания Выполнение программы до точки прерывания Пошаговое выполнение программы Проверка значений переменных во время выполнения программы Окна Auto и Watch1 Приложение 2. Интегрированная среда Borland C++ 3.1 Запуск IDE Работа с меню Меню File Меню Edit Меню Run Меню Compile Меню Debug Меню Project Меню Options Меню Window Создание нового проекта Модификация существующего проекта Открытие проекта Работа с проектом Завершение работы с проектом Работа с отладчиком Алфавитный указатель

Объектно-ориентированное программирование на C++: Второе издание
11.11.2004 17:22 | А.Пол

Книга Айры Пола, автора многих популярных изданий по С и C++, не является ни учебником по C++, ни курсом по объектно-ориентированному программированию (ООП) "вообще", хотя может быть полезна и в этих двух качествах. Задача книги (точно отраженная в названии) совершенно конкретна: научить читателя писать на C++ объектно-ориентированные программы. Для многих абстрактных идей и понятий ООП в C++ существуют конкретные воплощающие их конструкции. Содержание От автора Для кого и о чем эта книга Отличие от книг серии “Все о C++Builder” и “Программирование в C++Builder 4” Что вы найдете в этой книге Чего вы не найдете в этой книге Рекомендации по работе с книгой Благодарности ЧАСТЬ 1. Объектно-ориентированное визуальное программирование Глава 1. Принципы объектно-ориентированного визуального программирования 1.1 Объектно-ориентированное программирование 1.2 Основы визуального программирования интерфейса 1.3 Предварительные сведения о классах и наследовании 1.4 Системы быстрой разработки приложений 1.5 Язык объектно-ориентированного проектирования C++ Глава 2. Система визуального объектно-ориентированного программирования C++Builder 2.1 Что может C++Builder 5 2.2 Интегрированная Среда Разработки (ИСР) C++Builder 2.3 Первые шаги — первые собственные приложения 2.4 Проекты C++Builder 2.5 Основные проектные операции при создании приложения 2.6 Отладка приложений Глава 3. Обзор компонентов библиотеки C++Builder 3.1 Страницы палитры компонентов 3.2 Компоненты ввода и отобраения текстовой информации 3.3 Ввод и отображение чисел, дат и времени 3.4 Компоненты отображения и ввода иных видов информации 3.5 Кнопки, индикаторы, управляющие элементы 3.6 Компоненты — меню 3.7 Панели и компоненты внешнего оформления 3.8 Системные диалоги 3.9 Компоненты организации управления приложением ЧАСТЬ 2. Разработка приложений для Windows Глава 4. Проектирование графического интерфейса пользователя 4.1 Требования к интерфейсу пользователя приложений для Windows 4.2 Проектирование окон с изменяемыми размерами 4.3 Обработка событий клавиатуры и мыши 4.4 Перетаскивание объектов 4.5 Формы 4.6 Печать в C++Builder 4.7 Развертывание приложений Глава 5. Графика и мультимедиа 5.1 Построение графических изображений 5.2 Мультимедиа и анимация Глава 6. Взаимодействие приложения с внешними программами 6.1 Запуск из приложения внешних программ 6.2 Управление внешними приложениями 6.3 Сообщения Windows и их обработкаv 6.4 Внедрение и связывание объектов — OLE 6.5 Динамический обмен данными — DDE Глава 7. Повторное использование разработанных кодов 7.1 Способы сохранения и повторного использования кодов 7.2 Создание и хранение шаблонов компонентов 7.3 Создание новых компонентов и включение их в библиотеку 7.4 Депозитарий — хранилище форм, фреймов и проектов 7.5 Динамически присоединяемые библиотеки DLL 7.6 Пакеты Глава 8. Разработка справочной системы (создание файлов .hlp) 8.1 Проектирование справочной системы 8.2 Создание файла тем справок 8.3 Компиляция и отладка 8.4 Особенности создания справки, работающей на любых версиях Windows ЧАСТЬ 3. Создание приложений для работы с базами данных Глава 9. Приложения для работы с локальными базами данных 9.1 Базы данных 9.2 Создание баз данных с помощью Database Desktop 9.3 Создание и редактирование псевдонимов баз данных, каталогов, драйверов 9.4 Обзор компонентов, используемых для связи с базами данныхv 9.5 Основные свойства компонента Table и простейшие приложения на его основе 9.6 Использование словарей атрибутов полей 9.7 Некоторые компоненты визуализации и управления данными 9.8 Компонент Session 9.9 Компонент BatchMove 9.10 Приложения с несколькими связанными таблицами 9.11 Программирование работы с базами данных 9.12 Пример программирования работы с базой данных Глава 10. Создание приложений для работы с базами данных в сети 10.1 Основы языка SQL и его использование в приложениях 10.2 Работа с базами данных в сети 10.3 InterBase — работа на платформе клиент/сервер 10.4 Доступ к базам данных через Microsoft ActiveX Data Objects (ADO) 10.5 Доступ к InterBase через InterBase Express (IBX) Глава 11. Обработка и документирование данных 11.1 Многомерный анализ данных — компоненты Decision Cube 11.2 Создание отчетов 11.3 Использование серверов COM для документирования данных ЧАСТЬ 4. Справочные сведения Глава 12. Справочные данные по языку C++ 12.1 Синтаксис языка 12.2 Директивы препроцессора 12.3 Константы 12.4 Переменные 12.5 Функции 12.6 Области видимости переменных и функций 12.7 Операции 12.8 Операторы 12.9 Динамическое распределение памяти 12.10 Исключения 12.11 Сигналы Глава 13. Типы данных в языке C++ 13.1 Классификация типов данных, объявление типов 13.2 Приведение типов 13.3 Арифметические типы данных 13.4 Типы строк 13.5 Перечислимые типы 13.6 Множества 13.7 Указатели 13.8 Ссылки 13.9 Файлы и потоки 13.10 Массивы 13.11 Структуры 13.12 Объединения 13.13 Классы Глава 14. Справочные данные по интегрированной среде разработки C++Builder 14.1 Структура меню C++Builder 5 14.2 Настройка Интегрированной Среды Разработки C++Builder 14.3. Страницы библиотеки компонентов Глава 15. Функции C, C++, библиотек C++Builder, API Windows 15.1 Справочные сведения общего характера 15.2 Математические функции 15.3 Преобразование типов данных 15.4 Строки и символы 15.5 Потоки и файлы 15.6 Управление процессами 15.7 Функции различного назначения 15.8 Сообщения Windows Глава 16. Свойства, методы, события, типы, классы 16.1 Свойства 16.2 Методы 16.3 События 16.4 Некоторые базовые классы и типы 16.5 Предметный указатель разделов книги, содержащих описания компонентов библиотеки VCL Литература

Объектно-ориентированное программирование в C++
11.11.2004 17:21 | Р.Лафоре

Изучение объектно-ориентированной парадигмы программирования обычно ассоциируется с многочасовым курсом лекций и утомительными лабораторными занятиями, во время которых вас бросает из крайности в крайность - от тупого отчаяния до ложного ощущения полного понимания. Книга популярного среди американских студентов писателя Роберта Лафоре призвана помочь изучающему C++ избежать таких нагрузок на психику и без чьей-либо помощи пройти путь от застенчивого ученика до уверенного в своих силах программиста.Столь значительный объем этого учебника обусловлен как сложностью предмета, так и стремлением автора не оставить белых пятен в программистском образовании читателя: любой элемент теории немедленно иллюстрируется небольшим примером кода, для приобретения практических навыков даются детально прокомментированные тексты полномасштабных приложений, а для закрепления полученных знаний читателю предлагается выполнить множество самостоятельных упражнений.

C++. Энциклопедия пользователя
11.11.2004 17:14 | Дж.Либерти

Книга C++. Энциклопедия пользователя содержит обзор актуальных тем, связанных с языком программирования C++. В книге рассматриваются вопросы объектно-ориентированного анализа и проектирования, универсального языка программирования UML и разработки объектных моделей. Достаточно подробно представлены вопросы реализации приложений, а также стандартная библиотека шаблонов STL. Особое внимание уделено обработке данных, живучести объектов и шифрованию, архитектуре CORBA и модели СОМ. Прилагаемый CD-ROM содержит исходные тексты примеров, рассмотренных в книге. Книга рассчитана на читателей, которые имеют начальные сведения и знания по программированию на языке C++. Оглавление. Часть I. Объектно-ориентированное программирование Глава 1. Объектно-ориентированный анализ и проектирование Глава 2. Проектирование классов в C++ Глава 3. Наследование, полиморфизм и повторное использование Часть II. Вопросы реализации Глава 4. Управление памятью Глава 5. Использование каркасов приложений Глава 6. Контейнерные классы библиотеки STL Глава 7. Итераторы и алгоритмы STL Глава 8. Исключение конфликтов имен Глава 9. Манипулирование типами объектов Глава 10. Настройка производительности приложения Часть III. Обработка данных Глава 11. Рекурсия и рекурсивные структуры данных Глава 12. Использование методов сортировки Глава 13. Алгоритмы поиска данных Глава 14. Хеширование и синтаксический анализ Часть IV. Живучесть объектов и шифрование Глава 15. Живучесть объектов Глава 16. Реляционные базы данных и живучесть Глава 17. Реализация живучести объектов с помощью реляционных баз данных Глава 18. Объектно-ориентированные базы данных Глава 19. Защита приложений с помощью шифрования Часть V. Распределенные вычисления Глава 20. CORBA Глава 21. COM Глава 22. Java и C++

Программирование на C++ в Linux
11.11.2004 17:14 | Н.Секунов

Книга посвящена созданию приложений, написанных на языке C++, в среде разработки KDevelop. Дано описание способов взаимодействия компонентов приложений. Рассмотрена работа с утилитой Qt Designer и описаны основные элементы управления, используемые в диалоговых окнах, а также классы, созданные для работы с ними. Читатель знакомится с концепцией Документ/Представление и учится создавать элементы пользовательского интерфейса приложения. Кроме того, в отдельных главах разбираются вопросы вывода на экран различной информации, сохранения и восстановления ее из файла, создания текстовых редакторов, работы с шаблонами классов и функций и организации многозадачности в приложении на основе взаимодействующих процессов. В завершение предоставляются рекомендации по созданию справочной системы приложения. Cодержание Введение Глава 1. Взаимодействие компонентов приложения Глава 2. Диалоговые окна и простейшие элементы управления Глава 3. Классы элементов управления Глава 4. Классы приложений, документов и представлений Глава 5. Создание элементов пользовательского интерфейса Глава 6. Вывод информации на экран Глава 7. Работа с файлами документов Глава 8. Работа с текстовыми документами Глава 9. Шаблоны и классы коллекций Глава 10. Реализация многозадачности в приложении Глава 11. Справка в приложении Приложение 1. Что на CD Приложение 2. Ресурсы Интернета Предметный указатель

Программирование на Java
11.11.2004 17:13

Автор: Вязовик Николай Александрович Курс лекций посвящен современному и мощному языку программирования Java. В его рамках дается вводное изложение принципов ООП, необходимое для разработки на Java, основы языка, библиотеки для работы с файлами, сетью, для построения оконного интерфейса пользователя (GUI) и др.

Язык программирования C++
11.11.2004 17:13 | А.Л.Фридман

Автор: Фридман Александр Львович В систематизированном виде излагаются основные понятия и описываются возможности языка C++. При этом основное внимание уделяется объяснению того, как теми или иными возможностями пользоваться. Язык программирования C++ в – это универсальный язык программирования, который позволяет разрабатывать программы в соответствии с разными парадигмами: процедурным программированием, объектно-ориентированным, параметрическим. В данном курсе рассматриваются все основные возможности языка C++ и их применение при разработке объектно-ориентированных программ. Дается краткое описание библиотек языка C++, необходимых для создания типичных программ.

Основные концепции языков программирования, 5-е изд.
11.11.2004 17:11 | Р.У.Себеста

Книга, ставшая бестселлером в США, посвящена всестороннему обсуждению основных концепций языков программирования. Автор описывает фундаментальные понятия программирования на примере вопросов разработки различных языковых конструкций, подвергая критическому анализу их реализацию в широком спектре языков программирования, таких как FORTRAN, PASCAL, PL/1, C, C++, Ada, Java, Smalltalk, Eiffel и LISP. Материал книги охватывает все парадигмы программирования, начиная с функциональной и заканчивая объектно-ориентированной, и, несомненно, представляет интерес и как учебник по современным методологиям. Оглавление ПРЕДИСЛОВИЕ 10 Изменения, внесенные в пятом издании 11 Указания преподавателю 12 Приложения 12 Доступность языкового процессора 12 Благодарности 12 Об авторе 13 1. ВВОДНЫЕ ЗАМЕЧАНИЯ 13 1.1. Для чего нужно изучать концепции языков программирования 16 1.2. Области применения программирования 18 1.2.1. Научные приложения 18 1.2.2. Коммерческие приложения 18 1.2.3. Искусственный интеллект 18 1.2.4. Системное программирование 19 1.2.5. Языки подготовки сценариев 19 1.2.6. Специализированные языки программирования 20 1.3. Критерии оценки языков программирования 20 1.3.1. Читабельность 21 1.3.2. Легкость создания программ 25 1.3.3. Надежность 27 1.3.4. Стоимость 28 1.4. Факторы, влияющие на разработку языка 29 1.4.1. Архитектура компьютера 29 1.4.2. Методологии программирования 31 1.5. Категории языков 32 1.6. Компромиссы при разработке языка 32 1.7. Методы реализации 33 1.7.1. Компиляция 34 1.7.2. Чистая интерпретация 37 1.7.3. Смешанные системы реализации 38 1.8. Среды программирования 39 2. ОБЗОР ОСНОВНЫХ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ 42 2.5. Первый шаг к совершенствованию: язык ALGOL 60 42 2.1. Язык Plankalkül Конрада Цузе 44 2.1.1. Исторические предпосылки 44 2.1.2. Обзор языка 45 2.2. Минимальное программирование на аппаратном уровне: псевдокоды 46 2.2.1. Язык Short Code 46 2.2.2. Система Speedcoding 47 2.2.3. Система "компиляции" UNIVAC 47 2.2.4. Смежная работа 47 2.3. Компьютер IBM 704 и язык FORTRAN 47 2.3.1. Историческая ретроспектива 48 2.3.2. Процесс разработки 48 2.3.3. Обзор языка FORTRAN I 49 2.3.4. Обзор языка FORTRAN II 50 2.3.5. Языки FORTRAN IV, FORTRAN 77 и FORTRAN 90 50 2.3.6. Оценка 51 2.4. Функциональное программирование: язык LISP 52 2.4.1. Истоки работ в области искусственного интеллекта и обработка списков 52 2.4.2. Процесс разработки языка LISP 52 2.4.3. Обзор языка 53 2.4.4. Оценка 54 2.4.5. Два потомка языка LISP 55 2.4.6. Родственные языки 55 2.5. Первый шаг к совершенствованию: язык ALGOL 60 56 2.5.1. Историческая ретроспектива 56 2.5.2. Начальная стадия разработки 56 2.5.3. Обзор языка ALGOL 58 57 2.5.4. Принятие отчета о языке ALGOL 58 57 2.5.5. Процесс разработки языка ALGOL 60 58 2.5.6. Обзор языка ALGOL 60 58 2.5.7. Оценка языка ALGOL 60 59 2.6. Компьютеризация коммерческих записей: язык COBOL 60 2.6.1. Исторические предпосылки 60 2.6.2. Язык FLOW-MATIC 60 2.6.3. Процесс разработки языка COBOL 61 2.6.4. Оценка 61 2.7. Начало разделения времени: язык BASIC 63 2.7.1. Процесс разработки 63 2.7.2. Обзор языка 64 2.7.3. Оценка 64 2.8. Все для всех: язык PL/I 65 2.8.1. Исторические предпосылки 65 2.8.2. Процесс разработки 66 2.8.3. Обзор языка 66 2.8.4. Оценка 67 2.9. Два ранних динамических языка: APL и SNOBOL 68 2.9.1. Истоки и характеристики языка APL 68 2.9.2. Происхождение и характеристики языка SNOBOL 68 2.10. Возникновение абстракции данных: язык SIMULA 67 69 2.10.1. Процесс разработки 69 2.10.2. Обзор языка 69 2.11. Ортогональная структура: язык ALGOL 68 70 2.11.1. Процесс разработки 70 2.11.2. Обзор языка 70 2.11.3. Оценка 70 2.12. Несколько важных наследников семейства языков ALGOL 71 2.12.1. Преднамеренная простота: язык Pascal 71 2.12.2. Машинно-независимый язык: С 73 2.12.3. Другие потомки языка ALGOL 75 2.13. Программирование, основанное на логике: язык Prolog 76 2.13.1. Процесс разработки 76 2.13.2. Обзор языка 76 2.13.3. Оценка 77 2.14. Величайший проект в истории: язык Ada 77 2.14.1. Историческая ретроспектива 77 2.14.2. Процесс разработки 77 2.14.3. Обзор языка 78 2.14.4. Оценка 79 2.14.5. Язык Ada 95 80 2.15. Объектно-ориентированное программирование: язык Smalltalk 80 2.15.1. Процесс разработки 81 2.15.2. Обзор языка 81 2.15.3. Оценка 82 2.16. Объединение императивных и объектно-ориентированных свойств: язык C++ 83 2.16.1. Процесс разработки 83 2.16.2. Обзор языка 84 2.16.3. Оценка 84 2.16.4. Родственный язык: Eiffel 84 2.17. Программирование в World Wide Web: язык Java 85 2.17.1. Процесс разработки 85 2.17.2. Обзор языка 85 2.17.3. Оценка 86 3. ОПИСАНИЕ СИНТАКСИСА И СЕМАНТИКИ 90 3.1. Предисловие 91 3.2. Общая задача описания синтаксиса 91 3.2.1. Устройства распознавания языков 92 3.2.2. Генераторы языков 92 3.3. Формальные методы описания синтаксиса 93 3.3.1. Форма Бэкуса-Наура и контекстно-свободные грамматики 93 3.3.2. Расширенная форма БНФ 101 3.3.3. Синтаксические графы 102 3.3.4. Грамматики и устройства распознавания языков 103 3.4. Рекурсивный нисходящий синтаксический анализ 103 3.5. Атрибутивные грамматики 105 3.5.1. Статическая семантика 105 3.5.2. Основные понятия 105 3.5.3. Определение атрибутивных грамматик 105 3.5.4. Внутренние атрибуты 106 3.5.5. Примеры атрибутивных грамматик 106 3.5.6. Вычисление значений атрибутов 108 3.5.7. Оценка 109 3.6. Описание смысла программ: динамическая семантика 109 3.6.1. Операционная семантика 109 3.6.2. Аксиоматическая семантика 111 3.6.3. Денотационная семантика 118 4. ИМЕНА, СВЯЗЫВАНИЕ, ПРОВЕРКА ТИПОВ И ОБЛАСТИ ВИДИМОСТИ 125 4.1. Предисловие 127 4.2. Имена 127 4.2.1. Вопросы структуры 127 4.2.2. Виды имен 127 4.2.3. Специальные слова 128 4.3. Переменные 129 4.3.1. Имя 129 4.3.2. Адрес 129 4.3.3. Тип 130 4.3.4. Значение 130 4.4. Концепция связывания 131 4.4.1. Связывание атрибутов с переменными 131 4.4.2. Связывание типов 131 4.4.3. Связывание переменных с ячейками памяти и время их жизни 134 4.5. Проверка типов 136 4.6. Строгая типизация 137 4.7. Совместимость типов 138 4.8. Область видимости 140 4.8.1. Статическая область видимости 140 4.8.2. Блоки 141 4.8.3. Оценка статического обзора данных 142 4.8.4. Динамические области видимости 144 4.8.5. Оценка динамического обзора данных 145 4.9. Область видимости переменных и время их жизни 146 4.10. Среды ссылок 146 4.11. Именованные константы 148 4.12. Инициализация переменных 149 5. ТИПЫ ДАННЫХ 155 5.1. Введение 156 5.2. Элементарные типы данных 158 5.2.1. Числовые типы 158 5.2.2. Булевские типы 159 5.2.3. Символьные типы 160 5.3. Символьные строки 160 5.3.1. Вопросы разработки 160 5.3.2. Строки и действия над ними 160 5.3.3. Варианты длины строк 162 5.3.4. Оценка 162 5.3.5. Реализация символьных строк 163 5.4. Порядковые типы, определяемые пользователем 163 5.4.1. Перечислимые типы 164 5.4.2. Ограниченные типы 165 5.4.3. Реализация порядковых типов, определяемых пользователем 166 5.5. Массивы 166 5.5.1. Вопросы разработки 167 5.5.2. Массивы и индексы 167 5.5.3. Связывания индексов и категории массивов 168 5.5.4. Количество индексов массива 170 5.5.5. Инициализация массива 170 5.5.6. Операции над массивами 171 5.5.7. Сечения 172 5.5.8. Оценка 173 5.5.9. Реализация типов массивов 173 5.6. Ассоциативные массивы 176 5.6.1. Структура и операции 176 5.6.2. Реализация ассоциативных массивов 177 5.7. Записи 177 5.7.1. Описания записей 178 5.7.2. Ссылки на поля записи 178 5.7.3. Операции над записями 179 5.7.4. Оценка 180 5.7.5. Реализация записей 180 5.8. Объединения 181 5.8.1. Вопросы разработки 181 5.8.2. Свободные объединения 181 5.8.3. Размеченные объединения языка ALGOL 68 181 5.8.4. Типы объединения в языке Pascal 182 5.8.5. Объединения в языке Ada 184 5.8.6. Оценка 185 5.8.7. Реализация объединений 185 5.9. Множества 185 5.9.1. Множества в языках Pascal и Modula-2 186 5.9.2. Оценка 187 5.9.3. Реализация множественных типов данных 187 5.10. Указатели 187 5.10.1. Вопросы разработки 188 5.10.2. Операции над указателями 188 5.10.3. Проблемы, возникающие при использовании указателей 189 5.10.4. Указатели в языке Pascal 190 5.10.5. Указатели в языке Ada 190 5.10.6. Указатели в языках C и C++ 191 5.10.7. Указатели в языке FORTRAN 90 192 5.10.8. Ссылки 192 5.10.9. Оценка 193 5.10.10. Реализация ссылок и указателей 194 6. ВЫРАЖЕНИЯ И ОПЕРАТОРЫ ПРИСВАИВАНИЯ 202 6.1. Вступление 204 6.2. Арифметические выражения 204 6.2.1. Порядок вычисления операторов 205 6.2.2. Порядок вычисления операндов 208 6.3. Перегруженные операторы 210 6.4. Преобразования типов 211 6.4.1. Приведение типов в выражениях 212 6.4.2. Явное преобразование типов 213 6.4.3. Ошибки в выражениях 213 6.5. Выражения отношений и булевские выражения 213 6.5.1. Выражения отношения 214 6.5.2. Булевские выражения 214 6.6. Сокращенное вычисление 215 6.7. Операторы присваивания 216 6.7.1. Простые присваивания 216 6.7.2. Множественные целевые объекты 217 6.7.3. Условные целевые объекты 217 6.7.4. Составные операторы присваивания 217 6.7.5. Унарные операторы присваивания 218 6.7.6. Присваивание как выражение 218 6.8. Смешанные присваивания 219 7. СТРУКТУРЫ УПРАВЛЕНИЯ НА УРОВНЕ ОПЕРАТОРОВ 223 7.1. Введение 225 7.2. Составные операторы 225 7.3. Операторы ветвления 226 7.3.1. Двухвариантные операторы ветвления 226 7.3.2. Конструкции многовариантного ветвления 230 7.4. Операторы цикла 234 7.4.1. Циклы со счетчиком 235 7.4.2. Логически управляемые циклы 240 7.4.3. Циклы с механизмами управления, размещенными пользователем 242 7.4.4. Циклы, основанные на структурах данных 243 7.5. Безусловный переход 244 7.5.1. Проблемы безусловного перехода 244 7.5.2. Виды меток 245 7.5.3. Ограничения переходов 245 7.6. Защищенные команды 246 7.7. Выводы 249 8. ПОДПРОГРАММЫ 253 8.1. Введение 254 8.2. Основы подпрограмм 255 8.2.1. Общие свойства подпрограмм 255 8.2.2. Основные определения 255 8.2.3. Параметры 256 8.2.4. Процедуры и функции 258 8.3. Вопросы разработки подпрограмм 258 8.4. Среды локальных ссылок 259 8.5. Методы передачи параметров 260 8.5.1. Семантические модели передачи параметров 260 8.5.2. Модели реализации передачи параметров 261 8.5.3. Методы передачи параметров в основных языках программирования 265 8.5.4. Проверка типов параметров 266 8.5.5. Методы реализации передачи параметров 267 8.5.6. Многомерные массивы в качестве параметров 269 8.5.7. Вопросы разработки 271 8.5.8. Примеры передачи параметров 271 8.6. Параметры, являющиеся именами подпрограмм 274 8.7. Перегруженные подпрограммы 276 8.8. Настраиваемые подпрограммы 277 8.8.1. Настраиваемые подпрограммы в языке Ada 277 8.8.2. Настраиваемые подпрограммы в языке C++ 278 8.9. Раздельная и независимая компиляция 280 8.10. Вопросы разработки функций 281 8.10.1. Побочные эффекты функций 281 8.10.2. Типы возвращаемых значений 281 8.11. Доступ к нелокальным средам 281 8.11.1. Блоки COMMON языка FORTRAN 282 8.11.2. Внешние объявления и модули 283 8.12. Перегруженные операторы, определяемые пользователем 284 8.13. Сопрограммы 284 9. РЕАЛИЗАЦИЯ ПОДПРОГРАММ 289 9.1. Общая семантика вызовов и возвратов 290 9.2. Реализация подпрограмм на языке FORTRAN 77 290 9.3. Реализация подпрограмм на языках, подобных языку ALGOL 292 9.3.1. Более сложные записи активации 293 9.3.2. Пример без рекурсии и нелокальных ссылок 294 9.3.3. Рекурсия 296 9.3.4. Механизмы реализации нелокальных ссылок 299 9.4. Блоки 307 9.5. Реализация методов динамического обзора данных 308 9.5.1. Глубокий доступ 309 9.5.2. Теневой доступ 310 9.6. Реализация параметров, являющихся именами подпрограмм 311 9.6.1. Статические цепочки 311 9.6.2. Индикаторы 312 9.6.3. Ошибочное повторное обращение к среде ссылок 312 10. АБСТРАКТНЫЕ ТИПЫ ДАННЫХ 317 10.1. Понятие абстракции 318 10.2. Инкапсуляция 319 10.3. Введение в абстракцию данных 319 10.3.1. Число с плавающей точкой как абстрактный тип данных 320 10.3.2. Абстрактные типы данных, определяемые пользователем 320 10.3.3. Пример 321 10.4. Вопросы разработки типов 321 10.5. Примеры абстракции данных в разных языках 322 10.5.1. Классы в языке SIMULA 67 322 10.5.2. Абстрактные типы данных в языке Ada 323 10.5.3. Абстрактные типы данных в языке C++ 326 10.6. Параметризованные абстрактные типы данных 329 10.6.1. Язык Ada 330 10.6.2. Язык C++ 330 11. ПОДДЕРЖКА ОБЪЕКТНО-ОРИЕНТИРОВАННОГО ПРОГРАММИРОВАНИЯ 334 11.1. Введение 335 11.2. Объектно-ориентированное программирование 336 11.2.1. Введение 336 11.2.2. Наследование 336 11.2.3. Полиморфизм и динамическое связывание 338 11.2.4. Вычисления в объектно-ориентированных языках 339 11.3. Вопросы разработки объектно-ориентированных языков 339 11.3.1. Исключительность объектов 339 11.3.2. Являются ли подклассы подтипами? 339 11.3.3. Реализация и наследование интерфейса 340 11.3.4. Проверка типов и полиморфизм 340 11.3.5. Одиночное и множественное наследование 341 11.3.6. Размещение в памяти и удаление из памяти объектов 342 11.3.7. Динамическое и статическое связывание 342 11.4. Обзор языка Smalltalk 342 11.4.1. Общие характеристики 342 11.4.2. Среда языка Smalltalk 343 11.5. Введение в язык Smalltalk 343 11.5.1. Выражения 343 11.5.2. Методы 345 11.5.3. Операторы присваивания 346 11.5.4. Блоки и управляющие структуры 347 11.5.5. Классы 349 11.5.6. Дополнительные сведения о методах 350 11.6. Примеры программ на языке Smalltalk 351 11.6.1. Простой обработчик таблиц 351 11.6.2. Графика в LOGO 353 11.7. Главные особенности языка Smalltalk 356 11.7.1. Проверка типов и полиморфизм 356 11.7.2. Наследование 356 11.8. Оценка языка Smalltalk 357 11.9. Поддержка объектно-ориентированного программирования в языке C++ 357 11.9.1. Общие свойства 357 11.9.2. Наследование 358 11.9.3. Динамическое связывание 361 11.9.4. Оценка 362 11.10. Поддержка объектно-ориентированного программирования в языке Java 363 11.10.1. Общие свойства 363 11.10.2. Наследование 363 11.10.3. Динамическое связывание 364 11.10.4. Инкапсуляция 364 11.10.5. Оценка 365 11.11. Поддержка объектно-ориентированного программирования в языке Ada 95 365 11.11.1. Общие свойства 365 11.11.2. Наследование 365 11.11.3. Динамическое связывание 366 11.11.4. Оценка 367 11.12. Поддержка объектно-ориентированного программирования в языке Eiffel 367 11.12.1. Общие свойства 368 11.12.2. Наследование 368 11.12.3. Динамическое связывание 369 11.12.4. Оценка 369 11.13. Реализация объектно-ориентированных конструкций 369 11.13.1. Хранение данных экземпляра 370 11.13.2. Динамическое связывание сообщений с методами 370 12. ПАРАЛЛЕЛЬНОСТЬ 374 12.1. Введение 376 12.1.1. Многопроцессорные архитектуры 376 12.1.2. Разновидности параллельности 377 12.1.3. Почему нужно изучать параллельность 377 12.2. Введение в параллельность на уровне подпрограмм 378 12.2.1. Основные понятия 378 12.2.2. Разработка языков для поддержки параллельности 380 12.2.3. Вопросы разработки языков программирования 380 12.3. Семафоры 381 12.3.1. Введение 381 12.3.2. Синхронизация взаимодействия 381 12.3.3. Синхронизация конкуренции 383 12.3.4. Оценка 384 12.4. Мониторы 384 12.4.1. Введение 384 12.4.2. Синхронизация взаимодействия 385 12.4.3. Синхронизация конкуренции 385 12.4.4. Оценка 387 12.5. Передача сообщений 387 12.5.1. Введение 388 12.5.2. Концепция синхронной передачи сообщений 388 12.5.3. Модель передачи сообщения в языке Ada 95 388 12.5.4. Синхронизация взаимодействия 392 12.5.5. Синхронизация крнкуренции 392 12.5.6. Завершение задачи 394 12.5.7. Приоритеты 394 12.5.8. Бинарные семафоры 394 12.5.9. Оценка 395 12.6. Параллельность в языке Ada 95 395 12.6.1. Защищенные объекты 395 12.6.2. Асинхронные сообщения 396 12.7. Потоки языка Java 397 12.7.1. Класс Thread 397 12.7.2. Приоритеты 398 12.7.3. Синхронизация взаимодействия 398 12.7.4. Синхронизация конкуренции 399 12.7.5. Оценка 401 12.8. Параллельность на уровне операторов 401 12.8.1. Язык High-Performance FORTRAN 401 13. ОБРАБОТКА ИСКЛЮЧИТЕЛЬНЫХ СИТУАЦИЙ 405 13.1. Введение в обработку исключительных ситуаций 406 13.1.1. Основные понятия 407 13.1.2. Вопросы разработки 408 13.1.3. Исторический обзор 410 13.2. Обработка исключительных ситуаций в языке PL/1 410 13.2.1. Обработчики исключительных ситуаций 410 13.2.2. Связывание исключительных ситуаций с обработчиками 411 13.2.3. Продолжение 411 13.2.4. Другие проектные решения 411 13.2.5. Пример 412 13.2.6. Оценка 413 13.3. Обработка исключительных ситуаций в языке Ada 414 13.3.1. Обработчики исключительных ситуаций 414 13.3.2. Связывание исключительных ситуаций с обработчиками 414 13.3.3. Продолжение 415 13.3.4. Другие проектные решения 416 13.3.5. Пример 417 13.3.6. Оценка 418 13.4. Обработка исключительных ситуаций в языке C++ 418 13.4.1. Обработчики исключительных ситуаций 418 13.4.2. Связывание исключительных ситуаций с обработчиками 419 13.4.3. Продолжение выполнения программы 419 13.4.4. Другие проектные решения 420 13.4.5. Пример 420 13.4.6. Оценка 421 13.5. Обработка исключительных ситуаций в языке Java 421 13.5.1. Классы исключительных ситуаций 421 13.5.2. Обработчики исключительных ситуаций 422 13.4.3. Связывание исключительных ситуаций с обработчиками 422 13.4.4. Продолжение выполнения программы 423 13.4.5. Другие проектные решения 423 13.4.6. Пример 424 13.4.7. Оператор finally 425 13.4.8. Оценка 426 14. ФУНКЦИОНАЛЬНЫЕ ЯЗЫКИ ПРОГРАММИРОВАНИЯ 430 14.1. Введение 432 14.2. Математические функции 432 14.2.1. Простые функции 433 14.2.2. Функциональные формы 433 14.3. Основы функциональных языков программирования 434 14.4. Первый язык функционального программирования - LISP 434 14.4.1. Типы и структуры данных 435 14.4.2. Первый интерпретатор языка LISP 436 14.5. Введение в язык Scheme 437 14.5.1. Происхождение языка Scheme 437 14.5.2. Элементарные функции 437 14.5.3. Функции для построения функций 440 14.5.4. Поток управления 442 14.5.5. Пример функции на языке Scheme 443 14.5.6. Функциональные формы 446 14.5.7. Функции для создания кода 446 14.5.8. Императивные свойства языка Scheme 447 14.6. Язык COMMON LISP 448 14.7. Язык ML 449 14.8. Язык Haskell 450 14.9. Применение функциональных языков 453 14.10. Сравнение функциональных и императивных языков 453 15. ЯЗЫКИ ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ 457 15.1. Введение 458 15.2. Краткое введение в исчисление предикатов 459 15.2.1. Высказывания 459 15.2.2. Дизъюнктивные формы 460 15.3. Исчисление предикатов и доказательство теорем 461 15.4. Обзор логического программирования 463 15.5. Происхождение языка Prolog 464 15.6. Основные элементы языка Prolog 464 15.6.1. Термы 464 15.6.2. Факты 465 15.6.3. Правила 465 15.6.4. Цель 466 15.6.5. Процесс логического вывода в языке Prolog 466 15.6.6. Простая арифметика 468 15.6.7. Списковые структуры 471 15.7. Недостатки языка Prolog 474 15.7.1. Управление порядком выполнения резолюции 474 15.7.2. Предположение о закрытом мире 476 15.7.3. Проблема логического отрицания 476 15.7.4. Внутренние ограничения 478 15.8. Применение логического программирования 478 15.8.1. Системы управления реляционными базами данных 478 15.8.2. Экспертные системы 479 15.8.3. Системы обработки естественных языков 479 15.8.4. Образование 480 15.9. Выводы 480 ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ 491

Криптография на Си и С++ в действии. Учебное пособие.
11.11.2004 17:11 | М.Вельшенбах

Несмотря на то, что настоящее издание содержит математическую теорию новейших криптографических алгоритмов, книга в большей степени рассчитана на программистов-практиков. Здесь Вы найдете описание особенностей эффективной реализации криптографических алгоритмов на языках Си и С++, а также большое количество хорошо документированных исходных кодов, которые записаны на компакт-диск, прилагаемый к книге. Купите книгу, и Вы легко сможете снабдить свои собственные программные разработки сильной криптографической защитой. Содержание. ЧАСТЬ I. Арифметика и теория чисел на С. Глава 1. Введение. Глава 2. Числовые форматы: представление большинства чисел в языке С. Глава 3. Семантика интерфейса. Глава 4. Основные операции. Глава 5. Модульная арифметика: вычисление в классах вычетов. Глава 6. Все дороги ведут к... модульному возведению в степень. Глава 7. Поразрядные и логические функции. Глава 8. Операции ввода, вывода, присваивания и преобразования. Глава 9. Динамические регистры. Глава 10. Основные теоретико-числовые функции. Глава 11. Большие случайные числа. Глава 12. Стратегия тестирования LINT. Часть II. КЛАСС LINT: АРИФМЕТИКА НА С++ Глава 13. Пусть С++ облегчит Вашу жизнь. Глава 14. Открытый интерфейс LINT: члены и друзья класса. Глава 15. Обработка ошибок. Глава 16. Практический пример: криптосистема RSA. Глава 17. Сделайте это сами: протестируйте LINT. Глава 18. Направления дальнейшего исследования. Глава 19. Rijndael: наследник стандарташифрования данных. ЧАСТЬ III. ПРИЛОЖЕНИЯ Приложение А. Каталог функций С. Приложение В. Каталог функций С++. Приложение С. Макросы. Приложение D. Время вычислений. Приложение Е. Условне обозначения. Приложение F. Арифметические и теоретико-числовые пакеты. Литература. Об авторе.

Компилятор языков C, C++, Objective C gcc 2.7 (часть 1)
11.11.2004 17:10 | Ричард Столлман

Руководство пользователя компилятора gcc v2.7 Компиляция C, C++ или Objective C Командные Опции GNU CC Установка GNU CC Расширения Семейства Языка C

Жемчужины программирования. 2-е издание.
11.11.2004 17:01 | Дж.Бентли

Эта книга написана для программистов. Хороший программист должен знать всё, что написано до него, только тогда он будет писать хорошие программы. Главы этой книги посвящены наиболее привлекательному аспекту профессии программиста: жемчужинам программирования, рождающимся за пределами работы, в области фантазии и творчества. В них рассматриваются: постановка задач; теория алгоритмов; структуры данных; вопросы повышения эффективности кода; оптимизация кода по скорости выполнения; реализация алгоритмов на Си; деревья, списки, очереди, кучи; разбор текста; а также верификация и тестирование программ и многое другое... Содержание Предисловие Часть 1. Предварительные сведения. Глава 1. Как расколоть орешек. Глава 2. Ага! Алгоритмы. Глава 3. Программы и структуры данных Глава 4. Как писать правильные программы. Глава 5. Немного программирования. Часть 2. Производительность Глава 6. Производительность в перспективе. Глава 7. Предварительные оценки. Глава 8. Метода разработки алгоритмов. Глава 9. Оптимизация программ. Шлава 10. Экономия памяти. Часть 3. Програмный продукт. Глава 11. Сортировка. Глава 12. Задача о выборке. Глава 13. Поиск. Глава 14. Кучи. Глава 15. Жемчужная строка.

Компьютерные и технические термины
11.11.2004 17:00

Всегда необходимо знать терминологию языка, но часто тот или иной термин теряется в описаниях, остайтся непонятным. Данный ресурс поможет Вам разобраться. Удобство поиска (алфавитный указатель.)

Искусство программирования, том 1. Основные алгоритмы, 3-е изд.
11.11.2004 16:59 | Д.Кнут

Первый том серии книг Искусство программирования начинается с описания основных понятий и методов программирования. Затем автор переходит к рассмотрению информационных структур - представлению информации внутри компьютера, структурных связей между элементами данных и способам эффективной работы с ними. Для методов имитации, символьных вычислений, числовых методов, методов разработки программного обеспечения даны примеры элементарных приложений. По сравнению с предыдущим изданием добавлены десятки простых, но в то же время очень важных алгоритмов. В соответствии с современными направлениями исследований был существенно переработан раздел математического введения. ОГЛАВЛЕНИЕ ГЛАВА 1. ОСНОВНЫЕ ПОНЯТИЯ ................................................ 27 1.1. АЛГОРИТМЫ ....................................................... 27 1.2. МАТЕМАТИЧЕСКОЕ ВВЕДЕНИЕ ......................................... 37 1.2.1. Математическая индукция ................................... 38 1.2.2. Числа, степени и логарифмы ................................ 49 1.2.3. Суммы и произведения ...................................... 56 1.2.4. Целочисленные функции и элементарная теория чисел ......... 68 1.2.5. Перестановки и факториалы ................................. 75 1.2.6. Биномиальные коэффициенты ................................. 82 1.2.7. Гармонические числа ....................................... 105 1.2.8. Числа Фибоначчи ........................................... 109 1.2.9. Производящие функции ...................................... 118 1.2.10. Анализ алгоритма ......................................... 127 *1.2.11. Асимптотические представления ........................... 138 *1.2.11.1. Символ О .......................................... 138 *1.2.11.2. Формула суммирования Эйлера ....................... 143 *1.2.11.3. Применение асимптотических формул ................. 148 1.3. MIX ............................................................. 156 1.3.1. Описание MIX .............................................. 156 1.3.2. Язык ассемблера компьютера MIX ............................ 178 1.3.3. Применение к перестановкам ................................ 198 1.4. НЕКОТОРЫЕ ФУНДАМЕНТАЛЬНЫЕ МЕТОДЫ ПРОГРАММИРОВАНИЯ ............... 221 1.4.1. Подпрограммы ............................................... 221 1.4.2. Сопрограммы ................................................ 229 1.4.3. Программы-интерпретаторы ................................... 237 1.4.3.1. Имитатор MIX ......................................... 239 *1.4.3.2. Программы трассировки ............................... 248 1.4.4. Ввод и вывод ............................................... 251 1.4.5. История и библиография ..................................... 266 ГЛАВА 2. ИНФОРМАЦИОННЫЕ СТРУКТУРЫ ........................................ 271 2.1. ВВЕДЕНИЕ ..................................................... 271 2.2. ЛИНЕЙНЫЕ СПИСКИ .............................................. 277 2.2.1. Стеки, очереди и деки .................................. 277 2.2.2. Последовательное распределение ......................... 283 2.2.3. Связанное распределение ................................ 295 2.2.4. Циклические списки ..................................... 315 2.2.5. Дважды связанные списки ................................ 322 2.2.6. Массивы и ортогональные списки ......................... 341 2.3. ДЕРЕВЬЯ ...................................................... 352 2.3.1. Обход бинарных деревьев ................................ 362 2.3.2. Представление деревьев в виде бинарных деревьев ........ 380 2.3.3. Другие представления деревьев .......................... 395 2.3.4. Основные математические свойства деревьев .............. 410 2.3.4.1. Свободные деревья ................................ 410 2.3.4.2. Ориентированные деревья .......................... 420 *2.3.4.3. Лемма о бесконечном дереве ...................... 431 *2.3.4.4. Перечисление деревьев ........................... 435 2.3.4.5. Длина пути ....................................... 449 *2.3.4.6. История и библиография .......................... 456 2.3.5. Списки и "сборка мусора" ................................ 459 2.4. МНОГОСВЯЗНЫЕ СТРУКТУРЫ ......................................... 476 2.5. ДИНАМИЧЕСКОЕ ВЫДЕЛЕНИЕ ПАМЯТИ .................................. 488 2.6. ИСТОРИЯ И БИБЛИОГРАФИЯ ......................................... 512 ОТВЕТЫ К УПРАЖНЕНИЯМ ..................................................... 521 ПРИЛОЖЕНИЕ А. ТАБЛИЦЫ ЗНАЧЕНИЙ НЕКОТОРЫХ КОНСТАНТ ........................ 683 A.I. Основные константы (десятичные) ..................................... 683 А.2. Основные константы (восьмеричные) ................................... 684 А.З. Значения гармонических чисел, чисел Бернулли и чисел Фибоначчи ...... 685 ПРИЛОЖЕНИЕ Б. ОСНОВНЫЕ ОБОЗНАЧЕНИЯ ....................................... 687 ПРЕДМЕТНО-ИМЕННОЙ УКАЗАТЕЛЬ .............................................. 692

Разработка библиотек ANSI C и перенос пакета программ для операционной системы NIKOS
11.11.2004 16:58

Автор: Толмачев Григорий Владиславович Дипломная работа: Цель работы – разработка библиотек стандарта ANSI C для операционной системы NIKOS. Достигнутые результаты – созданы следующие библиотеки стандарта ANSI C и с использованием этих библиотек перенесен на платформу ОС NIKOS редактор связей FLTLINK32; компилятор ассемблера — Netwide Assembler.

Пред. | 1 | 2 | 3 | 4 | 5 | След.
Общепрофессиональные ресурсы
Механика
Материаловедение. Технология конструкционных материалов
Безопасность жизнедеятельности
Начертательная геометрия. Инженерная графика
Метрология. Стандартизация. Сертификация
Электротехника и электроника
Специальные ресурсы
Приборостроение
Информатика и информационные технологии
Основные понятия и языки программирования
Программирование на языке высокого уровня
Архитектура и организация компьютеров
Компьютерные сети и телекоммуникации
Системы управления данными
Технология разработки программных систем (программная инженерия)
Информационные системы и технологии
САПР
Моделирование
ИПИ-(CALS)- технологии
Сети ЭВМ и телекоммуникации
Операционные системы
Машиностроение

Типы материалов
Учебные материалы
Учебно-методические материалы
Справочные материалы
Иллюстративные и демонстрационные материалы
Дополнительные информационные материалы
Нормативные документы
Научные материалы
Электронные периодические издания
Электронные библиотеки
Образовательные сайты
Программные продукты
Персоналии
Rambler's Top100 Rambler's Top100
Copyright © 2003 «Инженерное образование»
E-mail: techno@bmstu.ru | тел.: +7 (095) 263-68-63
Вход для редакторов