Практика программирования



         

Cамоучитель по Perl

Язык Perl создан системным программистом Ларри Уоллом (Larry Wall) как средство UNIX, позволяющее "склеивать" из программок, выполняющих отдельные функции, большие сценарии для решения комплекса задач, связанных с администрированием, обработкой текста и т. д. В дальнейшем он вышел за эти рамки, превратился в настоящий язык программирования, в котором нашли отражение многие тенденции, обозначившиеся в технологии программирования за последнее десятилетие, и получил широкое распространение в связи с развитием Inernet. Perl является основным средством создания приложений CGI, удобен для решения задач администрирования Web-серверов, электронной почты и других систем. Благодаря быстроте и легкости написания сценариев на этом языке он распространился и на другие платформы: DOS, Windows, OS/2, Mac, VMS и пр. Одно из основных достоинств языка Perl — его открытость и доступность. В сети Internet можно получить совершенно бесплатно исходные тексты интерпретатора perl (язык Perl — интерпретируемый, что в некоторых случаях является преимуществом) и модулей его расширения.

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

Введение в мир Perl
Что такое Perl? Это сокращенное название языка программирования Practical Extraction and Report Language (Практический язык извлечений и отчетов). Что подразумевается под "извлечениями" и "отчетами"? Почему практический язык? Для чего он предназначен? Какие задачи можно решать с его помощью? Эти и многие другие вопросы возникают, естественно, у любого человека, хоть немного знакомого с информатикой, когда он впервые сталкивается с новым для него языком программирования.

История языка Perl
История языка Perl - 2
История языка Perl - 3
История языка Perl - 4
Характерные черты Perl
Характерные черты Perl - 2
Характерные черты Perl - 3
Характерные черты Perl - 4
Характерные черты Perl - 5
Области применения Perl

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

Простая программа
Простая программа - 2
Простая программа - 3
Простая программа - 4
Простая программа - 5
Простая программа - 6
Объявления и комментарии
Объявления и комментарии - 2
Выражения и операторы
Выражения и операторы - 2

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

Скалярный тип данных
Скалярный тип данных - 2
Скалярный тип данных - 3
Скалярный тип данных - 4
Скалярный тип данных - 5
Скалярный тип данных - 6
Скалярный тип данных - 7
Скалярный тип данных - 8
Скалярный тип данных - 9
Массивы скаляров

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

Арифметические операции
Арифметические операции - 2
Арифметические операции - 3
Арифметические операции - 4
Арифметические операции - 5
Арифметические операции - 6
Операции ввода/вывода
Разные операции
Разные операции - 2
Разные операции - 3

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

Простые операторы
Простые операторы - 2
Модификаторы простых операторов
Составные операторы
Составные операторы - 2
Составные операторы - 3
Составные операторы - 4
Составные операторы - 5
Составные операторы - 6
Операторы цикла

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

Операция ввода команды
Операция ввода команды - 2
Операция ввода команды - 3
Операция ()
Операция () - 2
Операция () - 3
Операция () - 4
Операция () - 5
Функция print
Функция print - 2

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

Дескрипторы файлов
Дескрипторы файлов - 2
Дескрипторы файлов - 3
Доступ к файлам
Доступ к файлам - 2
Доступ к файлам - 3
Доступ к файлам - 4
Доступ к файлам - 5
Доступ к файлам - 6
Доступ к файлам - 7

Форматы
Как мы помним, дословный перевод аббревиатуры языка Perl включает в себя слова "язык отчетов", т. е. язык Perl предназначен не только для извлечения и обработки информации из текстовых файлов, но и для генерирования отчетов на основе этой информации. Пока что мы для вывода информации использовали функцию print (), которая не очень-то удобна для создания отчетов — определенным образом отформатированной выходной информации.

Объявление формата
Объявление формата - 2
Объявление формата - 3
Объявление формата - 4
Объявление формата - 5
Объявление формата - 6
Объявление формата - 7
Использование нескольких форматов
Использование нескольких форматов - 2
Использование нескольких форматов - 3

Ссылки
Ссылка на некоторую переменную содержит адрес этой переменной в оперативной памяти. Говорят, что ссылка указывает на переменную. Ссылки широко используются в современных языках программирования, таких как Pascal, C/C++. Вместо слова "ссылка" для обозначения термина может применяться слово "указатель". Основной областью применения ссылок является создание сложных структур данных, способных изменяться во время выполнения программы.

