КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Требования к программным компонентам
Основная программа должна быть построена таким образом, чтобы пользователь мог задавать значения параметров задачи Прежде чем выполнять непосредственное субтабулирование, в Вашей программе необходимо вычислить для заданного интервала изменения аргумента Во втором фрагменте программы должен быть реализован указанный метод интерполирования с выводом результатов субтабулирования (уплотненную таблицу функции с указанием Все программные компоненты должны быть оформлены в виде самостоятельных функций. Варианты заданий
Пример выполнения лабораторного задания на Fortran Пусть задана функция Стартуем среду разработки MS Visual Studio (открываем файл NMM_PetrovIS.sln). Создаем новый проект LabTask_8f консольного приложения на языке программирования Fortran. Включаем в этот проект новый файл y(x).f90, в котором размещаем код функции, вычисляющей значения в соответствии с формулой
Теперь приступим к созданию функции, выполняющей интерполирование по Лагранжу:
Очевидно, что входными параметрами данной программной единицы должны быть: массивы значений аргумента и интерполируемой функции, количество элементов в этих массивах, а также значение аргумента Реализуем сказанное в следующем виде:
Теперь можно перейти к созданию основной программной единицы. Напомним, что ее основными задачами являются: 1. получение данных от пользователя (значения параметров 2. создание исходной таблицы функции; 3. вычисление шага субтабулирования для новой таблицы; 4. выполнение субтабулирования; 5. вычисление абсолютной и относительной ошибок субтабулирования; 6. сохранение результатов вычислений в виде текстового файла. Текст основной программной единицы может быть, например, таким:
Интерфейсы функций, вызываемых в основной программной единице, разместим, как обычно, в соответствующем модуле:
После успешной компиляции и компоновки исполняемого файла запустим его на выполнение. Теперь в окне консольного приложения нам предстоит ввести значения параметров
Результаты вычислений данной программы сохраняются в последовательном форматном файле с именем SubTable.txt. Подключим этот файл к проекту и откроем его:
Данная таблица демонстрирует «качество» субтабулирования заданной функции Для полноты исследования алгоритма интерполирования по Лагранжу Вы можете выполнить вычисления с различным числом Пример выполнения лабораторного задания на C# Приступим к разработке нового проекта – LabTask_08с консольного приложения на языке C#. Вспомогательные программные компоненты разместим в отдельном классе – Class_08:
При разработке кода основной программной единицы будем руководствоваться порядком действий, представленных в варианте на Fortran. Напомним, что для работы с файлами потокового ввода-вывода необходимо подключить к проекту соответствующее пространство имен.
Обратите внимание на особенности реализации ввода–вывода в классе Console. Тип Console определяет методы, обрабатывающие данные ввода и вывода, причем все его методы определены как статические и поэтому они вызываются на уровне класса. Метод Write() вставляет текст в выходной поток без возврата каретки и перехода на новую строку консоли, см. строки 19 и 21 кода. Метод ReadLine() позволяет получить информацию из входного потока (из консоли) вплоть до символа возврата каретки. Если считываемое данное есть некоторое число, то строку, прочитанную из входного потока необходимо конвертировать в число требуемого типа, см. строки 20 и 22 кода. Особенности работы с текстовыми файлами результатов обсуждались в предыдущей лабораторной работе, поэтому мы здесь повторяться не будем. Отметим лишь, что для удобства сопоставления результатов мы внесли очевидное изменение в имя файла, см. строку 37.
Для того чтобы результаты выводились в виде упорядоченной таблицы заданного формата, мы воспользовались дополнительными методами, которыми обладают объекты типа string, в частности – .PadLeft(kk).
Так мы достигли практической идентичности таблиц результатов, полученных в рамках данной лабораторной работы, но в двух разных проектах.
Сопоставить эти файлы удобно непосредственно в окне среды разработки, если воспользоваться пунктом меню:
После запуска на выполнение текущего проекта:
выполним сопоставление файлов результатов (их одинаковых фрагментов):
Совпадение данных в файлах очевидно. Цель лабораторной работы достигнута. Теперь Вам предстоит реализовать полученные знания для выполнения Вашего варианта задания. Контроль выполнения варианта лабораторного задания № 8 Для проверки правильности выполнения Вами лабораторной работы № 8 воспользуйтесь приложением NMM_Labs.
После нажатия на кнопку «Выполнить» перед Вами появляется форма, при помощи которой Вы сможете сопоставить результаты работы Вашей программы с контрольными данными:
Данная форма предполагает два этапа выполнения вычислений. На первом этапе строится исходная таблица функции – кнопка «Вычислить значения для исходной таблицы функции». После выполнения этого этапа следует этап непосредственной интерполяции по методу Лагранжа – уплотнение таблицы функции между узлами интерполирования – кнопка «Выполнить уплотнение таблицы»:
Работа считается выполненной, если уплотненная таблица функции, вычисленная в Вашей программе, полностью совпадает с таковой из контрольного приложения.
Дата добавления: 2014-12-24; Просмотров: 340; Нарушение авторских прав?; Мы поможем в написании вашей работы! |