Вычислить и вывести на экран в виде таблицы значения функции, заданной графически - 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.

Объяснение кода листинга программы

  1. В первой части кода объявляются переменные и происходит ввод значений с помощью функции readln.
  2. Вторая часть кода занимается расчетом значений функции и формированием таблицы.
  3. Если интервал изменения x не подходит под условие -3 <= x < -2, то выводится значение -x - 2.
  4. Если интервал изменения x не подходит под условие -2 <= x < -1, то выводится значение sqrt(1 - sqr(x + 1)).
  5. Если интервал изменения x не подходит под условие -1 <= x < 1, то выводится значение 1.
  6. Если интервал изменения x не подходит под условие 1 <= x < 2, то выводится значение 3 - 2 * x.
  7. Если интервал изменения x не подходит под условие 2 <= x <= 5, то выводится значение -1.
  8. Если интервал изменения x не подходит ни под одно из условий, то выводится значение undefined.
  9. С помощью цикла for происходит вывод значений функции в виде таблицы.
  10. Значение x округляется до трех знаков после запятой с помощью функции round.
  11. Для каждого значения x вычисляется соответствующее значение y.
  12. Выводится шапка таблицы.
  13. Выводится сетка таблицы.
  14. Таблица выводится на экран.
  15. Ввод данных с помощью функции readln прекращается командой readln.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.923 из 5
Похожие ответы