Виды ссылок
Виды ссылок - 2
Виды ссылок - 3
Создание ссылок
Операция ссылки "\"
Конструктор анонимного массива
Конструктор анонимного ассоциативного массива
Другие способы
Другие способы - 2
Разыменование ссылок

Работа со строками
Язык, созданный первоначально с главной целью — облегчить обработку большого количества отчетов, просто обязан располагать развитыми средствами для работы с текстом. Напомним, что в среде UNIX, из которой вышел язык Perl, средства для обработки текстовых строк имеются в различных утилитах: sed, awk, grep, cut. Командный интерпретатор shell, также обладающий некоторыми средствами для обработки строк, позволяет организовать совместную работу этих утилит, передавая выход одной программы на вход другой через механизм, называемый конвейером

Регулярные выражения
Метасимволы
Метасимволы - 2
Метасимволы - 3
Метапоследовательности
Метапоследовательности - 2
Атомы
Обратные ссылки
Обратные ссылки - 2
Расширенный синтаксис регулярных выражений

Подпрограммы и функции
Подпрограммы в языке Perl играют ту же роль, что и функции в языке С, или процедуры и функции в языке Pascal. Они выполняют две основные задачи: позволяют разбить одну (большую программу на несколько небольших частей, делая ее более ясной для понимания; объединяют операторы в'одну группу для повторного использования. В языке Perl не различаются понятия "подпрограмма" и "функция", эти слова являются синонимами.

Определение подпрограммы
Определение подпрограммы - 2
Вызов подпрограммы
Локальные переменные в подпрограммах
Функция ту()
Функция lосаl ()
Функция lосаl () - 2
Передача параметров
Передача по ссылке параметров-массивов
Использование типа typeglob

Пакеты, библиотеки, модули
Итак, пакет — это способ создания собственного изолированного пространства имен для отдельного отрезка программы. Каждый фрагмент кода Peri-программы относится к некоторому пакету. Объявление package NAMESPACE; определяет пакет NAMESPACE. Ключевое слово package является именем встроенной функции, в результате обращения к которой компилятору предписывается использовать новое пространство имен. Область действия объявления пакета определяется аналогично области видимости локальных переменных, объявленных при помощи функций ту () или local ().

Пакеты
Пакеты - 2
Таблицы символов.
Таблицы символов. - 2
Конструктор и деструктор пакета ВEGIN и END
Автозагрузка
Библиотеки
Функция require()
Функция require() - 2
Создание и подключение библиотечного файла

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

Классы и объекты
Классы и объекты - 2
Классы и объекты - 3
Методы
Конструкторы
Конструкторы - 2
Методы класса и методы объекта
Методы класса и методы объекта - 2
Вызов метода
Вызов метода - 2

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

Опции командной строки
Опции командной строки - 2
Опции командной строки - 3
Опции командной строки - 4
Отладчик Perl
Просмотр текста программы
Выполнение кода
Просмотр значений переменных
Точки останова и действия
Точки останова и действия - 2

Язык Perl и CGI-программирование
Основу "всемирной паутины" WWW составляют Web-узлы. Это компьютеры, на которых выполняется специальная программа — Web-сервер, ожидающая запроса со стороны клиента на выдачу документа. Документы сохраняются на Web-узле, как правило, в формате HTML. Клиентом Web-сервера является программа-браузер, выполняющаяся на удаленном компьютере, которая осуществляет запрос к Web-серверу, принимает запрошенный документ и отображает его на экране.

HTML-формы
Тэг FORM
Тэг FORM - 2
Тэг INPUT
Тэг INPUT - 2
Тэг INPUT - 3
Тэг SELECT
Тэг TEXTAREA
Пример формы
Пример формы - 2

Ресурсы Perl
Язык Perl распространяется и развивается в глобальной сети Internet. Самые последние новости из мира Perl можно найти на многочисленных Web-узлах и просто обычных страницах HTML, авторы которых являются апологетами языка Perl и входят в так называемое сообщество Perl — свободное объединение людей, использующих и развивающих язык Perl там, где требуется что-нибудь и как-нибудь автоматизировать.

Конференции
Конференции - 2
Специализированные Web-узлы Perl
Специализированные Web-узлы Perl - 2
Архив СРАМ
Архив СРАМ - 2

Практика программирования (Бейсик, Си, Паскаль)

Почти одновременно с появлением первых ЭВМ системные программисты стремились переложить на плечи ЭВМ наиболее рутинную работу, сопровождавшуюся многочисленными ошибками и описками. Первые элементы автоматизации процесса написания программ были связаны с заменой числовых кодов машинных операций их мнемоническими символьными обозначениями. Например, команда сложения содержимого двух ячеек памяти вместо сугубо числового кода 01 0100 0101 0102 превращалась в более осмысленное действие типа ADD 0100,0101,0102. Почти сразу же стало ясно, что использование естественной числовой нумерации ячеек памяти становится неразумной преградой между обозначениями переменных решаемой задачи и их эквивалентами в виде числовых адресов. Почему бы не возложить на специальную программу чисто механическую работу по замене символьных обозначений исходных и промежуточных данных задачи на их машинные адреса? И тогда очередной пункт алгоритма, выражавшийся простой формулой z = х + у, превращался в достаточно наглядную и близкую по смыслу команду ADD X,Y,Z. На первом этапе развитие этих идей сдерживало отсутствие устройств ввода/вывода, которые могли бы обрабатывать алфавитно-цифровую информацию. Как только аппаратные средства позволили преодолеть это препятствие, неотъемлемой частью программного обеспечения ЭВМ стали системы, получившие название Автокодов или Ассемблеров.

Введение
К числу первых алгоритмических языков, получивших достаточно широкое распространение, относятся Фортран (FORTRAN — от FORmula TRANslation, "трансляция формул") и Алгол (ALGOL — от ALGOrthmic Language, "алгоритмический язык"). Первый из них родился в недрах фирмы IBM в 1954 г. и активно поддерживался этим наиболее могущественным концерном по производству средств вычислительной техники.

Введение
Введение - 2
Введение - 3
Введение - 4
Введение - 5
Введение - 6
Введение - 7
Введение - 8

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

Для кого написана эта книга?
Что такое "хорошая" программа?
Что такое "хорошая" программа? - 2
Что такое "хорошая" программа? - 3

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

Представление числовых данных
Представление числовых данных - 2
Представление числовых данных - 3
Ввод числовой информации
Вывод числовых результатов
Задачи,советы и ответы
Задачи,советы и ответы - 2
Задачи,советы и ответы - 3
Задачи,советы и ответы - 4
Задачи,советы и ответы - 5

Символьные данные и их внутреннее представление
Символьная (текстовая) информация — самый простой тип данных с точки зрения его представления в памяти ЭВМ. Каждому символу текста в памяти соответствует байт с 8-разрядным кодом этого символа в том или ином стандарте. Буквам латинского алфавита, цифрам, знакам операций и различным разделителям (скобки, точки, запятые и т. п.) в некотором смысле повезло больше, т. к. их кодировка практически универсальна. Она предложена фирмой IBM и составляет первую половину большинства 8-разрядных кодировочных таблиц, используемых в разных странах.

Ввод и вывод текстовой информации
Ввод и вывод текстовой информации - 2
Ввод и вывод текстовой информации - 3
Обработка фрагментов строк
Обработка фрагментов строк - 2
Сравнение и сортировка текстовых данных
Сравнение и сортировка текстовых данных - 2
Управление цветом в текстовом режиме
Управление цветом в текстовом режиме - 2
Задачи, советы и ответы

Объявление массивов
В QBasic для объявления массивов и одновременного отведения памяти под хранение их элементов используется оператор DIM: DIM А(10),В(2 ТО 8,3 ТО 5),С(3,2,6) В простом объявлении указывается максимальный индекс и, поскольку минимальный индекс по умолчанию равен 0, то в массиве А, например, содержится не 10, а 11 элементов. Конструкция "qq то kk" позволяет одновременно задать и минимальный, и максимальный индексы.

Объявление массивов
Объявление массивов - 2
Инициализация массивов
Статические и динамические массивы
Статические и динамические массивы - 2
Статические и динамические массивы - 3
Массивы - параметры процедур и функций
Массивы - параметры процедур и функций - 2
Массивы - параметры процедур и функций - 3
Массивы - параметры процедур и функций - 4

Задачи,советы и ответы
В простейшем варианте процедура (функция) считается рекурсивной, если она пытается вызвать сама себя. Математики нередко прибегают к рекурсивному определению функций: n! = n*(n-1)! Естественно, что при таком хождении "по кругу" должно быть предусмотрено условие выхода, иначе вычислительный процесс может продолжаться бесконечно долго. В примере с факториалом тело процедуры на Паскале может выглядеть следующим образом: if n 2 then fact:=l else fact:=n*fact(n-1);

Задачи,советы и ответы
Задачи,советы и ответы - 2
Задачи,советы и ответы - 3
Задачи,советы и ответы - 4

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

Вызов программ в системе QBasic
Вызов программ в системе QBasic - 2
Оформление и вызов программ в Turbo С
Оформление и вызов программ в Turbo Pascal
Оформление и вызов программ в Turbo Pascal - 2
Оформление модулей на Паскале
Локальные и глобальные данные
Локальные и глобальные данные - 2
Локальные и глобальные данные - 3
Дерево решений

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

Основные типы файлов в системе QBasic
Основные типы файлов в системе QBasic - 2
Основные типы файлов в системе QBasic - 3
Основные типы файлов в системе QBasic - 4
Основные типы файлов в системе QBasic - 5
Основные типы файлов в Паскале
Основные типы файлов в Паскале - 2
Основные типы файлов в Паскале - 3
Основные типы файлов в Паскале - 4
Основные типы файлов в Си

О мониторах и графических системах
В графическом режиме экран напоминает миллиметровку, т. е. разбит на довольно много мелких клеток (сторона клетки порядка 0,3—0,4 мм для мониторов с 14—15-дюймовыми экранами). Такие клетки называют пикселами (pixel — от picture's element, "элемент рисунка") и каждый из них может быть окрашен в тот или иной цвет. Самый высокий графический режим, поддерживаемый нашими системами программирования, соответствует стандарту VGA — 640 точек по горизонтали, 480 — по вертикали, 16 цветов из довольно большого числа (256 К) возможных цветовых оттенков.

О системах координат и текущей точке
О видеопамяти
Как формируется RGB-цвет пикселов
Краткий обзор графических возможностей
Краткий обзор графических возможностей - 2
Инициализация графического режима
Области графического вывода
Определение области графического вывода - 2
Определение области графического вывода - 3
Определение области графического вывода - 4

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

Немного истории
Немного истории - 2
Немного истории - 3
Вычисление юлианских дат
Вычисление юлианских дат - 2
Задачи, советы и ответы
Задачи, советы и ответы - 2
Задачи, советы и ответы - 3
Задачи, советы и ответы - 4
Задачи, советы и ответы - 5

Управление мышью
В составе штатных поставок систем ТС, ТР и QBasic отсутствуют средства управления мышью, а без этого манипулятора на порядок снижается ценность игровых и диалоговых программ. Непосредственную работу с мышью осуществляет системная программа — драйвер мыши, — загружаемая одновременно с загрузкой операционной системы MS-DOS или входящая в состав Windows.

Управление мышью
Управление мышью - 2
Управление мышью - 3
Красивые окна в текстовом режиме
Красивые окна в текстовом режиме - 2
Красивые окна в текстовом режиме - 3
Красивые окна в текстовом режиме - 4
Красивые окна в текстовом режиме - 5
Красивые окна в текстовом режиме - 6
Красивые окна в текстовом режиме - 7

Самоучитель по Flash MX
Организация и ведение библиотек электрорадиоэлементов в P-CAD 2002
Объектно-ориентированное программирование в ограничениях
Форекс
Язык программирования Форт
Делаем из цветной картинки черно-белую
Основы фотографии
Иллюстрированный самоучитель по Photoshop 7
Введение в цифровую фотографию
Photoshop for WEB
Теория и практика фотографии
Самоучитель по Adobe Photoshop 5.5
Самоучитель по цифровой фотографии
Фостер Алан Дин - Что Натворил Ву-Линг
Базы данных. Создание форм и отчетов
Microsoft FoxPro. Краткое руководство по управлению для Windows
Базы данных - MySQL - статьи
Базы данных. Вводный курс
Три манифеста баз данных ретроспектива и перспективы