Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛР-13. Численное интегрирование (FORTRAN,Excel,...doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
3.01 Mб
Скачать

Порядок выполнения работы

  1. Расчет в среде Microsoft Excel.

    1. Запускаем на выполнение среду Microsoft Excel:

    1. Появляется главное окно приложения Excel, документ которого называется книгой, состоящей из листов. Листы разбиты на ячейки, координаты которой представлены латинской буквой (столбец таблицы) и арабской цифрой (строка). Координаты выделенной курсором ячейки отображаются в окне «Имя» (в нем вместо индекса ячейки можно ввести осмысленное имя). В строке формул вводят информацию в выделенную ячейку (текстовую, числовую, формулы и т.д.)

    1. Формат вводимой в ячейку информации можно определить или изменить командой «Формат / Ячейки…»:

    1. В результате появляется окно «Формат ячеек» со списком возможных форматов. Например, для числового формата можно уточнить вид десятичного числа:

    1. Вставить новую строку в документ можно командой «Вставка / Строки»:

    1. Выделить строки можно курсором мыши в столбце с цифрами:

    1. Удалить выделенные строки из документа можно командой «Правка / Удалить»:

    1. Заносите в ячейки А1-А3 информацию о теме работы, ее исполнителе и контроллере:

    1. Шрифт текстовой информации можно традиционно изменить с помощью панели инструментов «Форматирование»

    1. Панели инструментов можно вывести командой «Вид / Панели инструментов»:

    1. Занесите в ячейки D8-D10 исходные данные расчета:

    1. Для внесения в документ заданного интеграла используйте объект редактирования формул «Microsoft Equation 3.0» с помощью команды «Вставка / Объект…»:

    1. Тип вставляемого объекта выберите в появляющейся панели «Вставка объекта»:

    1. Отредактируйте вставляемый объект:

    1. В ячейку D11 вставьте формулу =(D9-D8)/D10 для расчета шага интегрирования , ссылаясь на соответствующие ячейки, которые хранят пределы интегрирования a, b и количество разбиений h (при редактировании формулы можно не набирать индексы ячеек, а просто выделять нужные ячейки курсором). Формула всегда начинается с символа «=»:

    1. При редактировании формул могут понадобиться стандартные функции (кнопка «fx»):

    1. Внесите справочную информацию об используемых приближенных методах численного интегрирования:

    1. Создаем таблицу для параметров: k – номер точки; x – значение аргумента точки интегрирования; y – значение функции в точке интегрирования; Левые – слагаемые для метода левых прямоугольников; Правые – слагаемые для метода левых прямоугольников; C – вспомогательные множительные коэффициенты; C*y – слагаемые для суммирования.

    1. В ячейке А30 введите начальный номер 0 точки интегрирования, в ячейке В30 введите формулу =$D$8+A30*$D$11 для расчета . Знак «$» ставится перед индексами столбца и строки в случае, если значение должно остаться константой. После ввода формулы нажмите клавишу «Enter» и формула будет вычислена:

    1. В ячейке C30 введите формулу =(B30^2+4.1)/(B30^4+1) для расчета подинтегральной функции :

    1. В ячейке А31 введите формулу =A30+1 для расчета индекса остальных точек таблицы :

    1. Распространите формулу для индекса по высоте таблицы. Для этого выделите ячейку А31 и подведите курсор мыши к правому нижнему углу ячейки до изменения пиктограммы курсора в виде жирного креста. Затем нажмите левую кнопку мыши и, не отпуская ее, «протащите» вниз по высоте таблицы:

    1. Отпустите кнопку мыши против ячейки А42 и индексы точек будут автоматически вычислены:

    1. Внесем необходимые вспомогательные формулы для слагаемых сумм приближенных интегралов:

    1. Фон ячеек с формулами выполнен розовым цветом, а с числами – голубым:

    1. Распространите введенные формулы по высоте таблицы:

    1. Вычислите сумму слагаемых интеграла левых прямоугольников. Для этого выделите ячейки D31-D42 столбца и нажмите инструмент автосуммы:

    1. В результате в строке формул и ячейке D43 появится формула суммирования (которую можно было бы набрать самому). Необходимо нажать «Enter» для вычисления суммы:

    1. Повторите суммирование для других методов:

    1. В соответствующих ячейках нижней части таблицы занесите формулы расчета интегралов и погрешности (погрешность метода Симпсона должна получиться меньше, чем погрешность метода трапеций):

    1. Изобразите график подинтегральной функции. Выделите столбец значений функции С30-С42 и нажмите на инструмент «Мастер диаграмм» стандартной панели инструментов (или меню "Вставка / Диаграмма"):

    1. На первом шаге работы «Мастера диаграмм» выберите тип диаграммы:

    1. На втором шаге работы «Мастера диаграмм» перейдите на вкладку «Ряд» и нажмите на кнопку в окне «Подписи оси Х»:

    1. Появляется окно мастера выбора источника данных:

    1. Выделите столбец аргумента функции B30-B42 и нажмите на кнопку мастера:

    1. В результате надписи оси Х будут изменены. Нажмите на кнопку «Далее»:

    1. На следующем шаге работы «Мастера диаграмм» на вкладке «Заголовки» внесите необходимые надписи:

    1. На вкладке «Линии сетки» отметьте необходимость отображения линий сетки по оси Х и нажмите на кнопку «Готово» для завершения работы мастера:

    1. В результате диаграмма будет вставлена в документ. Размеры диаграммы можно изменить с помощью маркеров. Другие свойства диаграммы можно изменить с помощью панели инструментов «Диаграммы»:

    1. Чтобы увидеть весь ли документ попадает в поле печати, выведите разметку страницы командой «Вид / Разметка страницы»:

    1. В результате документ выводится с разметкой. Чтобы при печати документа вся информация попала на лист, необходимо «потянуть» пунктирную границу до сплошной границы печати:

    1. Эти действия приводят к необходимому масштабированию документа по горизонтали.

    1. Повторите действия для вертикальной границы.

  1. Расчет в среде MathCad.

    1. Запустите среду Mathcad с помощью кнопки «Пуск».

    1. В результате появляется главное окно Mathcad. Необходимые панели инструментов можно вывести командой меню «View | Toolbars»:

    1. С помощью панели «Formatting» внесите необходимую текстовую информацию о выполняемой работе:

    1. С помощью панели инструментов «Calculator» можно внести однострочные или многострочные функции с формальными параметрами или без. В выражениях правой части функций могут участвовать имена формальных параметров или имена переменных, определенных ранее в документе. Определение функций происходит с использованием операции «:=», а вычисление – с помощью «=». Операнды функций вводятся в соответствующие знакоместа, появляющиеся после выбора соответствующих инструментов панели «Calculator»:

    1. Внесите заданную подынтегральную однострочную функцию f(x) и исходные данные a, b, n для расчета, снабдив их соответствующими пояснениями:

    1. Определите формулу для шага интегрирования h и вычислите его:

    1. Задайте формулу для изменения x для построения графика функции (тип-диапазон «m..n» найдите на панели «Matrix»):

    1. Постройте график заданной подынтегральной функции (команда «Insert | Graph | X-Y Plot» или инструмент панели «Graph»):

    1. Мастер диаграмм вставит в документ шаблон графика с соответствующими знакоместами для аргумента и функции:

    1. Введите в соответствующие знакоместа аргумент и заголовок функции графика и выполните щелчок левой кнопки мыши вне поля графика для появления кривой графика:

    1. Измените некоторые свойства графика. Правой кнопкой мыши на поле графика вызовите контекстное меню и выполните команду «Format»:

    1. На вкладке «X-Y Axes» панели форматирования отметьте вывод линий сетки, отмените автоматическое масштабирование осей и введите требуемое количество промежутков по осям графика:

    1. На вкладке «Traces» панели форматирования выберите тип отображения узлов графика (здесь также можно изменить тип, цвет и толщину отображения линии кривой графика):

    1. На вкладке «Labels» панели форматирования отметьте необходимость отображения заголовка графика, введите текст заголовка (в случае, если шрифт кириллицы не отображается правильно, внесите заголовок латинским шрифтом) и нажмите на кнопку «ОК»:

    1. В результате изменённые свойства графика вступят в силу (кроме того, на графике выводятся минимальные и максимальные значения выводимого отрезка кривой):

    1. Используя панель «Calculus», для проверки выполните расчет встроенного определенного интеграла:

    1. Выполните расчет методом левых прямоугольников:

    1. Выполните расчет методом правых прямоугольников:

    1. Выполните расчет методом трапеций для разбиения h и 2h. Оцените погрешность метода трапеций Rtr:

    1. Выполните расчет методом Симпсона для разбиения h и 2h. Оцените погрешность метода трапеций RSimp:

    1. Проводите анализ полученных результатов, сравните их с результатами расчетов в среде Excel и оформите отчет, сохранив файл в формате (*.rtf):

    1. В панели «Сохранить как» сохранения надо выбрать формат, изменить при необходимости изменить имя и нажать на кнопку «Сохранить»:

    1. После преобразования формата файла отчет можно откорректировать в редакторе Microsoft Word и распечатать.

  1. Расчет в среде Fortran.

    1. Запустите на выполнение среду программирования Developer Studio.

    1. Создайте проект диалогового приложения, выполняющего пункты задания.

      1. Запустить мастер создания проекта командой меню File | New.

      1. С помощью кнопки Brouse перейдите на рабочий диск. Выделите мышью вариант приложения Fortran Windows Application. В окне редактирования Project name наберите имя создаваемого проекта Lab13_V1 (имя должно отражать номера лабораторной работы и варианта задания). Подтвердить нажатием кнопки OK выбранные опции панели New Projects.

      1. В открывшемся следующем окне мастера выберите переключатель A simple Dialog based Application. Подтвердите выбранные опции, нажав Finish

      1. Ознакомьтесь с окончательной информацией о создаваемом проекте и нажмите на кнопку OK.

    1. Мастер сгенерирует проект диалогового приложения, которое можно откомпилировать и запустить на выполнение. Создан ряд файлов, название которых основано на имени проекта.

    1. По сравнению с консольными программами появилась дополнительная папка ресурсов проекта ResourceView, перейдя на которую можно отредактировать графические и строковые ресурсы проекта.

    1. Каждому графичекому ресурсу присвоен уникальное в рамках проекта целое число (идентификатор), которому поставлено в соответствие строковое имя. Таблица идентификаторов формируется и редактируется мастером автоматически и представлена в файле resource.fd. Диалоговой панели присвоен идентификатор IDD_LAB13_V1_DIALOG (или целое число 101). Переходить на нужный ресурс можно двойным щелчком левой кнопкой мыши на идентификаторе.

    1. Двойной щелчок левой кнопки мыши по идентификатору диалоговой панели IDD_LAB13_V1_DIALOG приводит к открытию редактора диалога. Шаблон диалоговой панели по умолчанию содержит две командные кнопки Apply и Exit , метку с надписью посередине, строку заголовка с именем «Dialog Title» и с кнопкой завершения работы .

    1. Добавление новых элементов на диалоговую панель проводится с помощью панели инструментов Controls. Панель инструментов Controls можно вывести (или скрыть) командой Controls контекстного меню, которое можно вызвать правой кнопкой мыши на строке главного меню Developer Studio.

    1. На панели Controls выбираются нужные элементы управления для размещения их на диалоговой панели. Выбор осуществляется щелчком левой кнопки на нужном элементе и еще одним щелчком в месте приблизительного ее расположения на диалоговой панели приложения. В дальнейшем новый элемент можно перетащить левой кнопкой мыши на более удобное место или выровнять по отношению к другим элементам управления с помощью инструментов панели Dialog.

    1. Подготовьте шаблон диалоговой панели для приема исходных данных, выведения результатов расчета, запуска на выполнение необходимых расчетов и завершения работы программы.

      1. Измените язык диалоговой панели на русский. Все свойства элементов проекта можно изменить с помощью панели свойств Properties. Правой кнопкой мыши вызовите контекстное меню на идентификаторе ресурса и выполните команду Properties.

      1. В появившемся диалоге Dialog Properties измените язык с нейтрального «Neutral» на русский «Russian».

      1. Прежде чем редактировать графический интерфейс диалоговой панели надо запланировать ее приблизительный вид на финальной стадии. Например, диалоговая панель может выглядеть примерно так.

      1. Удалите с шаблона диалоговой панели надпись TODO и кнопку OK, последовательно выделяя элементы мышью и нажимая Delete на клавиатуре. Перетащите левой кнопкой мыши кнопки Apply и Exit в нижние уголы панели. Кнопка Apply будет служить запуску расчетов на выполнение, а кнопка Exit – завершению работы приложения (наряду с кнопкой ).

      1. Переименуйте заголовок панели приложения с «Dialog Title» на «Определенные интегралы (Иванов гр. 211)» (добавьте фамилию автора программы и группы). Для этого щелкните левой кнопкой мыши по заголовку диалоговой панели и откорректируйте соответствующую строку в окне Caption на панели Properties.

      1. Изменения свойств одновременно отражается на внешнем виде заголовка панели диалога. В этом суть визуального проектирования графического интерфейса программы.

      1. Перенесите с панели инструментов элемент Edit Box для редактирования левой границы интегрирования a и измените его идентификатор на IDC_EDIT_A на панели Properties в окне ID.

      1. Перенесите с панели инструментов элемент Edit Box для редактирования левой границы интегрирования a и измените его идентификатор на IDC_EDIT_A на панели Properties в окне ID.

      1. Перенесите с панели инструментов элемент Edit Box для редактирования левой границы интегрирования a. По умолчанию мастер назначает новому єлементу управления идентификатор типа IDC_EDIT1, увеличивая для последующих добавляемых окон редактирования номер в конце идентификатора.

      1. Чтобы добавить информативности идентификаторам элементов управления, их обычно корректируют, связывая с именами переменных, с которыми эти окна будут обмениваться данными. Данное окно редактирования будет принимать от пользователя программы значение нижнего предела интегрирования a, поэтому измените идентификатор окна на IDC_EDIT_A на панели Properties в окне ID.

      1. Снабдите поле редактирование поясняющей надписью с помощью элемента управления Static Text. Обратите внимание на идентификатор и заголовок по умолчанию нового элемента управления.

      1. Измените свойство Caption нового элемента управления Static Text, подкорректировав соответствующую надпись на панели свойств.

      1. Аналогичным образом создайте поля редактирования и метки слева от них для других исходных данных и результатов расчета в соответствии с предварительно задуманным графическим интерфейсом. Габариты самой диалоговой панели (как и любого элемента управления на ней) можно изменить, «потянув» левой кнопкой мыши за габаритные маркеры. Сгруппируйте элементы управления по функциональному принципу с помощью инструмента Group Box на панели Controls.

      1. Довольно неряшливый вид диалоговой панели можно «причесать» с помощью инструментов выравнивания элементов на панели Dialog. Здесь есть инструменты выравнивания выделенной группы элементов по левому краю , по правому краю , по верхней кромке , по нижней кромке , центрирования по вертикали и по горизонтали , равномерного расположения по горизонтали и вертикали , одинаковой ширины , высоты , одного размера . Можно также включить/выключить фоновую сетку и габаритные линейки , помогающие в процессе выравнивания элементов управления. Протестировать диалоговую панель можно с помощью инструмента .

      1. Прежде чем воспользоваться одним из инструментов выравнивания надо выделить группу элементов на панели. Выделение происходит щелчком левой кнопки мыши по выделяемым элементам при нажатой клавише Ctrl, причем последним следует выделять элемент, по которому будет происходить выравнивание.

      1. После нажатия на инструмент выравнивания выделенной группы элементов по левому краю элементы выстраиваются в нужном порядке.

      1. Если теперь использовать инструмент равномерного расположения по вертикали , элементы группы примут еще более упорядоченный вид.

      1. Примените указанные приемы выравнивания к другим группам окон редакторования.

      1. Выделите группой окна группировки данных и отцентрируйте их заголовки с помощью панели свойств. Расположение элементов управления на диалоговой панели приложения приняло окончательный вид.

      1. Измените заголовок (свойство Caption) конпки Apply на «Расчет» (для вычисления интегралов), заголовок конпки Exit на «Финиш» (для выхода из программы) и надписи меток перед окнами редактирования. В результате панель может выглядеть так.

      1. Присвойте элементам управления (кроме надписей) соответствующие идентификаторы (во избежание ошибок, скопируйте идентификаторы из таблицы, приведенной ниже). Идентификаторы командных кнопок IDM_APPLY и IDM_EXIT оставьте неизменными, т.к. их функциональность уже заложена в каркасе программы, созданном мастером AppWizard.

Элемент управления

Назначение

Идентификатор

Поле редактирования

Левая граница a

IDC_EDIT_A

Поле редактирования

Правая граница b

IDC_EDIT_B

Поле редактирования

Число интервалов n

IDC_EDIT_N

Поле редактирования

Интеграл методом левых прямоугольников

IDC_EDIT_LEFT

Поле редактирования

Интеграл методом правых прямоугольников

IDC_EDIT_RIGHT

Поле редактирования

Интеграл методом трапеций

IDC_EDIT_TRAP

Поле редактирования

Интеграл методом Симпсона

IDC_EDIT_SIMP

Поле редактирования

Погрешность метода трапеций

IDC_EDIT_R_TRAP

Поле редактирования

Погрешность метода Симпсона

IDC_EDIT_R_SIMP

      1. Таким образом, редактирование графического интерфейса закончено. Осталось внести изменения в исходный текст программы в соответствии с заданием варианта.

    1. Введем в модуль Lab13_V1Globals (файл Lab13_V1Globals.f90 проекта) в качестве глобальных данных соответствующие переменные для исходных данных и результатов расчета. Связь между этими переменными и соответствующими окнами редактирования на диалоговой панели приложения будет осуществляться через одноименные строковые переменные с приставкой text_.

    1. Отредактируйте файл Lab13_V1.f90.

      1. В теле главной функции приложения WinMain сразу за разделом объявлений передайте начальные данные от глобальных переменных исходных данных их соответствующим строкам.

      1. Передайте начальные значения исходных данных в окна редактирования.

      1. Отредактируйте подпрограмму Lab13_V1Apply – обработчик сообщений кнопки «Финиш» (бывшая «Apply»). В начале этой процедуры объявите необходимые переменные. Часть объявлений уже создана мастером.

      1. Далее в операторе обработки нажатия левой кнопки мыши (сообщение dlg_clicked) после комментария «TO DO» считайте с помощью функции dlgget из окон редактирования исходные данные в текстовые переменные и обменяйте данные между ними и расчетными переменными, применив оператор read.

      1. Теперь вычислите приближенные значения интегралов и погрешностей. Прежде всего организуйте расчет методом левых прямоугольников.

      1. Аналогичным образом повторите расчет методом правых прямоугольников.

      1. Теперь вычислите приближенное значение интеграла методом трапеций и оцените погрешность метода.

      1. И, наконец, вычислите приближенное значение интеграла методом парабол (Симпсона) и оцените погрешность метода.

      1. В завершение обработки сообщения выведите значения результатов посредством буферных текстовых переменных.

      1. После процедуры-обработчика сообщений поместите подинтегральную функцию.

    1. Откомпилируйте проект и запустите на выполнение с помощью команды меню Build | Execute. Появится диалоговое окно приложения.

    1. Нажмите на кнопку Расчет. Результаты расчета появятся в соответствующих окнах панели приложения.

    1. Проанализируйте результаты расчета, нажмите кнопку Финиш для завершения приложения и оформите отчет о проделанной работе.

ВАРИАНТЫ ЗАДАНИЙ

Номер варианта

Определенный интеграл

Номер варианта

Определенный интеграл

1

16

2

17

3

18

4

19

5

20

6

21

7

22

8

23

9

24

10

25

11

26

12

27

13

28

14

29

15

30

ПРИМЕР ОФОРМЛЕНИЯ ОТЧЕТА