В последнее время информационные технологии развиваются на более высоком уровне, чем раньше. Уже нельзя представить жизнь без компьютера, без мобильного телефона, без интернета. Все, что вокруг нас, все больше и больше создано с применением информационных технологий.
Язык программирования С представляет высокоуровневый компилируемый язык программирования, который подходит для создания самых различных приложений, в том числе и для решения сложных математических задач, в которых присутствуют объёмные вычисления. Использование современной системы программирования С может многократно уменьшить время на решение необходимых задач, а так же избавить от случайных ошибок во время ручных вычислений.
Целью данной курсовой работы является закрепление навыков использования персонального компьютера, операционных систем и языков высокого уровня, полученных студентами при изучении курса «Конструирование программ и языки программирования», а также ознакомление с современными информационными технологиями, используемыми в учебном процессе, современными программными средствами подготовки и обработки информации. На основе полученных теоретических и практических навыков необходимо создать приложение, которое позволяет решать поставленные задачи численными методами.
Задачами данной курсовой работы являются: изучение структуры подпрограммы, механизмов передачи параметров и возврата результатов из подпрограммы, вызова подпрограммы на выполнение. Для этого необходимо изучить теоретические вопросы по использованию системы программирования C и применить полученные навыки для создания одного приложения, которое решает четыре различные задачи.
В процессе выполнения данной курсовой необходимо разработать программу для решения следующих четырех задач:
1. Используя вторую интерполяционную формулу Ньютона для заданного значения аргумента вычислить приближенное значение функции, заданной таблично.
2. Используя обобщенную формулу Симпсона, вычислить определенный интеграл с заданной точностью.
3. С помощью метода Коши-Эйлера решить задачу Коши для дифференциального уравнения.
4. Используя метод прогонки, найти решение краевой задачи для обыкновенного дифференциального уравнения второго порядка.
1 ОСОБЕННОСТИ ИСПОЛЬЗОВАНИЯ ПОДПРОГРАММ
Мощность языка С во многом определяется легкостью и гибкостью в определении и использовании функций в С-программах. В отличие от других языков программирования высокого уровня в языке С нет деления на процедуры, подпрограммы и функции, здесь вся программа строится только из функций.
Функция - это совокупность объявлений и операторов, обычно предназначенная для решения определенной задачи. Каждая функция должна иметь имя, которое используется для ее объявления, определения и вызова. В любой программе на С должна быть функция с именем main (главная функция), именно с этой функции, в каком бы месте программы она не находилась, начинается выполнение программы.
При вызове функции ей при помощи аргументов (формальных параметров) могут быть переданы некоторые значения (фактические параметры), используемые во время выполнения функции. Функция может возвращать некоторое одно значение. Это возвращаемое значение и есть результат выполнения функции, который при выполнении программы подставляется в точку вызова функции, где бы этот вызов ни встретился. Допускается также использовать функции, не имеющие аргументов и функции не возвращающие никаких значений. Действие таких функций может состоять, например, в изменении значений некоторых переменных, выводе на печать некоторых текстов и т.п. [6, с. 125].
С использованием функций в языке С связаны три понятия - определение функции (описание действий, выполняемых функцией), объявление функции (задание формы обращения к функции) и вызов функции.
Определение функции задает тип возвращаемого значения, имя функции, типы и число формальных параметров, а также объявления переменных и операторы, называемые телом функции, и определяющие действие функции. В определении функции также может быть задан класс памяти.
В языке С нет требования, чтобы определение функции обязательно предшествовало ее вызову. Определения используемых функций могут следовать за определением функции main, перед ним, или находится в другом файле.
Однако для того, чтобы компилятор мог осуществить проверку соответствия типов передаваемых фактических параметров типам формальных параметров до вызова функции нужно поместить объявление (прототип) функции.
Разработать и отладить программную систему, работающую под управлением иерархического меню по реализации численных методов для решения следующих задач:
1. Используя вторую интерполяционную формулу Ньютона, программа должна вычислять приближенное значение функции, заданной таблично. Значение аргумента функции задается пользователем.
Необходимо используя вторую интерполяционную формулу Ньютона для заданного значения аргумента х*=0,153 вычислить приближенное значение функции, заданной таблично. Значения функции приведены в таблице 3.1.
Во второй задаче необходимо, используя обобщенную формулу Симпсона, вычислить определенный интеграл с заданной точностью.
В третьей задаче необходимо с помощью метода Коши-Эйлера решить задачу Коши для дифференциального уравнения:
В четвертой задаче необходимо, используя метод прогонки, найти решение краевой задачи для обыкновенного дифференциального уравнения второго порядка с шагом h = 0,1:
В результате выполнения курсового проекта были закреплены теоретические знания и практические навыки в разработке и отладке программной системы на языке программирования C.
Были изучена и применена на практике информация по структуре подпрограммы, механизмам передачи параметров в подпрограмму, возврата результатов из подпрограммы и вызова подпрограммы на выполнение.
В ходе выполнения курсового проекта были следующие математические задачи:
1. Используя вторую интерполяционную формулу Ньютона для заданного значения аргумента вычислить приближенное значение функции, заданной таблично;
2. Используя обобщенную формулу Симпсона, вычислить определенный интеграл с заданной точностью;
3. С помощью метода Коши-Эйлера решить задачу Коши для дифференциального уравнения;
4. Используя метод прогонки, найти решение краевой задачи для обыкновенного дифференциального уравнения второго порядка.
Для каждой задачи разработаны алгоритмы, тесты и комментированный программный код. Алгоритмы для каждой задачи оформлены в виде блок-схем. Программа успешно прошла все разработанные тесты.
Решение задач объединено в одну программу с удобным интерфейсом пользователя. Все вводимые пользователем данные проверятся на корректность, и в случае ошибки пользователю выдается соответствующее сообщение.
Использование современной системы программирования С для решения задач описанных в данной курсовой работе многократно уменьшило время на их решение и избавило от случайных ошибок во время ручных вычислений.
СКРИНШОТЫ РАБОТЫ


