Основы языка Delphi



       pornozam.com | кликнуть      

Основы языка Delphi

Уже при первом знакомстве со средой разработки, представлении ее возможностей у автора возникает проблема: чтобы описать процесс разработки программы, объяснить, как работает программа, нужно оперировать такими терминами, как объект, событие, свойство, понимание которых на начальном этапе изучения программирования весьма проблематично. Как поступить? Сначала дать описание языка, а затем приступить к описанию среды разработки и процесса программирования в Delphi? Очевидно, что это не лучший вариант. Поэтому при изложении материала принят подход, в основу которого положен принцип соблюдения баланса между языком программирования, методами программирования и средой разработки. В начале книги некоторые понятия, без которых просто невозможно изложение материала, даются на уровне определений.
Книга, которую вы держите в руках, — это не описание языка Delphi или среды разработки Delphi 7 Studio. Это учебное пособие по программированию на языке Delphi в одноименной среде. В нем рассмотрена вся цепочка, весь процесс создания программы: от разработки диалогового окна и функций обработки событий до создания справочной системы и установочного диска.
Цель этой книги может быть сформулирована так: научить программировать в среде Delphi, т. е. создавать законченные программы различного назначения: от простых однооконных приложений до вполне профессиональных программ работы с базами данных.
Научиться программировать можно только программируя, решая конкретные задачи. При этом достигнутые в программировании успехи в значительной степени зависят от опыта. Поэтому, чтобы получить максимальную пользу от книги, вы должны работать с ней активно. Не занимайтесь просто чтением примеров, реализуйте их с помощью вашего компьютера. Не бойтесь экспериментировать — вносите изменения в программы. Чем больше вы сделаете самостоятельно, тем большему вы научитесь!

Введение
Для объектов редактор кода выводит список свойств и методов. Как только программист наберет имя объекта (компонента) и точку, так сразу на экране появляется окно подсказки — список свойств и методов этого объекта (В30). Перейти к нужному элементу списка можно при помощи клавиш перемещения курсора или набрав на клавиатуре несколько первых букв имени нужного свойства или метода. После того как будет выбран нужный элемент списка и нажата клавиша Enter, выбранное свойство или метод будут вставлены в текст программы.

Система подсказок
В29 Пример подсказки
В30 Редактор кода автоматически
В31 Окно Code Explorer
Навигатор кода
Шаблоны кода
В32 Список шаблонов кода
В33 В поля диалогового
В34 Пример шаблона кода программиста
Справочная система

Основы программирования
Программа, работающая на компьютере, нередко отождествляется с самим компьютером, т. к. человек, использующий программу, "вводит в компьютер" исходные данные, как правило, при помощи клавиатуры, а компьютер "выдает результат" на экран, на принтер или в файл. На самом деле, преобразование исходных данных в результат выполняет процессор компьютера. Процессор преобразует исходные данные в результат по определенному алгоритму, который, будучи записан на специальном языке, называется программой.

Алгоритм и программа
Основные символы используемые
Программа Стоимость покупки
Алгоритм программы вычисления
Окно (форма) программы Стоимость покупки
Компиляция
Схема работы компилятора
Язык программирования Delphi
Тип данных
Целый тип

Управляющие структуры языка Delphi
На практике редко встречаются задачи, алгоритм решения которых является линейным. Часто оказывается, что алгоритм решения даже элементарной задачи не является линейным. Например, пусть надо вычислить по формуле ток в электрической цепи. Если предположить, что пользователь всегда будет вводить верные данные, то алгоритм решения этой задачи действительно является линейным. Однако полагаться на то, что пользователь будет вести себя так, как надо программе, не следует. Формула расчета предполагает, что величина сопротивления не равна нулю.

Инструкция goto
Простое число (использование инструкции goto)
Условие
Два варианта алгоритма решения одной задачи
Операторы сравнения
Выполнение логических операций
Выбор
Инструкция if
Алгоритм реализуемый инструкцией ifthenelse
Алгоритм реализуемый инструкцией ifthen

Символы и строки
Компьютер может обрабатывать не только числовую информацию, но и символьную. Язык Delphi оперирует с символьной информацией, которая может быть представлена как отдельными символами, так и строками (по-cледовательностью символов).

Символы
Форма приложения во время разработки
Форма приложения во время работы
Таблица символов
Таблица символов unit tablsim_;
Таблица символов содержит только
Строки
Сравнение строк
Операции со строками
Функция length

Консольное приложение
Хотя данная книга посвящена программированию в Windows, нельзя обойти вниманием так называемые консольные приложения. Консоль — это монитор и клавиатура, рассматриваемые как единое устройство. Консольное приложение — программа, предназначенная для работы в операционной системе MS-DOS (или в окне DOS), для которой устройством ввода является клавиатура, а устройством вывода — монитор, работающий в режиме отображения символьной информации (буквы, цифры и специальные знаки).

Инструкции write и writeln
Инструкции read и readln
Создание консольного приложения
Шаблон главной процедуры приложения

Массивы
Массив — это структура данных, представляющая собой набор переменных одинакового типа, имеющих общее имя. Массивы удобно использовать для хранения однородной по своей природе информации, например, таблиц и списков.

Алгоритм простого перебора
Диалоговое окно программы Поиск в массиве
Поиск в массиве
Метод бинарного поиска
Выбор среднего элемента при бинарном поиске
Алгоритм бинарного поиска в упорядоченном
Диалоговое окно программы Бинарный поиск
Свойства компонента CheckBox
Компонент CheckBox
Значения свойств компонента CheckBox1

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

Использование модуля
Использование функции из модуля программиста
Структура проекта в окне Project Manager
Функция
Объявление функции
Примеры функций
Использование функции
Окно программы Поездка на дачу
Пример использования функций программиста
Процедура

Файлы
Программы, которые до настоящего момента рассматривались в книге, выводили результат своей работы на экран. Вместе с тем, Delphi позволяет сохранить результаты работы программы на диске компьютера, в файле, что дает возможность использовать эти данные для дальнейшей обработки, минуя процесс их ввода с клавиатуры.

Открытие файла
Обработка ошибки открытия
Чтение данных из файла
Чтение чисел
Чтение строк
Примеры чтения строк из файла
Конец файла
Окно программы Чтение из файла
Чтение из файла
Объявление файла

Типы данных, определяемые программистом
До этого момента мы работали только с данными, имеющими статическую, неизменяемую во время исполнения программы, структуру. Во время работы программы могли изменяться только значения переменных, в то время как количество переменных всегда оставалось постоянным (отсюда и название — статические структуры). Это не всегда удобно.

Динамические структуры данных
Указатели
Переменнаяуказатель
Динамические переменные
Создание использование
Списки
Графическое изображение списка
Добавление элементов в список
Окно программы Динамический список
Добавление элемента

Введение в ООП
Объектно-ориентированное программирование (ООП) — это методика разработки программ, в основе которой лежит понятие объект. Объект — это некоторая структура, соответствующая объекту реального мира, его поведению. Задача, решаемая с использованием методики ООП, описывается в терминах объектов и операций над ними, а программа при таком подходе представляет собой набор объектов и связей между ними.

Класс
Объект
Метод
Инкапсуляция и свойства объекта
Наследование
Директивы protected и private
Полиморфизм и виртуальные методы
Диалоговое окно программы Полиморфизм
Демонстрация полиморфизма
Классы и объекты Delphi

Графические возможности Delphi
Программа выводит графику на поверхность объекта (формы или компонента Image). Поверхности объекта соответствует свойство canvas. Для того чтобы вывести на поверхность объекта графический элемент (прямую линию, окружность, прямоугольник и т. д.), необходимо применить к свойству canvas этого объекта соответствующий метод. Например, инструкция Form1.Canvas.Rectangle (10,10,100,100) вычерчивает в окне программы прямоугольник.

Окружность и эллипс
Значения параметров метода Ellipse
Дуга
Значения параметров метода Arc
Прямоугольник
Метод RoundRec вычерчивает прямоугольник
Многоугольник
Сектор
Значения параметров метода Pie
Точка

Мультимедиа возможности Delphi
Хотя анимация, находящаяся в AVI-файле может сопровождаться звуковыми эффектами (так ли это — можно проверить, например, при помощи стандартной программы Проигрыватель Windows Media), компонент Animate обеспечивает воспроизведение только изображения. Для полноценного воспроизведения сопровождаемой звуком анимации следует использовать компонент меdiaPlayer.

Значок компонента Animate
Свойства компонента Animate
На вкладке Сводка информация об AVIфайле
Форма программы Просмотр анимации
Значения свойств компонента Animate1
Свойство
Использование компонента Animate
Значение comonAVi определяет анимацию
Компонент MediaPlayer
Значок компонента MediaPlayer

Зарезервированные слова и директивы
Сначала выполняются инструкции цикла, которые расположены между repeat и until. Затем вычисляется значение выражения Условие, и если оно равно False, то инструкции цикла выполняются еще раз. И так до тех пор, пока значение выражения Условие не станет равным True.

Инструкция repeat
Инструкция while
Безусловный переход
Объявление функции
Объявление процедуры
Стандартные функции и процедуры
Математические функции
Преобразования
Работа со строками и символами
Структура модуля

Десятичные и двоичные числа
В обыденной жизни человек имеет дело с десятичными числами. В десятичной системе счисления для представления чисел используются цифры от О до 9. Значение числа определяется как сумма произведений цифр числа на весовой коэффициент, определяемый местом цифры в числе.

