- •Федеральное государственное учреждение
- •©Российская таможенная академия, 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]
- •Основы программирования
Федеральное государственное учреждение
Государственное образовательное учреждение
высшего профессионального учреждения
«РОССИЙСКАЯ ТАМОЖЕННАЯ АКАДЕМИЯ»
Ростовский филиал
С.П. Крицкий
ОСНОВЫ ПРОГРАММИРОВАНИЯ И ТЕХНОЛОГИИ СОЗДАНИЯ ПРОГРАММ
УЧЕБНОЕ ПОСОБИЕ
по дисциплине
«Технология программирования»
Ростов-на-Дону
2008
УДК 004.42
ББК 32.973-08
К 82
С.П. Крицкий
К 82 Основы программирования и технологии создания
программ: учеб. пособие. – Ростов н/Д: Ростовский филиал
РТА, 2008. – 190 с.
Рецензенты
С.В. Панков, кандидат физико-математических наук, доцент кафедры МИК Института архитектуры и искусства ЮФУ
Л.Б. Кудрявцева, старший преподаватель кафедры информатики и ИТТ Ростовского филиала РТА
ISBN 978-5-9590-0427-9
Данное учебное пособие соответствует первой части программы спецкурса «Технология программирования» для специализации «Информационные таможенные технологии». В соответствии с этой программой, пособие предназначено для изучения фундаментальных основ программирования и технологии программирования, включая проектирование и отладку. В качестве первого изучаемого языка программирования выбран простой и современный язык Web-программированияJavaScript, не требующий изучения строгой типизации и сложной компилирующей среды (это является предметом второй части курса). В связи с таким выбором языка в пособие включены разделы, посвящённые основам разработкиWeb-интерфейсов на языкахHTMLиDHTML. Таким образом, пособие можно использовать не только для изучения основ программирования вообще, но и основWeb-программирования.
Пособие рассчитано на студентов, преподавателей и всех, кто хочет получить начальные знания по программированию и Web-дизайну.
©Российская таможенная академия, 2008
Ростовский филиал
© Крицкий с.П.
Содержание
ОСНОВЫ ПРОГРАММИРОВАНИЯ И ТЕХНОЛОГИИ СОЗДАНИЯ ПРОГРАММ 1
©Российская таможенная академия, 2008 2
Ростовский филиал 2
© Крицкий С.П. 2
СОДЕРЖАНИЕ 3
Основные понятия программирования 13
Классификация языков программирования 15
Характеристика систем программирования на языках JavaScript/Jscript 17
Типы значений в языке JavaScript 19
Числовые литералы и значения и их организация в памяти 21
Литералы целых чисел 21
Литералы вещественных чисел (чисел с плавающей точкой) 22
Логические литералы и значения и их организация в памяти 23
Строковые литералы, значения и их организация в памяти 23
Массивы и их организация в памяти. Многомерные массивы, матрицы 24
Записи и их организация в памяти 27
Операции над различными типами данных 30
Арифметические операции 30
Строковые операции 31
Логические операции 31
Операции сравнения 32
Операции выборки 33
Переменные, выражения, условия 34
Переменные 34
Выражения 35
Вызовы функций и методов 35
Порядок вычисления выражения 37
Операции присваивания 38
Автоматическое преобразование типов значений. Функции преобразования и проверки типов 41
Ввод и вывод значений 43
Понятие оператора. Простые и составные операторы. Блок-схемы программ и модулей 45
Операторы и модули 45
Блок-схемы 46
Составные операторы (последовательность, условные). Их синтаксис, блок-схемы и правила выполнения 48
Последовательность операторов 48
Условный оператор if … else 49
Операторы цикла (while, do-while и for). Их синтаксис, блок-схемы и правила выполнения. Операторы break и continue 50
Оператор цикла while 50
Оператор break 51
Оператор continue 51
Оператор цикла do…while 51
Оператор цикла for 52
Функции. Определение и вызов. Выход из функции return. Массив аргументов arguments 54
Определение функции – оператор function 54
Выход из функции – оператор return 55
Определение переменной – оператор var 55
Отладка программ. Трассировка, отладочная печать. Тестирование программы 57
Основные понятия объектного подхода 59
Объект Math, назначение, свойства, методы. Значения NaN, Infinity, null, undefined. 62
Свойства объекта Math – константы: 62
Методы объекта Math 62
Специальные константы 63
Массивы как объекты в языке JavaScript. Конструкторы, свойства и методы массивов. Задача копирования массива в JavaScript 64
Конструктор объектов типа Array 64
Свойство объектов типа Array 64
Методы объектов типа Array 64
Типичные задачи с массивами: линейная алгебра 67
Скалярное произведение векторов 67
Произведение матриц 67
Транспонирование квадратной матрицы 68
Типичные задачи с массивами: сортировка. Сортировка вставками. Метод sort 69
Сортировка вставками 69
Метод sort 69
Типичные задачи с массивами: поиск. Двоичный поиск в упорядоченном массиве 71
Обработка строк. Конструкторы, свойства, методы строк 72
Конструктор объектов типа String 73
Свойство объектов типа String 73
Методы объектов типа String 73
Шаблоны и регулярные выражения. Их использование методами строк. 76
Простые шаблоны 77
Составные шаблоны 78
Пользовательский интерфейс программ. Общее понятие 79
HTML-страница как средство интерфейса для программ на языке JavaScript. Тэги и атрибуты HTML 81
Объекты HTML-страниц и Web-браузера, их свойства и методы. События и их обработка 84
Объектные модели 84
Объекты страницы 85
Объекты браузера 89
Стили HTML-объектов. Свойства позиционирования объектов страницы 91
Таймеры, примеры использования 94
Понятие ссылочной структуры данных. Односвязный список. Запись списков с помощью литералов. 96
Понятие стека. Функции для стека 100
Двухсвязный список, его структура 102
Понятие очереди и дека, их организация 104
Понятие дерева как ссылочной структуры. Бинарные деревья. Представление дерева литералом 105
Обработка деревьев. Рекурсия 107
Обход дерева «в глубину» 108
Обход дерева «в ширину» 110
Файлы и файловая система 111
Работа с текстовыми файлами 114
Объекты типа TextStream 117
Управление файлами и папками 120
Коллекции дисков, папок и файлов 122
Технология и методология создания программ 126
Жизненный цикл программы 127
Организация процесса разработки 131
Методологии проектирования программ 133
Заключение 138
Приложение 1. Теги, атрибуты и соответствующие свойства 139
Приложение 2. События в HTML и их источники 144
Приложение 3. Атрибуты и свойства стилей CSS 145
Приложение 4. Работа с файловой системой в JScript 152
Список литературы 158
Словарь терминов 159