С++, 422 гр., спец. СМ

Место и время проведения: среда, вторая (ауд. 2412) и четверг, вторая (ауд. 1509, в сентябре - ауд. 2444-II (дальняя)) пары.
Преподаватель: Голяндина Нина Эдуардовна
(По созданию сайта - Коробейников А.И., Шлемов А.Ю.)




Задание на семестр состоит из трех частей.



Сайт

Для обучения в режиме 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 не поддерживается, но пока распространяется.

Примеры

Пара примеров

С фреймом - не очень правильный, но самый простой вариант.

С таблицей - вариант получше, но меню повторяется в каждом файле.

Немного JavaScript от Саши

Программа для поиска экстремума функции

Красивые примеры программ прошлых лет

Комментарии к стилю программирования

Минимальные требования к программе с MFC

Примеры на combo-box и графику

Список литературы с описанием методов поиска экстремумов

Задание по STL

STL - это Standard Template Library.

Пример задания: написать программу для проверки текста с исправлением ошибок.

C++ advanced

Примерные темы

  • Множественное наследование.
  • RTTI, dynamic_cast
  • Исключения
  • string
  • Потоки (Библиотека iostream)
  • Шаблоны
  • STL

Литература

Основная книга номер 3, английский вариант можно найти on-line на сайте автора.

  1. Бьерн Страуструп. Язык программирования Сplusplus.
  2. Эккель Б. Философия Сplusplus. Введение в стандартный Сplusplus.
  3. Эккель Б. Философия Сplusplus. Практическое программирование.

Занятия по C++ advanced

  1. 21/09/2011. Множественное наследование. Виртуальный базовый класс. Приведение типа static_cast, const_cast, reinterpret_cast, dynamic_cast. RTTI (typeid, dynamic_cast): начали рассматривать пример.
  2. 29/09/2011. RTTI (typeid, dynamic_cast) доразобрали пример. Исключения (как выбрасывать, как ловить, переброска и пр.)
  3. 06/10/2011. Перегрузка new и delete. Исключения в конструкторах, «голые» и «одетые» указатели, set_unexpected, set_terminate, auto_ptr, стандартные классы исключений.
  4. 12/10/2011. Assert. Строки (string). Использование ::. Шаблоны - начало.
  5. 13/10/2011. Шаблоны: компиляция программы с шаблонами (зависимые имена, инстанцирование шаблона), параметр шаблона для задания области видимости, использование typename внутри шаблона, шаблон в качестве параметра шаблона, специализация шаблонов, шаблонные функции.
  6. 20/10/2011. Шаблоны: специализация шаблонов (пример Sortable), паттерны с traits. Немного о vector из STL: size, capacity, reserve и пр.
  7. 26/10/2011. Шаблоны: метапрограммирование на этапе компиляции, функции-друзья шаблонные/нешаблонные.
  8. 27/10/2011. Потоковый ввод-вывод: общее устройство, флаги форматирования, форматированный вывод, манипуляторы. Потоковый ввод-вывод: создание своих манипуляторов, fstream (режимы открытия, ошибочные состояния, getline, get, копирование файлов: посимвольное, построковое, поблочное, через streambuf и rdbuf()).
  9. 02/11/2011. Потоковый ввод-вывод: stringstream (ostringstream, istringstream, чтение файла в массив строк). Домашнее задание на 16 ноября - разбор файл с табличными данными. STL: обзор контейнеров с трудоемкостью операций, сравнение vector и deque по скорости.
  10. 03/11/2011. STL: иерархия концепций итераторов, итераторы прямой и обратный, итераторы вставки, итераторы для потоков ввода-вывода. Общая структура алгоритмов STL (умение самостоятельно написать реализацию алгоритма на примере copy и transform). Функциональные объекты, использование for_each для суммирования.
  11. 10/11/2011. STL: читаем <algorithm>, алгоритмы типа replace (replace_if, replace_copy, replace_copy_if), find, transform, generate. Также - алгоритм типа remove (принцип неудаления элементов после remove, разница между last и end). Функциональные объекты: стандартные функц.объекты из <functional>.
  12. 17/11/2011. STL: алгоритмы поиска, сортировки, манипуляций.
  13. 24/11/2011. STL: алгоритмы типа inner_product (самост.реализация), адаптеры стек, очередь, очередь с приоритетами; ассоциативные контейнеры set, multiset, map, multimap. Контейнеры bitset, valarray. Разное: limits, complex.

