Вычисление таблицы значений функции - PascalABC.NET
Формулировка задачи:
Помогите составить программу на Pascal для вычисления таблицы значений функции y = (x + 1) / (sqrt (4-x * x)), если х изменяется от a до b с шагом h(Границы интервала a и b и шаг h вводит пользователь).
Внимание! В программе надо учитывать область определения функции - то есть те значения х, при которых функция не имеет значения. Для этого в цикле используйте оператор IF ... THEN ... ELSE и выводите на экран соответствующее сообщение.
Решение задачи: «Вычисление таблицы значений функции»
textual
Листинг программы
- procedure err(msg : String);
- begin
- WriteLn(msg); Halt;
- end;
- const zero = 1e-8;
- begin
- var a := ReadLnReal('a =');
- var b := ReadLnReal('b =');
- var h := ReadLnReal('h =');
- if a > b then err('Неверно задан интервал.');
- if h < zero then err('Неверно задан шаг интервала.');
- if (b - a) / h < zero then err('Нельзя разделить данный интервал на отрезки по '+h);
- WriteLn('Табулирование функции y = (x+1) / в€љ(4-xВІ)');
- WriteLn(#32*5+'x'+#32*5+'|'+#32*5+'y');
- WriteLn('-'*11+'|'+'-'*12);
- repeat
- if 4-a*a > zero then
- WriteLn( String.Format('{0,10:0.00000} | {1,10:0.0000000}', a, (a + 1) / sqrt(4 - a * a) ))
- else
- WriteLn( String.Format('{0,10:0.00000} | {1}', a, 'нет решения') );
- a += h;
- until a > b;
- WriteLn('-'*11+'|'+'-'*12);
- end.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д