Пример выполнения лабораторного задания на языке c#
В имеющемся рабочем пространстве NMM_PetrovIS сгенерируем (добавим) новый проект LabTask_11с консольного приложения на языке программирования C#.
Включим в проект класс – Class_11, в котором разместим программные компоненты – аналоги разработанных выше алгоритмов. Никакие принципиально новые приемы программирования мы здесь использовать не будем, поэтому коды программных компонентов приводим без комментариев:
Кроме того, коды функций func_y() и func_dy() в соответствии с формулами (11.22) Вам уже под силу сформировать самостоятельно.
Напомним здесь, что для сохранения результатов вычислений в виде файла на жестком диске, нам необходимо подключить в основной программной единице пространство имен System.IO.
Аналог основной программной единицы main_11 (на Fortran) на языке C# может иметь, например, следующий вид:
Сравнение кодов на C# и Fortran, реализующих операции форматного вывода в текстовый файл, безусловно, говорит в пользу Fortran. В частности, операторы format позволяют более гибко организовывать форматный ввод/вывод и не «загромождают» основной код программы, поскольку могут быть записаны в любом месте программной единицы (неисполняемые операторы).
Компиляция проекта LabTask_11с и тестовый расчет дают результаты (файл LabTask_11с.txt), идентичные тем, что были получены в проекте LabTask_11f и приведены выше в виде таблиц (файл Table_dy.txt).
Последнее свидетельствует в пользу того, что цель данной лабораторной работы достигнута.
Отладка данной лабораторной работы (на обоих языках программирования) должна производиться на функциях (11.22), а затем на функциях из Вашего варианта.
Только после того, как Вами будут получены результаты, совпадающие с приведенными выше, Вы можете приступать к вычислениям для своих данных.
Контроль выполнения варианта лабораторного задания № 11
Для контроля правильности Вашего выполнения лабораторной работы № 11 воспользуйтесь уже известным Вам приложением NMM_Labs.
Выберите требуемую лабораторную работу и свой вариант. После этого – нажмите на кнопку «Выполнить» – перед Вами появится следующая форма:
Пользователю предоставляется возможность вычислять значение для таблично заданной функции, а также ее производной, при помощи одного из двух интерполяционных многочленов. Выбор многочлена производится путем «включения» соответствующей радио-кнопки из группы «Интерполяционный многочлен».
Напомним, что вводимое значение аргумента должно быть в пределах отрезка интерполирования.
Кроме того, Вы можете задать другое «Количество интервалов основной таблицы», например –25, которое при начальной загрузке имеет минимальное значение – 20.
Для исследования влияния степени многочлена на относительную погрешность вычисления Вы можете увеличивать этот параметр (от 4 до 9 ).
После того, как выбран интерполяционный многочлен, например – Лагранжа, и задано конкретное значение аргумента, необходимо нажать на кнопку «Вычислить значение функции и ее производной»:
Основной результат интерполирования размещается внизу формы.
Для наглядности работы данного расчетного алгоритма (интерполирования по Лагранжу), а также для облегчения отладки Вашей программы, выводится таблица функции и ее производной, рассчитанные по аналитическим формулам.
Если же был выбран многочлен Ньютона, то форма с результатами будет иметь вид:
Здесь также выводится дополнительная информация, раскрывающая особенности интерполирования по Ньютону, и позволяющая производить отладку подобной программы.
Вам следует выполнить ряд вычислений для различных значений аргумента и для обоих методов интерполирования, чтобы убедиться в корректности работы Вашей программы по данной лабораторной работе.
Работа считается выполненной, если результаты, полученные Вашей программой для значений аргумента из «верхней», «средней» и «нижней» частей расчетных таблиц (файлов Table_dy.txt или LabTask_11с.txt) совпадут с результатами программы NMM_Labs.
Составитель –
ст. преп. Царенко А.П.