Содержание
С++, 422 гр., спец. СМ
Место и время проведения: среда, вторая (ауд. 3502) и четверг, вторая (ауд. 2444-II (дальняя)) пары.
Преподаватель: Голяндина Нина Эдуардовна
Задание на семестр состоит из трех частей.
Файл для дом.задания, заданного 06.10.2010.
Сайт
Для обучения в режиме on-line удобно использовать этот сайт: http://www.w3schools.com/.
Нам оттуда понадобится: HTML, XHTML, CSS, JavaScript, HTML DOM, DHTML. (Одно из достоинство XHTML в том, что он имеет строгие правила (согласно требованиям XML), а потому, в частности, допускает проверку валидности кода.)
Сайт удобен тем, что можно разбираться с примерами в режиме Try-it-yourself, когда перед вами два окошка, в одном текст примера, в другом результат.
HTML Editors
Нужно делать домашнюю страничку в текстовом (не WYSIWYG - What You See Is What You Get) редакторе. Хороший HTML-редактор имеет посветку ключевых слов, должен помогать форматировать текст, проверять его на соответствие стандарту и отсутствие ошибок (имеет встроенный валидатор TIDy). Удобно, когда можно теги не набирать вручную и атрибуты задавать через форму. Удобно, когда есть редактор таблицы стилей и редактор для отладки JavaScript. Но такого идеального бесплатного редактора, наверно, не найти.
Вот варианты:
Notepad++ - «выбор большинства», установлен в компьютерных классах.
PSpad - редактор общего профиля, имеет встроенную валидацию, поддерживается.
HTML-Kit 292 - редактор со вставкой тегов через форму, имеет валидацию (чтобы tidy (проверка синтактиса) правильно воспринимала русские буквы, нужно в Preferences заменить кодировку Default на Raw), перестал быть бесплатным после 2002 года, поэтому версия 292 не поддерживается, но пока распространяется.
Примеры
Пара примеров
С фреймом - не очень правильный, но самый простой вариант.
С таблицей - вариант получше, но меню повторяется в каждом файле.
Программа для поиска экстремума функции
Красивые примеры программ прошлых лет
Комментарии к стилю программирования
Минимальные требования к программе с MFC
Примеры на combo-box и графику
Список литературы с описанием методов поиска экстремумов
Задание по STL
STL - это Standard Template Library.
Пример задания: написать программу для проверки текста с исправлением ошибок.
C++ advanced
Примерные темы
- Множественное наследование.
- RTTI, dynamic_cast
- Исключения
- string
- Потоки (Библиотека iostream)
- Шаблоны
- STL
Литература
Основная книга номер 3, английский вариант можно найти on-line на сайте автора.
- Бьерн Страуструп. Язык программирования
Сplusplus
. - Эккель Б. Философия
Сplusplus
. Введение в стандартныйСplusplus
. - Эккель Б. Философия
Сplusplus
. Практическое программирование.
Занятия по C++ advanced
- (08/09/2010). Множественное наследование. Виртуальный базовый класс. «Виртуальные конструкторы».
- 15/09/2010 Исключения (как выбрасывать, как ловить), set_unexpected, set_terminate
- 22/09/2010 Пространства имен, RTTI (typeid, dynamic_cast), вспомнили static_cast, const_cast, reinterpret_cast.
- 29/09/2010 Переопределение new, new[], как работает вызов этих операторов. Исключения в конструкторах, «голые» указатели, «одетые» указатели, стандартные классы исключений.
- 06/10/2010 Строки (string). Шаблоны - начало.
- 13/10/2010 Шаблоны - немного о зависимых именах и инстанциировании шаблона, специализация шаблона, параметр шаблона для задания области видимости, шаблон в качестве параметра шаблона.
- 20/10/2010 Шаблоны - специализация и перегрузка шаблонной функции, использование typename внутри шаблона, преобразование шаблонных типов (с помощью конструктора и с переопределения оператора преобразования) паттерны с traits (идея с использованием typedef для задания разным типам одинаковых псевдонимов) и policy.
- 27/10/2010 Шаблоны - метапрограммирование на этапе компиляции. Немного о vector из STL: size, capacity, reserve и пр. Потоковый ввод-вывод: общее устройство.
- 03/11/2010 Потоковый ввод-вывод: флаги форматирования, форматированный вывод, манипуляторы, создание своих манипуляторов.
- 10/11/2010 Потоковый ввод-вывод: fstream (режимы открытия, ошибочные состояния, getline, get, копирование файлов: посимвольное, построковое, поблочное, через streambuf и rdbuf()), stringstream (в частности, разбор строки на слова). Домашнее задание - разбор файла с табличными данными.
- 17/11/2010 STL: общая структура, обзор контейнеров с трудоемкостью операций, иерархия концепций итераторов, итераторы прямой и обратный, итераторы вставки, итераторы для потоков ввода-вывода. Общая структура алгоритмов STL (умение самостоятельно написать реализацию алгоритма на примере copy и transform).
- 24/11/2010 STL: продолжение про алгоритмы на примере replace, replace_if, replace_copy, replace_copy_if. Функциональные объекты, стандартные функц.объекты из <functional>. Суммирование элементов контейнера с помощью for_each. Алгоритмы работы с числовыми последовательностями (accumulate, inner_product, partial_sum)
- (16/09/2009). RTTI (typeid, dynamic_cast), вспомнили static_cast, const_cast, reinterpret_cast. Вспомнили assert. Исключения - начало.
- (23/09/2009). Исключения (как выбрасывать, как ловить), исключения в конструкторах, «голые» указатели, set_unexpected, set_terminate, auto_ptr.
- (30/09/2009). Окончание темы про исключения («одетые» указатели, стандартные классы исключений). Строки (string). Шаблоны - начало.
- (07/10/2009). Шаблоны: компиляция программы с шаблонами (зависимые имена, инстанцирование шаблона), параметр шаблона для задания области видимости, использование typename внутри шаблона, шаблон в качестве параметра шаблона, специализация шаблонов.
- (14/10/2009). Шаблоны: специализация шаблонов, паттерны с traits (идея с использованием typedef для задания разным типам одинаковых псевдонимов) и policy, псевдорекурсия при наследовании от шаблонного класса без типо-зависимых элементов, метапрограммирование на этапе компиляции, функции-друзья шаблонные/нешаблонные.
- (21/10/2009). Немного о vector из STL: size, capacity, reserve и пр. Потоковый ввод-вывод: общее устройство, флаги форматирования, форматированный вывод, манипуляторы.
- (28/10/2009). Потоковый ввод-вывод: создание своих манипуляторов, fstream (режимы открытия, ошибочные состояния, getline, get, копирование файлов: посимвольное, построковое, поблочное, через streambuf и rdbuf()), stringstream (в частности, разбор строки на слова). Домашнее задание - разбор файл с табличными данными.
- (11/11/2009). STL: общая структура, обзор контейнеров с трудоемкостью операций, иерархия концепций итераторов, итераторы прямой и обратный, итераторы вставки, итераторы для потоков ввода-вывода. Общая структура алгоритмов STL (умение самостоятельно написать реализацию алгоритма на примере copy и transform).
- (18/11/2009). STL: продолжение про алгоритмы на примере replace, replace_if, replace_copy, replace_copy_if. Также - алгоритм типа remove (принцип неудаления элементов после remove, разница между last и end). Функциональные объекты, стандартные функц.объекты из <functional>. Суммирование элементов контейнера с помощью for_each. Алгоритмы работы с числовыми последовательностями (accumulate, inner_product, partial_sum), алгоритмы для работы с множествами (объединение, пересечение и пр.)
- (25/11/2009). STL: адаптеры стек, очередь, очередь с приоритетами; ассоциативные контейнеры set, multiset, map, multimap. Алгоритмы перестановки, поиска, сортировки и пр.: из книги Эккеля manipulations.cpp, SearchReplace.cpp, Nstring.h
- (02/12/2009). STL: Алгоритмы сравнения, бин.поиска, сортировки, удаления и пр. Контейнеры bitset, valarray. Разное: limits, complex.
—-
08.09 | 15.09 | 22.09 | 29.09 | 06.10 | 13.10 | 20.10 | 27.10 | 03.11 | 10.11 | 17.11 | 24.11 | 01.12 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Бояров | + | + | + | + | + | - | ? | + | + | + | + | + | + |
Галиаскарова | + | + | + | + | + | + | + | + | + | + | + | + | + |
Горбунова | + | + | + | + | + | + | + | - | - | + | + | + | + |
Притыковская | + | -+ | + | + | + | + | + | + | + | + | + | + | + |
Сенов | - | + | + | + | + | + | + | + | + | + | + | + | + |
Сукманская | + | + | + | + | + | + | + | + | + | + | + | + | + |
Русинова | + | ? | ? | - | - | - | - | + | - | - | - | - | - |