Вычислить значения функций - Turbo Pascal (33577)
Формулировка задачи:
Здравствуйте, товарищи! Очень надеюсь на вашу помощь. Я начинающий (очень) программист. Изучаю предмет менее полугода.
Вычислить значения функций f1(x) и f2(x) для значений аргументов, указанных в вариантах заданий № 1 – 30 по первой работе. Функцию f2(x) вычислить для ряда точностей e=10^-2; e=10^-3; e=10^-3. Для указанных точностей определить количество N элементов ряда, суммируемых для достижения заданной точности.
Для аргумента x, изменяющегося от –0.6 с шагом 0.05 вычислить 20 значений функций:
Решение задачи: «Вычислить значения функций»
textual
Листинг программы
uses crt; function f1(x:real):real; begin f1:=ln(x+sqrt(1+x*x))/sqrt(1+x*x) end; function f2(x,e:real;var k:integer):real; var t,s:real; begin k:=0; t:=x; s:=t; while abs(t)>e do begin k:=k+1; t:=-t*4*sqr(k)*sqr(x)/(2*k*(2*k+1)); s:=s+t; end; f2:=s end; var a,h,x,e:real; i,n:integer; begin clrscr; writeln('--------------------------------------------------------'); writeln('| | | e=10^-2 | e=10^-3 | e=10^-4 |'); writeln('| x | f1(x) |------------|------------|------------|'); writeln('| | | f2(x) | n | f2(x) | n | f2(x) | n |'); writeln('--------------------------------------------------------'); a:=-0.6; h:=0.05; for i:=1 to 20 do begin x:=a+(i-1)*h; write('|',x:5:2,' |',f1(x):7:4,' |',f2(x,0.01,n):7:4,' |',n:2,' |'); write(f2(x,0.001,n):7:4,' |',n:2,' |',f2(x,0.0001,n):7:4,' |',n:2,' |'); if i<20 then writeln; x:=x+h; end; readln end.
Объяснение кода листинга программы
- В начале кода подключается библиотека crt, которая является стандартной библиотекой языка Turbo Pascal и используется для ввода-вывода данных.
- Определяются две функции: f1 и f2. Функция f1 принимает один аргумент типа real и возвращает значение типа real. Функция f2 принимает два аргумента типа real и один аргумент типа integer, и возвращает значение типа real.
- Далее определяются переменные a, h, x, e типа real, и переменные i и n типа integer.
- Выводится заголовок с названиями и значениями переменных.
- Задаются начальные значения для переменных a, h, x, e, и устанавливается значение n равным 0.
- Запускается цикл for, который выполняется 20 раз.
- Внутри цикла задается значение переменной x, которое является текущим значением a, увеличенным на (i-1)*h.
- Выводятся значения функций f1, f2 и n для каждой итерации цикла.
- После завершения цикла выводится итоговая строка с результатами.
- Конец программы.