Десятичные и двоичные числа
П3 1
П3 2
Память компьютера

Иллюстрированный самоучитель по Delphi 7 для начинаюших

В последнее время резко возрос интерес к программированию. Это связано с развитием и внедрением в повседневную жизнь информационно-коммуникационных технологий. Если человек имеет дело с компьютером, то рано или поздно у него возникает желание, а иногда и необходимость, программировать. Среди пользователей персональных компьютеров в настоящее время наиболее популярно семейство операционных систем Windows и, естественно, что тот, кто собирается программировать, стремится писать программы, которые будут работать в этих системах.
Несколько лет назад рядовому программисту оставалось только мечтать о создании собственных программ, работающих в среде Windows, т. к. единственным средством разработки был Borland C++ for Windows, явно ориентированный на профессионалов, обладающих серьезными знаниями и опытом.
Бурное развитие вычислительной техники, потребность в эффективных средствах разработки программного обеспечения привели к появлению систем программирования, ориентированных на так называемую "быструю разработку", среди которых можно выделить Borland Delphi и Microsoft Visual Basic. В основе систем быстрой разработки (RAD-систем, Rapid Application Development — среда быстрой разработки приложений) лежит технология визуального проектирования и событийного программирования, суть которой заключается в том, что среда разработки берет на себя большую часть рутинной работы, оставляя программисту работу по конструированию диалоговых окон и функций обработки событий. Производительность программиста при использовании RAD-систем -фантастическая! Delphi — это среда быстрой разработки, в которой в качестве языка программирования используется язык Delphi. Язык Delphi — строго типизированный объектно-ориентированный язык, в основе которого лежит хорошо знакомый программистам Object Pascal.

Система подсказок
Система подсказок существенно облегчает процесс подготовки текста программы, избавляет от рутины. Кроме того, если во время набора программы подсказка не появилась, это значит, что программист допустил ошибку: скорее всего, неверно набрал имя процедуры или функции

Система подсказок
Навигатор кода
Шаблоны кода
Справочная система
Структура проекта
Сохранение проекта
Компиляция
Ошибки
Предупреждения и подсказки
Запуск программы

Программа
Программа, работающая на компьютере, нередко отождествляется с самим компьютером, т. к. человек, использующий программу, "вводит в компьютер" исходные данные, как правило, при помощи клавиатуры, а компьютер "выдает результат" на экран, на принтер или в файл. На самом деле, преобразование исходных данных в результат выполняет процессор компьютера. Процессор преобразует исходные данные в результат по определенному алгоритму, который, будучи записан на специальном языке, называется программой.

Алгоритм и программа
Компиляция
Язык программирования Delphi
Тип данных
Целый тип
Вещественный тип
Символьный тип
Строковый тип
Логический тип
Переменная

Управляющие структуры языка Delphi
На практике редко встречаются задачи, алгоритм решения которых является линейным. Часто оказывается, что алгоритм решения даже элементарной задачи не является линейным. Например, пусть надо вычислить по формуле ток в электрической цепи. Если предположить, что пользователь всегда будет вводить верные данные, то алгоритм решения этой задачи действительно является линейным.

Условие
Выбор
Инструкция case
Циклы
Инструкция for
Инструкция while

Символы и строки
Компьютер может обрабатывать не только числовую информацию, но и символьную. Язык Delphi оперирует с символьной информацией, которая может быть представлена как отдельными символами, так и строками (поcледовательностью символов).

Символы и строки
Символы
Строки
Операции со строками
Функция length
Функция роs

Инструкции write и writeln
Консольные приложения удобны как иллюстрации при рассмотрении общих вопросов программирования, когда надо сосредоточиться на сути проблемы, а также как небольшие утилиты "для внутреннего потребления".

Консольное приложение
Инструкции write и writeln
Инструкции read и readln
Создание консольного приложения

Алгоритм простого перебора
Ниже приведен текст программы поиска в массиве целых чисел. Перебор элементов массива осуществляется инструкцией repeat, в теле которой инструкция if сравнивает текущий элемент массива с образцом и присваивает переменной found значение true, если текущий элемент и образец равны.

Метод бинарного поиска
Сортировка массива
Сортировка методом прямого выбора
Сортировка методом обмена
Многомерные массивы
Объявление массива
Операции с массивами
Вывод массива
Ввод массива
Использование компонента StringGrid

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

Использование модуля
Функция
Объявление функции
Процедура
Объявление процедуры
Использование процедуры
Повторное использование функций и процедур
Создание модуля

Открытие файла
Если имя файла указано неверно, например файла с указанным именем на диске нет, то возникает ошибка времени выполнения программы. Следует отметить, что другой причиной возникновения ошибки при открытии файла, находящегося на гибком диске, может быть отсутствие готовности дисковода, проще говоря, отсутствие диска в накопителе.

Конец файла
Объявление файла
Назначение файла
Вывод в файл

Указатели
Обычно переменная хранит некоторые данные. Однако помимо обычных, существуют переменные, которые ссылаются на другие переменные. Такие переменные называются указателями. Указатель — это переменная, значением которой является адрес другой переменной или структуры данных

Указатели
Динамические переменные
Списки
Упорядоченный список
Добавление элемента в список
Перечисляемый тип
Интервальный тип
Запись
Объявление записи
Инструкция with

Класс
Классический язык Pascal позволяет программисту определять свои собственные сложные типы данных — записи (records). Язык Delphi, поддерживая концепцию объектно-ориентированного программирования, дает возможность определять классы.

Класс
Метод
Инкапсуляция и свойства объекта
Наследование
Директивы protected и private
Полиморфизм и виртуальные методы

Окружность и эллипс
Цвет, толщина и стиль линии эллипса определяются значениями свойства Реп, а цвет и стиль заливки области внутри эллипса — значениями свойства Brush поверхности (canvas), на которую выполняется вывод.

Графические возможности Delphi
Окружность и эллипс
Дуга
Прямоугольник
Многоугольник
Точка
Вывод иллюстраций
Битовые образы
Мультипликация
Метод базовой точки

Компонент Animate
Хотя анимация, находящаяся в AVI-файле может сопровождаться звуковыми эффектами (так ли это — можно проверить, например, при помощи стандартной программы Проигрыватель Windows Media), компонент Animate обеспечивает воспроизведение только изображения.

Компонент Animate
Компонент MediaPlayer
Воспроизведение звука
Запись звука
Просмотр видеороликов и анимации
Создание анимации

Понятие рекурсии
Рекурсивным называется объект, частично состоящий или определяемый с помощью самого себя. Факториал — это классический пример рекурсивного объекта. Факториал числа п — это произведение целых чисел от 1 до п. Обозначается факториал числа п так: n!.

Понятие рекурсии
Поиск файлов
Кривая Гильберта
Поиск пути

Наблюдение значений переменных
Во время отладки, в частности, при выполнении программы по шагам, довольно часто бывает полезно знать, чему равно значение той или иной переменной. Отладчик позволяет наблюдать значения переменных программы.

Наблюдение значений переменных
Предотвращение и обработка ошибок
Отладчик
Точки останова программы
Добавление точки останова
Изменение характеристик точки останова

Использование редактора Microsoft Word
Сначала нужно набрать текст разделов справки (каждый раздел в отдельном файле). Заголовки разделов и подразделов нужно оформить одним из стилей Заголовок. Заголовки разделов, как правило, оформляют стилем Заголовок1, подразделов — Заголовок2.

Использование HTML Help Workshop
Основы HTML
Создание файла справки
Вывод справочной информации
Файл документа справочной информации
Создание справочной системы
Включение в проект файла справки
Характеристики окна справочной системы
Компиляция проекта
Доступ к справочной информации

Представление данных
Используя кнопки мыши, игрок может открыть клетку или поставить в нее флажок, указав тем самым, что в клетке находится мина. Клетка открывается щелчком левой кнопки мыши, флажок ставится щелчком правой. Если в клетке, которую открыл -игрок, есть мина, то происходит взрыв (сапер ошибся, а он, как известно, ошибается только один раз) и игра заканчивается.

Правила
Представление данных
Форма приложения
Начало игры
Справочная информация
Информация о программе
Листинги
Требования к программе
Файл теста
Форма приложения

Настройка палитры компонентов
Delphi предоставляет возможность программисту создать свой собственный компонент, поместить его на одну из вкладок палитры компонентов и использовать при разработке приложений точно так же, как и другие компоненты Delphi.

Компонент программиста
Настройка палитры компонентов
Выбор базового класса
Создание модуля компонента
Тестирование модуля компонента
Установка компонента
Ресурсы компонента
Установка
Ошибки при установке компонента
Тестирование компонента

Создание псевдонима
Псевдоним базы данных создается при помощи входящей в Delphi утилиты BDE Administrator, которая запускается из Windows выбором из меню Программы | Borland Delphi 7 команды BDE Administrator.

Базы данных
Создание псевдонима
Создание таблицы
Программа управления базой данных
Доступ к базе данных (таблице)
Просмотр базы данных
Режим формы
Режим таблицы
Динамически создаваемые псевдонимы
Классификация баз данных

Программа InstallShield Express
Одним из популярных инструментов создания инсталляционных программ является пакет InstallShield Express. Borland настоятельно рекомендует использовать именно эту программу, поэтому она есть на установочном диске Borland Delphi 7 Studio.

