• Даю 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, то пара не найдена и нужно вывести «НЕТ».

Ответы 0

  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years