Спецификация языка Perl

Еще одно введение в Perl

Прежде чем приступить к последовательному ознакомлению с не знакомым для вас языком, должен оговориться и сказать, что все примеры да и сам язык описанию которого посвящена эта книга это Perl версии 5.003 для операционной системы FreeBSD версии 2.01. Существуют реализации этого языка для операционных систем OS/2 , MS-DOS и Windows NT но они немного отстают по возможностям от оригинала, рожденного в недрах Unix.

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

Операторы сдвига
Как и С Perl выполняет возможные вычисления в период компиляции. Так подстановка символов после '\' , операция конкатенации строк, арифметические выражения, содержащие только одни константы, все это делается в момент компиляции, что существенно увеличивает скорость выполнения программы.

PERL - статьи

Популярность Internet растет с каждым днем, однако если раньше клиенты провайдеров в основном хотели получить доступ к системам электронной почты, то в последние два года наметилась тенденция к расширению спектра требуемых услуг. Теперь интересы пользователей не ограничиваются электронным почтовым ящиком и поиском какой-либо информации в WWW, они стремятся создавать собственные Web-страницы или даже Web-узлы. Новички организуют простые HTML-страницы, не обращая особого внимания на стиль и дизайн. Но со временем у них появляется желание сделать нечто эффектное и интересное для определенной части Internet-сообщества. И тогда новоявленному Web-мастеру приходится более полно изучить язык разметки гипертекста (HTML) и языки создания клиентских сценариев (VBScript1 и JavaScript)*.
Впоследствии у него могут появиться и новые запросы, — например пообщаться с посетителями своего узла. И в этом случае его уже не удовлетворит, если в тело страницы просто добавится Webmaster. Так, он решит, что неплохо было бы получить достаточно полную информацию о посетителях узла (имена, e-mail, телефоны, факсы и адреса), подсчитать количество посещений, собрать различные мнения и, наконец, создать базу данных, чтобы пользователям сеансов связи предоставить какие-либо определенные услуги. Но для всего этого знания HTML, VBScript1 и Java Script становится явно недостаточно, так как они описывают только технологию взаимодействия сервера и клиента.

Постраничный вывод новостей с разбиением по датам
Массивы хэшей

Спецификация языка Perl

Perl - интерпретируемый язык, приспособленный для обработки произвольных текстовых файлов, извлечения из них необходимой информациии и выдачи сообщений. Perl также удобен для написания различных системных программ. Этот язык прост в использовании, эффективен, но про него трудно сказать, что он элегантен и компактен. Perl сочитает в себе лучшие черты C, shell, sed и awk, поэтому для тех, кто знаком с ними, изучение Perl-а не представляет особого труда. Cинтаксис выражений Perl-а близок к синтаксису C. В отличие от большинства утилит ОС UNIX Perl не ставит ограничений на объем обрабатываемых данных и если хватает ресурсов, то весь файл обрабатывается как одна строка. Рекурсия может быть произвольной глубины. Хотя Perl приспособлен для сканирования текстовых файлов, он может обрабатывать так же двоичные данные и создавать .dbm файлы, подобные ассоциативным массивам. Perl позволяет использовать регулярные выражения, создавать объекты, вставлять в программу на С или C++ куски кода на Perl-е, а также позволяет осуществлять доступ к базам данных, в том числе Oracle.

Cтруктуры данных
Обычные массивы, как и в языке C, индексируются числами, начиная с нуля. Ассоциативные массивы индексируются строками. Простые скаляры (в дальнейшем мы будем также называть их переменными) всегда начинаются со знака доллара: $, даже в том случае, когда мы обращаемся к элементу массива. $day простая переменная day

Вызов метода
Существует два способа обратиться к методу. Во-первых, можно вызвать его просто как подпрограмму. Но в таком случае не работает механизм наследования. Второй способ лучше просто проиллюстрировать примерами. $fred = find Critter "Fred"; display $fred, 'Height', 'Weight';

Справочник по Python

В действительности есть несколько модулей Python, предоставляющих доступ к базам данных MySQL и mSQL. В большинстве аспектов они очень схожи между собой. В этой главе приводятся спецификации API для двух наиболее часто используемых модулей. Однако важно указать на приближающуюся унификацию разных API для баз данных в едином API, специфицированном Python Database SIG. В настоящее время mSQL не поддерживает этот API.

Модуль: MySQL
Точкой входа в модуль Python для MySQL является метод MySQL.connect(). Значение, возвращаемое этим методом, представляет подключение к серверу MySQL, которое вы можете использовать для всех операций с MySQL.

