99 ! информатика, 8 класс. нарисуйте блок-схему к : даны 10 чисел значения которых находятся в интервале от а до б найти пару соседних чисел (заданных друг за другом) у которых значения отличаются на число меньшее чем eps=0,01. числа последовательно. если пары нет, то вывести слово «нет». и напишите программу в pascale, решающую эту
Eps = 0.01;
A = -100;
B = 100;
N = 10;
Var
i : Byte;
m : array[1..N] of Real;
Flag: Boolean;
Begin
Flag:=True;
For i:=1 to N do
Begin
Repeat
Write('Введите число № ',i,' : '); Readln(m[i]);
Until (m[i]>=A) and (m[i]<=B);
end;
Writeln;
For i:=2 to N do
If abs(m[i-1]-m[i])<Eps then
Begin
Writeln(m[i-1],' ',m[i]);
Flag:=False;
end;
If Flag then Writeln('НЕТ');
end.
Результат:
Введите число № 1 : 2.3
Введите число № 2 : 2.4
Введите число № 3 : 2.45
Введите число № 4 : 2.46
Введите число № 5 : 2.465
Введите число № 6 : 3.0
Введите число № 7 : 4.0
Введите число № 8 : 4.01
Введите число № 9 : 4.005
Введите число № 10 : 4.007
2.45 2.46
2.46 2.465
4 4.01
4.01 4.005
4.005 4.007
1. Начало.
2. Вводим значения a, b и eps.
3. Инициализируем переменную flag = 0.
4. Инициализируем массив из 10 чисел.
5. Заполняем массив числами, значения которых находятся в интервале от а до b.
6. Перебираем каждое число в массиве с индексом от 0 до 8 (так как мы будем сравнивать пары соседних чисел).
7. Сравниваем разницу между текущим числом и следующим числом с eps.
8. Если разница меньше eps, то выводим пару чисел на экран и устанавливаем flag = 1.
9. Если после перебора всех пар разницы меньше eps не было найдено, то выводим "нет".
10. Конец.
Теперь напишем программу на Pascal, решающую данную задачу:
program FindNeighboringNumbers;
var
a, b, eps, diff: real;
numbers: array[0..9] of real;
flag, i: integer;
begin
flag := 0;
writeln('Введите значения a, b и eps:');
readln(a, b, eps);
writeln('Введите 10 чисел:');
for i := 0 to 9 do
readln(numbers[i]);
writeln('Пары чисел соседних чисел, отличающихся на ', eps, ':');
for i := 0 to 8 do begin
diff := abs(numbers[i] - numbers[i + 1]);
if diff < eps then begin
writeln(numbers[i]:0:2, ' и ', numbers[i + 1]:0:2);
flag := 1;
end;
end;
if flag = 0 then
writeln('Нет');
readln;
end.