в конце каждой лекции. Чаще
Упражнения даются в конце каждой лекции. Чаще всего они предлагают написать программу. Решением может считаться программа, которая транслируется и правильно работает хотя бы на нескольких тестах. Упражнения могут значительно различаться по сложности, поэтому дается приблизительная оценка степени их сложности. Рост сложности экспоненциальный, так что, если на упражнение (*1) у вас уйдет пять минут, то (*2) может занять час, а (*3) - целый день. Однако время написания и отладки программы больше зависит от опыта читателя, чем от самого упражнения. На упражнение (*1) может потребоваться целый день, если перед запуском программы читателю придется ознакомиться с новой вычислительной системой. С другой стороны, тот, у кого под рукой окажется нужный набор программ, может сделать упражнение (*5) за один час.
Любую книгу по программированию на языке С можно использовать как источник дополнительных упражнений при изучении лекций 2 - 4. В книге Ахо ([1]) приведено много общих структур данных и алгоритмов в терминах абстрактных типов данных. Эту книгу также можно использовать как источник упражнений при изучении лекций 5 - 8. Однако, использованному в ней языку не достает функций-членов и производных классов. Поэтому определяемые пользователем типы на С++ можно написать более элегантно.