function F(x: real): real;
begin
F := 3 * sin(x) + 2 * sqr(x) - 1;
end;
var
a, b, h, x, Fa, Fx: real;
begin
Write('Введите через пробел начало интервала, конец и шаг: ');
Readln(a, b, h);
x := a; Fa := F(a);
repeat
Fx := F(x);
if Fx = 0 then Writeln('Найден корень ', x:0:3)
else
if Fx * Fa < 0 then
Writeln('Найден интервал изоляции корня (', a:0:3, ';', x:0:3, ')');
a := x; Fa := Fx; x := x + h
until x > b;
end.
Тестовое решение:
Введите через пробел начало интервала, конец и шаг: 0 1.95 0.15
Найден интервал изоляции корня (0.150;0.300)
Введите через пробел начало интервала, конец и шаг: -5 5 0.1
Найден интервал изоляции корня (-1.500;-1.400)
Найден интервал изоляции корня (0.200;0.300)
Объяснение:
Лови! Удачки!Поделитесь своими знаниями, ответьте на вопрос:
Qbasic ! даны целые числа a = {a1, a2, …, an}. для каждого из чисел, входящих в последовательность {a}, выяснить, сколько раз оно входит в эту последовательность.
DIM n AS INTEGER
CLS
INPUT "N=", n
REDIM a(1 TO n) AS INTEGER
DIM a AS INTEGER
RANDOMIZE TIMER
FOR i = 1 TO n
a(i) = 9 * RND + 1
PRINT a(i);
NEXT i
PRINT
' SORT
DIM j AS INTEGER, t AS INTEGER
FOR i = 1 TO n
FOR j = 1 TO n
IF a(i) < a(j) THEN
t = a(i): a(i) = a(j): a(j) = t
END IF
NEXT j
NEXT i
'
t = a(1): j = 1
FOR i = 2 TO n
IF a(i) = t THEN
j = j + 1
ELSE
PRINT t; "-"; j
t = a(i): j = 1
END IF
NEXT i
PRINT t; "-"; j
Пример
N=10
7 5 2 7 3 3 5 9 7 6
2 - 1
3 - 2
5 - 2
6 - 1
7 - 3
9 - 1