int main(int argc, char* argv[])
{
setlocale(LC_CTYPE,"Russian");
double plus, minus, pow, div; // объявление переменных через запятую double a1; // отдельное объявление переменной a1
double a2; // отдельное объявление переменной a2 cout << "Введите первое число: ";
cin >> a1;
cout << "Введите второе число: "; cin >> a2;
plus = a1 + a2; // операция сложения minus = a1 - a2; // операция вычитания pow = a1 * a2; // операция умножения div = a1 / a2; // операция деления
cout << a1 << "+" << a2 << "=" << plus << endl; cout << a1 << "-" << a2 << "=" << minus << endl; cout << a1 << "*" << a2 << "=" << pow << endl; cout << a1 << "/" << a2 << "=" << div << endl; system("pause");
return 0;
}
Описание: простой калькулятор, который может: добавлять, вычитать, умножать и делить.
Необходимо реализовать функцию возведения числа в любую степень, а также умножение отрицательных чисел.
Рекомендуемая литература: 1.
Перечень дополнительных ресурсов: 2, 3, перечень ресурсов в сети Интернет.
Цель: Изучить технологию рефокторинга программного кода
Задание: Задание 1:
В рамках лабораторной работы приведите примеры реализации рефакторинга в следующих системах:
−Visual Studio.
−Visual Assist X.
−Refactor.
−JustCode
−ReSharper
−CodeIt
Для поиска информации используйте сеть Интернет.
Задание 2:
Построить схему с признаками плохого кода, также, графически отразите и опишите причины применения рефакторинга.
Результаты работы представить в MS Word. Минимальное количество анализируемых систем – 5.
Рекомендуемая литература: 1, 2.
Перечень дополнительных ресурсов: 2, перечень ресурсов в сети Интернет.
Цель: Изучить технологию оптимизации программного кода
Задание:
−Решите задачу оптимизации кода (файл с кодом возьмите у преподавателя), используя только элементарные конструкции (последовательность, ветвления, циклы). Программа должна быть рабочей.
−Оптимизировать программу (можно использовать процедуры или функции).
−Оптимизированная программа должна содержать проверки всех переменных, которые вводятся с клавиатуры.
−Для созданных программ оценить метрические характеристики по Холстеду;
−Сравнить полученные результаты. Оформить результаты в таблицу. Сделать соответствующие выводы.
Расчет метрики Холстеда:
Метрика Холстеда относится к метрикам, вычисляемым на
основании анализа числа строк и синтаксических элементов исходного кода программы.
Метрика Холстеда позволяет оценить размер (в словах) и объем в битах программы на стадии анализа требований. Используя нормы выработки операторов в день можно оценить время на разработку.
Основу метрики Холстеда составляют четыре измеряемые характеристики программы: n1 — число уникальных операторов
программы, включая символы-разделители, имена процедур и знаки операций (словарь операторов); n2 — число уникальных операндов программы (словарь операндов); N1 — общее число операторов в программе; N2 — общее число операндов в программе.
+, *, /, - это операторы
x, у, z, 999, -25, number1 - это операнды
На основании этих характеристик рассчитываются оценки:
Словарь программы (Halstead Program Vocabulary, HPVoc): n = n1 + n2;
Длина программы (Halstead Program Length, HPLen): N = N1 +
N2;
Объем программы (Halstead Program Volume, HPVol): V = N
log2 n;
Сложность программы (Halstead Difficulty, HDiff): D = (n1/2) × (N2 / n2);
На основе показателя HDiff предлагается оценивать усилия программиста при разработке при помощи показателя HEff (Halstead Effort): H = D × V.
Пример метрики:
Рекомендуемая литература: 1, 2.
Перечень дополнительных ресурсов: 2, перечень ресурсов в сети Интернет.
Цель: Изучить технологию отладки программного кода
Задание:
Задание 1. Проверка синтаксиса
1.Запустите среду VB.
2.Проверку синтаксиса можно включить или отключить с помощью опции Auto Syntax Checkвкладки Editor диалогового окна
Options меню Tools.
3.Зайдите в окно кода формы и напишите такой код: If X = 5. Нажмите Enter – сразу появляется сообщение об ошибке.
4.Теперь отключите проверку синтаксиса (уберите галочку напротив Auto Syntax Check) и повторите попытку.
5.Как вы заметили, сообщения не выдалось, хотя и цвет текста предупреждающе изменился (строка с синтаксической ошибкой выделяется красным цветом).
6.Включите проверку синтаксиса.
Примечание. Отключить проверку синтаксиса имеет смысл только в тех редких случаях, когда строка кода формируется путём копирования готовых фрагментов из других мест программы. В этом случае при перемещении курсора в окне кода постоянно появляются раздражающие сообщения об ошибках, причина которых и так известна разработчику. В большинстве случаев отключать проверку синтаксиса не следует.
Задание 2. Контекстная подсказка – QuickInfo
В Visual Basic встроены средства, которые позволяют обнаружить синтаксическую ошибку, но и избежать её при написании кода. Это, в частности, механизм контекстной подсказки или QuickInfo;
1.Напишите в окне кода текст – MsgBox и нажмите пробел:
2.У вас высветилось окно QuickInfo, в котором автоматически отображается полный синтаксис вводимого оператора.
При формировании вложенных вызовов функций вводимый аргумент для удобства всегда выделяется жирным шрифтом (на рис 7.1. показан момент редактирования аргумента Promt);
3.Если окно QuickInfo занимает много места и мешает при работе, режим отображения контекстной подсказки можно отключить с помощью опции Auto Quick Info вкладки Editorдиалогового окна
Options меню Tools.
Задание 3. Автоматическое отображение списка элементов Для уменьшения количества ошибок при написании имён,
свойств и методов объектов, Visual Basic автоматически отображает список доступных элементов. Содержимое списка зависит от типа объекта. Возьмём для примера надпись (Label).
1.Поместите на форму надпись и откройте окно кода для фор-
мы;
2.Напишите в окне кода следующий текст: Label1:
Пояснения
1)Вы можете выбрать элемент из списка или ввести его с клавиатуры. В процессе ввода указатель списка автоматически перемещается к нужному элементу. Тип элемента списка (свойство или метод) указывает пиктограмма рядом с именем.
2)Выбрать нужный элемент в списке можно также с помощью клавиш управления курсором. Нажатием клавиши Tab выделенный элемент вводится в текущую строку, причём текстовый курсор оста-