- •Карагандинский государственный технический университет
- •Исходные данные
- •2. Порядок выполнения работы
- •3. Методические указания
- •3.1. Разработка проекта.
- •3.2. Создание заготовки для консольного приложения.
- •3.3. Кодирование проекта
- •5)Описание функций, созданных программистом
- •3.4. Отладка и доказательство правильности работы программы
- •3.5. Типичные ошибки программирования
- •3.6. Хороший стиль программирования
- •4.Содержание отчета по выполнению лабораторных работ
- •5. Задания на самостоятельную работу при подготовке к лабораторным занятиям
- •6. Перечень используемой литературы
- •Лабораторная работа №2
- •1.Задание на выполнение лабораторной работы
- •2. Порядок выполнения работы
- •3 Методические указания
- •3.2. Создание заготовки для консольного приложения.
- •3.3. Кодирование проекта
- •6)Описание функций, созданных программистом
- •3.4. Отладка и доказательство правильности работы программы
- •3.5. Типичные ошибки программирования и хороший стиль программирования
- •4.Содержание отчета по выполнению лабораторных работ
- •5. Задания на самостоятельную работу при подготовке к лабораторным занятиям
- •6. Перечень используемой литературы
- •Лабораторная работа №3 Разработка диалогового Windows-приложения для проектирования цилиндрических деталей типа стакана
- •1.Задание на выполнение лабораторной работы
- •2.Порядок выполнения работы
- •3.2. Создание шаблона проекта с помощью мастера AppWizard.
- •3.3. Визуальное проектирование диалоговой панели созданного проекта
- •3.4. Установка и настройка элементов управления
- •3.5. Установка статических текстов
- •3.6. Установка и настройка окон редактирования
- •3.7. Установка и настройка элемента управления Picture(рисунок)
- •3.8. Установка и настройка элементов управления Botton(кнопка)
- •3.9. Кодирование проекта
- •3.9.1.Доработка заголовочного файла CapStDlg.H
- •3.9.2. Доработка исходного файла CupStDlg.Cpp.
- •3.10. Выполнение проекта
- •4.Содержание отчета по выполнению лабораторной работы
- •5.Задания на самостоятельную работу при подготовке к лабораторным занятиям
- •6. Перечень используемой литературы
- •Лабораторная работа №4 Разработка однооконного Windows-приложения для вывода графической информации.
- •1.Задание на выполнение лабораторной работы
- •2.Порядок выполнения работы
- •3. Методические указания
- •1.1 Объект cPen - карандаш
- •3. Пример простого графического вывода :
- •3.3 Выполнение проекта
- •4.Содержание отчета по выполнению лабораторной работы
- •5.Задания на самостоятельную работу при подготовке к лабораторным занятиям
- •6. Перечень используемой литературы
3.5. Типичные ошибки программирования
1) Ошибки, подобные делению на нуль, возникают во время выполнения программы, поэтому эти ошибки называются ошибками прогона или ошибками выполнения. Ошибка деления на нуль обычно является неисправимой ошибкой, т.е. ошибкой, вызывающей немедленное прекращение работы программы и исключающей ее нормальное выполнение. Исправимые ошибки позволяют программе продолжать счет до его завершения, часто приводя к неправильным результатам.
2)Забывают включить файл iostream.h в программу, которая вводит данные с клавиатуры или выводит данные на экран.
3)Пренебрежение точкой с запятой в конце оператора является синтаксической ошибкой. Синтаксическая ошибка возникает тогда, когда компилятор не может распознать оператор. Обычно компилятор выдает сообщение об ошибке, чтобы помочь программисту локализовать и исправить неверный оператор. Синтаксические ошибки — это нарушения правил языка. Синтаксические ошибки называются также ошибками компиляции или ошибками во времякомпиляции, потому что они обнаруживаются на этапе компиляции.
4) Попытка использования операции вычисления остатка % с нецелочисленными операндами является синтаксической ошибкой.
5) Если операции ==, !=, >= и <= содержат между своими символами пробелы, это — синтаксическая ошибка.
6) Перестановка символов в обозначении операций: вместо !=, >= и <= запись =!, => и =< соответственно. Это вызывает синтаксическую ошибку.
7)Смешивание операции проверки на равенство == с операцией при сваивания =. Операция проверки на равенство должна читаться как«равно», а операция присваивания должна читаться как «присва ивает». Некоторые предпочитают читать операцию проверки на равенство как «двойное равенство». Как мы вскоре увидим, смеши вание этих операций может вызывать нелегко распознаваемую синтаксическую ошибку, а может вызвать и чрезвычайно запутан ные логические ошибки.
8)Постановка точки с запятой после правой круглой скобки, завер шающей условие в структуре if. Такая ошибочная точка с запятой приводит к тому, что тело структурыifстановится пустым, так чтосама структура if не выполняет никаких действий, независимо от того, истинно условие или нет. Более того, подлинный оператор тела структуры if превращается в оператор, следующий за струк турой if, и выполняется всегда.
3.6. Хороший стиль программирования
1) Пишите программы на С++ в простом и четком стиле. Не «насилуйте» кодируемый алгоритм попытками причудливого использования языка программирования.
2)Читайте руководства для той версии С++, которой вы пользуетесь.Чаще обращайтесь к этим руководствам, чтобы быть уверенным в знании богатого набора возможностей С++ и в том, что вы правильно пользуетесь этими возможностями.
3)Ваши компьютер и компилятор — хорошие учителя. Если после тща тельного чтения руководства по той версии С++, которой вы пользу етесь, у вас нет уверенности в правильном понимании того, как реа лизуется та или иная особенность С++, экспериментируйте и смотрите, что происходит. Установите опции вашего компилятора в режим «предупреждений о максимальном числе ситуаций». Изучайте каждое сообщение, поступающее к вам при компиляции ваших программ иисправляйте программы до исчезновения этих сообщений.
4) Каждая программа должна начинаться с комментария, описываю щего цель программы.
5) Последний символ, печатаемый любой функцией печати, должен быть \n (новая строка). Это дает уверенность в том, что функция переместит курсор в начало новой строки. Соглашения подобного рода способствуют возможности повторного использования про граммного обеспечения — ключевой задаче любой среды разработки программного обеспечения.
6) Делайте одинаковые отступы для всего тела каждой функции внутри фигурных скобок, определяющих тело функции. При этом функ циональная структура программы получается более понятной и легкой для чтения.
7) Установите соглашение о величине желательного отступа и затем везде придерживайтесь этого соглашения. Для создания отступа можно использовать клавишу табуляции, а позиции табуляции можно изменять. Мы рекомендуем для формирования величины отступа примерно 0,5 см или (предпочтительнее) три пробела.
8) Ставьте пробел после каждой запятой (,), чтобы программу было легче читать.
9) Выбор осмысленных имен переменных помогает программе быть «самодокументируемой», т.е. такую программу легче понимать при чтении, даже не обращаясь к справочным пособиям или обширнымкомментариям.
10) Избегайте идентификаторов, которые начинаются с подчеркиваний, потому что компилятор С++ может использовать похожие на них имена для своих собственных внутренних целей. Это предотвратитпутаницу в именах, выбираемых вами и компилятором.
11) Всегда помещайте пустую строку перед объявлением, которое на ходится между выполняемыми операторами. Это делает объявления заметными в программе и способствует ее четкости.
12) Если вы предпочитаете размещать объявления в начале функции, отделяйте эти объявления от выполняемых операторов в этой функции пустой строкой, чтобы выделить конец объявлений и начало выполняемых операторов.
13) Размещайте пробелы с обеих сторон бинарной операции. Это выде лит операцию и улучшит читаемость программы.
14) Отступы в теле структурыifвыделяют тело структуры и упрощают чтение программы.
15) В каждой строке программы должно быть не более одного оператора.
16) Оператор может занимать несколько строк. Если один оператор дол жен быть разбит на несколько строк, выбирайте характерные точкиразбиения, такие, как позиция после запятой в списке с запятыми в качестве разделителя или позиция после операции в длинном вы ражении.
17) Обращайтесь к таблице старшинства операций при написании вы- ражений, содержащих много операций. Убедитесь, что операции в выражениях выполняются в ожидаемой вами последовательности. Если вы не уверены в последовательности выполнения в сложных выражениях, используйте для задания последовательности круглые скобки так же, как вы это делаете в алгебраических выражениях. Убедитесь путем наблюдений, что некоторые операции, такие как присваивание (=), имеют ассоциативность не слева направо, а справа налево.