
- •Федеральное государственное учреждение
- •©Российская таможенная академия, 2008
- •Ростовский филиал
- •© Крицкий с.П.
- •Содержание
- •Введение
- •Основные понятия программирования
- •Классификация языков программирования
- •Характеристика систем программирования на языкахJavaScript/Jscript
- •Типы значений в языкеJavaScript
- •Числовые литералы и значения и их организация в памяти Литералы целых чисел
- •Литералы вещественных чисел (чисел с плавающей точкой)
- •Логические литералы и значения и их организация в памяти
- •Строковые литералы, значения и их организация в памяти
- •Массивы и их организация в памяти. Многомерные массивы, матрицы
- •Записи и их организация в памяти
- •Операции над различными типами данных
- •Арифметические операции
- •Строковые операции
- •Логические операции
- •Операции сравнения
- •Операции выборки
- •Переменные, выражения, условия Переменные
- •Выражения
- •Вызовы функций и методов
- •Порядок вычисления выражения
- •Операции присваивания
- •Автоматическое преобразование типов значений. Функции преобразования и проверки типов
- •Ввод и вывод значений
- •Понятие оператора. Простые и составные операторы. Блок-схемы программ и модулей Операторы и модули
- •Блок-схемы
- •Составные операторы (последовательность, условные). Их синтаксис, блок-схемы и правила выполнения Последовательность операторов
- •Условный операторif … else
- •Операторы цикла (while, do-while и for). Их синтаксис, блок-схемы и правила выполнения. Операторыbreakиcontinue Оператор циклаwhile
- •Операторbreak
- •Операторcontinue
- •Оператор циклаdo…while
- •Оператор циклаfor
- •Функции. Определение и вызов. Выход из функцииreturn. Массив аргументовarguments Определение функции – операторfunction
- •Выход из функции – операторreturn
- •Определение переменной – операторvar
- •Отладка программ. Трассировка, отладочная печать. Тестирование программы
- •Основные понятия объектного подхода
- •ОбъектMath, назначение, свойства, методы. Значения NaN, Infinity, null, undefined.
- •Свойства объектаMath– константы:
- •Методы объекта Math
- •Специальные константы
- •Массивы как объекты в языкеJavaScript. Конструкторы, свойства и методы массивов. Задача копирования массива вJavaScript
- •Конструктор объектов типаArray
- •Свойство объектов типаArray
- •Методы объектов типаArray
- •Типичные задачи с массивами: линейная алгебра
- •Скалярное произведение векторов
- •Произведение матриц
- •Транспонирование квадратной матрицы
- •Типичные задачи с массивами: сортировка. Сортировка вставками. Методsort
- •Сортировка вставками
- •Методsort
- •Типичные задачи с массивами: поиск. Двоичный поиск в упорядоченном массиве
- •Обработка строк. Конструкторы, свойства, методы строк
- •Конструктор объектов типаString
- •Свойство объектов типаString
- •Методы объектов типаString
- •Шаблоны и регулярные выражения. Их использование методами строк.
- •Простые шаблоны
- •Составные шаблоны
- •Пользовательский интерфейс программ. Общее понятие
- •Html-страница как средство интерфейса для программ на языкеJavaScript. Тэги и атрибутыHtml
- •ОбъектыHtml-страниц иWeb-браузера, их свойства и методы. События и их обработка Объектные модели
- •Объекты страницы
- •Объекты браузера
- •СтилиHtml-объектов. Свойства позиционирования объектов страницы
- •Таймеры, примеры использования
- •Понятие ссылочной структуры данных. Односвязный список. Запись списков с помощью литералов.
- •Понятие стека. Функции для стека
- •Двухсвязный список, его структура
- •Понятие очереди и дека, их организация
- •Понятие дерева как ссылочной структуры. Бинарные деревья. Представление дерева литералом
- •Обработка деревьев. Рекурсия
- •Обход дерева «в глубину»
- •Обход дерева «в ширину»
- •Файлы и файловая система
- •Работа с текстовыми файлами
- •Объекты типа TextStream
- •Управление файлами и папками
- •Коллекции дисков, папок и файлов
- •Технология и методология создания программ
- •Жизненный цикл программы
- •Организация процесса разработки
- •Методологии проектирования программ
- •Заключение
- •Приложение 1. Теги, атрибуты и соответствующие свойства Общая структура html-документа
- •Форматирование текста
- •Вставка графики
- •Гиперссылки и карты
- •Приложение 2. События вHtmLи их источники
- •Приложение 3. Атрибуты и свойства стилейCss
- •Приложение 4. Работа с файловой системой вJScript
- •Свойства, методы и коллекции объектов файловой системы
- •Список литературы
- •Словарь терминов
- •If (условие) оператор1 [else оператор2]
- •Основы программирования
Классификация языков программирования
Существующие языки программирования можно классифицировать по различным критериям.
По области применения:
универсальные (языки команд универсальных вычислительных машин, Паскаль, С и С++, Лисп, Пролог, Visual Basic и др.) – предназначенные для решения задач из любой области, хотя для некоторых областей они могут быть более приспособлены,
специализированные (языки команд контроллеров, языки функциональных схем для программирования контроллеров, язык управления базами данных SQL и др.) – ориентированные на решение задач только в одной или нескольких близких областях и совсем не приспособленные к другим областям.
По уровню абстракции от особенностей машины и приближения понятий языка к понятиям прикладной области, для которой создаётся программа:
низкого уровня (машинные языки, ассемблеры),
высокого уровня (Паскаль, С и С++, Лисп, Пролог, Visual Basic и др.) – в них уже отсутствует ориентация на конкретные машины и их классы, но ещё практически не содержатся прикладные понятия,
сверхвысокого уровня (SQL и другие специализированные языки высокого уровня).
По способу описания процесса решения задачи:
процедурные (Паскаль, С и С++, Visual Basic, SQL и др.) – описывают последовательность шагов (процедур, действий), необходимых для решения задачи, т.е. алгоритм,
непроцедурные (функциональные – Лисп, логические – Пролог и др.) – описывают саму задачу таким образом, чтобы «умная» система программирования сама нашла алгоритм решения,
объектно-ориентированные (Smalltalk, Delphi, C++, Java, JavaScript, Visual Basic и др.) – расширяют возможности процедурных языков, вводя понятия объект и событие. Практически полностью сменили поколение алгоритмических языков.
По способу исполнения программ:
компилируемые (Паскаль, Delphi, С и С++, Visual Basic и др.) – с помощью специальной программы, называемой компилятором, текст программы автоматически переводится на машинный язык и создаётся исполнимый файл программы (*.exe); для переноса программы на другую машину её необходимо перекомпилировать (обычно другим компилятором),
интерпретируемые (VBScript, Java, JavaScript, Лисп, Пролог и др.) – тексты программ на данном языке исполняются не непосредственно процессором машины, а другой программой, называемой интерпретатором или виртуальной машиной для данного языка. Текст программы на интерпретируемом языке может без изменения исполняться на любой машине, где есть интерпретатор для этого языка.
Характеристика систем программирования на языкахJavaScript/Jscript
Универсальный объектно-ориентированный интерпретируемый язык высокого уровня JavaScript был создан в 1996 году Бренданом Эйхом, работавшим тогда в Netscape Communications Corporation, для программирования Web-приложений. Основное его назначение – встраивание программного кода сценариев («скриптов», от англ. script – сценарий) в Web-документы для обеспечения их активности и интерактивности. С этой целью практически во все Web-браузеры и многие Web-серверы встраиваются интерпретаторы языка JavaScript. Миллиарды Web-документов содержат сценарии на JavaScript. Такой популярности языка способствует его простота, универсальность и изящество конструкций. Лидирующее положение среди «скриптовых» языков подтверждается поддержкой языка JavaScript международными стандартами (в комитете по стандартизации ЕСМА-262 разрабатывается уже четвёртая версия стандарта).
JavaScript является общим языком, применимым и вне Web-среды. Так, он может быть использован в качестве языка сценариев в виртуальных мирах, написанных на языке VRML. Ориентация языка на использование его в Интернете, том числе на машинах пользователей, сказалась на ограничении некоторых его возможностей, связанном с обеспечением информационной безопасности Интернета. В языке отсутствует доступ к таким критическим ресурсам компьютера, как адресное пространство, файловая система, данные операционной системы и других программ. На этом языке невозможно найти, прочесть или записать файл, создать или удалить папку или файл, добраться до адресов электронной почты и т.п.
Версия языка JavaScript, реализованная в Web-браузере Internet Explorer от фирмы Microsoft, называется JScript. Она полностью совместима со стандартами ECMA и имеет некоторые полезные расширения, например, для работы с файлами и базами данных.
Интерпретатор JScript встроен в браузер Internet Explorer. Поэтому для создания работающей программы достаточно в программе Блокнот создать текстовый файл с расширением .htm (т.е. Web-страницу), написав в нём следующее:
<script>
Текст программы на JScript
</script>
Тэги <script> и </script> обозначают начало и конец программы.
Если открыть этот файл (он откроется в браузере), то программа сразу выполнится. Если браузер обнаружит в программе ошибки, он сообщит об этом и укажет номер строки и символа, где предположительно находится ошибка, а также характер ошибки. Но для того, чтобы браузер исполнял сценарии и сообщал об ошибках, необходимо настроить его соответствующим образом.