June 2022 1 6 Report
Даю 25 баллов! Помогите, пожаалуйста!!! В чем ошибка?
const
EPS = 0.01;
A = -100;
B = 100;
N=10;
var
Kol:integer;

ch_tek:array[1..N] of Real;
i : Byte;
Fl:boolean;
begin

Fl:=False;

For i:=1 to N do
begin
Repeat
Readln(Ch_tek[i]);
While (kol<10) do
If(Ch_tek[i]>=A) and(Ch_tek[i]<=B) then kol:=kol+1;

While (kol>1)do

If (Ch_tek[i-1]-Ch_tek[i]) writeln(Ch_tek[i-1],' ',Ch_tek[i]);
Fl:=True;
end;
if (FL=False) then writeln ('НЕТ');
end;


Задача:
Даны 10 чисел значения которых находятся в интервале от А до Б найти пару соседних чисел (заданных друг за другом) у которых значения отличаются на число меньшее чем EPS=0,01. Числа задаются последовательно. Если пары нет, то вывести слово «НЕТ».


1.Задать начальные данные: Kol:=0; Fl:boollean, Fl:=False. EPS:0.01
2.Задать границы А и B.
3.Организовать цикл с предусловием:
While (kol<10)and(Fl=False) do

5. В цикле: 1) считываем текущее число Ch_tek;

2)Проверить является ли число, принадлежащим интервалу. Если – да, то увеличить счет подходящих чисел: If (Ch_tek>=A) and(Ch_tek<=B) then kol:=kol+1.

3) Если число не является первым (kol>1), то проверить разность с предыдущим и если она меньше Эпсилон (заданного числа), то вывести текущее и предыдущее, променять флаг на TRUE (истина); ИНАЧЕ: Pred_ch:=Ch_tek;

6. После выхода из цикла проверить: если количество FL=False, то пара не найдена и нужно вывести «НЕТ».
Please enter comments
Please enter your name.
Please enter the correct email address.
You must agree before submitting.

Answers & Comments


Copyright © 2024 SCHOLAR.TIPS - All rights reserved.