
- •Часть 1
- •18 Сентября 2012 г., протокол № 1
- •Предисловие
- •§ 1. Основные понятия программы
- •1.2. Директива препроцессора #include
- •Структура программы
- •Комментарии
- •Ключевые слова, идентификаторы, переменные
- •§ 2. Ввод, вывод
- •§ 3. Выражения
- •3.1. Константы
- •Непосредственно записать в выражении;
- •3.2. Операции и их приоритет
- •3.3. Операции отношения и логические операции
- •3.4. Операция присваивания
- •§ 4. Программирование ветвлений
- •4.1. Оператор if
- •4.2. Тернарная операция
- •4.3. Оператор выбора switch
- •Г л а в а 2 циклы
- •§ 1. Оператор while
- •§ 2. Оператор break
- •§ 3. Оператор do … while
- •§ 4. Оператор for
- •Г л а в а 3 Введение в массивы
- •§ 1. Основные понятия
- •§ 2. Способы определения массивов
- •§ 3. Вывод массива. Функции printf и cprintf
- •§ 4. Типы задач при работе с массивами
- •Упражнения и тесты
- •Г л а в а 4 модульное программирование. Функции
- •§1. Функции без результатов. Параметры-значения
- •1.1. Примеры. Правила оформления и вызова функций
- •Формальные и фактические параметры
- •Передача параметров по значению
- •§ 2. Функции типа void с результатами
- •2.1. Вычислeниe бeсконeчных сумм
- •2.2. Что такое ссылочный тип
- •2.3. Параметры ссылочного типа
- •§ 3. Функции, отличные от void. Оператор return
- •§ 4. Область действия имён. Локальные и глобальные имена
- •§ 5. Встраиваемые (inline) функции
- •§ 6. Параметры по умолчанию
- •§ 7. Перегрузка функций
- •7. Сравнение функций типа void и отличных от типа void.
- •Г л а в а 5 введение в объектно-оРиентированное программирование
- •§ 1. Первое знакомство с ооп
- •§ 2. Класс. Поля и методы класса
- •§ 3. Создание объектов. Конструктор
- •Упражнения и тесты
- •Оглавление
- •3.1. Константы …………………………………………….………..….........…8
- •Упражнения и тесты …….………………..………………………….…………....19
- •Методы программирования:
- •Лекции, примеры, тесты
- •Пособие для студентов механико-математического факультета
- •В двух частях
- •Часть 1
БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
МЕХАНИКО-МАТЕМАТИЧЕСКИЙ ФАКУЛЬТЕТ
Кафедра веб-технологий и компьютерного моделирования
Н. А. Аленский
МЕТОДЫ
ПРОГРАММИРОВАНИЯ:
ЛЕКЦИИ, ПРИМЕРЫ, ТЕСТЫ
ПОСОБИЕ ДЛЯ СТУДЕНТОВ
МЕХАНИКО-МАТЕМАТИЧЕСКОГО ФАКУЛЬТЕТА
В ДВУХ ЧАСТЯХ
Часть 1
МИНСК
2012
УДК 004.432 045С++(075.8)
ББК 32.973.26-018.1я73-1
А48
Рекомендовано советом
механико-математического факультета
18 Сентября 2012 г., протокол № 1
Р е ц е н з е н т
кандидат физико-математических наук,
доцент Ю. А. Кремень
Аленский, Н. А
А48 Методы программирования: лекции, примеры, тесты: пособие для студентов мех.-мат. фак. В 2 ч. Ч. 1 / Н. А. Аленский. — Минск : БГУ, 2012. — 87 с.
Используя примеры в виде отлаженных программ, упражнения и тесты, дано описание основных типов алгоритмов, операций, операторов, функций и основ объектно-ориентированного программирования на современном языке С++.
А
дресуется,
прежде всего, студентам первого курса
механико-математического факультета.
Пособие будет полезным также и
программистам, желающим изучать язык
С++. Преподаватели найдут в пособии
задачи и тесты, которые можно использовать
как дидактический материал не только
при изучении С++, но и других языков
программирования.
УДК 004.432 045С++(075.8)
ББК 32.973.26-018.1я73-1
© БГУ, 2012
Предисловие
Пособие отражает многолетний опыт преподавания автором методов программирования на механико-математическом факультете Белгосуниверситета, в Академии последипломного образования и других учебных заведениях.
В первой части книги на большом количестве упражнений, тестов, примеров и задач в виде отлаженных программ рассматриваются операции, основные типы алгоритмов и операторы для их реализации, ввод с экрана и вывод на экран. Описано модульное программирование, основанное на разработке и использовании функций. Показано, как их включить в класс, даны другие простейшие понятия объектно-ориентированного программирования.
В книге используется простой, учебный стиль изложения, принцип которого “просто о сложном”, а не наоборот. Несмотря на то, что С++ — профессиональный язык, благодаря методике изложения материала от читателя не требуется предварительных знаний по какому-нибудь языку. Теоретический материал рассматривается одновременно с разработкой программ. Книга не столько описывает язык, сколько учит программировать, что не всегда одно и тоже. Повышенное внимание уделяется вопросам, развивающим алгоритмическое и логическое мышление, а не техническим деталям, которые можно найти в справке. Подробно описаны темы, недостаточно освещённые в литературе: сравнение функций типа void и функций, отличных от void; классификация типов задач и алгоритмов для работы с одномерными массивами и матрицами; битовые операции и их использование; логические операции и переменные и др.
В пособии при изложении теоретического материала, а также в конце каждой главы приведено большое количество решённых примеров в виде алгоритмов и отлаженных программ с подробными комментариями. Все они проверены и протестированы в консольном режиме системы С++ Builder шестой версии или в Borland C++ пятой версии. Опыт использования приведенных здесь программ при работе со студентами показал, что за редким исключением абсолютное большинство программ можно использовать и в системе Visual C++.
Для творческого изучения и закрепления материала в конце каждой главы приведены упражнения и тесты, т. е. разработка или анализ части программы или элемента языка (операции, оператора и т. п.). Задания для составления и отладки программ (задачи) разделены на два или три уровня сложности.
Пособие предназначено, прежде всего, студентам высших и средних учебных заведений и школьникам, изучающих языки программирования С и С++. Оно будет полезно и профессиональным программистам. Преподаватели найдут дидактический материал для лекций и практических занятий, организации самостоятельной работы и различных форм контроля знаний.
Г л а в а 1 Быстрое введение в язык с++