Программа InstallShield Express
Новый проект
Структура
Выбор устанавливаемых компонентов
Конфигурирование системы пользователя
Настройка диалогов
Системные требования
Создание образа установочного диска

Заключение
Многие интересные темы остались за рамками книги. Вместе с тем, в книге рассмотрены фундаментальные понятия программирования, базовые структуры данных и методы работы с ними, основные возможности среды разработки Delphi и методы работы в ней — все то, что должен знать и уметь начинающий программист, стремящийся стать профессионалом.

Зарезервированные слова и директивы
Сначала выполняются инструкции цикла, которые расположены между repeat и until. Затем вычисляется значение выражения Условие, и если оно равно False, то инструкции цикла выполняются еще раз. И так до тех пор, пока значение выражения Условие не станет равным True.

Инструкция repeat
Инструкция while
Инструкция GoTo
Объявление функции
Структура модуля
Основные типы данных
Строки
Запись
Инструкция if
Инструкция case

Кодировка символов в Windows
В Windows в основном используется кодировка, которая называется ANSI. Разновидность набора ANSI, содержащая символы русского алфавита, называется Windows-1251.

Десятичные и двоичные числа
В обыденной жизни человек имеет дело с десятичными числами. В десятичной системе счисления для представления чисел используются цифры от О до 9. Значение числа определяется как сумма произведений цифр числа на весовой коэффициент, определяемый местом цифры в числе.

Десятичные и двоичные числа
Память компьютера

Приложение
Рекомендуемая дополнительная литература

Описание программ диска
На прилагаемой к книге дискете находится файл Проекты.ziр, который содержит программы (проекты), приведенные в книге в качестве примеров. Скопируйте файл Проекты.ziр в каталог проектов Delphi и, используя один из стандартных архиваторов, например, WinZip, распакуйте его.

Delphi и Windows API для защиты секретов
Сразу договоримся, что никакая система защиты информации не может быть абсолютно надежной. Речь может идти лишь о некоторой степени надежности и рисках, связанных со взломом защиты. Поэтому с практической точки зрения есть смысл оценить важность данных и экономно подстелить соломку на случай неудачи. В наших приложениях, например, мы выдаем кредит доверия операционной системе Windows, несмотря на закрытость ее кода.

Криптографические возможности Windows
Взаимодействие с CryptoAPI
Знакомство с криптопровайдерами
Шифрование с использованием паролей
Проблема распределения ключей
Целостность и аутентичность информации
Контейнеры ключей
Создание ключевых пар
Обмен ключами
Электронная цифровая подпись

Использование открытых интерфейсов среды программирования Delphi
Одной и наиболее сильных сторон среды программирования Delphi является ее открытая архитектура, благодаря которой Delphi допускает своего рода метапрограммирование, позволяя “программировать среду программирования”. Такой подход переводит Delphi на качественно новый уровень систем разработки приложений и позволяет встраивать в этот продукт дополнительные инструментальные средства, поддерживающие практически все этапы создания прикладных систем

Использование открытых интерфейсов Delphi
Использование открытых интерфейсов Delphi - 2
Использование открытых интерфейсов Delphi - 3
Использование открытых интерфейсов Delphi - 4
Использование открытых интерфейсов Delphi - 5
Использование открытых интерфейсов Delphi - 6

Язык С в вопросах и ответах

Некоторые вопросы появляются вновь и вновь в этой конференции. Это хорошие вопросы, и ответы на них могут быть далеко не очевидны, но каждый раз ресурсы Сети и время читателя тратятся на повторяющиеся отклики и на нудные поправки к некорректным ответам, возникновение которых неизбежно.
В этом документе, публикуемом ежемесячно, делается попытка ответить на такие вопросы ясно и кратко, чтобы обсуждения стали более плодотворными, а не возвращались постоянно к основным принципам.
Никакой список вопросов и ответов не заменит тщательного изучения хорошего учебника или справочника по языку С. Тому, кто с интересом участвует в этой конференции, должно быть также интересно прочесть одну или несколько таких книг, желательно не один раз. Качество некоторых книг и руководств по омпилятору нельзя, к сожалению, назвать высоким; есть в них и попытки увековечить некоторые мифы, которые данный документ пытается развеять.

Язык С в вопросах и ответах
Несколько заслуживающих внимания книг по С перечислены в библиографии. Многие вопросы и ответы содержат ссылки на эти книги для дальнейшего изучения интересующимся и увлеченным читателем.

Язык С в вопросах и ответах
Язык С в вопросах и ответах - 2
Язык С в вопросах и ответах - 3
Язык С в вопросах и ответах - 4
Язык С в вопросах и ответах - 5
Язык С в вопросах и ответах - 6
Язык С в вопросах и ответах - 7
Язык С в вопросах и ответах - 8
Язык С в вопросах и ответах - 9
Язык С в вопросах и ответах - 10

Oбъекты языка VHDL
Сигналы, переменные, константы и другие объекты языка VHDL служат для содержания и переноса некоторых значений. Эти значения могут быть присвоены объектам в одном месте и затем использованы в другом месте программы, как операнды в выражениях, функциях и т.п. На данной страничке приведены объекты языка и синтаксис их объявления (декларации).

Последовательный оператор присваивания
Изучение VHDLПоследовательные операторы
Оператор ожидания события wait.
Оператор if.
Оператор цикла.
Оператор цикла. - 2
Вызов процедуры.
Возврат из процедуры или функции.
Изучение VHDLМетодика HALLO, WORLD
Кое-что о VHDL- симуляторах.

Язык программирования Оберон-2
Оберон-2 - язык программирования общего назначения, продолжающий традицию языков Паскаль и Modula-2. Его основные черты - блочная структура, модульность, раздельная компиляция, статическая типизация со строгим контролем соответствия типов (в том числе межмодульным), а также расширение типов и связанные с типами процедуры.

Синтаксис
Словарь и представление
Словарь и представление - 2
Объявления и области действия
Объявления констант
Объявления типа
Основные типы
Тип массив
Тип запись
Тип указатель

Языки пространственных запросов
Пользователи взаимодействуют с данными, находящимися в СУБД, посредством языка запросов. В отличие от традиционных языков программирования языки запросов к базам данных относительно просты в изучении и использовании. В этом разделе мы обсудим два таких языка запросов. Первый из них, РА, является более формальным, нежели второй, и обычно не реализуется в коммерческих базах данных.

База данных World
База данных World - 2
Реляционная алгебра
Операции выборки и проекции
Операции над множествами
Операции над множествами - 2
Операция соединения
Условные соединения
Естественное соединение
Элементарное введение в SQL

Язык программирования PostScript
PostScript - язык программирования, предназначенный для воспроизведения на принтере любой заданной графической страницы. Он располагает большим числом графических операторов, которые можно комбинировать любыми способами в более сложные процедуры и функции.

Язык программирования PostScript
Язык программирования PostScript - 2
Язык программирования PostScript - 3
Язык программирования PostScript - 4
Язык программирования PostScript - 5
Язык программирования PostScript - 6
Язык программирования PostScript - 7
Язык программирования PostScript - 8
Язык программирования PostScript - 9
Язык программирования PostScript - 10

Программирование на Shell
Среди операционных систем особое место занимает Unix. Беспрецедентным является то, что ОС Unix может работать практически на всех выпускаемых платформах. UNIX - это стандарт де факто открытых и мобильных операционных систем. (поскольку название UNIX запатентовано компанией ATT - различные юниксы называются различно: SCO UNIX, BSDI, Solaris, Linux, DG/UX, AIX и т.д.).

Простейшие средства shell
Структура команд
Группировка команд.
Группировка команд. - 2
Перенаправление команд
Перенаправление команд - 2
Генерация имен файлов.
Командные файлы.
Среда shell (переменные и параметры)
Shell-переменные

Объектно-ориентированное программирование.Язык Смолток
Язык Смолток начал разрабатываться с начала 70-х гг. в исследовательском центре автоматизации учрежденческого труда ПАРС в Пало-Альто (Калифорния, США) фирмой "Ксерокс". В основу его были положены идеи алгоритмического языка Simula, а также идеи Алана Кея (Alan Kay), суть которых сводилась к созданию однородной объектно-ориентированной среды программирования, основанной на малом числе взаимосвязанных понятий.

Объектно-ориентированные языки
Основные понятия языка Смолток
Основные понятия языка Смолток - 2
Сообщения
Сообщения - 2
Задание классов
Переменные
Псевдопеременные
Иерархия классов. Наследование и полиморфизм
Вызов метода через сообщения

Программирование на Турбо-Прологе
Турбо-Пролог - это осуществленная компанией Borland International реализация языка программирования высокого уровня Пролог компиляторного типа. Ее отличает большая скорость компиляции и счета. Турбо-Пролог предназначен для выдачи ответов, которые он логически выводит при посредстве своих мощных внутренних процедур.

Программирование на Турбо-Прологе
Программирование на Турбо-Прологе - 2
Программирование на Турбо-Прологе - 3
Программирование на Турбо-Прологе - 4
Программирование на Турбо-Прологе - 5
Программирование на Турбо-Прологе - 6
Программирование на Турбо-Прологе - 7
Программирование на Турбо-Прологе - 8
Программирование на Турбо-Прологе - 9
Программирование на Турбо-Прологе - 10

