
- •Часть 2. Основы программирования
- •Часть 2. Основы программирования
- •Содержание
- •Предисловие
- •Лабораторная работа 21 Подставляемые (встраиваемые) функции. Перегрузка функций
- •Лабораторная работа 22 Производные типы. Тип указатель: указатели на объекты
- •Лабораторная работа 23 Тип указатель: указатели на функции
- •Лабораторная работа 24 Решение задач с использованием указателей
- •Лабораторная работа 25 Символьные данные и строки
- •Лабораторная работа 26 Функции для работы со строками
- •Лабораторная работа 27 Решение задач на строки
- •Лабораторная работа 28 Массивы: одномерные массивы
- •Лабораторная работа 29 Одномерные массивы: задачи поиска, замены и перестановок элементов массива
- •Лабораторная работа 30 Одномерные массивы: задачи сортировок элементов массива
- •Лабораторная работа 31 Двумерные массивы. Задачи поиска, замены и суммирования элементов двумерного массива
- •Лабораторная работа 32 Двумерные массивы. Задачи сортировок и перестановок в двумерных массивах
- •Индивидуальные задания Требования к оформлению индивидуальных заданий
- •Задание 1. Указатели
- •Задание 2. Перегрузка функций
- •Задание 3. Строки
- •Задание 4. Одномерный массив: преобразование массива
- •Задание 5. Одномерный массив: сортировка массива
- •Задание 6. Двумерный массив
- •Литература
- •Часть 2. Основы программирования
Г.В. Ваныкина, Т.О. Сундукова
ПРОГРАММИРОВАНИЕ
НА ЯЗЫКЕ С++
Часть 2. Основы программирования
Тула – 2010
ГОУ ВПО Тульский государственный педагогический университет имени Л.Н. Толстого
Кафедра информатики и методики обучения информатике
Г.В. Ваныкина, Т.О. Сундукова
ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ С++
Часть 2. Основы программирования
Лабораторный практикум
Тула - 2010
ББК 32.973.26
УДК 004.438
Ваныкина Г.В., Сундукова Т.О.
Программирование на языке С++. Часть 2. Основы программирования / Г.В. Ваныкина, Т.О. Сундукова; Тулгоспедуниверситет. – Тула, Папирус, 2010. – 101 с.
Пособие представляет собой систематизированное изложение синтаксиса, семантики и техники программирования на языке С++. Для обучения основам программирования предложен комплекс тематических лабораторных работ, каждая из которых содержит необходимый теоретический и справочный материал, большое количество примеров программных кодов с комментариями, задания для аудиторной и самостоятельной работы. При этом особое внимание уделяется дифференциации обучения через систему индивидуальных заданий.
В данном пособии рассматриваются базовые алгоритмы обработки данных в соответствии с особенностями представления типов в языке С++.
Для студентов специальностей 351500 Математическое обеспечение и администрирование информационных систем, 030100 Информатика, направлений подготовки 540200 Физико-математическое образование (профиль 540203 Информатика) и 511900 Информационные технологии. Может быть использовано студентами и преподавателями вузов, средних профессиональных и средних общеобразовательных учреждений.
УДК 004.438
Рецензенты:
Есаян А.Р. – доктор педагогических наук, профессор кафедры информатики и методики обучения информатике ТГПУ им. Л.Н. Толстого;
Баженова И.Ю. – кандидат физико-математических наук, доцент факультета ВМК МГУ им. М.В. Ломоносова
Утверждено
редакционно-издательским
советом университета
Авторы, 2010
Содержание
ПРЕДИСЛОВИЕ 4
Подставляемые (встраиваемые) функции. Перегрузка функций 6
Производные типы. Тип указатель: указатели на объекты 11
Тип указатель: указатели на функции 18
Решение задач с использованием указателей 23
Символьные данные и строки 30
Функции для работы со строками 38
Решение задач на строки 44
Массивы: одномерные массивы 50
Одномерные массивы: задачи поиска, замены и перестановок элементов массива 61
Одномерные массивы: задачи сортировок элементов массива 68
Двумерные массивы. Задачи поиска, замены и суммирования элементов двумерного массива 74
Двумерные массивы. Задачи сортировок и перестановок в двумерных массивах 83
ИНДИВИДУАЛЬНЫЕ ЗАДАНИЯ 86
ЛИТЕРАТУРА 101
Предисловие
Язык программирования С++ был разработан датским ученым Бьёрном Страуструпом в начале 90-х годов, первоначально как объектно-ориентированное расширение языка С. В настоящее время язык C++ является одним из наиболее мощных и широко распространенных языков программирования. Язык характеризуется своей универсальностью, он успешно применяется для решения разнообразных задач прикладного и системного программирования с использованием различных парадигм программирования – процедурной, объектно-ориентированной, параметрической.
Предлагаемое пособие представляет собой учебно-методический материал, основным содержанием которого является описание системы лабораторных работ, следующих в порядке, соответствующем последовательности обучения программированию на С++.
Представленный в пособии набор лабораторных работ покрывает основные синтаксические и семантические аспекты языка С++ в объеме вузовских программ по основам программирования для специальностей 351500 Математическое обеспечение и администрирование информационных систем, 030100 Информатика и направлений подготовки 540200 Физико-математическое образование (профиль 540203 Информатика), 511900 Информационные технологии.
Данное пособие может использоваться для изучения основ программирования на основе языка С++ и в рамках других направлений/специальностей высшего профессионального образования, а также использоваться студентами и преподавателями средних профессиональных и средних общеобразовательных учреждений. Оно может быть полезным и при самостоятельном изучении языка С++.
Вторая часть пособия опирается на сформированные ранее базовые знания обучающихся по основам языка С++. Часть «Основы программирования» акцентирует внимание на знакомство со структурированными типами данных языка С++, более глубокое изучение приемов и алгоритмов их обработки. В пособии продолжается реализация идеи процедурной парадигмы программирования, так как обучение знанию базовых алгоритмов обработки структурированных данных и построение на их основе решения различных классов задач способствует формированию определенного стиля мышления и культуры. Формируется база для перехода к изучению альтернативных парадигм современного программирования.
В состав второй части вошли лабораторные работы, охватывающие следующие основные темы: указатели на объекты и указатели на функции, перегрузка функций, строковые данные и алгоритмы обработки строк, одномерные и двумерные массивы, задачи поиска и сортировок в массивах.
Каждая лабораторная работа включает краткое изложение теоретического материала, на основе которого построено объяснение синтаксиса и семантики основных алгоритмических конструкций или технологических особенностей программирования. При необходимости в тексте приводится справочный материал. Практическая часть представлена многочисленными примерами программных кодов с комментариями, в которых раскрываются алгоритмические подходы к решению задач. Для закрепления изученного материала и приобретения навыков программирования предусмотрена система аудиторных заданий и заданий для самостоятельной работы в соответствии с рассматриваемой тематикой.
Центральным аспектом в обучении программированию является систематичность и интенсивность самостоятельной работы учащихся, направленной на приобретение устойчивых навыков в алгоритмизации и программирования задач. При этом осуществить дифференцированный подход в обучении можно с помощью системы индивидуальных заданий, которые в достаточном количестве приведены в материалах.
Пособие написано на основе курса лекций и лабораторно-практических занятий по программированию со студентами факультета математики, физики и информатики ТГПУ им. Л.Н. Толстого. Для базовой подготовки студентов, обучающихся на основе материалов пособия, достаточно освоение школьного курса информатики и ИКТ.