Skip to content

Latest commit

 

History

History

lab1

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

Задание 1

Составить программу на функциональном языке, которая печатает таблицу значений элементарной функции, вычисленной двумя способами: по формуле Тейлора и с помощью встроенных функций языка программирования. В качестве аргументов таблицы взять точки разбиения отрезка [a,b] на n равных частей (n + 1 точка, включая концы отрезка), находящихся в рекомендованной области хорошей точности формулы Тейлора. Вычисления по формуле Тейлора проводить двумя способами: по экономной в сложностном смысле схеме (с сохранением и домножением предыдущего слагаемого) и «в лоб» вычислением n-го коэффициента. Число слагаемых ряда определяется достижением заданной точности вычислений. Результат должен быть напечатан в виде таблицы примерно следующего вида:

x Первый способ Кол-во итераций Второй способ Кол-во итераций Значение функции
0.00 ... 0.0 ...
0.05 0.0008 ...
... ... ... ...
0.50 ... ... ...

Варианты задания в соответствии с номером в группе указаны в таблице 1.

#Задание 2 Составить программу на функциональном языке для решения трансцендентных алгебраических уравнений различными численными методами (итераций, Ньютона и половинного деления). Нелинейные уравнения оформить как параметры-функции, разрешив относительно неизвестной величины в случае необходимости. Применить каждую процедуру к решению трех уравнений, заданных тремя строками таблицы, начиная с варианта с заданным номером. Каждое уравнение решать всеми применимыми методами. Варианты задания содержатся в таблице 2. Ну и, разумеется, нужно подститать количество итераций для каждого метода.

Варианты задания

В файле /lab1/lab1.pdf

Примечание

Для того, чтобы удобно посчитать количество итераций, я ввёл тип Result. Ваши функции должны возвращать именно этот тип. На самом деле, он всего лишь кортеж, где первое значение - результат ваших вычислений, а второе - кол-во итераций. Можете воспользоваться болванкой, я отметил примерную структуру вашей программы и написал функции printTaylor и printSolve, которые выводят результат, и которые вы должны улучшить.

Помните про то, что языки строгие, поэтому используйте приведение типов (так как негоже использовать числа с плавающей точкой там, где нужны только целые) Для F# это будет float (ну и не забывать расставлять точки), для Haskell - fromIntegral

Отправка задания, как обычно, через заполнение адреса эл.почты и вызова функции main