Учебно-методический комплекс учебной дисциплины сдм. 02 «программирование» подготовки магистров по направлению 050200 «Физико-математическое образование» магистерская программа «Информатика в образовании»
Вид материала | Учебно-методический комплекс |
СодержаниеПримерные темы практических работ Вопросы для контроля самостоятельной работы Основные понятия дисциплины Рекомендуемая литература |
- Учебно-методический комплекс учебной дисциплины ен. В. 01 по выбору (информатика) «Программирование, 553.96kb.
- Учебно- методический комплекс учебной дисциплины дпп. 04"Теоретические основы информатики", 530.12kb.
- Программа вступительных испытаний для лиц, поступающих в магистратуру на направление, 220.49kb.
- Программа вступительного экзамена в магистратуру по направлению 050200 «Физико-математическое, 500.22kb.
- Магистерская программа 540204м информатика в образовании Разработчики программы, 115.3kb.
- Магистерская программа «Языковое образование (русский язык)» умк принят в фонд учебно-методического, 541.81kb.
- Рабочая программа учебной дисциплины сдм. 01. 02 Виды обеспечений сапр для подготовки, 191.35kb.
- Учебно-методический комплекс учебной дисциплины сдм. 02 Валютная политика государства, 3226.07kb.
- Учебно-методический комплекс учебной дисциплины сдм. 03 Анализ финансовой отчетности, 3496.13kb.
- Учебно-методический комплекс по специальностям 050202. 65 и 050200. 62 «Информатика», 457.74kb.
Примерные темы практических работ
- Составление простейших программ для освоения операций ввода-вывода и инструкций языка.
- Решение задач на использование условных и циклических операторов.
- Решение задач на использование оператора выбора.
- Массивы и сортировки.
- Массивы и указатели.
- Строки и ссылки.
- Использование функции и рекурсии.
- Структуры.
- Однонаправленный и двунаправленный списки.
- Классы и члены.
- Работа с файлами
ВОПРОСЫ ДЛЯ КОНТРОЛЯ САМОСТОЯТЕЛЬНОЙ РАБОТЫ
Что такое алгоритм. Назовите свойства алгоритма.
- СИ++ - язык программирования высокого уровня.
- Перечислите основные этапы создания исполняемой программы на языке СИ++.
- Что такое директивы препроцессора в СИ++?
- Перечислите виды программных ошибок.
- Что такое массив и как с ними работать? Использование датчика случайных чисел для формирования массива.
- Перечислите классы задач по обработке массивов.
- Перечислите операции с указателями.
- Что такое ссылки, строки, указатель?
- Функции в СИ++.
- Дайте определение локальных и глобальных переменных.
- Что представляют однонаправленные и двунаправленные списки?
- Что такое стек и очередь?
- Приведите примеры разработки, реализации и использования классов.
- Дополнительные свойства классов.
- Что такое конструкторы и деструкторы?
- Как работают с файлами?
ОСНОВНЫЕ ПОНЯТИЯ ДИСЦИПЛИНЫ
(термины)
ANSI – Национальный институт стандартизации США. ANSI C++ - это спецификация, которая необходима компиляторам C++ для поддержки полных, обновленных и корректных версий языка C++. ANSI C++ включает определенное количество функциональных возможностей, таких как обработка исключительных ситуаций, шаблоны и булевы типы, которых не было в ранних версиях C++.
Абстрактный класс (Abstract class) – класс, который нельзя использовать для создания объектов, но который может быть полезен как общий шаблон (то есть интерфейс) для других классов. В абстрактном классе есть хотя бы одна чисто виртуальная функция.
Адрес (Address) – нумерованная область в памяти, в которой хранится элемент данных или код программы.
Аргумент (Argument) – значение, которое передается функции.
Ассоциативность (Associativity) – правило (или слева направо, или справа налево), которое определяет, как вычислять выражение, состоящее из двух или более операторов с одним и тем же уровнем приоритета.
Базовый класс (Base class) – класс, от которого осуществляется наследование, объявляя подкласс.
Булево выражение (Boolean) – истинное/ложное значение или истинная/ложная операция. В полной версии ANS С++ поддерживается специальный тип bool. Если этот тип не доступен, вы можете использовать тип int для хранения значений истина/ложь. C++ описывает истину и ложь значениями 1 и 0 соответственно, но любое ненулевое значение интерпретируется как истина.
Встраиваемая функция (inline function) – это функция, утверждения которой вставляются в код функции, которая ее вызывает. В нормальном вызове функции управление программы перескакивает на новое место и затем возвращается, когда заканчивается выполнение. Этого не происходит со встраиваемой функцией.
Выражение (Expression) – один из фундаментальных составляющих блоков программы на C++. В общем, выражением является все, что имеет значение.
Глобальная переменная (Global variable) – переменная, используемая более чем одной функцией в модуле, т.е. функциями одного исходного файла.
Данное-член (Data member) – поле данных класса. Если данное-член не объявлен статическим static (об этом ключевом слове не рассказывалось в этой книге), то каждый объект получает свою собственную копию объекта данных.
Деструктор (Destructor) – это функция-член, выполняющая очистку и завершение действий при разрушении объекта.
Директива (Directive) – общая команда компилятору. Директива отличается от выражения тем, что она не объявляет переменных и не создает выполняемый код.
Заголовочный файл (Header file) – это файл объявлений и (опционально) директив; он должен быть включен (при помощи использования директивы #include) в остальные файлы.
Инкапсуляция (Encapsulation) – возможность скрыть или защитить содержимое.
Исключение (Exception) – необычное событие, возникшее в процессе выполнения программы, обычно вследствие ошибки, которое требует немедленной обработки программой.
Исходный файл (Source file) – текстовый файл, содержаний выражения C++ (и директивы, опционально).
Класс (Class) – определенный пользователем тип данных (или тип данных, определенный в библиотеке). В C++ класс можно объявлять, используя ключевые слова class, struct или union.
Когда вы объявляете функцию-член и размещаете ее определение внутри объявления класса, то она автоматически становится встраиваемой.
Код (Code) – еще один синоним слова «программа». Слово «код» подразумевает скорее программистский взгляд на программу, а не взгляд пользователя, который видит только конечный результат рабочего цикла программы. Когда программисты говорят о «коде», они обычно подразумевают исходный код, то есть набор выражений C++, составляющих программу.
Компилятор (Compiler) – языковой транслятор, который считывает вашу C++ программу и выдает машинный код и, в конечном счете, исполняемый файл, который фактически может быть запущен на компьютере.
Константа (Constant) – значение, которое нельзя изменить.
Конструктор (Constructor) – функция-член, которая вызывается при создании объекта. Конструктор «объясняет», как инициализировать объект. Конструктор носит такое же имя, как и класс, в котором он объявлен, и не имеет возвращаемого значения. (Но неявно конструктор возвращает экземпляр класса).
Литерная константа (Literal constant) – численная или строковая константа, в отличие от символического имени, которое может стать константой (при помощи использования ключевого слова const).
Локальная переменная (Local variable) – переменная, которая является закрытой (private) для определенной функции или блока утверждения. Ее преимущество состоит в том (например), что каждая функция может иметь собственную переменную х, но изменения х внутри одной функции не будет путаться со значением х другой функции. Эта особенность - вариант права функции на закрытость - является ключевым моментом современных языков программирования.
Массив (Array) – структура данных, состоящая из нескольких элементов, которые имеют одинаковый тип. Доступ к элементам осуществляется через индексный номер.
Наследование (Inheritance) – возможность предоставлять классу атрибуты другого, ранее объявленного класса. Это осуществляется посредством создания подклассов. Новый класс автоматически содержит все члены, объявленные в базовом классе. (Исключение: класс не наследует конструкторы).
Непрямой (доступ) (Indirection) – доступ к данным, через указатель.
Объект (Object) – модуль тесно взаимосвязанных данных, который может иметь определенное поведение (в форме функции-члена), как и данные. Тип объекта – это его класс, а для данного класса вы можете объявить любое количество объектов. Проще говоря, объект — это интеллектуальная структура данных.
Объявление (Declaration) – выражение, предоставляющее информацию о типе переменной, класса или функции. Объявление функции может быть или прототипом (который содержит только информацию о типе), или описанием (в котором описывается, что именно делает функция). В C++ каждая переменная и функция, кроме функции main, должна быть объявлена до ее использования.
Операнд (Operand) – выражение, участвующее в операции. Один или более операндов объединяются для формирования более сложных выражений.
Оператор (Operator) – символ, который объединяет одно или более выражений в более сложное выражение. Некоторые операторы являются унарными; это означает, что они могут быть применены только к одному операнду. Существуют также бинарные операторы; это означает, что они могут, объединять два операнда.
Описание, функция (Definition, function) – последовательность выражений, описывающих работу функции. Во время выполнения функции управление программой передается этим выражениям.
Переменная (Variable) – именованная ячейка для хранения данных программы.
Плавающая точка (Floating point) – формат данных, который может хранить как дробные части чисел, так и сами числа в более широком диапазоне, чем целочисленные форматы (int, char, short, long). В компьютере числа с плавающей точкой хранятся в двоичном формате (основа 2) и отображаются в десятичном виде. Основной тип с плавающей точкой в C++ - это double, который соответствует «двойной точности».
Подкласс (Subclass) – класс, который наследуется от другого класса. Подкласс автоматически включает все члены базового класса, кроме его конструкторов. Любые явные объявления в подклассе создают дополнительные или подмененные члены.
Приведение (Cast) – операция, которая изменяет тип данных выражения.
Приоритет (Precedence) – правила, определяющие, какие операции должны выполняться первыми в сложном выражении.
Прототип (Prototype) – объявление функции, в котором указывается только информация о типе. (Это не объявление.)
Реализация (Implementation) – это слово имеет множество различных значений в разных контекстах; но в C++ это слово обычно относится к определению функции для виртуальной функции.
Ссылка (Reference) – переменная или аргумент, который служит дескриптором другой переменной или аргумента.
Строка (String) – последовательность текстовых символов, которую можно использовать для представления слов и фраз или даже полных предложений.
Строковый литерал (String literal) – текстовая строка, заключенная в кавычки и представляющая собой постоянную строковую величину. Когда компилятор C++ видит строковый литерал, он сохраняет символы в сегменте данных, а затем при обработке кода заменяет строковый литерал адресом данных.
Указатель (Pointer) – переменная, содержащая адрес другой переменной. (Указатель также может быть установлен на NULL, в этом случае он ни на что не указывает.)
Утверждение (Statement) – основной элемент синтаксиса программы C++. Утверждение C++ можно считать аналогом команды или предложения естественного языка, такого как английский. Как и длина предложения, длина выражения C++ не фиксирована. Оно может быть прервано в любой момент, как правило, точкой с запятой. Определение функции состоит из последовательности утверждений.
Функция (Function) – группа утверждений, выполняющих какую-либо задачу. Количество действий, которые может выполнять функция, не ограничено, но в идеале все действия, осуществляемые определенной функцией, должны быть направлены на решение одной какой-либо задачи.
Функция-член (Member function) – функция, объявленная внутри класса. Функции-члены (иногда называемые «методами» в других языках) - это важный аспект объектно-ориентированного программирования. Они определяют операции над объектами класса.
РЕКОМЕНДУЕМАЯ ЛИТЕРАТУРА
Основная
- Подбельский В.В. Язык Си++: Учеб. пособие. – 5-е изд. – М.: Финансы и статистика, 2003. – 560 с.: ил.
- Савич У. Программирование на Си++. 4-е изд. – СПб.: Питер; Киев: Издательская группа BHV, 2004. – 781 с.: ил.
- Оверленд Брайан С++ без страха: [учеб. пособие: пер. с англ.] – М.: Изд-во Триумф, 2005. – 432 с.: ил.
- Астахова, И.Ф Язык C+: Пробное учебное пособие / ВГУ., Воронеж: Б.и., 2001
- Франка П. C++. Учебный курс / СПб.: Питер, 2004
- Лафоре Р. Объектно-ориентированное программирование в С++/ СПб.: Питер, 2003
- Б. Страуструп., Язык программирования C++, 3-е изд./Пер. с англ., М.: «Невский Диалект» — «Издательство БИНОМ», 1999 г. — 991 с., ил.
- Березин Б.И., Березин С.Б., Начальный курс С и С++ . – М .: ДИАЛОГ - МИФИ, 1999. –288 с.
- Ирэ, Пол. Объектно-ориентированное программирование с использованием C++. Киев: ДиаСофт, 1995.
- Лаптев В.В. С++. Экспресс-курс. – СПб.: БХВ-Петербург, 2004. – 512 с.: ил.
Дополнительная
- Голуб А.И. С и C++. Правила программирования. – М.: Бином, 1996.-272с.
- Дейтел П.Дж., Дейтел X.М. Как программировать на C++. Введение в объектно-ориентированное проектирование с использованием UML / Пер. с англ. – М.: Бином, 2002. – 1152 с.
- Кениг Э., My Б. Э. Эффективное программирование на C++. Серия C++ In-Depth, т. 2 / Пер. с англ. – М.: Вильяме, 2002. – 384 с., ил.
- Керниган Б.В., Пайк Р. Практика программирования / Пер. с англ. – СПб.: Невский Диалект, 2001. – 381 с., ил.
- Липпман С.Б. Основы программирования на C++. Серия C++ In-Depth, т. 1 / Пер. с англ. – М.: Вильяме, 2002. – 256 с., ил.
- Павловская Т.А. C/C++. Программирование на языке высокого уровня. – СПб.: Питер, 2002. – 464 с., ил.
- Романов Е.Л. Язык Си++ в задачах, вопросах и ответах. Серия Учебники НГТУ. – Новосибирск: НГТУ, 2003. – 428 с.
- Сэджвик Р. Фундаментальные алгоритмы на C++. Анализ. Структуры данных. Сортировка. Поиск / Пер. с англ. – К.: ДиаСофт, 2001.
- Халперн П. Стандартная библиотека C++ на примерах / Пер. с англ. – М.: Вильяме, 2001. – 336 с., ил.
- Хенкеманс Д., Ли М. Программирование на C++ / Пер. с англ. – СПб.: Символ-Плюс, 2002. – 416 с., ил.