ВВЕДЕНИЕ
В последнее время информационные технологии развиваются на более высоком уровне, чем раньше. Уже нельзя представить жизнь без компьютера, без мобильного телефона, без интернета. Все, что вокруг нас, все больше и больше создано с применением информационных технологий.
Целью данной курсовой работы является закрепление навыков использования персонального компьютера, операционных систем и языков высокого уровня, полученных студентами при изучении курса «Конструирование программ и языки программирования», а также ознакомление с современными информационными технологиями, используемыми в учебном процессе, современными программными средствами подготовки и обработки информации. На основе полученных теоретических и практических навыков необходимо создать приложение, которое позволяет решать поставленные задачи численными методами.
Задачами данной курсовой работы являются: изучение структуры подпрограммы, механизмов передачи параметров и возврата результатов из подпрограммы, вызова подпрограммы на выполнение, а также изучение теоретических вопросов использования системы программирования C и C++. Для этого необходимо изучить теоретические вопросы по использованию системы программирования C и применить полученные навыки для создания одного приложения, которое решает четыре различные задачи.
В процессе выполнения данной курсовой необходимо разработать программу для решения следующих четырех задач:
1. Используя вторую интерполяционную формулу Ньютона для заданного значения аргумента вычислить приближенное значение функции, заданной таблично.
2. Используя обобщенную формулу Cимпсона, вычислить определенный интеграл с заданной точностью.
3. С помощью метода Коши-Эйлера решить задачу Коши для дифференциального уравнения.
4. Используя метод прогонки, найти решение краевой задачи для обыкновенного дифференциального уравнения второго порядка.
Подпрограмма – это именованная группа операторов, решающая какую-то конкретную задачу. Её можно запустить, вызвав по имени, любое количество раз из различных мест программы. Подпрограммы позволяют избавится от повторения однотипного кода, делают код более понятным и структурированным.
Чтобы подпрограмма могла выполнять не только одинаковые действия, но и похожие алгоритмы с различающимися параметрами, существует механизм передачи параметров из основной программы в подпрограмму. В подпрограмме используются аргументами или параметры, конкретные значения которых задаются только в момент вызова подпрограммы.
Вызовом подпрограммы называется обращение к ней по имени с целью её использования. Вызов — это запуск подпрограммы.
Подпрограмма может как просто выполнять какие-то действия (например, выводить массив на экран), так и возвращать конкретный результат в виде некоторого значения (например, поиск максимального элемента массива и возврат получившегося числа). В C++ подпрограммы называются функциями и могут быть двух типов: возвращающими или не возвращающими значение.
Таким образом, функция — это определенная группа операций с уникальным именем, которая может вызываться по имени в любом месте программы, получать определенный набор значений из внешней программы в момент вызова и возвращать в качестве значения некоторый результат заранее заданного типа.
Самым простым примером функции является main. Она автоматические вызывается при запуске программы.
Любая функция должна быть объявлена до того как будет вызвана. Объявление функции, аналогично объявлению переменной: указываются имя функции, тип значения, которое она может возвращать и набор её параметров (для каждого параметра задаётся тип и, при желании, имя). Объявление функции называют также её прототипом.
Определение или описание функции содержит перечень тех операций, которые будут производится внутри функции. Блок определения функции называется также её телом.
Для завершения выполнения функции и возврата значения из неё используется оператор return. Тип возвращаемого значения должен совпадать с типом результата в объявлении функции.
При работе с функциями следует различать формальные и фактические параметры. Формальные параметры существуют в прототипе и теле определения функции. Они задаются некоторыми уникальными именами и внутри функции доступны как локальные переменные. Фактические параметры существуют в основной программе. Они указываются при вызове функции на месте формальных. В момент вызова функции значения фактических параметров присваиваются формальным. Соответственно, имена формальных и фактических параметров могут совпадать и это не вызовет конфликта.
Разработать и отладить программную систему, работающую под управлением иерархического меню по реализации численных методов для решения следующих задач:
1. Используя вторую интерполяционную формулу Ньютона, программа должна вычислять приближенное значение функции, заданной таблично. Значение аргумента функции задается пользователем.
2. Используя обобщенную формулу Cимпсона, программа должна вычислять определенный интеграл с заданной точностью. Значение точности пользователь вводит с клавиатуры.
3. С помощью метода Коши-Эйлера программа должна решать задачу Коши для дифференциального уравнения.
4. Используя метод прогонки, программа должна находить решение краевой задачи для обыкновенного дифференциального уравнения второго порядка.
Данное приложение должно иметь понятный интерфейс для пользователя. В приложении также должны быть предусмотрены проверки на вводимые значения и параметры. В случае неправильного ввода, пользователю необходимо выводить соответствующее сообщение на экран и дать возможность повторного ввода значения.
3 РЕШЕНИЕ ЗАДАЧИ 1
Необходимо используя первую интерполяционную формулу Ньютона для заданного значения аргумента х*=0,1035 вычислить приближенное значение функции, заданной таблично. Значения функции приведены в таблице 2.1.
Во второй задаче необходимо, используя обобщенную формулу трапеции, вычислить определенный интеграл с заданной точностью.
В третьей задаче необходимо с помощью метода Коши-Эйлера решить задачу Коши для дифференциального уравнения:
В четвертой задаче необходимо, используя метод прогонки, найти решение краевой задачи для обыкновенного дифференциального уравнения второго порядка с шагом h = 0,1:
Для удобства работы с задачами был разработан основной алгоритм, объединяющий решения всех задач. Пользователю предлагается выбрать номер задачи для решения и в зависимости от его выбора в основном алгоритме происходит вызов вспомогательных функций, описанных выше. После решения какой-либо задачи пользователю снова предоставляется выбор задачи. При вводе значения отличного от предложенных программа завершает свою работу. Текст алгоритма представлен в приложении А. Результат выполнения представлен на рисунке 7.1. Блок-схема на рисунке 7.2.
В ходе выполнения курсового проекта были изучены различные теоретические вопросы использования системы программирования С++, а также получены навыки по алгоритмизации и программированию.
Были изучены структура подпрограммы, механизмы передачи параметров в подпрограмму, возврата результатов из подпрограммы и вызова подпрограммы на выполнение.
В ходе выполнения курсового проекта были решены четыре задачи, разработаны алгоритмы, тесты и комментированный программный код для каждой из них. Алгоритмы для каждой задачи оформлены в виде блок-схем. Программа успешно прошла все разработанные тесты.
Для организации работы пользователя с задачами в основном алгоритме был разработан удобный интерфейс, позволяющий пользователю выбирать необходимые задачи для выполнения.
СКРИНШОТЫ РАБОТЫ