Прошлые годы

  1. (08/09/2010). Множественное наследование. Виртуальный базовый класс. «Виртуальные конструкторы».
  2. (16/09/2009). RTTI (typeid, dynamic_cast), вспомнили static_cast, const_cast, reinterpret_cast. Вспомнили assert. Исключения - начало.
  3. (23/09/2009). Исключения (как выбрасывать, как ловить), исключения в конструкторах, «голые» указатели, set_unexpected, set_terminate, auto_ptr.
  4. (30/09/2009). Окончание темы про исключения («одетые» указатели, стандартные классы исключений). Строки (string). Шаблоны - начало.
  5. (07/10/2009). Шаблоны: компиляция программы с шаблонами (зависимые имена, инстанцирование шаблона), параметр шаблона для задания области видимости, использование typename внутри шаблона, шаблон в качестве параметра шаблона, специализация шаблонов.
  6. (14/10/2009). Шаблоны: специализация шаблонов, паттерны с traits (идея с использованием typedef для задания разным типам одинаковых псевдонимов) и policy, псевдорекурсия при наследовании от шаблонного класса без типо-зависимых элементов, метапрограммирование на этапе компиляции, функции-друзья шаблонные/нешаблонные.
  7. (21/10/2009). Немного о vector из STL: size, capacity, reserve и пр. Потоковый ввод-вывод: общее устройство, флаги форматирования, форматированный вывод, манипуляторы.
  8. (28/10/2009). Потоковый ввод-вывод: создание своих манипуляторов, fstream (режимы открытия, ошибочные состояния, getline, get, копирование файлов: посимвольное, построковое, поблочное, через streambuf и rdbuf()), stringstream (в частности, разбор строки на слова). Домашнее задание - разбор файл с табличными данными.
  9. (11/11/2009). STL: общая структура, обзор контейнеров с трудоемкостью операций, иерархия концепций итераторов, итераторы прямой и обратный, итераторы вставки, итераторы для потоков ввода-вывода. Общая структура алгоритмов STL (умение самостоятельно написать реализацию алгоритма на примере copy и transform).
  10. (18/11/2009). STL: продолжение про алгоритмы на примере replace, replace_if, replace_copy, replace_copy_if. Также - алгоритм типа remove (принцип неудаления элементов после remove, разница между last и end). Функциональные объекты, стандартные функц.объекты из <functional>. Суммирование элементов контейнера с помощью for_each. Алгоритмы работы с числовыми последовательностями (accumulate, inner_product, partial_sum), алгоритмы для работы с множествами (объединение, пересечение и пр.)
  11. (25/11/2009). STL: адаптеры стек, очередь, очередь с приоритетами; ассоциативные контейнеры set, multiset, map, multimap. Алгоритмы перестановки, поиска, сортировки и пр.: из книги Эккеля manipulations.cpp, SearchReplace.cpp, Nstring.h
  12. (02/12/2009). STL: Алгоритмы сравнения, бин.поиска, сортировки, удаления и пр. Контейнеры bitset, valarray. Разное: limits, complex.

—-

07.09 14.09 21.09 29.09 06.10 12-13.10 20.10 26-27.10 02-03.11 10.11 17.11 24.11 зачет
Ломтев + + + + + + + + + + есть
Одинцова + - + + + - + - - - - -
Плотников + + + + + + + + + + есть
Раевская + + + + + + + + + + -
Романов + + + + + + + + + + есть
Скурат + + + + + + + + + + есть
Советкин + + + + + + + + + + есть
Уфлянд + + + + + + + + + + есть
Федоренко + + + + + + + + + + есть
Шабанов + -ok -ok -ok + + -ok - + - + - + -
Пеунова + + + + + + - - - + + -

Знакомство с пакетом STATISTICA

Данные

Халафян А.А. Statistica 6. Статистический анализ данных

08.12.2011 Шабанов, Советкин, Романов, Раевская (?)
15.12.2011 Все остальные.

study/fall2011/4cpp_pract.txt · Последнее изменение: 2011/12/21 19:20 — nina
Наверх
CC Attribution-Noncommercial-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0