Вычислить и вывести на экран в виде таблицы значения функции, заданной графически - Free Pascal (932)
Формулировка задачи:
Вычислить и вывести на экран в виде таблицы значения функции, заданной графически, на интервале Хнач до Хкон с шагом dx. Интревал и шаг вводить с клавиатуры. Таблицу снабдить заголовком и шапкой,
Решение задачи: «Вычислить и вывести на экран в виде таблицы значения функции, заданной графически»
textual
Листинг программы
- var x, dx, sx, ex: real;
- i: integer;
- begin
- writeln('Enter margins:');
- write('x1 = '); readln(sx);
- write('x2 = '); readln(ex);
- repeat
- write('Step = '); readln(dx);
- if dx = 0 then writeln('Enter non-zero step!')
- until dx <> 0;
- if sx > ex
- then begin
- x := sx;
- sx := ex;
- ex := x
- end;
- if dx < 0 then dx := -dx;
- writeln('Tabulation of function:');
- writeln(' | -x - 2, if -3 <= x < -2');
- writeln(' | sqrt(1 - sqr(x + 1)), if -2 <= x < -1');
- writeln('y = | 1, if -1 <= x < 1');
- writeln(' | 3 - 2 * x, if 1 <= x < 2');
- writeln(' | -1, if 2 <= x <= 5');
- writeln(' | undefined, otherwise');
- writeln('+---------+---------+');
- writeln('| x | y |');
- writeln('+---------+---------+');
- for i := 0 to round(abs(ex - sx) / dx) do
- begin
- x := sx + dx * i;
- write('|', x:9:3, '|');
- if (-3 <= x) and (x < -2)
- then write(-x - 2:9:3)
- else if (-2 <= x) and (x < -1)
- then write(sqrt(1 - sqr(x + 1)):9:3)
- else if (-1 <= x) and (x < 1)
- then write(1.0:9:3)
- else if (1 <= x) and (x < 2)
- then write(3 - 2 * x:9:3)
- else if (2 <= x) and (x <= 5)
- then write(-1.0:9:3)
- else write('undefined');
- writeln('|')
- end;
- write('+---------+---------+');
- readln
- end.
Объяснение кода листинга программы
- В первой части кода объявляются переменные и происходит ввод значений с помощью функции readln.
- Вторая часть кода занимается расчетом значений функции и формированием таблицы.
- Если интервал изменения x не подходит под условие -3 <= x < -2, то выводится значение -x - 2.
- Если интервал изменения x не подходит под условие -2 <= x < -1, то выводится значение sqrt(1 - sqr(x + 1)).
- Если интервал изменения x не подходит под условие -1 <= x < 1, то выводится значение 1.
- Если интервал изменения x не подходит под условие 1 <= x < 2, то выводится значение 3 - 2 * x.
- Если интервал изменения x не подходит под условие 2 <= x <= 5, то выводится значение -1.
- Если интервал изменения x не подходит ни под одно из условий, то выводится значение
undefined
. - С помощью цикла for происходит вывод значений функции в виде таблицы.
- Значение x округляется до трех знаков после запятой с помощью функции round.
- Для каждого значения x вычисляется соответствующее значение y.
- Выводится шапка таблицы.
- Выводится сетка таблицы.
- Таблица выводится на экран.
- Ввод данных с помощью функции readln прекращается командой readln.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д