Средства C, которых рекомендуется избегать




По замечанию Страуструпа, «чем лучше вы знаете C, тем труднее вам будет избежать программирования на C++ в стиле C, теряя при этом потенциальные преимущества C++». В связи с этим он даёт следующий набор рекомендаций для программистов на C, чтобы в полной мере воспользоваться преимуществами C++:

Не использовать макроопределения #define. Для объявления констант применять const, групп констант (перечислений) — enum, для прямого включения функций — inline, для определения семейств функций или типов — template.

Не использовать предварительные объявления переменных. Объявлять переменные в блоке, где они реально используются, всегда совмещая объявление с инициализацией.

Отказаться от использования malloc() в пользу оператора new, от realloc() – в пользу типа vector. Более безопасным будет использование умных указателей, таких как shared_ptr и unique_ptr, доступных с одиннадцатой версии стандарта.

Избегать бестиповых указателей, арифметики указателей, неявных приведений типов, объединений, за исключением, возможно, низкоуровневого кода. Использовать «новые» преобразования типов, как более точно выражающие действительные намерения программиста и более безопасные.

Свести к минимуму использование массивов символов и строк в стиле C, заменив их на типы string и vector из STL. Вообще не стремиться создавать собственные реализации того, что уже имеется в стандартной библиотеке.

Реализации

STL до включения в стандарт C++ была сторонней разработкой, в начале — фирмы HP, а затем SGI. Стандарт языка не называет её «STL», так как эта библиотека стала неотъемлемой частью языка, однако многие люди до сих пор используют это название, чтобы отличать её от остальной части стандартной библиотеки (потоки ввода-вывода (iostream), подраздел C и другие).

Проект под названием STLport, основанный на SGI STL, осуществляет постоянное обновление STL, IOstream и строковых классов. Некоторые другие проекты также занимаются разработкой частных применений стандартной библиотеки.

Последовательность выполнения работы

Разработку курсового задания рекомендуется проводить в следующей последовательности:

· построение схемы алгоритма решения задачи;

· разработка программы;

· проведение испытаний (отладка) программы;

· анализ результатов счета;

· оформление расчетно-пояснительной записки.

Указания к оформлению пояснительной записки

Отчет по работе оформляется в виде расчетно-пояснительной записки, которая должна содержать следующие черты:

· титульный лист;

· содержание;

· введение;

· постановка задачи;

· описание программы;

· контрольный пример;

· выводы (заключение);

· список использованной литературы;

· приложение (тексты программ).

Краткое содержание некоторых частей записки

Введение

Краткое описание основных средств языка С++ и подключаемых библиотек, которые предполагается использовать для решения поставленной задачи.

Описание программы

Структурная схема алгоритма программы.

Словесное описание особенностей программной реализации разработанного алгоритма.

Руководство пользователя

Приводится инструкция, в которой рассматриваются вопросы запуска и управления программой. Подробное описание ввода и вывода данных.

Тестирование

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

Выводы

Анализ результатов отладочного расчета, выводы.

Основные требования

· объем записки - не более 30 страниц;

· все программы реализованы в виде консольного приложения;

· необходимо показать умение:

· использования управляющих конструкций языка С++;

· использования форматированного ввода/вывода;

· программный код обязательно должен содержать комментарии;

· записка должна быть подготовлена в MS Word;

· задания приведены в приложении 1.

СПИСОК РЕКОМЕНДУЕМОЙ ЛИТЕРАТУРЫ

1. Липпман С. Б. Основы программирования на C++: Пер. с англ. – М.:Вильямс, 2002. – 256 с.

2. Липпман С. Б., Лажойе Ж. Язык программирования С++. Вводный курс: Пер. с англ. – 3-е изд. – М.: ДМК, 2001. – 1104 с.

3. Страуструп Б. Язык программирования C++: Пер. с англ. – 3-е спец. изд. – М.: Бином, 2003. – 1104 с.

4. Страуструп Б. Дизайн и эволюция языка C++. Объектно-ориентированный язык программирования: Пер. с англ. – М.: ДМК пресс, Питер, 2006. – 448 с.

5. Эккель Б. Философия C++. Введение в стандартный C++: Пер. с англ. – 2-е изд. – СПб.: Питер, 2004. – 572 с.

6. Эккель Б., Эллисон Ч. Философия C++. Практическое программирование: Пер. с англ. – СПб.: Питер, 2004. – 608 с.


 

 

Приложение 1

Варианты заданий на курсовой проект

1. Калькулятор;

2. Записная книжка;

3. Телефонный справочник;

4. Органайзер;

5. Программа учета рабочего времени и выполняемых работником задач;

6. Игра «Крестики-нолики»;

7. Игра «Шашки»;

8. Программа-архиватор;

9. Программа выбора оптимальной конфигурации компьютера;

10. Программа автоматического формирования расписания игр футбольного чемпионата;

11. Программа учета услуг ремонтного сервиса;

12. Выбор оптимального тарифного плана мобильного оператора;

13. Программа построения графиков функций sin(x), tg(x), ln(x);

14. Программа по обучению работы с клавиатурой;

15. Планирование и учет бюджета;

16. Программа поиска оптимального пути в графе;

17. Программа по выбору оптимального кредита;

18. Программа учета товаров на складе;

19. Игра «Pacman»;

20. Игра «Змейка».

Допускается, по согласованию с преподавателем, выбор студентом специальной темы курсового проекта.

Требования к функциональным возможностям разрабатываемых программ согласовываются с преподавателем.



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2020-07-12 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: