Цикл While: Табуляция функций

Табуляций функции — это нахождение значений функции на указаном промежутке [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% работоспособности программы при любых входящих данных?

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Подписаться
Уведомить о
guest
0 Комментарий
Межтекстовые Отзывы
Посмотреть все комментарии