- •190000, Санкт-Петербург, ул. Б. Морская, 67
- •Выбор варианта
- •Универсальность функций
- •Оформление кода
- •Отступы
- •Имена функций и переменных
- •Лишние операторные скобки
- •Спецификатор const
- •Библиотека ввода-вывода
- •Ошибки и предупреждения
- •Глобальные переменные
- •Тип переменной
- •Неиспользуемые переменные
- •Ввод-вывод
- •Контроль вводимых значений
- •Комментарии и псевдокод
- •Общие требования к содержанию отчётов
- •Лабораторная работа 1. Вычисление математических выражений Цель работы
- •Задание на лабораторную работу
- •Вариант 136
- •Вариант 137
- •Вариант 138
- •Вариант 139
- •Вариант 140
- •Вариант 141
- •Вариант 142
- •Вариант 143
- •Вариант 144
- •Вариант 145
- •Вариант 146
- •Вариант 147
- •Вариант 148
- •Вариант 149
- •Вариант 150
- •Вариант 151
- •Вариант 152
- •Вариант 153
- •Приложение 2. Титульный лист
- •Подключение библиотек
- •Библиотека утверждений «cassert» (assert.H)
- •Библиотека посимвольной обработки «cctype» (ctype.H)
- •Библиотека региональных настроек «clocale» (locale.H)
- •Библиотека математических функций «cmath» (math.H)
- •Библиотека ввода-вывода «cstdio» (stdio.H)
- •Библиотека дополнительных функций «cstdlib» (stdlib.H)
- •Библиотека обработки строк «cstring» (string.H)
- •Режимы запуска программы
- •Пошаговое выполнение программы
- •Точки останова
- •Доступ к переменным
- •Утверждения
- •Как включить отображение номеров строк?
- •Как задать параметры командной строки при отладке?
- •Почему окно программы по завершению автоматически закрывается?
- •Как создать решение с несколькими проектами?
- •Как зарегистрировать Visual Studio Team System 2008
- •Способ 1
- •Способ 2
- •Способ 3
- •Способ 4
Ввод-вывод
Весь ввод-вывод должен происходить внутри функции «main». Не допускается использование операторов ввода-вывода в отдельных функциях за исключением функций, которые специально предназначены для ввода и вывода информации (например, ввод и вывод значений элементов матрицы).
Это позволяет использовать алгоритм решения задачи вне зависимости от того как получены входные данные (ручной ввод, чтение из файла, генератор случайных чисел, передача по сети и т.д.) и отображены выходные (на экране, в файле, на принтере и т.д.).
Контроль вводимых значений
Программа должна осуществлять проверку значений входных данных. Если вводимое значение не соответствует области допустимых значений (ОДЗ) или формату, то осуществляется повторный ввод этого значения.
Комментарии и псевдокод
Описание в виде псевдокода должно быть трансформировано в комментарии программы. Ниже приведён всевдокод
// Печать табулированных значений функции sqrt(|X| - 2) с учётом ОДЗ
// Ввести входные данные
// Для каждого значения аргумента
// Если он входит в область допустимых значений
// Вычислить значение функции
// И вывести его
и соответствующий ему текст программы
// Печать табулированных значений функции sqrt(|X| - 2) с учётом ОДЗ
#include <iostream>
using namespace std;
#include <cmath>
int main()
{
double X, Xn, dx, Xk, Y;
// Ввести входные данные
cout << "Введите Xнач, шаг, Xкон: ";
cin >> Xn >> dx >> Xk;
// Для каждого значения аргумента
for (X=Xn; X<=Xk; X+=dx)
{
// Если он входит в область допустимых значений
if (-2 < X && X < 2)
continue;
// Вычислить значение функции
Y = sqrt(abs(X) - 2);
// И вывести его
cout << "sqrt(|" << X << "| - 2) = " << Y << endl;
}
return 0;
}
Общие требования к содержанию отчётов
В методические указания включены задания на 11 лабораторных работ, содержанием которых является разработка программы на языке С++. Процесс разработки программы студент должен отразить в письменном отчете о выполнении лабораторной работы. Отчет должен состоять из следующих разделов:
-
Постановка задачи.
-
Описание входных и выходных данных.
-
Набор тестов.
-
Описание алгоритма.
-
Текст программы.
-
Анализ результатов и выводы.
Титульный лист должен быть оформлен по правилам оформления нормативной документации. Пример оформления титульного листа представлен в приложении 2. Бланк оформления можно скачать по ссылке http://guap.ru/guap/standart/otch_lab_43.rtf.
Как минимум, первые три пункта отчета следует подготовить и обсудить с преподавателем до написания текста программы (см. «Универсальность функций»). Даже если студент выполнил лабораторную работу полностью, преподаватель смотрит первые три пункта и проверяет их правильность. Если имеются замечания к ним, то студент должен исправить эти замечания с последующей переделкой программного кода. Такой подход учит студента сперва проектировать, а затем кодировать.
В постановку задачи, в дополнение к тексту из настоящих методических указаний, следует внести описание реакции будущей программы на некоторые неоговоренные в задании значения исходных данных, в том числе - на некорректные с точки зрения постановки задачи значения.
Во втором разделе для каждого действия программы приводится описание входных и выходных данных. Описание включает в себя определение символических обозначений (имён) данных, их типов и прототип функции1 вычисления результата в терминологии языка С++.
В третьем разделе - перечислить несколько вариантов значений входных параметров с соответствующими им значениями выходных, вычисленными вручную2.
Основное требование к описанию алгоритма заключается в том, чтобы оно было более подробным описанием процесса решения задачи, чем постановка задачи из п.1, но менее подробным, чем текст программы. В описании должна найти отражение основная идея решения поставленной задачи. Описание приводится в виде блок-схемы и псевдокода для каждого действия программы.
В заключительном разделе должен быть приведен критический анализ проделанной работы с указанием достоинств и недостатков разработанного алгоритма решения задачи и его программной реализации, а также - количественные характеристики программы: ее объем, объем дополнительной памяти3, привлекаемой для реализации алгоритма, время работы программы, измеренное в количестве выполняемых типичных операций в зависимости от размеров исходных данных.
