Здесь нужно использовать вс типизированный файл и, соответственно, вторую файловую переменную (fr2). Сделать это можно так: while not eof(fr) and (kol=0) do begin read(fr, Marshrut); if (Marshrut.NK.N <> '11') then write(fr2,Marshrut) else begin inc(kol); y:=Marshrut; end; end; if not eof(fr) then begin read(fr, Marshrut); write(fr2,Marshrut); end; if (kol=1) then write(fr2,y); Дальше нужно просто переписать оставшиеся записи из первого файла во второй. Затем оба файла закрыть, первый файл удалить, а второй переименовать (т.е. назвать его так, как назывался первый файл).
Попробуйте ещё вот такой вариант: (здесь k1 и k2 - целые, а y - типа ) if (Marshrut.NK.N = '11') then begin writeln('... '); inc(kol); y:=Marshrut; k1:=FilePos(fr)-1; k2:=FilePos(fr); if not eof(fr) then begin read(fr, Marshrut); seek (fr, k1); write(fr, Marshrut); seek (fr, k2); write (fr, y); end;
1) Если x^3 < 10, то (x+1)^3 > 20. Это верно при x = 2. 2^3 < 10, 3^3 > 20 2) Если x(x+1) > 10, то (x+1)(x+2) < 10. Это верно при x = -4 (-4)(-3) = 12 > 10; (-3)(-2) = 6 < 10 Но при x = 2 будет ложная посылка (2*3 > 10 - это ложно), из которой следует ложный вывод 3*4 < 10. Поэтому импликация верна. ответ x = 2 3) Если x(x+1)(x+2) > 25, то x < x-1 Это сложнее. x < x-1 - ложно при любом х. Импликация будет истинной, только если посылка ложная. x(x+1)(x+2) > 25 - должно быть ложно. Это при x = 2. x(x+1)(x+2) = 2*3*4 = 24.