Справочник по JDBC
Пакет java.sql содержит весь JDBC API. Впервые он был включен в ядро библиотек Java в версии 1.1. Классы, добавленные в JDK 1.2, отмечены в заголовке Доступность. Методы, не рекомендуемые к использованию, предваряются символом решетки (#). Методы JDK 1.2 в старых классах JDK 1.1 выделены полужирным шрифтом.



Самоучитель VBA

Настоящая книга является с одной стороны, подробным справочником по Visual Basic for Applications (VBA), а с другой стороны, самоучителем по составлению и разработке приложений, написанных на этом языке. Это уникальное сочетание, которое, следуя рекламному подходу, можно назвать "два в одном", обеспечивает большую гибкость при решении читателем своих собственных задач. Самоучитель на большом количестве примеров умело и доступно обучает, как можно быстро и эффективно решать разнообразные задачи. В справочнике приводится подробное описание возможностей VBA, имея такие сведения под рукой у читателя исчезнет необходимость бегать по магазинам в поиске дополнительной литературы при написании самостоятельных приложений, что несомненно сбережет время и кошелек.
Самоучитель состоит из уроков. В каждом из уроков разрабатывается пример пользовательского приложения и дается подробный анализ. Тексты всех программ снабжены доскональными комментариями. Можно сказать, что все рассматриваемые программы разложены буквально по маленьким разжеванным кусочкам, которые читателю только и остается проглотить. По завершению урока предлагается самостоятельное задание, выполнение которого поможет лучше закрепить разобранный материал.
С помощью VBA можно легко и быстро создавать пользовательские приложения, используя единую для всех офисных программ среду и язык. Научившись разрабатывать приложения для одной офисной программы, например Excel (которой, как наиболее популярной офисной программе, в основном и посвящена данная книга), можно создавать приложения и для других офисных программ, например Access. Внимательно читая эту книгу, можно стать искусным разработчиком и научиться пользоваться мощными средствами разработки приложений Excel для того, чтобы конструировать эффективные и применимые к реальной жизни приложения. Кроме того, по своей структуре, интерфейсу и синтаксису VBA образует ядро Visual Basic. Поэтому тот, кто изучит программирование на VBA очень быстро может освоить и Visual Basic.

Введение
Внимательно читая эту книгу, можно стать искусным разработчиком и научиться пользоваться мощными средствами разработки приложений Excel для того, чтобы конструировать эффективные и применимые к реальной жизни приложения. Кроме того, по своей структуре, интерфейсу и синтаксису VBA образует ядро Visual Basic. Поэтому тот, кто изучит программирование на VBA очень быстро может освоить и Visual Basic.

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

Основные объекты VBA
Объект Application (приложение) является главным в иерархии объектов Excel и представляет само приложение Excel. Он имеет более 120 свойств и 40 методов. Эти свойства и методы предназначены для установки общих параметров приложения Excel. Кроме того, объект Application позволяет вызывать более 400 встроенных функций рабочего листа

Методы объекта Range
Метод DataSeries (прогрессия) создает профессии. Вручную метод DataSeries выполняется с помощью команды Правка, Заполнить, Прогрессия (Edit, Fill, Series).

Сценарии и определение структуры данных
Объект scenario (сценарий) позволяет хранить несколько значений в одной ячейке. Каждое уникальное значение в ячейке или каждая уникальная группа значений для группы ячеек называется сценарием. Семейство scenarios (сценарии) содержит все сценарии рабочего листа. Вручную сценарии создаются с помощью команды Сервис, Сценарии (Tools, Scenarios).

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

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

Элементы управления и пользовательская форма
VBA обладает встроенным набором элементов управления. Используя этот набор и редактор форм не трудно создать любой пользовательский интерфейс, который будет удовлетворять всем требованиям, предъявляемым к интерфейсу в среде Windows. В данной главе дан обзор встроенных элементов управления VBA. Элементы управления являются объектами. Поэтому, как любые объекты, они обладают свойствами, методами и событиями. Элементы управления создаются при помощи панели инструментов Элементы управления (Control Toolbox)

Программирование панели инструментов
Семейство CommandBars содержится в объекте Application. Оно представляет собой панели команд. В свою очередь каждый объект CommandBar содержит семейство commandBarControls, состоящее из всех элементов управления данной панели инструментов. Свойство controls объекта CommandBar возвращает семейство CommandBarControls. Элементы семейства CommandBarControis относятся к одному из трех типов.

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

Работа с графическими объектами
Объект shape — это любой графический объект, размешенный на рабочем листе или диаграмме. Семейство shapes представляет собой семейство всех графических объектов рабочего листа. Семейство ShapeRange содержится в семействе shapes и является конкретным набором графических объектов рабочего листа. В крайних случаях семейство ShapeRange может состоять только из одного объекта или совпадать с семейством shapes, которое его содержит.

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

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

Работа с файлами
Файл последовательного доступа. Рассматривается как последовательность строк произвольной длины, разделенных специальными символами. Чтение и запись в файл производится построчно

Пользовательские объекты
В VBA наряду с огромным числом встроенных объектов предусмотрена возможность создания пользовательских объектов. Использование таких объектов позволяет сократить текст программы и сделать его более понятным. Пользовательские объекты являются элементами пользовательских классов (или образно говоря, классы являются формами, из которых "пекутся" конкретные объекты). Пользовательские классы конструируются в модулях классов, которые создаются в редакторе Visual Basic выбором команды Вставка, Модуль класса (Insert, Class Module).

Работа с внешними базами данных
В Microsoft Office входит отдельная программа, которая называется Microsoft Query, предоставляющая доступ к базам данных, созданных с помощью таких программных средств, как dBASE, Access, Paradox, Microsoft SQL Server и т. п. Эта программа позволяет отбирать информацию из базы данных, сортировать, редактировать и копировать ее на рабочий лист. Используя Microsoft Query, можно получить данные на основе заданных пользователем критериев. Excel связывается с Microsoft Query посредством механизма DDE (Dynamic Data Exchange — динамический обмен данными).

Практические приемы программирования на VBA
На примере простейшей компьютерной игры будет полностью разработано первое приложение в этой книге. Это приложение должно моделировать игру в орел и решку. Игрок вносит в банк определенную сумму денег. Во время игры нельзя добавлять деньги в банк. Игра состоит из последовательности шагов, которая, вообще говоря, может быть бесконечной. На очередном шаге игрок загадывает либо орел, либо решку. Компьютер "бросает монету". Если "монета падает той же стороной", которую загадал игрок, то банк увеличивается на единицу, в противном случае - уменьшается на единицу.

Расчет маргинальной процентной ставки
Рассматриваемое приложение решает задачу следующего типа. В одной стране со стабильной валютой, скажем рублем, жил-был Ксенофон Заковыркин, начинающий бизнесмен. Однажды ему была предложена следующая сделка. Ксенофон дает в долг 10 000 руб., а ему возвращают по 2 000 руб. в течение 6 последующих лет, т. е. в сумме 12 000 руб., что больше даваемой в долг суммы денег. Ксенофон Заковыркин может не давать эти деньги в долг, а положить под проценты в банк.

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

Расчет амортизации
Под амортизацией подразумевается уменьшение стоимости имущества в процессе эксплуатации. Обычно оценивают величину этого уменьшения на единицу времени. Функция рабочего листа AMP (SLN) возвращает величину амортизации имущества за один период времени, используя метод равномерной амортизации.

Решение уравнения, зависящего от параметра
В этом разделе решается уравнение х3 - х - b = 0 при различных величинах параметра Ь, изменяющихся от начального до конечного значения с указанным шагом. При каждом конкретном значении параметра корень уравнения находится методом Goaiseek. Для нахождения корней уравнения при различных значениях параметра, эти значения вводятся в диапазон ячеек рабочего листа, формулы левых частей уравнений в другой диапазон, третий диапазон отводится под неизвестную.

Управление размером и перемещением элементов управления
В первый свой рабочий день в банке молодой программист Нестор Щукин получил задание от менеджера составить приложение, вычисляющее чистый текущий объем инвестиций от вкладов банка. Допустим, что с помощью этого приложения необходимо найти чистый текущий объем инвестиции 10 000 руб. при 7% годовой ставке, при которой банк получает годовые доходы 2 000 руб., 4 000 руб. и 7 000 руб. в последующие три года после вложения денег в инвестиционный проект

Заполнение базы данных
Для заполнения базы данных на рабочем листе с помощью редактора пользовательских форм создадим диалоговое окно Регистрация туристов фирмы "Эх, прокачу!"

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

Периодические выплаты
Функция ППЛАТ (РМТ) вычисляет величину постоянной периодической выплаты ренты (например, регулярных платежей по займу) при постоянной процентной ставке

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

Игра в крестики и нолики
В данном уроке запрограммируем игру с компьютером в крестики—нолики на игровом поле размером 3x3 условных клетки. Эта не такая уж тривиальная игра является хорошим примером, чтобы легко научить компьютер играть и воспользоваться возможностью выиграть, если вы, по невнимательности, дадите ему этот шанс

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

Составление расписания
В данном уроке разрабатывается приложение, автоматизирующее составление расписания с одновременным подведением итогов

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