Основы Pascal. Типы данных. Структура программы на языке Pascal
Вид материала | Документы |
- Компоновать программы из отдельных частей отлаживать программы выполнять программы., 197.76kb.
- Borland Turbo Pascal, знать простые основные алгоритмы работы с простыми типами данных, 316.19kb.
- Программирование на языке высокого уровня, 59.92kb.
- Задачи работы Научиться создавать программы на языке Turbo Pascal с использованием, 598.05kb.
- Курс «Программирование на языке Turbo Pascal 0» Цель курса, 19.6kb.
- Borland Turbo Pascal, знать простые основные алгоритмы работы с простыми типами данных, 324.26kb.
- Правила преобразований из одного типа в другой и правила приведения типов в языке Object, 19.03kb.
- Информатика Ответы на вопросы, 913.15kb.
- Конспект урока по информатике для десятого класса по теме «Условный оператор в Turbo, 32.44kb.
- Доманская Юлия Георгиевна г. Вилейка 2006г пояснительная записка, 74.95kb.
- Основы Pascal. Типы данных. Структура программы на языке Pascal.
Основы Паскаля
При записи программы на языке программирования можно пользоваться лишь символами, предусмотренными алфавитом языка. Алфавит языка Паскаль составляют буквы, цифры и специальные символы (знаки операций и ограничители). Специальный символ может быть одной литерой или парой литерой. В последующем изложении будем использовать заглавные буквы латинского и русского алфавитов:
A B C D …
А Б В Г …
арабские цифры:0 1 2 …
знаки операций: + - * / = <> < > <= >= : =
ограничители: . , : ; ' ( ) [ ]
Из символов алфавита строят более сложные конструкции - слова, словосочетания, предложения. Слово - это некоторая минимальная единица языка самостоятельного значения, представляющая собой образованную в соответствии с некоторыми правилами последовательность символов. В языке Паскаль под словом понимают число, строку, имя. Словосочетание - это группа слов, имеющая некоторый смысл. В языке программирования эта конструкция, состоящая из слов и символов и задающая правило вычисления некоторого значения, называется выражением. Минимальная конструкция языка, представляющая собой законченную мысль, есть предложение. Предложение либо задает полное описание некоторого действия, которое необходимо выполнить, и называется оператором, либо описывает структуру и организацию данных - объектов языка, над которыми эти действия производят, и называется описанием. Совокупность описаний и операторов, объединённая единым алгоритмом, образует программу. Для того чтобы научиться писать программы, необходимо изучить синтаксис языка (правила записи его конструкции) и его семантику (смысл и правила использования этих конструкций).
Рассматривая понятие слова в языке Паскаль, следует отметить, прежде всего, существование некоторого набора служебных (ключевых) слов, назначение которых в языке строго определено (зарезервировано) и которые не могут быть использованы с другой целью. Служебные слова используются, например, для обозначения операторов (CASE - оператор выбора, IF, THEN, ELSE - оператор условного перехода), описаний (CONST - констант, VAR - переменных), некоторых операций (DIV - целочисленного деления). В таблице приведён список служебных слов языка Паскаль, пояснения значений которых будут вводиться по мере изучения средств языка.
Числа записываются в программе в десятичной системе исчисления и могут быть целыми и действительными, положительными и отрицательными. Положительный знак числа (+) может быть опущен как для целых, так и для действительных чисел.
Действительные числа изображаются в естественной форме и полулогарифмическая (показательной). В естественной форме число должно содержать десятичную точку, применяемую вместо десятичной запятой, причём число не может начинаться или заканчиваться точкой.
Пример 1( неправильно записанные числа ):
15. - оканчивается точкой;
.65 - начинается сточки;
155.27.54 - содержит две точки.
Полулогарифмическая форма записи используется для представления очень больших или очень маленьких чисел, которые нелегко изобразить обычной десятичной записью. Например, масса покоя электрона приблизительно равна 0,000000000000000000000000000000910956 г. Такие числа чаще записывают в более удобном виде с десятичным множителем: 9,10956*10 -28. При записи таких чисел в языке Паскаль часть числа, которая читается как "умножить на десять в степени", обозначается буквой Е и число в программе выглядит следующим образом: 9.10956Е-28. Цифры, предшествующие букве Е, образуют мантиссу числа, цифры, следующие за буквой Е - порядок. Мантисса и порядок могут иметь знак "+" или "-". Следует помнить, что при написании числа мантисса не должна отсутствовать или начинаться или оканчиваться точкой.
Пример 2( правильно записанных чисел записанных в полулогарифмической форме ):
-0.131E5
50E7
-5E-02
123.7E-5
Пример 3( неправильно записанных чисел ):
Е-05 - отсутствует мантисса;
-5.Е02 - мантисса числа оканчивается точкой;
-Е12 - отсутствует мантисса;
Допустимый диапазон изменения целых и вещественных чисел зависит от конкретной реализации языка. Попытка использовать числа, значения которых лежат за пределами допустимого диапазона, приведёт к ошибке.
Строка - это последовательность символов языка, заключённая в апострофы (одиночные кавычки). Если в строку необходимо включить сам апостроф, то его записывают дважды.
Пример 4 (строки) 'A', 'таблица значений', 'контр. работа по курсу электротехника', 'XYZ', '575', '0.5+17E-5'.
Пример 5 ( неверно записанные строки ):
'CONST - нет конечного апострофа;
PROGRAM - апострофы отсутствуют совсем;
'15.8'E5 - апостроф стоит не в конце строки;
'+*.;" - не хватает ещё одного апострофа в конце строки.
Используются строки для работы с текстами, например для вывода текстов и комментариев на печать. Максимальная длина строки определяется конкретной реализацией языка.
Имена (идентификаторы) служат для обозначения различных объектов и конструкций программы и отличаются от служебных слов тем, что выбираются (назначаются) самим программистом по следующему правилу: имя должно состоять из букв и цифр, но первым символом может быть только буква. Длина имени во многих реализациях языка не ограничивается, однако рекомендуется, чтобы она не превышала 6-8 символов. Следующие имена составлены без ошибок:
X Y22M РАЗМЕР GAMMA ALFA R15
А такие имена, наоборот, ошибочны:
4ABC - начинается с цифры;
Y.22 - содержит недопустимый символ - точку;
A+B - содержит недопустимый символ - знак "+";
РАЗМЕР ПАЛЬТО - пробелы в имени недопустимы.
Выбор имени следует осуществлять исходя из логической или физической сущности обозначаемого объекта, при этом рекомендуется придерживаться следующих правил:
в пределах области определения имя должно быть уникальным (каждому имени должен соответствовать лишь один обозначаемый объект и, наоборот), в противном случае соответствие между именем и обозначением объекта будет неоднозначным;
в качестве имён не разрешается использовать служебные слова;
Служебные слова языка Паскаль
AND FILE OF TYPE
ARRAY FOR OR UNTIL
BEGIN FUNCTION PACKED VAR
CASE GOTO PROCEDURE WHILE
CONST IF PROGRAM WITH
DIV IN RECORD
DO LABEL REPEAT
DOWNTO MOD SET
ELSE NIL THEN
END NOT TO
в языке определён некоторый набор заранее предопределённых имён, их называют стандартными; программист может предопределить эти имена (использовать не по стандартному значению), но делать это не рекомендуется;
Стандартные идентификаторы языка Паскаль
Константы Типы Процедуры Функции Файлы
FALSE BOOLEAN GET ABS INPUT
TRUE CHAR NEW ARCTAN OUTPUT
MAXINT INTEGER PACK CHR
REAL PAGE COS
TEXT PUT EOF
READ EOLN
READLN EXP
RESET LN
REWRITE ODD
UNPACK ORD
WRITE PRED
WRITELN POUND
SIN
SQR
SQRT
SUCC
Длинные имена или имена, состоящие из нескольких слов, следует сокращать, например, в качестве имени выбрать его первые три согласные буквы:
РАЗМЕР------------------------------- РЗМ
ДЛИНА СТОРОНЫ-------------------------------ДЛН
GAMMA-------------------------------GMM
следует избегать схожих по виду имён (AX1 и AXI), подобных по написанию символов в пределах одного идентификатора (DO20, где второй символ - буква O, последний - цифра 0);
если в имени нужно использовать цифры, то лучше писать их в конце идентификатора (A32, REG15).
Рассмотрим несколько подробнее, для обозначения каких объектов и конструкций служат имена (идентификаторы). Прежде всего, следует отметить, что имена используются для обозначения данных - величин, над которыми в программе используется для обозначения данных - величин, над которыми в программе производятся некоторые действия. Постоянные величины, значения которых не меняются в процессе выполнения программы, называются константами. Константы в программе могут быть представлены либо непосредственно своим значением (числом, строкой), либо именем. Для некоторых констант в языке определены стандартные имена. Величины, которых могут изменяться в процессе выполнения программы, называются переменными. Переменные в программе могут быть представлены только именем. В машине каждой величине отводится определённая область памяти, где хранится её значение.
Данные могут быть различных типов. Например, константа может быть числом (целым или вещественным), строкой. Переменная, подобно константе, также может быть арифметической (значение переменной - число) или строковой (значение переменной - строка). Арифметические переменные могут быть целыми или вещественными. Тип константы определяется формой её записи. Задание типа переменной осуществляется с помощью указания некоторого имени (стандартного или определённого пользователем) в специальной конструкции языка, называемой описанием. Переменным вещественного вида соответствует имя - REAL, целого - INTEGER.
И наконец, имена используются для обозначения всей программы и отдельных её частей (процедур и функций), дающих описание некоторого сложного действия или группы действий, производимых над данными и имеющих некоторое самостоятельное значение. Алгоритмы отдельных широко используемых процедур и функций уже составлены разработчиками языка, и их программные описания хранятся в машине в специальной области памяти. Для этих процедур и функций установлены стандартные имена, а сами они называются стандартными процедурами и стандартными функциями. Программист, как только ему потребуется указанный алгоритм, вызывает необходимую процедуру или функцию, указывая программе её имя и данные, которые её необходимы.
Пример 6 Для иллюстрации введённых понятий рассмотрим программу, реализующую тривиальный алгоритм сложения двух произвольных действительных чисел и печати результата:
Program SUMMA;
Var A, B, C : Real;
Begin
Read(A,B);
C := A + B;
Writeln(РЕЗУЛЬТАТ СУММИРОВАНИЯ);
Writeln('C=',C)
End.
Первая строка является заголовком программы, где PROGRAM - служебное слово, SUMMA - имя программы. Далее идёт раздел описания данных, в котором переменные A, B, C, участвующие в вычислениях, объявлены как переменные действительного типа. Здесь VAR - служебное слово, обозначающее раздел описания переменных, REAL - стандартное имя, обозначающее действительный тип. Описание всех переменных программы обязательно! BEGIN, END - служебные слова, ограничивающие раздел операторов. После служебного слова END, определяющего одновременно и конец программы, ставится точка. Оператор ввода READ осуществляет вызов стандартной процедуры ввода, в результате выполнения которой переменные А и В получат (приобретут) задаваемые числовые значения. Эти значения являются, как правило, исходными данными решаемой задачи.
Следующий оператор - оператор присваивания - обозначается символом :=, справа от которого стоит вычисляемое выражение, а слева - имя переменной, которой присваивается вычисленное значение. Оператор WRITELN - оператор вывода - также является вызовом стандартной процедуры. Если в этом операторе указана константа, то она непосредственно выводится на печать, если указано имя переменной, то на печать выводится её значение. В примере осуществляется печать текстов, заключённых в апострофы, а затем значения переменной С. Точка с запятой в языке Паскаль является разделителем между операторами. Пробелы являются разделителями между именами, числами и служебными словами, причём внутри имён, чисел и служебных слов пробелы встречаться не должны. Операторы в программе, если нет специальных указаний, выполняются слева направо и сверху вниз (естественный ход выполнения программы).
Типы данных
Примитивные типы данных Паскаля: числа с плавающей запятой (real), целые (integer), символьный (char), логический (boolean) и перечисления (конструктор нового типа, введённый в Паскале):
var { секция объявления переменных }
r: Real; { переменная вещественного типа }
i: Integer; { переменная целого типа }
c: Char; { переменная-символ }
b: Boolean; { логическая переменная }
e: (apple, pear, banana, orange, lemon); { переменная типа-перечисления }
Выделяется понятие порядковых типов данных (ordinal), к ним относятся целые типы (знаковые и беззнаковые), логический (boolean), символьный (char), перечислимые типы и типы-диапазоны.
Порядковые типы задаются целым числом (кодом), которое можно получить с помощью функции ord. Все операции, выполняемые над порядковыми типами, выполняются с их кодами.
Диапазоны содержат подмножество значений других порядковых типов:
var
x: 1..10;
y: 'a'..'z';
z: pear..orange;
Для порядковых типов определены операции inc, dec, succ, pred, ord, операции сравнения (= > < => <= <>), их можно использовать в операторах case, for (как счётчик цикла), как границы массивов, для задания элементов множеств и типов-диапазонов.
В Паскале, в отличие от Си-подобных языков, с типами boolean и char арифметические целочисленные операции не определены.
В отличие от многих распространённых языков, Паскаль поддерживает специальный тип данных множество:
var
set1: set of 1..10;
set2: set of 'a'..'z';
set3: set of pear..orange;
Множество — фундаментальное понятие в современной математике, которое может быть использовано во многих алгоритмах.
В паскале тип множество может содержать только однотипные элементы порядкового типа. Эта особенность широко используется и обычно быстрее эквивалентной конструкции в языке, не поддерживающем множества. К примеру, для большинства компиляторов Паскаля:
if i in [5..10] then { проверка на принадлежность элемента множеству }
...
обработается быстрее, чем
if (i>4) and (i<11) then { проверка логическими условиями }
...
Для задания значения множества используется список элементов множества, отделенных запятыми и заключённый в квадратные скобки (как уже было показано выше):
var { секция объявления переменных }
d:set of char;
begin { начало блока }
d:=['a','b'];
...
В Паскале Йенсен и Вирта строки представлялись как упакованные массивы символов; следовательно, они имели фиксированную длину и обычно дополнялись до этой длины пробелами.
В современном Паскале[9] для работы со строками используется встроенный тип string, поддерживающий операции конкатенации (+) и сравнения (> < = <> >= <=). Строки сравниваются в лексикографическом порядке. Например, строки считаются равными если они имеют одинаковую длину и коды всех символов с одинаковыми индексами совпадают.
Тип string [n] или просто string в диалектах языка 1970-1990-х годов определялся в виде массива символов array [0..n] of char (n по умолчанию принимало значение 80 в UCSD Pascal и 255 в Turbo/Borland Pascal), код нулевого символа при таком представлении служит для задания длины строки, соответственно строка могла иметь максимальный размер 255 символов. По умолчанию в Delphi и FreePascal в качестве String используется тип AnsiString, память под который выделяется и освобождается компилятором динамически, а максимальный размер строки в текущих реализациях составляет 2 гигабайта. Кроме того, в Delphi и Free Pascal в качестве string может использоваться тип WideString, где применяется 16-битное представление символов в кодировке UCS-2, при этом средства преобразования из однобайтовых строк в многобайтовые и обратно в стандартной библиотеке языка отсутствуют.
Новые типы могут быть определены из существующих:
type { секция объявления типов }
x = Integer;
y = x;
...
Более того, из примитивных типов могут быть сконструированы составные:
type { секция объявления типов }
a = Array [1..10] of Integer; { определение массива }
b = record { определение записи }
x: Integer;
y: Char;
end;
c = File of a; { определение файла }
Файловые типы в Паскале делятся на типизированные, текстовые и файлы без типов.
Как показано в вышеприведённом примере, типизированные файлы в Паскале — это последовательности однотипных элементов. Для каждого файла существует переменная-указатель на буфер, которая обозначается f. Процедуры get (для чтения) и put (для записи) перемещают указатель к следующему элементу. Чтение реализовано так, что read(f, x) представляет собою то же, что и get(f); x:=f. Соответственно, запись реализована так, что write(f, x) представляет собою то же, что и f := x; put(f). Текстовые файлы text определены как расширение типа file of char и помимо стандартных операций над типизированными файлами (чтение, запись символа), позволяют осуществлять символьный ввод-вывод в файл всех типов данных аналогично консольному вводу-выводу.
Файлы без типов объявляются как переменные типа file. С ними можно проводить операции побайтового нетипизированного ввода-вывода по несколько блоков байт указанной длины через буфер, для этого служат специальные процедуры blockread и blockwrite (расширение UCSD).
Структура
Общая структура подключаемого модуля на Паскале выглядит следующим образом:
unit UnitName1;
interface
...
implementation
...
begin {может отсутствовать-используется, если необходимо поместить операторы инициализации}
...
end.
Возможен также ещё один вариант:
unit UnitName2;
interface
...
implementation
...
initialization
...
finalization
...
end.
В отличие от главной программы, файл модуля начинается с ключевого слова UNIT, за которым следует имя модуля и точка с запятой. Современные реализации, как правило, требуют, чтобы имя модуля совпадало с именем файла исходного кода, в котором этот модуль содержится. Модуль содержит три секции: интерфейсную секцию, секцию реализации и тело модуля.
Интерфейсная секция идёт первой, начинается с ключевого слова INTERFACE и заканчивается в том месте модуля, где начинается секция реализации или тело. В интерфейсной секции объявляются те объекты (типы, константы, переменные, процедуры и функции — для них помещаются заголовки), которые должны быть доступны извне модуля. При этом допускается частичное объявление типов: они могут объявляться без указания структуры, одним только именем. При использовании такого типа во внешней программе допускается объявление переменных и параметров этого типа, присваивание значений, но невозможно получить доступ к деталям его реализации. Процедуры и функции в интерфейсной секции объявляются в виде форвардов — заголовков с параметрами, но без тела. Состав интерфейсной секции модуля таков, что его достаточно для генерации кода, использующего данный модуль. Переменные, объявленные в интерфейсной секции, являются глобальными, то есть существуют в единственном экземпляре и доступны во всех частях программы, использующих данный модуль.
Секция реализации следует за интерфейсной и начинается с ключевого слова IMPLEMENTATION. В нём располагаются описания процедур и функций, объявленных в интерфейсной секции, а также описания типов, констант, переменных, процедур и функций, которые необходимы для реализации интерфейсных процедур и функций. Описание процедуры или функции, объявленной в интерфейсной секции, должно иметь в точности такой же заголовок, как в объявлении. В теле могут использоваться другие процедуры и функции данного модуля, объявленные как в интерфейсной части, так и в секции реализации. Переменные, объявленные в секции реализации, являются, по сути, глобальными (то есть существует только один экземпляр каждой такой переменной на всю программу), но доступны они только из процедур и функций, описанных в секции реализации данного модуля, а также из его тела. Если в интерфейсной секции есть сокращённые объявления типов, то эти типы должны быть полностью описаны в секции реализации.
Тело модуля начинается находящимся на верхнем уровне вложенности ключевым словом BEGIN. Тело содержит программный код, который выполняется один раз при загрузке модуля. Тело может применяться для инициализации, присваивания начальных значений переменным модуля, выделения ресурсов для его работы и так далее. Тело модуля может отсутствовать. В ряде реализаций Паскаля, например, в Delphi, вместо тела модуля могут применяться две секции (также необязательные) — INITIALIZATION и FINALIZATION. Они располагаются в конце модуля, после соответствующего ключевого слова. Первая — секция инициализации, — содержит код, который должен быть выполнен при загрузке модуля, вторая — секция финализации, — код, который будет выполнен при выгрузке модуля. Секция финализации может выполнять действия, обратные инициализации — удалять объекты из памяти, закрывать файлы, освобождать выделенные ресурсы.
Модуль заканчивается ключевым словом END с точкой.
- Основы Java-Script. Основные понятия, область применения
Основы Java Script
Язык HTML предоставляет авторам Web-страниц большие возможности для отображения текстовой и графической информации. Но создаваемые с помощью языка HTML страницы остаются статистическими - пользователи не могут изменить информацию, расположенную на странице, а так же использовать большинство интерфейсных элементов. Для того чтобы сделать страницу по-настоящему интерактивной, нам нужен еще один язык, выполняемый в контексте браузера, - скриптовый язык.
Скриптовый язык используется для создания интерактивных страниц. Этот язык программирования предоставляет средства для управления браузером. Обычно он не содержит всех возможностей настоящих языков программирования, таких, например, как работа с файлами или управление графикой. Созданные с помощью скриптовых языков программы не могут выполняться самостоятельно - они работают только в контексте браузера, поддерживающего выполнения скриптовых программ. К таким браузерам относятся Microsoft Internet Explorer и Netscape Navigator. Создаваемые на скриптовых языках программы, называемые сценариями или скриптами, включаются в состав Web-страниц и распознаются и обрабатываются браузером отдельно от остального HTML - кода.
Рассмотрим для чего же нужны скриптовые языки.
Наиболее часто скриптовые языки используются для:
· отображения диалоговых панелей и сообщений в статусной строке браузера;
· динамического создания содержимого страницы во время ее загрузки или уже после того, как она полностью загружена;
· изменения содержимого страницы, например, атрибута SRС графического изображения или содержимого других HTML-элементов, и отклика на события;
· проверки вводимой пользователем информации и управления отсылкой содержимого форм;
· навигации по другим страницам;
· управления встроенными в Web-страницу объектами типа Java-апплетов и элементов ActiveX.
Основные понятия
Как уже отмечалось, язык программирования " onclick="return false">
Язык " onclick="return false">
Объекты могут создаваться. Делается это путем вызова конструктора в операции new; например new String("Это строка") создает новый объект String. Результат вызова конструктора без new зависит от конструктора. Так, String("Это строка") создает примитивную строку, а не объект.
Остановимся на основных понятиях языка " onclick="return false">
Тип
Набор значений данных.
Примитивное значение
Элемент одного из типов Undefined (не определен), Null (нулевой), Boolean (логический - true или false), Number (числовой) или String (строка). Примитивные значения - это данные, которые представляются непосредственно и на самом нижнем уровне реализации языка.
Объект
Элемент типа Object; является неупорядоченным набором свойств, каждое из которых может быть примитивным значением, объектом или функцией. Свойство, являющееся функцией, называется методом.
Конструктор
Функция, которая создает и инициализирует объекты. Каждый конструктор имеет соответствующий прототип, который используется для наследования и разделения свойств.
Прототип
Объект, который используется в " onclick="return false">
Объект языка
Любой объект, который поддерживается реализацией языка " onclick="return false">
Встроенный объект
Любой объект, который поддерживается реализацией языка " onclick="return false">
Объект среды
Любой объект, который не является объектом языка, а поддерживается средой исполнения сценариев.
Неопределенное значение
Примитивное значение, которое означает, что переменной не присвоено никакого значения.
Тип Undefined
Этот тип состоит из единственного значения undefined, которое является неопределенным.
Нулевое значение
Примитивное значение, которое означает нулевую, пустую или несуществующую ссылку.
Тип Null
Этот тип состоит из единственного значения null, которое является нулевым.
Логическое значение
Примитивное значение типа Boolean, означающее истину или ложь.
Тип Boolean
Тип, состоящий ровно из двух значений: true (истина) и false (ложь).
Логический объект
Элемент типа Object, который является экземпляром встроенного логического объекта. Иными словами, логический объект создается выражением new Boolean(value), где value - логическое значение. Результирующий объект имеет неявное (безымянное) свойство типа Boolean.
Строковое значение
Элемент типа String. Предсталяет собой строку символов, т . е. упорядоченный массив из нуля или более символов Unicode (т. е. 16-битовых целых чисел без знака).
Тип String
Этот тип состоит из всех возможных строковых значений.
Строковый объект
Элемент типа Object, который является экземпляром встроенного строкового объекта. Иными словами, строковый объект создается выражением new String(value), где value - строковое значение. Результирующий объект имеет неявное (безымянное) свойство типа String.
Числовое значение
Элемент типа Number. Является непосредственным представлением числа.
Тип Number
Тип, состоящий из всех возможных числовых значений.
Числовой объект
Элемент типа Object, который является экземпляром встроенного числового объекта. Иными словами, числовой объект создается выражением new Number(value), где value - числовое значение. Результирующий объект имеет неявное (безымянное) свойство типа Number.
Как и во многих других языках программирования, программа (сценарий) на языке " onclick="return false">
function convert(inches) {
cm = inches * 2.54; // Эти два оператора заключены в блок.
meters = inches / 39.37;
}
convert(inches); // Эти два оператора не образуют блока.
km = meters / 1000;
Как мы видим из этого примера, каждый оператор " onclick="return false">
Строка сценария, содержащая только точку с запятой, считается пустым оператором, т. е. оператором, не выполняющим никакого действия. Тем не менее, в некоторых случаях использование пустого оператора удобно, например:
while (i--) // Цикл состоит в уменьшении i до нуля,
; // поэтому его телом является пустой оператор.
Для удобства чтения программы и форматирования ее текста могут использоваться символы пробела. Эти символы игнорируются всюду, кроме строковых констант и регулярных выражений, в которых они являются значимыми. Символами пробела в " onclick="return false">
пробел (\u0020);
табуляция (\u0009);
вертикальная табуляция (\u000B);
перевод формата (\u000C);
неразрывный пробел (\u00A0).
Символы разрыва строки также используются для форматирования текста, но они могут иметь значение и с точки зрения синтаксиса программы. Формальные правила использования разрывов строк в " onclick="return false">
перевод строки (\u000A);
возврат каретки (\u000D);
разделитель строк (\u2028);
разделитель абзацов (\u2029).
3.2.2. Комментарии
Комментарии в " onclick="return false">
/* Это пример комментария,
содержащего несколько строк. */
Многострочные комментарии не могут быть вложены друг в друга. Текст комментария полностью игнорируется при выполнении программы.
3.2.3. Зарезервированные слова
Следующие имена являются ключевыми словами языка " onclick="return false">
case do if switch var
catch else in this void
continue finally instanceof throw while
default for new try with
Следующие имена являются ключевыми словами в предлагаемых расширениях языка " onclick="return false">
boolean enum import protected transient
byte export int public volatile
char extends interface short
class final long static
const float native super
debugger goto package synchronized
3.2.4. Идентификаторы
Идентификаторы используются в " onclick="return false">
3.2.5. Переменные
3.2.5.1. Декларация переменных
Переменные используются в качестве символических имен, принимающих различные значения. Имена переменных задаются идентификаторами. Переменная создается в момент ее декларации. " onclick="return false">
С помощью ключевого слова var, например, var x; или var x = 21;.
Просто присваиванием переменной значения, например x = 21;.
Если декларация переменной не содержит присваивания ей значения, то ее значением считается undefined. Мы можем проверять, определено ли значение переменной, и предпринимать соответствующие действия. Пример:
var text;
if (text == undefined)
document.write("Текст не задан");
else
document.write("Текст:" + text);
В этом примере значение переменной text не определено, поэтому будет выполнен первый оператор document.write.
В самом общем виде декларация переменных имеет вид:
var идентификатор[=инициализатор]?[,идентификатор[=инициализатор]?]?
Здесь инициализатор — это любое выражение, значение которого присваивается переменной при ее создании. Пример:
var a = 0, b, c = "текст", x, y = false;
3.2.5.2. Область действия переменных
Область действия переменной определяется положением ее декларации в тексте программы. Существуют три типа исполняемого кода " onclick="return false">
Глобальный контекст, т. е. исходный текст сценариев, не включая тела функций.
Локальный контекст, т. е. исходный текст сценариев, являющийся телом функции, а также аргумент конструктора встроенного объекта Function. Точнее говоря, если последним параметром конструктора Function является строка текста, то она интерпретируется как тело функции.
Eval-контекст, т. е. аргумент метода eval. Если параметром метода eval является строка текста, то она интерпретируется как программа на языке " onclick="return false">
Иными словами, любая переменная, декларированная вне тела всех функций, является глобальной и доступна всюду в тексте данной программы. Переменная, декларированная в теле функции, является локальной и доступна только внутри тела этой функции. Об особенностях eval-контекста см. описание метода eval.
Для декларации глобальных переменных ключевое слово var не обязательно. Однако, оно обязательно при декларации локальных переменных.
3.2.6. Константы
Константы используются для задания постоянных значений. В " onclick="return false">
нулевая константа null типа Null;
логические константы true (истина) и false (ложь) типа Boolean;
строковые константы типа String, например, "Привет всем!";
числовые константы типа Number, например, 21 или 3.1415926.
Особую группу констант составляют регулярные выражения, которые описаны в гл. 3.5.
3.2.6.1. Строковые константы
Строковая константа — это нуль или более символов Unicode, заключенных в одинарные или двойные кавычки. Обычно строковые константы заключают в двойные кавычки, а одинарные кавычки используются только для тех строк, которые сами содержат двойную кавычку. Примеры:
"Это строковая константа."
'"Эй, вы, там наверху!", - пела Алла Пугачева.'
Строка, не содержащая символов ('' или ""), называется пустой строкой. Символы Unicode, входящие в состав строки, могут задаваться своим числовым кодом с помощью escape-последовательностей вида \uXXXX, где XXXX — шестнадцатеричный код символа Unicode. Символы с кодами, меньше 256, могут задаваться escape-последовательностями вида \xXX, где XX — шестнадцатеричный код символа Unicode. Кроме того, несколько символов могут обозначаться специальными escape-последовательностями:\0 \u0000 нуль (NUL)
\b \u0008 забой (BS)
\t \u0009 табуляция (HT)
\n \u000A перевод строки (LF)
\v \u000B вертикальная табуляция (VT)
\f \u000C перевод формата (FF)
\r \u000D возврат каретки (CR)
\" \u0022 двойная кавычка (")
\' \u0027 одинарная кавычка (')
\\ \u005C обратная косая черта (\)
Пример строковых констант, содержащих специальные символы:
"Графический образ хранится в файле C:\\webstuff\\mypage\\gifs\\garden.gif."
"Эта строка заканчивается разрывом строки.\r\n"
Примечание. Internet Explorer распознает символ "\v" только в регулярных выражениях.
3.2.6.2. Числовые константы
Числовые константы могут быть как целыми, так и плавающими. " onclick="return false">
Десятичные числа — это просто набор десятичных цифр, например: 1234, -256.
Восьмеричные числа начинаются с 0 и состоят из цифр 0 — 7, например: 01234, -067.
Шестнадцатеричные числа начинаются с 0x или 0X и состоят из цифр 0 — 9 и букв A — F в любом регистре, например: 0xA000, 0Xa000, -0x1234.
Плавающие числа отличаются наличием или десятичной точки, или буквы e в любом регистре, задающей степень десяти в научной нотации, или того и другого. Примеры плавающих чисел:0.0001, .0001, 1e-4, 1.0E-4 // Четыре плавающих числа, равных друг другу
-1.23e2 // Плавающее число, равное -123
Область применения
Веб-приложения
" onclick="return false">
AJAX
" onclick="return false">
Comet
Comet — зонтичный термин, описывающий механизм работы веб-приложений, использующих постоянные HTTP-соединения, что позволяет веб-серверу отправлять данные браузеру без дополнительного запроса со стороны браузера. Для таких приложений используются технологии, непосредственно поддерживаемые браузеры. В частности, в них широко используется " onclick="return false">
Браузерные операционные системы
" onclick="return false">коммуницирования клиента и сервера.
Букмарклеты
" onclick="return false">
Пользовательские скрипты в браузере
Пользовательские скрипты в браузере — это программы, написанные на " onclick="return false">
Для управления пользовательскими скриптами в Mozilla Firefox используется расширение Greasemonkey; Opera предоставляет средства поддержки пользовательских скриптов и возможности для выполнения ряда скриптов Greasemonkey. Некоторые скрипты Greasemonkey могут выполняться в Google Chrome при использовании Greasemetal.
Серверные приложения
Приложения, написанные на " onclick="return false">
" onclick="return false">
Мобильные приложения
Перевод мобильных устройств Palm на использование Palm webOS в качестве операционной системы с Mojo SDK в качестве комплекта средств разработки позволяет использовать " onclick="return false">
Виджеты
Виджет — вспомогательная мини-программа, графический модуль, которой размещается в рабочем пространстве соответствующей родительской программы (англ.), служащая для украшения рабочего пространства, развлечения, решения отдельных рабочих задач или быстрого получения информации из интернета без помощи веб-браузера. " onclick="return false">
Прикладное программное обеспечение
Исходный код и скриншот " onclick="return false">
" onclick="return false">
Google Chrome OS в качестве прикладного ПО использует веб-приложения.
В окружении рабочего стола GNOME имеется возможность создавать на " onclick="return false">
Манипуляция объектами приложений
" onclick="return false">
Офисные приложения
" onclick="return false">
Microsoft Office
В Excel Services 2010 добавились два новых интерфейса программирования приложений: REST API и " onclick="return false">
Excel Services 2010 REST API позволяет осуществлять доступ к объектам рабочих книг, таким как таблицы, диаграммы и именованные серии данных; получать изображения, HTML, Atom, рабочие книги; устанавливать значения и обновлять вычисления перед запрашиванием элементов.
JSOM даёт возможность реагировать на действия пользователя в отношении Excel Web Access (EWA), программно взаимодействовать с составляющими EWA. Использование JSOM осуществляется при помощи помещения кода " onclick="return false">
OpenOffice.org
" onclick="return false">
среда выполнения " onclick="return false">
среда выполнения " onclick="return false">
ещё не реализована поддержка интерактивной разработки " onclick="return false">
В OpenOffice.org имеется редактор и отладчик " onclick="return false">
Обучение информатике
Язык обладает пропедевтической ценностью, позволяя сочетать при обучении информатике ((англ.) Computer science) интенсивную практику программирования и широту используемых технологий. Преподавание данного языка в школе позволяет создать базу для изучения веб-программирования, использовать на уроках творческие проекты. Соответствующий курс позволяет обеспечить углубленный уровень изучения информатики и его имеет смысл включать в элективные курсы углубленного уровня подготовки.
" onclick="return false">
Невключённые в книгу Николаса Закаса «Professional " onclick="return false">
- Основы HTML. Основные понятия, область применения. Структура HTML документа.
HTML (от англ. HyperText Markup Language — «язык разметки гипертекста») — стандартный язык разметки документов во Всемирной паутине. Большинство веб-страниц создаются при помощи языка HTML (или XHTML). Язык HTML интерпретируется браузером и отображается в виде документа, в удобной для человека форме.
HTML является приложением («частным случаем») SGML (стандартного обобщённого языка разметки) и соответствует международному стандарту ISO 8879. XHTML же является приложением XML.
Основные понятия:
Элемент - это конструкция языка HTML, содержащая какие-то данные, например:
текст - это элемент, в котором можно выделить три части:
- открывающий тег (англ. tag);
текст - содержимое элемента (в данном примере, текст);
- закрывающий тег;
Как видите, теги начинаются символом "<" и заканчиваются символом ">", а закрывающий тег отличается от открывающего наличием символа "/".
Для некоторых элементов закрывающий тег не обязателен, а некоторые вообще не имеют закрывающего тега.
Регистр символов в названии тега не имеет значения, то-есть и - это одно и то же.
Элементы могут содержать какие-то параметры, называемые атрибутами, которые содержатся в открывающем теге, например:
Как Вы видите, в этом примере:
bgcolor - параметр, blue - атрибут
text - параметр, yellow - атрибут
В данном случае мы указали, что фон HTML-документа будет синим, а текст документа желтым.
Допускается использование вложенных элементов, например:
текст
В данном примере элемент .... является вложенным и дополняет действие внешнего элемента ....
При использовании вложенных элементов следует учитывать, что вложенный элемент должен быть закрыт до закрытия внешнего элемента, например:
текст - правильно;
текст- не правильно.
Немного про CSS - тоже самое можно задать таблицами стилей (CSS), например, для данной страницы они заданы в файле
LINK href="foto/style.css" rel="stylesheet" type="text/css"
открыть и посмотреть очень просто - , например, для этого сайта www.h-t-m-l.ru/foto/style.css - для любого другого сайта путь смотреть заголовке HEAD - /HEAD
LINK href="адрес таблицы стилей" rel="stylesheet" type="text/css"
Структура
Когда веб-страница открывается в браузере, он просматривает код HTML, находит специальные символы, называемые тегами, и использует их для вставки изображений, изменения вида текста, создание ссылок на другие веб-страницы и др.
Для обозначения тегов используется символ <тег>. Теги бывают двух видов: парные, которые выделяют блок текста, также называются еще контейнером (пример 1) и одиночные. Контейнер требует закрывающего тега, обозначаемого тег>. Теги нечувствительны к регистру, поэтому запись и эквивалентна.
Пример 1. Использование парных тегов (контейнера)