В цикле указано, что пока S не станет меньше 400, будет отниматься 1 от S и прибавляться 3 к N, в итоге будет выведено 15.
Var
a,b,c,d:real;
begin
write('Введите A=');read(a);
write('Введите B=');read(b);
write('Введите C=');read(c);
D:=sqr(b)-4*a*c;
if D<0 then begin
writeln('D=',D,' ', 'Нет корней');end;
if D=0 then begin
writeln('D=',D,' ', 'x1=', -b/(2*a));end;
if D>0 then begin
writeln('D=',D,' ','x1=',(-b-sqrt(d))/(2*a));
writeln('D=',D,' ','x2=',(-b+sqrt(d))/(2*a));
end;
end.
<h3>PascalABC.NET 3.4.2, сборка 1881 от 19.11.2018</h3><h3>Внимание! Если программа не работает, обновите версию!</h3>
begin
var n := ReadlnInteger('N=');
var R := new integer[n];
repeat
var a := ReadlnString.ToCharArray;
if a.Length <> N then break;
if a.Where(c -> c = '+').Count = 1 then
Inc(R[a.IndexOf('+')])
until False;
R.Transform(t -> t >= 0.07 * N ? 1 : 0);
R.Numerate.Where(t -> t[1] = 1).Select(t -> t[0]).Println
end.
<h3>Пример</h3>
(окончание ввода - строка длины отличной от N)
N= 5
-+---
--+--
-+---
+----
-+---
--+--
-+---
+----
----+
-+---
1 2 3 5
1. x = 5
2. y = 4
3. x = 5 + 4 = 9
4. y = 9 - 4 = 5
5. x = 9 - 5 = 4
6. s = 4 div 2 + y mod 3 = 2 + 2 = 4