- •Оглавление
- •Введение
- •Лабораторная работа №1. Реализация алгоритмов сортировки и поиска Задачи работы
- •Задание на лабораторную работу
- •Сортировка Шелла
- •Сортировка шейкером
- •Сортировка расческой (Comb sort)
- •Плавная сортировка (Smooth sort)
- •Метод Patience sorting
- •Лабораторная работа №2. Понятие контейнера данных. Основные типы контейнеров Задачи работы
- •Задание на лабораторную работу
- •Требования к отчетности по лабораторной работе
- •Предлагаемые этапы выполнения работы
- •Теоретический материал, необходимый для выполнения лабораторной работы Основные типы контейнеров Списки
- •Бинарные деревья поиска
- •Добавление элемента
- •Удаление элемента
- •Понятие сбалансированности дерева
- •Словари
- •Очереди с приоритетами
- •Очереди
- •Лабораторная работа №3. Использование стандартных контейнеров данных Задачи работы
- •Задание на лабораторную работу
- •Лабораторная работа №4. Использование стандартных реализаций алгоритмов stl Задачи работы
- •Задание на лабораторную работу
- •Кафедра компьютерной фотоники
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ АГЕНСТВО ПО ОБРАЗОВАНИЮ
САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ, МЕХАНИКИ И ОПТИКИ
А.С. Захаров
Программирование
на языках высокого уровня
Методические указания к лабораторным работам
Санкт-Петербург
2010
Захаров А.С. – Программирование на языках высокого уровня. Методические указания к лабораторным работам – СПб: СПбГУ ИТМО, 2010. – 41с.
В методических указаниях описываются четыре лабораторные работы, предусмотренные при изучении алгоритмов и контейнеров данных в рамках курса «Программирование на языках высокого уровня». Первая лабораторная работа посвящена реализации алгоритмов сортировки и поиска. Во второй лабораторной работе студенты самостоятельно реализуют конкретный контейнер данных в соответствии с вариантом задания. Третья работа посвящена применению стандартных контейнеров данных библиотеки STL, а четвертая – применению стандартных алгоритмов STL.
Пособие предназначено для студентов бакалавриата по направлению 200600 «Фотоника и оптоинформатика»
Рекомендовано к печати ученым советом факультета Фотоники и Оптоинформатики, протокол № X от XX.XX.2010.
В 2009 году Университет стал победителем многоэтапного конкурса, в результате которого определены 12 ведущих университетов России, которым присвоена категория «Национальный исследовательский университет». Министерством образования и науки Российской Федерации была утверждена Программа развития государственного образовательного учреждения высшего профессионального образования «Санкт-Петербургский государственный университет информационных технологий, механики и оптики» на 2009–2018 годы.
Санкт-Петербургский государственный университет информационных технологий, механики и оптики, 2010
Захаров А.С., 2010
Оглавление
Оглавление 3
Введение 4
Лабораторная работа №1. Реализация алгоритмов сортировки и поиска 5
Задачи работы 5
Задание на лабораторную работу 5
Требования к отчетности по лабораторной работе 6
Предлагаемые этапы выполнения работы 6
Теоретический материал, необходимый для выполнения лабораторной работы 6
Алгоритмы сортировки 6
Описание работы с массивами в языке программирования C++ 10
Описание работы с указателями в языке программирования C++ 11
Циклы в C++ 11
Описание работы с функциями в языке программирования C++ 13
Описание ввода-вывода «в стиле С» в языке программирования C++ 14
Описание механизмов файлового ввода-вывода в текстовом режиме в C++ 15
Лабораторная работа №2. Понятие контейнера данных. Основные типы контейнеров 16
Задачи работы 16
Задание на лабораторную работу 16
Требования к отчетности по лабораторной работе 16
Предлагаемые этапы выполнения работы 16
Теоретический материал, необходимый для выполнения лабораторной работы 17
Основные типы контейнеров 17
Описание работы с указателями в языке программирования C++ 28
Описание работы с классами в языке программирования C++ 28
Лабораторная работа №3. Использование стандартных контейнеров данных 31
Задачи работы 31
Задание на лабораторную работу 31
Требования к отчетности по лабораторной работе 34
Предлагаемые этапы выполнения работы 34
Теоретический материал, необходимый для выполнения лабораторной работы 34
Описание работы с классами в языке программирования C++ 34
Основные контейнеры библиотеки STL 34
Лабораторная работа №4. Использование стандартных реализаций алгоритмов STL 36
Задачи работы 36
Задание на лабораторную работу 36
Требования к отчетности по лабораторной работе 37
Предлагаемые этапы выполнения работы 37
Теоретический материал, необходимый для выполнения лабораторной работы 37
Описание работы с классами в языке программирования C++ 37
Литература 38
КАФЕДРА КОМПЬЮТЕРНОЙ ФОТОНИКИ 39
Введение
Выпускникам кафедры компьютерной фотоники необходима подготовка в области разработки программного обеспечения. Обязательными требованиями к разработчику ПО являются:
Умение применять алгоритмы решения стандартных задач программирования – сортировки и поиска.
Умение разрабатывать и использовать контейнеры данных – программные объекты, реализующие хранение совокупности однотипных объектов и базовые операции с ними.
Умение применять возможности стандартных библиотек языка программирования.
Поэтому в рамках курса «Программирование на языках высокого уровня» предусмотрены лабораторные работы, на которых студенты приобретают навыки разработки алгоритмов и контейнеров данных и применения средств стандартных библиотек языка программирования.
Необходимые знания в области языка программирования C++ и методов разработки ПО частично могут быть получены студентами в ходе предшествующего курса ЕН.Ф.02 «Информатика», частично осваиваются по ходу данного курса.
В данных методических указаниях к лабораторным работам для каждой лабораторной работы содержится:
Описание роли этой работы в общем плане учебного курса.
Задание на лабораторную работу.
Требования к отчетности по лабораторной работе.
Предлагаемый студенту план выполнения лабораторной работы (носит рекомендательный характер).
Краткое изложение необходимого для выполнения данной работы теоретического материала (описание моделируемого элемента вычислительной системы и основных механизмов языка программирования, необходимых для его моделирования). Более подробно необходимый материал можно найти в учебно-методическом пособии [1] и рекомендуемой литературе по курсу [2-12].
Студенту рекомендуется перед лабораторной работой:
Ознакомиться с методическими указаниями по соответствующей лабораторной работе.
При необходимости изучить соответствующие вопросы по учебно-методическому пособию [1] и рекомендуемой литературе [2-12].