Интерпретатор командного языка shell
Обычно shell ждет завершения выполнения команды. Однако имеется возможность запустить задачу в асинхронном режиме, т.е. без ожидания ее завершения. Для этого после команды (после всех ее аргументов и указаний о переназначении ввода-вывода) надо поставить знак . При этом по умолчанию стандартный ввод команды назначается на пустой файл /dev/null.

Конвейер
Метасимволы, генерация имен файлов
Комментарии
Подстановка результатов выполнения команд
Переменные и подстановка их значений
Переменные и подстановка их значений - 2
Специальные переменные
Управляющие конструкции
Цикл ДЛЯ
Оператор выбора

Учебник по VRML 97

Изложение опирается на спецификацию VRML97 ( - это то, что Вам обязательно надо иметь под рукой!), личный опыт, разнообразные англоязычные tutorial'ы и другие источники.
Все, что мне попадалось в сети, касающееся VRML, я сливал на винт и накопил множество файлов. К сожалению, не на всех из них проставлено авторство, а я уже не помню, где что брал. Поэтому иногда я ссылаюсь не на оригиналы, затерявшиеся где-то в сети, а на копии, лежащие в виде файлов у меня. Чтобы отличать их от моих собственных документов, я сохранил исходный стиль. Если же Вы нашли свой файл здесь или уже видели такое в сети - просьба намылить, где именно лежат оригиналы!
Что касается англоязычных public domain документов (типа спецификации VRML97, разнообразных FAQ'ов и т.д.), то, возможно постепенно, как соберусь с силами, переведу на русский. Я, например, так и не нашел на русском спецификацию VRML97, а от этого документа пляшут создатели и редакторов, и броузеров!

Программы для создания 3D объектов и миров
Вы найдете старенький обзор некоторых подобных программ. От себя могу добавить, что лично я работал с Cosmo Worlds 2.0, Internet Space Builder 3 и RenderSoft VRML Editor 1.72. Сильно рекомендую Cosmo Worlds 2.0 (жаль, что силиконцы продали это отделение Platinum :(, а там разработка увязла). Есть полнофункциональная ограниченная по времени демка, которую я долго тащил с sgi.com, которая лежит у меня на ftp-сервере

Программы для создания текстур
Программы для создания звука
Броузеры
Структура файла. Единицы измерения. Оси
Примитивы и управление положением объектов
Box (паралеллепипед)
Sphere (сфера)
Cone (конус)
Cylinder (цилиндр)
Объекты, строящиеся по набору вершин

VRML. Справка по языку
VRML (Virtual Reality Modeling Language) - это язык и формат файлов описания интерактивных трехмерных объектов и виртуальных миров. VRML спроектирован для использования в Internet (и является de facto стандартом 3D графики в Сети). Однако VRML файлы можно использовать и в локальных системах. VRML также является перспективным универсальным форматом хранения и обмена мультимедиа-информашией.

VRML как посредник
VRML как язык описания объектов
Структура VRML представления
Структура VRML файла
Классы узлов (node types)
Объекты
Повторное использование
Поля
Список классов ("Node reference")
Задание геометрии

VRML в примерах
Vrml-файл представляет собой обычный текстовый файл, интерпретируемый браузером. Поскольку большинство браузеров не имеет встроенных средств поддержки vrml, для просмотра Vrml-документов необходимо подключить вспомогательную программу - Vrml-браузер, например, Live3D

Единицы измерения
Заголовок VRML-файла
Примитивы VRML
Куб
Сфера
Конус
Цилиндр
Цвет и текстура
Изменение координат
Вращение

XTML-справочник

Коротко о справочнике Это не перевод скучной спецификации и не попытка написать учебник. Задача справочника ? коротко и ясно описать действие всех элементов языка HTML, которые вы можете без опаски использовать при создании Internet-страниц, не боясь, что какая-то версия какого-либо браузера сделает вам неприятный сюрприз.
Иначе говоря, здесь представлен "классический" HTML, употребляемый профессиональными web-разработчиками. И ничего лишнего.
Все теги, не описанные в этом справочнике, можете смело выбросить в помойку.
Как устроен справочник
Очень просто. Эталоном построения справочника стали классические брошюры по всевозможным языкам программирования, описывающие элементы языка парой "элемент ? описание".

Это вам пригодится
Справочник нерассчитан лишь наначинающих. Я частенько пользуюсь им какшпаргалкой если что-нибудь подзабыл. Несмотря нато, чтоHTML ? штука очень простая, иногда из головы напрочь вылетает какая-нибудь мелочь. Например, что у элемента HR есть жутко полезный атрибут

BODY
Указывает начало иконец тела HTML-документа. Между начальным иконечным тегами содержится текст документа, изображения итаблицы. Одним словом, все HTML-элементы, отвечающие заотображение документа, управление им игипертекстовые ссылки. Элемент BODY должен встречаться вдокументе неболее одного раза

BODY
Формы
Гиперссылки
Списки
Объекты
Таблицы
Текстовые блоки
Форматирование текста

FORM
Используется для создания заполяемой формы. Необходимо присутствие начального иконечного тегов. Внутри элемента FORM разрешается использовать большинство HTML-элементов

FORM
INPUT
INPUT - 2
INPUT - 3
INPUT - 4
OPTION
SELECT
TEXTAREA

FRAME
Определяет фрейм иего свойства внутри FRAMESET-структуры. (см. элемент FRAMESET)

FRAME
FRAME - 2
FRAMESET
FRAMESET - 2

BASE
Указывает базовый адрес текущего документа (URL), который станет отправной точкой для расчета относительных адресов внутри документа. Элемент неимеет конечного тега. Обязательно присутствие хотя бы одного из атрибутов.

BASE
HEAD
LINK
LINK - 2
META
STYLE

Заголовок HTML-документа
Создается спомощью элемента HEAD, между тегами которого размещаются элементы, содержащие техническую информацию о документе. Заголовок обычно располагается дотела документа (см. структуру HTML-документа).

Фреймы
Заголовок HTML-документа
Структура HTML-документа. Начинаем работу.
Структура HTML-документа. Начинаем работу. - 2
Навигационные карты
Скрипты

Anchor
Самый необходимый элемент, без которого Интернет просто немыслим. Используется для создания ииспользования гипертекстовых ссылок.

A
A - 2
A - 3
A - 4

Таблица базовых цветов
Это основные цвета, используемые вHTML. Именно эти цвета используются дизайнерами для создания страниц поисковых систем, атакже вдизайне сайтов согромной аудиторией, то есть используются там, где нужна максимальная совместимость. Все они прекрасно отображаются даже в256-цветном режиме работы видеокарты. Несомненно, для оригинального цветового дизайна обычных сайтов их маловато.

Форматы изображений ? GIF или JPG?
Форматы изображений ? GIF или JPG? - 2
Полезные линки
ПРИЛОЖЕНИЕ 3. Таблица MIME-типов
Обозначения специальных символов вHTML 4
HTMLlat1 ? Latin 1
HTMLlat1 ? Latin 1 - 2
HTMLlat1 ? Latin 1 - 3
HTMLlat1 ? Latin 1 - 4
Latin Extended-B

Definition Description
Открывает и закрывает список определений (терминов иих описаний). Определения задаются спомощью элементов DT иDD.

DD
DL
DT
LI
MENU, DIR
OL

AREA
Создает область карты, определенной спомощью элемента MAP. Элемент должен располагаться между начальным иконечным тегами элемента MAP. Не имеет конечного тега.

AREA
AREA - 2

APPLET
Имеет начальный иконечный теги. Используется для вставки вHTML-страницу Java-апплетов ? программ наязыке Java, исполняемых браузером навашем компьютере. Java-апплет исполняется вспециально отведенном для него месте, отображаясь вдокументе наподобие картинки. Поэтому многие атрибуты элемента APPLET сходны сатрибутами элемента IMG.

APPLET
APPLET - 2
EMBED
EMBED - 2
IMG
IMG - 2
IMG - 3
IMG - 4
NOEMBED
PARAM

NOSCRIPT
Определяет текст, который будет отображен, если браузер покакой-либо причине неработает со скриптами.

NOSCRIPT
SCRIPT

CAPTION
Задает заголовок таблицы. Содержание заголовка должно состоять только из текста. Использование блочных элементов вэтом случае недопустимо.

CAPTION
TABLE
TABLE - 2
Примеры таблиц
TD иTH
TD иTH - 2

ADDRESS
Находящийся между начальным иконечным тегами текст оформляется какпочтовый адрес. Чаще всего оформление выражается ввыделении строки адреса курсивом.

ADDRESS
BLOCKQUOTE
BR
DIV
HR
H1,H2,...H6
LISTING, PLAINTEXT, XMP
P

BASEFONT
Не имеет конечного тега. Определяет основной шрифт, которым должен отображаться текст документа. Впоследствии вы можете легко изменить шрифт влюбой части документа, используя элемент FONT. Действие элемента BASEFONT нераспространяется натекст, заключенный вячейки таблиц

BIG
CITE
CODE, SAMP
EM
FONT
I
KBD
S, STRIKE
SMALL
STRONG

На работе и дома
Практически каждый сайт в той или иной мере страдает эгоизмом. А выражается этот эгоизм, как правило, в лени его создателя. Сейчас дизайнеру лень добиваться того, чтобы его сайт нормально смотрелся на браузерах, которые почему-то неустановлены на рабочем компьютере дизайнера. "Третий Нетскейп? Вы шутите! Им уже давно никто непользуется, посмотрите статистику!" ? вот его основной аргумент.

За что надо отрывать руки
За что надо отрывать руки - 2
Дизайн vs Контент
За что я люблю англоязычный Интернет
За что я люблю англоязычный Интернет - 2
Как работают профи
Но почему?
А какже оформление?
F5 или снова о клонировании
F5 или снова о клонировании - 2

Xtml - Первые шаги
Сядем, отдохнем, поговорим о планах на будущее: как рисовать, как пользоваться графическими редакторами в этом учебнике я вас учить не буду, т.к. это не относится к теме, которую мы изучаем. Так что если вы хотите изучить графические редакторы, чтобы самим создавать изображения для своего сайта, то в этом вам поможет специальный раздел на нашем сайте - Графика

Ступенька 1
Ступенька 2
Ступенька 3
Ступенька 4
Ступенька 5
Ступенька 6
Ступенька 7
Ступенька 8
Ступенька 9
Ступенька 10

Введение в программирование на Лиспе

Система программирования на языке Лисп представляет собой комплекс функций для обработки различных структур данных, включая многоуровневые списки, числа, строки, файлы и их имена. Программа на Лиспе может дополнять их комплекс. Функции встраиваются в систему как атомы, имеющие определения на уровне исполнимого кода или языка программирования. В систему входит компилятор, обеспечивающий перевод функций с уровня языка программирования на уровень исполнимого кода, поэтому нет формальной разницы между определениями разного уровня. В целом работа Лисп-системы обеспечивается интерпретатором, вычисляющим отдельные выражения, последовательность которых и есть программа.

Установка Лисп-системы
Баланс скобок проще всего поддерживать, набирая пары "()" и вставляя потом между ними нужный текст. При наборе закрывающей скобки система на полсекунды перемещает курсор на соответствующую левую скобку, что также помогает замечать нарушения в балансе скобок.

Диалог с Лисп-системой
Запуск Лисп-программ из файлов
Пошаговое вычисление
Сайты с Лисп-системами
Установка Лисп-системы
Footnote.1.1
Footnote.1.2
Footnote.1.4
Footnote.1.5
Footnote.2.1

Основы символьной обработки
Идеальный Лисп изначально поддерживает программирование в функциональном стиле. Его основа - выбор подходящей структуры данных и базового набора функций над выбранной структурой. Информационная обработка в языке Лисп отличается от стандартных подходов к программированию тремя важными особенностями

Структуры данных
Точечная нотация
Выводы:
Пример 1
Пример 2
Footnote.1.1
Footnote.2.1
Основы символьной обработки
Структуры данных
Структуры данных - 2

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

Специальные функции
Специальные функции - 2
Специальные функции - 3
Рекурсивные функции: определение
Рекурсивные функции: определение - 2
Рекурсивные функции: определение - 3
Рекурсивные функции: определение - 4
Выводы:
Пример 1
Пример 2

Основные методы обработки списков
PAIRLIS - функция трех аргументов x, y, al, строит список пар соответствующих элементов из списков x и y - связывает и присоединяет их к списку al. Полученный список пар, похожий на таблицу с двумя столбцами, называется ассоциативным списком или ассоциативной таблицей. Такой список может использоваться для связывания имен переменных и функций при организации вычислений интерпретатором.

Основные методы обработки списков
Основные методы обработки списков - 2
Основные методы обработки списков - 3
Выводы:
Пример 1
Пример 2
Основные методы обработки списков
Основные методы обработки списков - 2
Основные методы обработки списков - 3
Выводы:

Определение универсальной функции
Универсальная функция eval, которую предстоит определить, должна удовлетворять следующему условию: если представленная аргументом форма сводится к функции, имеющей значение на списке аргументов этой же формы, то это значение и является результатом функции eval.

Определение универсальной функции
Вычисление
Вычисление - 2
Предикаты и истинность в Лиспе
Выводы:
Пример

Числа и строки
Любую информацию можно представить символьными выражениями. В качестве основных видов символьных выражений выбраны списки и атомы. Атом - неделимое данное, представляющее информацию произвольной природы. Но во многих случаях знание природы информации дает более четкое понимание особенностей изучаемых механизмов.

Числа и строки
Числа и строки - 2
Функционалы
Функционалы - 2
Безымянные функции
Композиции функционалов, фильтры, редукции
Композиции функционалов, фильтры, редукции - 2
Выводы:
Пример 1
Пример 2

Именование значений и подвыражений
Переменная - это символ, который используется для представления аргумента функции. Атом может быть как переменной, так и фактическим аргументом. Некоторые сложности вызывает то обстоятельство, что иногда аргументы могут быть переменными, вычисляемыми внутри вызова другой функции.

Именование значений и подвыражений
Именование значений и подвыражений - 2
Именование значений и подвыражений - 3
Программы для Лисп-интерпретатора.
Выводы:
Пример 1
Пример 2
Пример 3
Пример 4
Пример 5

Замедленные вычисления (lazy evaluation)
Интуитивное представление о вычислении выражений, согласно которому функция применяется к заранее вычисленным аргументам, не всегда гарантирует получение результата. Ради полноты вычислений, гибкости программ и результативности процессов такое представление можно расширить и ввести категорию специальных функций, которые "сами знают", когда и что из их аргументов следует вычислить.

Замедленные вычисления (lazy evaluation)
Замедленные вычисления (lazy evaluation) - 2
Замедленные вычисления (lazy evaluation) - 3
Работа с событиями
Выводы:
Пример 1
Пример 2
Пример 3
Пример 4
Пример 5

Списки свойств атомов
Каждый атом имеет список свойств. Как только атом появляется (вводится) впервые, так сразу для него создается список свойств. Список свойств характеризуется специальной структурой, подобной записям в Паскале, но поля в такой записи сопровождаются индикаторами, символизирующими смысл или назначение хранимой информации. Первый элемент этой структуры расположен по адресу, который задан в указателе атома

Списки свойств атомов
Структура списков и памяти
Деструктивные (разрушающие) операции
Деструктивные (разрушающие) операции - 2
"Сборка мусора" - распределение памяти
Выводы:

Императивное программирование
Противопоставление функционального и императивного (операторно-процедурного) стилей программирования порой напоминает свифтовские бои остроконечников с тупоконечниками. Впрочем, переписать функциональную программу в императивную проще, чем наоборот.

Императивное программирование
Prog-форма
Присваивания
Циклы
Примеры программ с циклами
Выводы:
Пример 1
Пример 2
Пример 3
Пример 4

Вызов Лисп-интерпретатора и/или компилятора
Без аргументов (опций) выполняется цикл "чтение-вычисление-печать", при котором выражения читаются поочередно из стандартного потока ввода, вычисляются Лисп-интепретатором, и полученные результаты выводятся в стандартный поток вывода. Опция –c специфицирует Лисп-файлы, предназначенные для компиляции в байт-код, который выполняется более эффективно

Вызов Лисп-интерпретатора и/или компилятора.
Практичные расширения Лиспа
Функциональное программирования
Функциональное программирования - 2
Функциональное программирования - 3
Функциональное программирования - 4

Введение в язык АвтоЛИСП. Лекции
Графический язык программирования Автолисп (AutoLisp) является расширением языка программирования Лисп (LISP). Лисп - это язык высокого уровня, ориентированный на обработку списков, который выбран в качестве базового потому, что графические примитивы (начиная с точки), блоки, наборы примитивов и блоков представляются в Автокаде в виде списков.

Введение в язык АвтоЛИСП. Лекции
Введение в язык АвтоЛИСП. Лекции - 2
Введение в язык АвтоЛИСП. Лекции - 3
Введение в язык АвтоЛИСП. Лекции - 4
Введение в язык АвтоЛИСП. Лекции - 5
Введение в язык АвтоЛИСП. Лекции - 6
Введение в язык АвтоЛИСП. Лекции - 7
Введение в язык АвтоЛИСП. Лекции - 8
Введение в язык АвтоЛИСП. Лекции - 9
Введение в язык АвтоЛИСП. Лекции -10

Обучение AutoLISP в 8 уроках
ЛИСП осначает "обработку списков" или " программирование списков". В ЛИСПЕ, основным обрабатывающим средством есть " нахождение значения объекта "; то-есть обработка - метод которым Lisp определяет значение любого выражения, сложного объекта, или простого объекта.

Обучение AutoLISP в восьми уроках
Обучение AutoLISP в восьми уроках - 2
Обучение AutoLISP в восьми уроках - 3
Обучение AutoLISP в восьми уроках - 4
Обучение AutoLISP в восьми уроках - 5
Обучение AutoLISP в восьми уроках - 6
Обучение AutoLISP в восьми уроках - 7
Обучение AutoLISP в восьми уроках - 8
Обучение AutoLISP в восьми уроках - 9
Обучение AutoLISP в восьми уроках - 10

Введение в язык Питон

Если вы знакомы с английским языком, то легко поймёте, что слово if переводится как “если”. Этот оператор выполняет блок кода, следующий после него с отступами, только в случае, если выражение в его заголовке не нуль(т.е. верно).
>>> x = int(raw_input("Введите целое число: ")) >>> if x < 0: ... x = 0 ... print 'Отрицательное число стало нулём' ... elif x == 0: ... print 'Это число - нуль' ... elif x == 1: ... print 'Это число - 1' ... else: ... print `Это число больше единицы' ...
Далее могут быть ещё операторы elif(аналог case в Си). Оператору if, как видно, сопутствуют операторы else(“иначе” - блок кода выполняется если условие в заголовке if приняло нулевое значение, т.е стало ложным) и elif(“иначе если” - блок кода выполняется если условие в заголовке if приняло нулевое значение, т.е стало ложным, а значение в заголовке данного оператора стало ненулевым, т.е истинным).

Основные операторы
Оператор for несколько необычен в Питоне, он имеет вид for некая_переменная in некий_диапазон. Блок кода после заголовка выполняется, пока некая_переменная принадлежит некому_диапазону(причём этот диапазон может быть списком, числовой последовательностью, массивом каких-либо значений)

Функции.
Функции. - 2
Ключи.
Передача в функцию аргументов.
Использование лямбда функций.
Документирование функций.
Списки.
Использование списков, как стеков.
Использование списков, как очередей.
Функциональные инструменты программирования.

Программирование метаклассов на Python
Пользователи должны понимать различия между программированием метаклассов и традиционным объектно-ориентированным программированием и их взаимосвязь (при единичном и множественном наследовании). В Python 2.2 появились встроенные функции staticmethod() и classmethod(), предназначенные для создания методов, которые не требуют экземпляра во время вызова.

Метаклассы
Воплощение или наследование
Типичная иерархия наследования
Тестирование родословной
Метаклассы или предки
Наследование атрибутов
Атрибуты в экземплярах
Атрибуты и метаклассы
Комбинирование базового класса и метакласса
Разрешение метаклассов и базовых классов

Создание декларативных мини-языков
Объектно-ориентированные и прозрачные интроспективные возможности Python позволяют легко создавать декларативные мини-языки для задач программирования. В этой статье Дэвид рассматривает не столько использование Python для интерпретации и транслирования других специализированных языков (хотя такое возможно), сколько то, как сам Питоновский код может быть удобно сведен к ряду декларативных элементов

Программирование как утверждение
Пример системы линейных уравнений
Пример на языке Prolog - family.pro
Пример для EBNF
Объявление типа XML-документа
Python как интерпретатор
Магия интроспекции
Пример PLY
Использование пространства имен модуля
basic_lex.py

Множественная диспетчеризация
Большинство программистов, использующих полиморфизм - на Python или других языках объектно-ориентированного программирования -, находят ему весьма практическое и конкретное применение. Возможно, наиболее общий случай использования полиморфизма - это создание семейства объектов, которые придерживаются общего протокола. В Python это обычно просто вопрос нерегламентированного полиморфизма; в других языках чаще объявляются формальные интерфейсы, и/или эти семейства обладают общим предком.

Что такое полиморфизм?
Процедурный выбор ветвей кода по типу объекта
Реализация метода .meth() с помощью Foo и Bar
Полная реализация полиморфизма
Множественная диспетчеризация Foo и Bar
Явный вызов и вызов при диспетчеризации
Улучшение наследования
Наследование для расширения возможностей
Мультиметоды для расширения возможностей
Передача диспетчеризации

WSGI, введение
С аббревиатурой WSGI я столкнулся, когда возникла задача развертывания Django-приложения, а mod_python у меня что-то не захотел работать. И в то время для меня WSGI было неким buzz-word, туманным и далеким. Так или иначе, Django я "завел" при помощи flup и lighttpd, но "виски" засел у меня занозой в мозгу.

WSGI, введение
Теория
Практика
Практика - 2
Практика - 3
Заключение

Основы конструирования компиляторов

Компиляторы составляют существенную часть программного обеспечения ЭВМ. Это связано с тем, что языки высокого уровня стали основным средством разработки программ. Только очень незначительная часть программного обеспечения, требующая особой эффективности, программируется с помощью ассемблеров. В настоящее время распространено довольно много языков программирования. Наряду с традиционными языками, такими, как Фортран, широкое распространение получили так называемые «универсальные» языки (Паскаль, Си, Модула-2, Ада и другие), а также некоторые специализированные (например, язык обработки списочных структур Лисп). Кроме того, большое распространение получили языки, связанные с узкими предметными областями, такие, как входные языки пакетов прикладных программ.
Для некоторых языков имеется довольно много реализаций. Например, реализаций Паскаля, Модулы-2 или Си для ЭВМ типа IBM PC на рынке десятки.

Место компилятора в программном обеспечении
постоянно растущая потребность в новых компиляторах связана с бурным развитием архитектур ЭВМ. Это развитие идет по различным направлениям. Совершенствуются старые архитектуры как в концептуальном отношении, так и по отдельным, конкретным линиям. Это можно проиллюстрировать на примере микропроцессора Intel-80X86. Последовательные версии этого микропроцессора 8086, 80186, 80286, 80386, 80486, 80586 отличаются не только техническими характеристиками, но и, что более важно, новыми возможностями и, значит, изменением (расширением) системы команд.

Структура компилятора - 2
Алфавиты, цепочки и языки
Алфавиты, цепочки и языки - 2
Представление языков
Представление языков - 2
Формальное определение грамматики
Формальное определение грамматики - 2
Типы грамматик и их свойства
Типы грамматик и их свойства - 2
Типы грамматик и их свойства - 3

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

Компиляция для архитектур с параллелизмом
Особенности архитектур с параллелизмом
Особенности архитектур с параллелизмом - 2
Алгоритм планирования команд Intel Itanium
Базовый алгоритм селективного планирования
Базовый алгоритм селективного планирования - 2
Усовершенствования базового алгоритма
Усовершенствования базового алгоритма - 2
Усовершенствования базового алгоритма - 3
Компиляция программ

Проблема представления: коды, сохраняющие разности
Комбинаторная математика является старой дисциплиной. Она получила свое наименование в 1666 г. от Лейбница в его "Dissertation de Arte Combinatori". Комбинаторные алгоритмы с их акцентом на разработку, анализ и реализацию практических алгоритмов являются продуктом века вычислительных машин.

Коды, сохраняющие разности
Классы алгоритмов
Классы алгоритмов - 2
Классы алгоритмов - 3
Классы алгоритмов - 4
Анализ алгоритмов

Последовательности
Большинство вычислительных устройств в качестве основных объектов допускает только двоичные наборы, целые и символы, поэтому, прежде чем работать с более сложными объектами, их необходимо представить двоичными наборами, целыми или символами. Например, числа с плавающей запятой кодируются целыми - мантиссой и порядком этого числа, но такое кодирование обычно незаметно для пользователя.

Целые
Целые - 2
Последовательности
Различные способы представлений

Связанное распределение
Неудобство включения и исключения элементов при последовательном распределении происходит из-за того, что порядок следования элементов задается неявно требованием, чтобы смежные элементы последовательности находились в смежных ячейках памяти. В результате многие элементы последовательности во время включения или исключения должны передвигаться.

Связанное распределение
Связанное распределение - 2
Разновидности связанных списков
Стеки и очередь
Задачи
Программы

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

Деревья
Деревья - 2
Представления
Прохождения
Прохождения - 2
Длина путей
Задача
Программa

Задачи
В задачах, которые мы сейчас рассмотрим, элементы делятся на группы, и надо найти все способы такого раздела. При этом могут встретиться различные случаи. Иногда существенную роль играет порядок элементов в группах: например, когда сигнальщик вывешивает сигнальные флаги на нескольких мачтах, то для него важно не только то, на какой мачте окажется тот или иной флаг, но и то, в каком порядке эти флаги развешиваются.

Задачи
Задачи - 2
Разные статистики
Деревья и перестановки из n элементов
Число сочетаний
Задачи на разбиение чисел
Задачи на разбиение чисел - 2
Комбинаторные задачи теории информации

Множества и мультимножества
Не существует формального определения множества; считается что это понятие первичное и не определяется. Так, можно говорить, что множество есть объединение различных элементов, но при этом мы оставляем неопределяемыми понятия "объединение" и "элементы". Дадим следующее определение множеству: множество - это неупорядоченная совокупность различных объектов или структура данных, используемая для представления множества.

Множества и мультимножества
Множества и мультимножества - 2
Множества и мультимножества - 3
Формула включений и исключений
Решето Эратосфена
Решето Эратосфена - 2

Размещения без повторений
Имеется n различных предметов. Сколько из них можно составить k -расстановок? При этом две расстановки считаются различными, если они либо отличаются друг от друга хотя бы одним элементом, либо состоят из одних и тех же элементов, но расположенных в разном порядке.

Размещения без повторений
Перестановки
Сочетания
Рекуррентные соотношения
Рекуррентные соотношения - 2
Рекуррентные соотношения - 3
Другой метод доказательства
Процесс последовательных разбиений
Задача: "Затруднение мажордома"
Задача: "Затруднение мажордома" - 2

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

Решение рекуррентных соотношений
Решение рекуррентных соотношений - 2
Линейные рекуррентные соотношения
Линейные рекуррентные соотношения - 2
Случай равных корней уравнения
Производящие функции

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

Деление многочленов
Алгебраические дроби и степенные ряды
Алгебраические дроби и степенные ряды - 2
Действия над степенными рядами

Применение степенных рядов для доказательства тождеств
С помощью степенных рядов можно доказывать многие тождества. Для этого берут некоторую функцию и двумя способами разлагают ее в степенной ряд. Поскольку функция может быть представлена лишь единственным образом в виде степенного ряда, то коэффициенты при одинаковых степенях x в обоих рядах должны совпадать.

Применение степенных рядов для тождеств
Производящие функции
Бином Ньютона
Ряд Ньютона
Производящие функции
О нелинейном рекуррентном соотношении

Стеки
Н. Вирт определил программирование как алгоритм + структуры данных. При этом структура данных может не зависеть от конкретных языковых конструкций (абстрактная структура данных).

Стеки
Стеки - 2
Очереди
Связанные списки
Связанные списки - 2
Двоичные деревья

Представления
Множество самых разнообразных задач естественно формулируется в терминах графов. Так, например, могут быть сформулированы задачи составления расписаний в исследовании операций, анализа сетей в электротехнике, установления структуры молекул в органической химии, сегментации программ в программировании, анализа цепей Маркова в теории вероятностей. В задачах, возникающих в реальной жизни, соответствующие графы часто оказываются так велики, что их анализ неосуществим без ЭВМ.

Представления
Представления - 2
Представления - 3
Связность и расстояние
Остовные деревья
Остовные деревья - 2
Клики
Изоморфизм

Поиск и другие операции над таблицами
Любой способ поиска оперирует с элементами, которые будем называть именами, взятыми из множества имен S - оно называется пространством имен. Это пространство имен может быть конечным или бесконечным. Самыми распространенными пространствами имен являются множества целых чисел с их числовым порядком (нумерацией), и множества последовательностей символов над некоторым конечным алфавитом с их лексикографическим (то есть словарным) порядком.

Поиск и другие операции над таблицами
Поиск и другие операции над таблицами - 2
Поиск и другие операции над таблицами - 3
Последовательный поиск
Последовательный поиск - 2
Последовательный поиск - 3
Логарифмический поиск в статических таблицах
Бинарный поиск
Бинарный поиск - 2
Оптимальные деревья бинарного поиска

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

Внутренняя сортировка
Внутренняя сортировка - 2
Вставка
Обменная сортировка

Распределяющая сортировка
Заметим, что для определения наибольшего имени этот процесс требует n - 1 сравнений имен; но, определив наибольшее имя, мы обладаем большим объемом информации о втором по величине (в порядке убывания) имени: оно должно быть одним из тех, которые "потерпели поражение" от наибольшего имени.

Выбор
Выбор - 2
Распределяющая сортировка
Цифровая распределяющая сортировка
Внешняя сортировка
Внешняя сортировка - 2
Внешняя сортировка - 3
Частичная сортировка
Частичная сортировка (выбор)
Частичная сортировка (слияние)

Поиск в глубину
При решении многих задач, касающихся ориентированных графов, необходим эффективный метод систематического обхода вершин и дуг орграфов. Таким методом является метод поиск в глубину. Метод поиска в глубину является основой многих эффективных алгоритмов работы с графами

Поиск в глубину
Алгоритм Дейкстры нахождения кратчайшего пути
Алгоритм Флойда
Программы

Автоматическое построение лабиринтов
Тезей должен был найти выход из Критского лабиринта или погибнуть, убитый Минотавром. Но что поразительно: найти вход в лабиринт - задача не менее трудная. Здесь не представляется возможным описать все мыслимые лабиринты, да это и не требуется. Мы займемся простыми лабиринтами, построенными на прямоугольнике

Автоматическое построение лабиринтов
Автоматическое построение лабиринтов - 2
Автоматическое построение лабиринтов - 3
Бинарное дерево
Задача о восьми ферзях
Сортировки
Сортировки - 2
Сортировки - 3
Сортировки - 4
Задача о назначениях (задачи выбора)

Общая характеристика CASE-средства IBM Rational Rose 2003
CASE-средство IBM Rational Rose со времени своего появления претерпело серьезную эволюцию, и в настоящее время представляет собой современный интегрированный инструментарий для проектирования архитектуры, анализа, моделирования и разработки программных систем. Именно в IBM Rational Rose язык UML стал базовой технологией визуализации и разработки программных систем, что определило популярность и стратегическую перспективность этого инструментария

Особенности интерфейса Rational Rose 2003
Главное меню и стандартная панель инструментов
Назначение операций главного меню File и Edit
Назначение операций главного меню File и Edit - 2
Назначение операций View, Format и Browse
Назначение операций View, Format и Browse - 2
Назначение операций View, Format и Browse - 3
Общая характеристика CASE-средства
Особенности рабочего интерфейса программы
Главное меню и стандартная панель

Окно браузера проекта
Браузер проекта организует представления модели в виде иерархической структуры, которая упрощает навигацию и позволяет отыскать любой элемент модели в проекте. При этом самая верхняя строка браузера проекта содержит имя разрабатываемого проекта. Любой элемент, который разработчик добавляет в модель, сразу отображается в окне браузера.

Специальная панель инструментов
Специальная панель инструментов - 2
Окно документации и окно журнала
Назначение операций Report, Query и Tools
Назначение операций Report, Query и Tools - 2
Назначение операций Add-Ins, Window и Help
Окно браузера проекта
Окно диаграммы
Окно диаграммы - 2
Окно документации и окно журнала

Особенности разработки диаграмм вариантов использования
Работа над моделью в среде IBM Rational Rose начинается с общего анализа проблемы и построения диаграммы вариантов использования, которая отражает функциональное назначение проектируемой программной системы. Для вновь создаваемого проекта можно воспользоваться мастером типовых проектов, если он установлен в данной конфигурации

Диаграммы вариантов использования
Диаграммы вариантов использования - 2
Диаграммы вариантов использования - 3
Добавление актера на диаграмму
Добавление актера на диаграмму - 2
Добавление и редактирование варианта

Особенности разработки диаграмм классов
Диаграмма классов является основным логическим представлением модели и содержит детальную информацию о внутреннем устройстве объектно-ориентированной программной системы или, используя современную терминологию, об архитектуре программной системы. Активизировать рабочее окно диаграммы классов можно несколькими способами

Особенности разработки диаграмм классов
Добавление класса на диаграмму классов
Добавление класса на диаграмму классов - 2
Добавление класса на диаграмму классов - 3
Стереотипы классов и их представление
Стереотипы классов и их представление - 2

Добавление и редактирование атрибутов классов
Из всех графических элементов среды класс обладает максимальным набором свойств, главными из которых являются его атрибуты и операции. Поскольку именно диаграмма классов используется для генерации программного кода, в данной лекции будут подробно рассмотрены соответствующие свойства атрибутов и операций.

Добавление атрибутов классов
Добавление атрибутов классов - 2
Добавление атрибутов классов - 3
Добавление операций классов
Добавление операций классов - 2
Добавление операций классов - 3
Спецификация атрибутов Транзакция Банкомата
Добавление атрибутов классов
Добавление атрибутов классов - 2
Добавление атрибутов классов - 3

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

Добавление ассоциации на диаграмму классов
Добавление отношений агрегации и композиции
Добавление отношения обобщения
Окончательное построение диаграммы
Окончательное построение диаграммы - 2
Окончательное построение диаграммы - 3
Окончательное построение диаграммы - 4
Добавление ассоциации на диаграмму классов
Добавление отношений агрегации
Добавление отношения обобщения

Особенности разработки диаграмм кооперации
Диаграмма кооперации является разновидностью диаграммы взаимодействия, и в контексте языка UML описывает динамический аспект взаимодействия объектов при реализации отдельных вариантов использования. Общие рекомендации по построению диаграммы кооперации были рассмотрены в лекции 7 курса «Основы объектно-ориентированного моделирования в нотации UML».

Особенности разработки диаграмм кооперации
Особенности разработки диаграмм кооперации - 2
Добавление объекта на диаграмму кооперации
Добавление связи
Добавление сообщения
Добавление сообщения - 2
Окончательное построение диаграммы
Окончательное построение диаграммы - 2
Особенности разработки диаграмм кооперации
Особенности разработки диаграмм кооперации - 2

Особенности разработки диаграммы последовательности
Диаграмма последовательности является другой формой визуализации взаимодействия в модели и, как и диаграмма кооперации, оперирует объектами и сообщениями. Общие рекомендации по построению диаграммы последовательности были рассмотрены в лекции 8 курса «Основы объектно-ориентированного моделирования в нотации UML».

Особенности разработки диаграммы
Добавление объекта на диаграмму
Добавление сообщения на диаграмму
Добавление сообщения на диаграмму - 2
Окончательное построение диаграммы
Окончательное построение диаграммы - 2
Особенности разработки диаграммы
Добавление объекта на диаграмму
Добавление сообщения на диаграмму
Добавление сообщения на диаграмму - 2

Особенности разработки диаграммы состояний
Переходя к рассмотрению диаграммы состояний, следует отметить, что этот тип диаграмм может относиться к отдельному классу, операции класса, варианту использования, пакету или представлению. Общие рекомендации по построению диаграммы состояний были рассмотрены в лекциях 9 и 10 курса «Основы объектно-ориентированного моделирования в нотации UML».

Особенности разработки диаграммы состояний
Добавление состояния на диаграмму состояний
Добавление состояния на диаграмму состояний - 2
Добавление перехода
Окончательное построение диаграммы
Окончательное построение диаграммы - 2
Особенности разработки диаграммы состояний
Добавление состояния на диаграмму
Добавление состояния на диаграмму - 2
Добавление перехода

Особенности разработки диаграммы деятельности
Щелкнуть на кнопке с изображением диаграммы состояний на стандартной панели инструментов, после чего следует выбрать представление и тип разрабатываемой диаграммы - диаграмма деятельности.Выделить логическое представление (Logical View) или представление вариантов использования (Use Case View) в браузере проекта и выполнить операцию контекстного меню

Особенности разработки диаграммы
Особенности разработки диаграммы - 2
Добавление деятельности на диаграмму
Добавление перехода
Окончательное построение диаграммы
Окончательное построение диаграммы - 2
Особенности разработки диаграммы
Особенности разработки диаграммы - 2
Добавление деятельности на диаграмму
Добавление перехода

Особенности проектов по моделированию бизнес-процессов
Продолжая рассмотрение особенностей разработки диаграмм деятельности, следует отметить, что программа может быть успешно использована для выполнения проектов по моделированию бизнес-процессов. Наиболее подходящим типом диаграмм для визуального представления схем выполнения бизнес-процессов являются диаграммы деятельности, на которых дополнительно размещаются так называемые дорожки (Swimlane).

Особенности проектов по моделированию
Особенности проектов по моделированию - 2
Добавление дорожек на диаграмму деятельности
Построение диаграммы деятельности
Построение диаграммы деятельности - 2
Построение диаграммы деятельности - 3
Особенности проектов по моделированию - 3
Особенности проектов по моделированию - 4
Добавление дорожек на диаграмму деятельности
Построение диаграммы деятельности - 3

Особенности разработки диаграммы компонентов
Для разработки диаграмм компонентов в браузере проекта предназначено отдельное представление компонентов (Component View), в котором уже содержится диаграмма компонентов с пустым содержанием и именем по умолчанию Main (Главная).

Особенности разработки диаграммы
Особенности разработки диаграммы - 2
Добавление компонента на диаграмму
Добавление отношения зависимости
Окончательное построение диаграммы
Особенности разработки диаграммы - 3
Особенности разработки диаграммы - 4
Добавление компонента на диаграмму - 2
Добавление отношения зависимости - 2
Окончательное построение диаграммы - 2

Особенности разработки диаграммы развертывания
Для разработки диаграмм компонентов в браузере проекта предназначено отдельное представление развертывания (Deployment View), в котором уже содержится диаграмма развертывания с пустым содержанием и без собственного имени.

Добавление узла на диаграмму развертывания
Добавление узла на диаграмму развертывания - 2
Добавление узла на диаграмму развертывания - 3
Добавление соединения
Окончательное построение диаграммы
Окончательное построение диаграммы - 2
Особенности разработки диаграммы
Добавление узла на диаграмму развертывания - 4
Добавление узла на диаграмму развертывания - 5
Добавление узла на диаграмму развертывания - 6

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

Подготовка модели для генерации
Проверка модели
Создание компонентов для реализации классов
Выбор языка программирования
Выбор класса или компонента
Выбор класса или компонента - 2
Подготовка модели для генерации -2
Проверка модели - 2
Создание компонентов для реализации
Выбор языка программирования - 2

Rational Rose для разработчиков и ради разработчиков
Данной статьей мне хочется открыть ретроспективу материалов по Rational Rose. Долгое время у меня вызывало сомнение необходимость подобного эссе, поскольку про Розу сказано достаточно много во всех периодических изданиях. Аналитики и проектировщики имеют представление о данном продукте и приблизительно знают, к чему его применить.

Описание возможностей
Описание возможностей - 2
Описание возможностей - 3
На чем основана работа программы
На чем основана работа программы - 2
На чем основана работа программы - 3
Аспекты совместной работы с Oracle
Приложение #1
Приложение #1 - 2
Приложение #1 - 3

Субъективная удовлетворенность
Конструируемый предмет должен быть незаметен в процессе его использования. Странно интересоваться, как выглядит стул, на котором сидишь. Когда человек читает книгу, он чаще всего не замечает её верстку. В то же время предмет должен приятно ощущаться на бессознательном уровне. Таким образом, во что бы то ни стало, необходимо добиваться неощущаемости интерфейса.

Эстетика
Субъективное восприятие скорости работы
Приемы для субъективного восприятия
Уменьшение вероятности стрессовых ситуаций
Пароли
Пароли - 2

Обучение работе с системой
В последнее время появилась возможность интегрировать в справочную систему видео при помощи либо Macromedia Flash, либо Shockwave. Нет сомнений, что реклама, поданная не просто в виде текста с картинками, но в виде анимации, способна как повысить желание её просмотреть, так и повысить субъективное удовлетворение пользователей от системы.

Типы обучающих материалов
Типы обучающих материалов - 2
Среды передачи обучающих материалов
Спиральность

Графические интерфейсы и средства их разработки
По мере роста мощности компьютеров росли и затраты на диалоговую компоненту программного обеспечения. Вопрос эффективности использования машин обострился во время стремительного выхода на рынок рабочих станций, объединивших интерактивность с графикой. Термин эффективность с тех пор изменил свое значение - если раньше он отражал такие характеристики как процессорное время и объем занимаемой памяти, то теперь под ним понимают простоту разработки, легкость сопровождения и удобство работы с программой.

Графические интерфейсы и их разработка
Графические интерфейсы и их разработка - 2

Измерение эффективности интерфейса
Если имеется модель интерфейса, то с помощью GOMS и его расширений можно определить время, необходимое пользователю на выполнение любой, четко сформулированной задачи, для которой данный интерфейс предусмотрен. Однако модели анализа не могут дать ответ на вопрос о том, насколько быстро должен работать интерфейс. Чтобы ответить на него, можно воспользоваться мерой, применяемой в теории информации.

Производительность пользователя
Существует две разных производительности - производительность компьютера и производительность человека. Производительность компьютера – широко известное техническое понятие и для ее увеличения существует множество методов. Увеличение производительности компьютера ускоряет все процессы, повышает эффективность их выполнения и уменьшает стоимость одной операции.

Человеческие ошибки
Ошибки, вызванные недостаточным знанием предметной области.Теоретически, эти ошибки методологических проблем не вызывают, сравнительно легко исправляясь обучением пользователей. Опечатки. «Опечатки» происходят в двух случаях: во-первых, когда не все внимание уделяется выполнению текущего действия (этот тип ошибок характерен, прежде всего, для опытных пользователей, не проверяющих каждый свой шаг) и, во-вторых, когда в мысленный план выполняемого действия вклинивается фрагмент плана из другого действия (происходит преимущественно в случаях, когда пользователь имеет обдуманное текущее действие и уже обдумывает следующее действие).

Что такое 1-Wire
Однопроводной интерфейс 1-Wire , разработанный в конце 90-х годов фирмой Dallas Semiconductor Corp., регламентирован разработчиками для применения в трех основных сферах-приложениях: приборы в специальных корпусах MicroCAN для решения проблем идентификации, переноса или преобразования информации (технология iButton), программирование встроенной памяти интегральных компонентов, системы автоматизации (технология сетей 1-Wire-сетей).

Основные принципы
Основные принципы - 2
Основные принципы - 3
Организация ведущих
Организация ведущих - 2
Организация ведущих - 3
Ведомые однопроводные компоненты
Ведомые однопроводные компоненты - 2
Ведомые однопроводные компоненты - 3
Ведомые однопроводные компоненты - 4

Последовательный интерфейс RS-232
Широко используемый последовательный интерфейс синхронной и асинхронной передачи данных, определяемый стандартом EIA RS-232-C и рекомендациями V.24 CCITT. Изначально создавался для связи компьютера с терминалом. В настоящее время используется в самых различных применениях

Последовательный интерфейс RS-232
Последовательный интерфейс RS-232 - 2

Подключение нестандартных устройств к IBM PC через интерфейс Centronics
Согласно правилам передачи данных по протоколу Centronics данные D0-D7 действительны по фронтам сигнала –STROBE. Поэтому на тактовый вход Dd1 подается сигнал –STROBE. Для работы устройства под управлением Windows 9x. Контакты разъема 11(BUSY) и 12(PE) необходимо заземлить, иначе Windows выводить сообщения о неготовности принтера и необходимости вставить бумагу, если в системе установлены драйвера принтера, иначе сообщение не выдается.

Подключение нестандартных устройств к IBM PC
В качестве “клавиатуры” используется


Компьютерные игры. Как это делается.
Игры для взрослых вечеринок
Секреты программирования игр
Введение в программирование трехмерных игр с DX9
Ганичев Валерий - Росс Непобедимый
Тестирование софта - статьи
Гарднер Лиза - Куинси И Рейни
Гаррет Рэндал - Ипсвичский Фиал
Гарфилд Брайан - Жажда Смерти
Герман Юрий - Один Год
Гершкович Това - Новый Дом
Гидравлика. Конспект лекций
Самоучитель по Photoshop 7
Мир Internet - журнал для пользователей Сети
Говард Роберт & Де Камп Спрэг & Картер Лин - Дьявол Из Железа
Головачев Василий - Излом Зла
Горбачева Наталья - Лобовы
Горяинов Евгений - О Боге. Непротиворечивая Теория Бога
Межсетевое экранирование
Продвинутая 3D графика в пакете Maya