close

Вход

Забыли?

вход по аккаунту

?

Laboratornaya rabota 2 - Tabulirovanie funktsii o

код для вставкиСкачать
Лабораторная работа 2
Табулирование функции одной переменной
Цель работы - составление программы для вычисления таблицы значений некоторой функции F(x) при значениях аргумента в интервале от A до B с некоторым шагом H. Шаг по аргументу либо задается пользователем при вводе данных, либо определяется заданием числа N разбиений интервала.
Программа должна быть способна к работе (не допускать прерывания из-за делений на ноль, извлечений квадратного корня из отрицательной величины, логарифмирования неположительного аргумента, переполнения) при любых A, B, H или N.
Для того, чтобы избежать ситуаций некорректного завершения программы, следует предварительно оценить область определения F(x) и предусмотреть в программе отказ от вычислений за пределами этой области, устранить все неопределенности по правилу Лопиталя или другими приемами, преобразовать выражения к форме, допускающей использование библиотеки функций системы программирования.
Так вычисление значения функции arcSin(x), отсутствующей в библиотеке, элементарными тригонометрическими преобразованиями можно свести к
При вычислении функций, подобных Sin(x)/x , придется проверять условие x=0 во избежание прерывания при делении на нуль и полагать значение этой функции при x=0 равным 1.
Возведение в степень xy (если нет такой элементарной операции) можно свести к эквивалентному представлению для неотрицательного основания
(при отрицательном x и целочисленном y xy = e y ln x cо знаком (+) или (-) соответственно при четном и нечетном y).
Результаты вычислений должны быть выданы на дисплей в табличной форме с разумным числом знаков после десятичной точки. Выполнение этой традиционной работы создает достаточно широкие возможности проникновения в основные приемы программирования. Практически все, что может быть полезным при ее реализации, будет полезным и при выполнении последующих работ.
Не откладывая на будущее, полезно осмыслить все основные способы организации циклов (с параметром-счетчиком, с пред- и пост- условием, типа паскалевских For, Repeat Until, While).
Обратите внимание на тот факт, что обычные (вещественные, действительные) числа в памяти машины представлены приближенно, c 10-11 значащими цифрами и сравнение связанных с ними величин на точное совпадение неправомерно (приводит к "зацикливаниям", неполным расчетам или прерываниям вычислительного процесса). Так цикл (пока значение x не равно...)
x:=0; While x<>1 do begin ... x:=x+0.1 end ;
будет работать до бесконечности; если здесь условие x<>1 заменить условием x<=1, то цикл вместо ожидаемых 11 реализаций выполнится лишь 10 раз (это следует из того, что константа 0.1 имеет в памяти неточное, завышенное представление).
Было бы разумным сразу познакомиться с простейшими приемами "защиты от дурака" или, другими словами, от прерываний при "неквалифицированном" вводе (случайное нажатие клавиши, неверный набор числовых констант) типа
Repeat Write ('Начало интервала ='); Readln (S); Val (S, A, k) Until k=0;
(многие системы программирования такую защиту берут на себя).
Здесь же можно задуматься и о том, чтобы обеспечить нормальный вывод на экран результатов вычислений при N>20 и "эстетику" этого вывода в условиях текстового режима работы с дисплеем.
Варианты заданий к лабораторной работе 2
№ п/пФункция F(x)AB№ п/пФункция F(x)AB1.026.022.xx e - x0227. 0  /40/43.0128.024.x3 e - Sin(x)-1129.x5 e - x/Sin(x)025.x6.5 e - Cos(x)0230.10 1-x 026.0231.017.032.xx e - x Lg (1+x)018.(1-x)5  e x Sin(x)0233.Cos(2 arcCos(x))-119.Cos(3 arcCos(x))-1134.Sin(2 arcSin(x))-1110.Sin(3 arcSin(x) )-1135.tg(2 arctg(x))00.511.tg (3 arctg(x) )-0.50.536.10 Ln (1+x) Sin(x)0112.0137.xR/(R-1) , R=(1+x)20113.xR/(R-1) , R=(1+x)30138.x3 / (1-Cos3x)0/214.0/239.( 1+x2)0215.( 1+x3)0140.0216.-/2/241.x Ln(x) e - x0217.x2 Ln(x) e - x0242.x Lg(x) 10 - x0118.x2 Lg(x) 10 - x0143.0119.( 1+xx)0144.xx Ln(x) e - x0320.Ln(2+x)-1145.021.0146.Cos(Ln(1+x)) ex0/222.Ln2x - Cos(x-1)1247.Cos(arcTg(x)) ex0123.Sin(Ln(1+x)/x) ex0248.( x3- x Cos + 1) ex exxx0124.(x2.5-x+1)ex/20249.(x4-x0.5+1) Sin(x)0/225.(x1.5-x+1)ex Sin (x/2)0/250.01
Документ
Категория
Рефераты
Просмотров
11
Размер файла
160 Кб
Теги
tabulirovanie, rabota, laboratornaya, funktsii
1/--страниц
Пожаловаться на содержимое документа