Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УП Технология программирования.doc
Скачиваний:
19
Добавлен:
11.06.2015
Размер:
1.69 Mб
Скачать

Федеральное государственное учреждение

Государственное образовательное учреждение

высшего профессионального учреждения

«РОССИЙСКАЯ ТАМОЖЕННАЯ АКАДЕМИЯ»

Ростовский филиал

С.П. Крицкий

ОСНОВЫ ПРОГРАММИРОВАНИЯ И ТЕХНОЛОГИИ СОЗДАНИЯ ПРОГРАММ

УЧЕБНОЕ ПОСОБИЕ

по дисциплине

«Технология программирования»

Ростов-на-Дону

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