Табуляций функции — это нахождение значений функции на указаном промежутке [a,b] с шагом H.
Каким образом решаются такие задачи?
Алгоритм решения задача на табуляцию
1. Получить значения промежутка [a,b] и шага h.
2. Начать цикл while
3. Вычислить значение функции
4. Вывести это значение на экран
5. Увеличить значение счетчика
6. Завершить программу
Задача 1.
Найти значение функции на промежутке [-10,10] c шагом h=0.5;
Uses crt; var y, x, a, b, h: real; BEGIN {значения [a,b] и шага h } a := -10; b := 10; h := 0.5; x := a; {начало while } while x <= b do begin y := x * x;{функция} writeln('X=', x:2:2, ' Y=', y:2:2);{вывод значения} x := x + h;{увеличение счетчика} end; writeln('Press Enter to Exit'); readln; END.
Задача 2.
Найти значение функции на промежутке [A,B] c шагом H;
Значения[A,B] и шага H не заданы конкретно, поэтому мы их спрашиваем у пользователя.Также реализуем защиту (если А
Uses Crt;
var
y, x, a, b, h, t: real;
BEGIN
Write('A=');readln(a);
Write('B=');readln(b);
Write('H=');readln(h);
if a > b then begin
t := a;
a := b;
b := t;
end;
x := a;
while x <= b do
begin
if x < 0 then y := sin(x); if x >= 0 then y := cos(x);
writeln('X=', x:2:2, ' Y=', y:2:2);
x := x + h;
end;
writeln('Press Enter to Exit');
readln;
END.
Задача 3.
Найти значение функции на промежутке [A,B] c шагом h=0.5;
Знчения[A,B] не заданы конкретно, поэтому мы их спрашиваем у пользователя.Также снова реализуем защиту (если А>B).
Uses Crt; var y, x, a, b, h, t: real; BEGIN Write('A=');readln(a); Write('B=');readln(b); if a > b then begin t := a; a := b; b := t; end; h := 0.5; x := a; while x <= b do begin if x > 0 then y := sin(x); if x > 5 then y := cos(x); if (x <= 5) and (x >= 0) then y := x * x; writeln('X=', x:2:2, ' Y=', y:2:2); x := x + h; end; writeln('Press Enter to Exit'); readln; END.
Задача 4.
Найти значение функции на промежутке [A,B] c шагом h=0.5.
Положительные значений функции вывести зелёным цветом, отрицательные — красным;
Значения[A,B] не заданы конкретно, поэтому мы их спрашиваем у пользователя.
Uses Crt; var y, x, a, b, h, t: real; BEGIN textcolor(White); Write('A=');readln(a); Write('B=');readln(b); if a > b then begin t := a; a := b; b := t; end; h := 0.5; x := a; while x <= b do begin if x < 0 then y := sin(x); if x > 5 then y := cos(x); if (x <= 5) and (x >= 0) then y := x * x; if y < 0 then textcolor(red) else textcolor(green); writeln('X=', x:2:2, ' Y=', y:2:2); x := x + h; end; writeln('Press Enter to Exit'); readln; END.
Какой проверки не хватает для 100% работоспособности программы при любых входящих данных?