Опубликован: 17.08.2006 | Доступ: свободный | Студентов: 5309 / 678 | Оценка: 4.49 / 3.94 | Длительность: 20:58:00
ISBN: 978-5-9556-0078-9
Лекция 2:

Литералы и скалярные данные

< Лекция 1 || Лекция 2: 1234 || Лекция 3 >
Аннотация: В этой лекции рассматриваются элементарные конструкции языка Perl: литералы и скалярные данные. Описываются форматы записи чисел, строк и правила именования скалярных переменных. Вводится понятие контекста. Приводится формат записи комментариев в программе. Даются начальные сведения о документировании программ с применением формата POD. Цель лекции: освоить правила записи элементарных элементов языка, литералов и скаляров, необходимые для правильного оформления программ на языке Perl. Научиться комментировать программы с использованием однострочных комментариев и формата встроенной документации POD.
Ключевые слова: perl, Java, JavaScript, python, PHP, синтаксис, Pascal, FORTRAN, Basic, язык программирования, подмножество, константа, программа, целое число, ПО, нотация, умножение, арифметическое выражение, система счисления, префикс, t-бит, атрибут файла, Unix, восьмеричная система счисления, диапазон, двоичная система счисления, бит, точность, вычисление, удобочитаемость, символьная строка, апостроф, строковый, специальный символ, управляющий символ, escape-последовательности, управляющая последовательность, backslash, управляющие, значение, подстановка, интерполяция, литеры, escape, невидимый символ, печать, альтернативные, время выполнения, ссылка, скалярная величина, scalar, тип переменной, array, Character, переменная, shell-процедура, имя переменной, процедурный язык, тип данных, boolean, string, byte, short, integer, long, real, FLOAT, double, присваивание, значение переменной, неопределенное значение, встроенная функция, define, истина, область видимости, объявление переменной, глобальные переменные, localization, минимум, выход, вычисленное значение, идентификатор, delimiter, фигурные скобки, контекст, элемент языка, подпрограмма, очередь, сложение, оператор, автор, знание, список, this, аргумент, функция, print, подключаемый модуль, описатели, командный интерпретатор, shebang, sharpness, bang, путь, полный путь, файловая система, операционная система, programming, PL/I, операционная среда, Windows, CGI, web-сервера, Apache, компилятор, подключ, модуль, ACM, comment, команда, документирование, pod, OLD, documented, текстовый формат, HTML, текстовый файл, суффикс, утилита

Литералы

Perl - очень практичный язык, и изучить его основы довольно просто. Поскольку большинство синтаксических конструкций Perl основаны на языке С, то для программистов, знающих языки C, C++, C#, Java, JavaScript, Python или PHP, синтаксис Perl будет очень знакомым. Но и тот, кто раньше писал на языке Pascal, Fortran или Basic, легко привыкнет к нотации Perl. Нетрудно будет и тем, кто не знает ни одного языка программирования, поскольку Perl спроектирован так, чтобы новичок смог научиться писать на небольшом подмножестве языка, а затем постепенно углублялся в его тонкости. Знакомство с языком Perl мы начнем с правил записи литералов - непосредственного представления в программе значений данных таких как числа и строки. Иногда литералы неправильно называют константами, под которыми в программировании чаще имеют в виду имена, представляющие неизменяемые данные.

Числа

Редкая компьютерная программа обходится без использования числовых литералов. В программе на Perl числа записываются самым естественным образом. Так, например, выглядят десятичные целые числа, со знаками и без:

12   -34   +56

Столь же привычно выглядят и десятичные дробные числа, положительные и отрицательные. Целая часть по англоязычной традиции отделяется от дробной части десятичной точкой. Целая или дробная часть числа может не записываться, если она равна нулю:

.12   34.   -456.78   +9.0

Для удобства чтения исходной программы человеком большие числа могут записываться с символом подчеркивания "_" в качестве разделителя разрядов:

123_456   -7_890_098   1_000_000_000_000

Очень маленькие или очень большие числовые значения, целые или дробные, удобно записывать в экспоненциальной форме (также называемой "научной" нотацией):

123E-4   -56e+7   8e9

Латинская буква "E" (заглавная или строчная) в подобных литералах читается как "умноженное на 10 в степени", то есть соответствует арифметическому выражению 123*10-4. Знак "+" у основания и степени числа необязателен.

Иногда требуется записывать числа не в десятичной, а в других системах счисления. Для записи шестнадцатеричных чисел применяется префикс 0x. В этой системе счисления каждая цифра представляет 4 бита данных, а буквами от A до F (независимо от их регистра) обозначаются дополнительные "цифры" от 10 до 15. Так записываются в шестнадцатеричном виде числа 13, -10, 53392, и 1024:

0x0d   -0x0A   0xD090  0x400

В некоторых случаях (например, при записи атрибутов файла в Unix) нагляднее изобразить числа в восьмеричной системе счисления. Обратите внимание, что восьмеричные числа записываются с ведущим нулем, а каждая цифра из диапазона от 0 до 7 представляет 3 бита данных, так что все числовые литералы из одних цифр с ведущим нулем рассматриваются как восьмеричные числа. Вот как будут выглядеть в восьмеричном виде числа 292, -438, 511, и 1024:

0444   -0666   0777   02000

Когда нужно представить двоичные числа, то перед ними ставится признак двоичной системы счисления 0b (каждая цифра 0 или 1 представляет 1 бит). Вот числа 17, -85, 238 и 1024, записанные как двоичные литералы:

0b00010001   -0b01010101   0b1110_1110   0b10000000000

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

< Лекция 1 || Лекция 2: 1234 || Лекция 3 >
Галина Башкирова
Галина Башкирова

Здравствуйте, недавно закончила курс по проф веб программиованию, мне прислали методические указания с примерами тем, однако темы там для специальности 

Системный администратор информационно-коммуникационных» систем.
Мне нужно самой найти тему? или делать по высланным темам

 

Константин Моренко
Константин Моренко
Марина Дайнеко
Марина Дайнеко
Россия, Moscow, Nope, 2008
Сергей Пантелеев
Сергей Пантелеев
Россия, Москва